반응형
CentOS 7, Amazon Linux 2와 같이 오래된 배포본에서는 openssl 버전이 낮아 Python 3.12 등의 설치가 불가능하다.
그래서 Python 3.12 이 필요하다면 Openssl 1.1.1 의 설치가 꼭 필요하며
1.1.1 로 올리면 보다 안전한 프로토콜 TLS 1.3 지원된다.
(물론 이것보다 좋은 것은 Amazon Linux 2023, RHEL 9 과 같이 현재 지원되는 배포판 버전으로 올리는 것이 좋다. )
오래된 배포판이라면 아래와 같이 확인해 보자.
# openssl 버전 확인. 필요하다면 1.1.1 이상으로 올려야 한다.
$ openssl version
OpenSSL 1.0.2k-fips 26 Jan 2017
# 지원 상태 확인. TLSv1.3은 지원되지 않는다.
$ openssl ciphers -v | awk {'print $2'} | sort | uniq
SSLv3
TLSv1.2
사전 준비
먼저 소스를 다운로드 한다. 2025년 7월 1일 기준 1.1.1w 가 최신이다.
(물론 배포판 버전을 올려 3.X.X 의 최신 버전을 사용는 것이 좋다. 사담으로 2.X.X 는 없다.)
# wget 설치
$ sudo yum install -y wget
# 소스 다운로드
$ wget https://github.com/openssl/openssl/releases/download/OpenSSL_1_1_1w/openssl-1.1.1w.tar.gz
혹시 모르니 기존의 openssl 실행 binary는 이름을 변경하여 백업해 둔다.
# 기존 openssl은 삭제 하지 않고 유지한다.
# /usr/bin/openssl 을 변경 한다.
sudo mv /usr/bin/openssl /usr/bin/openssl_$(rpm -q openssl | awk -F '-' '{print $2}')
컴파일을 위해 패키지를 설치한다.
# 패키지 설치
# 참고로 gcc 는 7 이상의 버전을 사용해야 한다.
# 초기 CentOS 7 에서 DVD로 설치하면 4 버전이 설치되므로 주의할 것.
# (CentOS 7 의 미러 사이트도 모두 닫혀 있는 상태임.)
# make-3.82
# gcc-7.3.1
# perl-5.16
# zlib-1.2.7
$ sudo yum install -y make gcc perl zlib zlib-devel
컴파일과 설치
이제 소스를 컴파일하고 설치해 보자.
# 다운로드 받은 소스의 압축 해제.
$ tar xvf openssl-1.1.1w.tar.gz
# 해제된 소스로 진입
$ cd openssl-1.1.1w
# 컴파일을 위한 config 설정
$./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl shared zlib
# 컴파일
make
# 설치
sudo make install
설치가 완료되면 명령어와 Library 등을 이용할 수 있도록 Symbolic link 를 걸어 준다.
# 설치 후 아래와 같이 Symbolic link를 걸어 준다.
sudo ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
sudo ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
sudo ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
sudo ln -s /usr/local/openssl/include/openssl /usr/include
설치 확인
설치후 지원 상태를 확인한다.
# 프로토콜 지원 상태 확인
$ openssl ciphers -v | awk {'print $2'} | sort | uniq
SSLv3
TLSv1
TLSv1.2
TLSv1.3
# openssl 버전 확인.
$ openssl version
OpenSSL 1.1.1w 11 Sep 2023
반응형
Comment