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
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 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