[Ubuntu] OpenSSL 버전 업데이트 기록 (Ubuntu 18.04 LTS)

2023. 8. 19. 00:28Server/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로 사이트 정상 접근 되는지 확인

출처

https://sangchul.kr/entry/리눅스-OpenSSL-최신-버전으로-업그레이드

https://stackoverflow.com/questions/54124906/openssl-error-while-loading-shared-libraries-libssl-so-3