Openssl 1.1.1g source install on CentOS8

Centos8에서 기본으로 설치되는 openssl version은 1.1.1c 입니다.
1.1.1c의 취약점을 개선한 1.1.1d, e, f는 심각한 취약점이 있으므로 1.1.1g를 설치해보겠습니다.

cve : https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-1967

KISA 보안 권고 : https://www.boho.or.kr/data/secNoticeView.do?bulletin_writing_sequence=35342

** 지금 설치하는 openssl 1.1.1g는 openssl을 사용하는 어플리케이션들을 위한 설치이며, OS에 기본으로 설치되는 openssl을 교체하기 위한 것이 아닙니다. 

** OS에 기본으로 설치되는 openssl을 변경할 경우 의존성 문제로 명령어 및 프로그램들이 제대로 동작하지 않으므로 변경하시면 안 됩니다.

Enviroment
OS : CentOS 8.1
Openssl : 1.1.1g

1. Default Enviroment Setting

$sudo dnf install tar wget
$sudo mkdir -p /usr/local/IDC/Src
$sudo mkdir -p /usr/local/IDC/Download
$sudo mkdir -p /usr/local/IDC/Service
$sudo mkdir -p /usr/local/IDC/Data
일반적인 설치는 centos8부터 적용된 dnf를 사용하여 각 폴더의 용도는 다음과 같습니다.
Download – Source File 위치
Src – Source compile prefix 위치 ( 서비스명 + 버전명 표시 )
Service – Symbolic Src 위치 ( 서비스명 표시 )
 
 
2. Download & Install
$sudo dnf install perl
$sudo cd /usr/local/IDC/Download $sudo curl -O https://www.openssl.org/source/openssl-1.1.1g.tar.gz $sudo tar xfpvz openssl-1.1.1g.tar.gz $sudo cd openssl-1.1.1g $sudo make distclean $sudo ./config shared --prefix=/usr/local/IDC/Src/openssl-1.1.1g $sudo make -j$(nproc) $sudo make install

 

3. Symbolic directory

$sudo cd /usr/local/IDC/Service
$sudo ln -s /usr/local/IDC/Src/openssl-1.1.1g/ /usr/local/IDC/Service/openssl

 

4. Check openssl version

$sudo /usr/local/IDC/Service/openssl/bin/openssl version
OpenSSL 1.1.1g  21 Apr 2020 (Library: OpenSSL 1.1.1c FIPS  28 May 2019)

 

그냥 openssl version을 확인해 보시면 위와 같이 openssl 1.1.1c 라이브러리를 참조하여 사용하고 있는 것으로 보입니다. 
이것의 원인은 라이브러리패스가 제대로 잡히지 않아서 발생하는 문제로서 현 session에서의 확인은 다음과 같이 진행을 하면 됩니다.

$sudo export LD_LIBRARY_PATH=/usr/local/IDC/Service/openssl/lib
$sudo /usr/local/IDC/Service/openssl/bin/openssl version
OpenSSL 1.1.1g  21 Apr 2020

 

어플리케이션을 1.1.1g로 컴파일 하신 경우에는 systemd 파일에 다음 옵션을 적용해 주시면 됩니다.

[Service]
Type=simple
Environment=LD_LIBRARY_PATH=/usr/local/IDC/Service/openssl/lib

 

You may also like...

Subscribe
Notify of
guest

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.

6 Comments
Most Voted
Newest Oldest
Inline Feedbacks
View all comments
JellyPo
JellyPo
2020-07-08 09:51

CentOS 8 openssl 교체는 대단히 위험합니다. 참조 https://github.com/openssl/openssl/issues/11471 제한적 적용 해야 합니다.

JellyPo
JellyPo
2020-07-08 09:52

그리고 RHEL(CentOS) openssl-1.1.1c-15.el8 은 2020년까지 공개된 CVE에 대한 취약점 보완이 된 패키지입니다.

JellyPo
JellyPo
2020-07-08 09:55

직접 컴파일한 openssl 라이브러리 적용한 쉘에선 rpm, dnf, su, sudo, password 명령어 에러 발생합니다.

6
0
Would love your thoughts, please comment.x
()
x