Centos7 openssl 1.x.x soruce설치Linux2023. 3. 10. 11:01
Table of Contents
source 설치 시 주의 사항
- openssl을 소스 컴파일로 설치한 이후, 해당 openssl의 라이브러리를 이용하여 Source 설치한 프로그램이 있다면 해당 프로그램은 openssl 라이브러러에 의존성을 가지게 된다. 한마디로 설치한 openssl이 없으면 정상적으로 구동되지 않는다는 의미이다.
- openssl을 재컴파일(재설치)하게 되면 의존성 문제가 발생하여 이후에 설치한 프로그램들이 정상적으로 동작하지 않게 된다. 이럴 경우 openssl을 이용하여 설치한 프로그램들도 재컴파일 해주어야 한다.
- 예를 들어 openssl 1.0.2s를 소스 설치한 이후, httpd 2.4.39를 설치했다고 가정해보자. openssl 취약점때문에 최신 버전(1.0.2u)으로 재컴파일을 하게 된다면 httpd 2.4.39는 정상 동작을 하지 않을 수 있다. httpd 2.4.39를 설치할 때 1.0.2s의 소스 코드(정확히는 라이브러리)를 사용하여 설치했는데, 1.0.2u에서 소스 코드 상의 변경점이 생기면 httpd 2.4.39에 반영이 되지 않는다.
source 설치 방법
centos repository에 있는 openssl 1.0.2k이 설치되어있어 이를 1.1.1t 버전으로 변경
opnessl source 다운로드및 압축해제
[root@localhost] wget https://www.openssl.org/source/old/1.1.1/openssl-"$op_verison".tar.gz
[root@localhost] tar zxvf openssl-1.1.1t.tar.gz
#config 및 make install
[root@localhost openssl-1.0.2s] ./config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl
- issue_no1. perl 패키지가 없음, 설치 진행
[root@localhost openssl-1.1.1t] yum install perl-IPC-Cmd
[root@localhost openssl-1.1.1t] make
[root@localhost openssl-1.1.1t] make install
[root@localhost ~] /usr/local/openssl/bin/ssl version
/usr/local/openssl/bin/openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or director
설치후에 에러 발생 이는 openssl 실행 시 필요한 공유 라이브러리가 위치한 경로(/usr/local/openssl/lib)를 OS가 인식하지 못하여 발생하는 것이며, 아래와 같이 라이브러리 경로를 설정해주면 된다. 리눅스에서는 기본적으로 공유 라이브러리를 /usr/lib, /usr/lib64에서 찾음
# 동적 링크 생성
[root@localhost ~] vi /etc/ld.so.conf
include ld.so.conf.d/*.conf
/usr/local/openssl/lib -> 추가 후 저장
[root@localhost ~] ldconfig
[root@localhost ~] /usr/local/openssl/bin/openssl
OpenSSL> version
OpenSSL 1.0.2s 20 Nov 2018
[root@localhost ~] /usr/local/openssl/bin/openssl version
OpenSSL 1.1.1t 10 Sep 2019
# 심볼릭 링크 생성 (기존 설치된 파일이 있다면 지워야함)
ln -s /usr/local/ssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/ssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
[root@localhost ~] openssl version
OpenSSL 1.1.1t 10 Sep 2019
끝
@익은소세지 :: 익은소세지
포스팅이 좋았다면 "좋아요" 또는 "구독" 해주세요!