이 문서는 기록 보관 및 자료 공유입니다. 백퍼센트 신뢰하지는 말아주세요.
KISA 권고
https://knvd.krcert.or.kr/detailSecNo.do?IDX=5866
영향을 받는 제품 및 해결 버전
제품명 | 취약점 (CVE-ID) | 영향받는 버전 | 해결 버전 |
OpenSSL | CVE-2023-0286 CVE-2022-4304 CVE-2023-0215 |
3.0 | 3.0.8 |
1.1.1 | 1.1.1t | ||
1.0.2 | 1.0.2zg | ||
CVE-2022-4203 CVE-2023-0216 CVE-2023-0217 CVE-2023-0401 |
3.0.0 ~ 3.0.7 | 3.0.8 | |
CVE-2022-4450 | 3.0 | 3.0.8 | |
1.1.1 | 1.1.1t |
출처 : KISA
기본적으로 설치되어있는 OpenSSL 패키지 버전은 1.0.2k-fips 입니다.
https://www.openssl.org/source
사전에 필요한 패키지를 설치합시다.
yum install -y gcc gcc-c++ perl pcre-devel zlib-devel perl-core make
포스팅 기준 최신 버전으로 설치를 진행하려고 합니다. 이후 버전이 필요하신 분은 상단 openssl URL을 참고하세요.
wget https://www.openssl.org/source/openssl-1.1.1w.tar.gz
컴파일에 필요한 추가 옵션은 하단의 문서 혹은 압축을 푼 디렉토리 내부의 INSTALL 파일을 확인 하시면 됩니다.
https://wiki.openssl.org/index.php/Compilation_and_Installation
OpenSSL 1.1.0 and above
OpenSSL 1.1.0 changed the behavior of install rules. You should specify both --prefix and --openssldir to ensure make install works as expected.
The takeaway is /usr/local/ssl is used by default, and it can be overridden with both --prefix and --openssldir. The rule of thumb applies for path overrides: specify both --prefix and --openssldir.
해당 문서를 참고하였을 때, 1.1.0 이상 버전을 설치 할 때는 prefix와 openssldir을 지정하여야 작동 확인이 가능하다고 명시되어 있습니다. 따라서 되도록이면 경로 지정을 하는게 좋습니다.
prefix : OpenSSL을 설치 할 디렉토리
openssldir : OpenSSL에 구성될 기본 인증서 및 키 저장소
zlib의 경우 데이터 압축으로 인해 네트워크의 전송 데이터를 줄일 수 있고, SSL/TLS 이전 버전의 호환성을 유지 할 수 있지만, CRIM 공격에 취약하므로 zlib는 사용하지 않겠습니다.
따라서 컨픽값은 다음과 같습니다.
./config --prefix=/opt/openssl --openssldir=/usr/local/ssl no-ssl2 no-ssl3
컨픽 설정 후 make && make test를 통해 빌드와 테스트를 진행합니다.
[root@test123 openssl-1.1.1w]# ./config --prefix=/usr/local/openssl --openssldir=/usr/local/ssl no-ssl2 no-ssl3
Operating system: x86_64-whatever-linux2
Configuring OpenSSL version 1.1.1w (0x1010117fL) for linux-x86_64
Using os-specific seed configuration
Creating configdata.pm
Creating Makefile
**********************************************************************
*** ***
*** OpenSSL has been successfully configured ***
*** ***
*** If you encounter a problem while building, please open an ***
*** issue on GitHub <https://github.com/openssl/openssl/issues> ***
*** and include the output from the following command: ***
*** ***
*** perl configdata.pm --dump ***
*** ***
*** (If you are new to OpenSSL, you might want to consult the ***
*** 'Troubleshooting' section in the INSTALL file first) ***
*** ***
**********************************************************************
[root@test123 openssl-1.1.1w]# make && make test
테스트가 정상적으로 끝나게 되면 다음과 같이 마지막에 표시가 됩니다.
빌드와 테스트가 끝났으니 설치를 하도록 합니다.
make install
정상적으로 설치가 되었다면, 위에서 설정한 경로 값으로 이동하여 확인해봅니다.
올바르게 설치가 된 것을 확인 할 수 있습니다.
그리고 설치된 openssl의 라이브러리와 바이너리 파일의 심볼릭 링크를 생성합니다.
ln -s /opt/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /opt/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
ln -s /opt/openssl/bin/openssl /bin/openssl
혹은 ldconfig을 이용하여 라이브러리 연동을 하셔도 됩니다.
echo "/opt/openssl/lib" >> /etc/ld.so.conf.d/openssl-1.1.1w.conf
ldconfig -v
마지막으로 정상적으로 설치되었는지 실행합시다.
'Linux' 카테고리의 다른 글
[Linux] Squid 프록시 설치 (0) | 2023.09.21 |
---|---|
[Linux] IPTables 개념 (0) | 2023.09.21 |
CentOS 6 repolist (0) | 2023.09.20 |
CentOS 7 repolist (0) | 2023.09.20 |
[CVE-2023-38408] OpenSSH 업그레이드 (0) | 2023.09.19 |