[Ubuntu] OpenSSL 버전 업데이트 기록 (Ubuntu 18.04 LTS)
2023. 8. 19. 00:28ㆍServer/Linux
회사 AWS EC2 서버 내 OpenSSL은 1.1.1 버전을 사용하고 있는데,
해당 버전이 2023년 9월 11일 지원 종료이므로 버전 업데이트를 진행할 필요가 생겼다.
현재 장기적으로 안정적인 버전은 3.0.10 (2026년 9월 7일까지)이므로 해당 버전으로 업데이트 하기로 했다.
-----------
- 적용 환경
- OS: Ubuntu 18.X ~ 22.X
- Old OpenSSL: 1.1.1, 3.0.2 등
- New OpenSSL: 3.0.10
OpenSSL패키지, 버전 확인
# 패키지 확인
sudo apt list openssl
or
sudo apt list libssl
# 버전 확인
openssl version
패키지 업그레이드(사전작업)
sudo apt update
OpenSSL 다운로드 (OpenSSL)
wget <https://www.openssl.org/source/openssl-3.0.10.tar.gz>
OpenSSL 압축해제
tar -zxf openssl-3.0.10.tar.gz
cd openssl-3.0.10
OpenSSL 설치 및 컴파일
# 기본실행 방법 (/usr/local/ssl로 경로가 자동 설정됨)
./config
# 경로설정 방법 (작성된 경로로 설정됨)
./config --prefix=[DIRECTORY] --openssldir=[DIRECTORY]
#######################################################
해당 글에서는 기본실행 방법으로 가이드
# 컴파일 및 설치
make
make install
OpenSSL 라이브러리 설정
echo "/usr/local/ssl/lib64" >> /etc/ld.so.conf.d/openssl.conf
#######################################################
Permission Denied 발생시
su 관리자 권한으로 접속 후 진행
# 라이브러리 config 적용
sudo ldconfig
OpenSSL 바이너리 백업
# 경로 확인
ls -l /usr/bin/c_rehash
ls -l /usr/bin/openssl
# 백업
mv /usr/bin/c_rehash /usr/bin/c_rehash.bk
mv /usr/bin/openssl /usr/bin/openssl.bk
OpenSSL 환경변수 등록
# 환경변수 파일 편집기 실행
vi /etc/environment
# PATH 끝부분 (붉은글씨) 추가
#-----------------------------------------
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games**:/snap/bin:/usr/local/openssl/bin**"
#-----------------------------------------
# 환경변수 적용
source /etc/environment
# 환경변수 확인
echo $PATH
OpenSSL 적용 확인
# 버전 확인
openssl version -a
----------------------------------------------------
OpenSSL 3.0.10 .......
...
# cipher 확인
openssl ciphers -v | awk '{print $2}' | sort | uniq
----------------------------------------------------
SSLv3
TLSv1
TLSv1.2
TLSv1.3
libssl.so…… 와 같은 에러 발생시
라이브러리가 정상 등록되지 않은 항목이 존재할 수 있으므로 이하 코드 실행
ldconfig /usr/local/lib64
PS. OpenSSL 적용 완료 후 반드시 HTTPS로 사이트 정상 접근 되는지 확인
출처