CentOS7 openssl 설치 및 업그레이드를 통한 취약점 해소 방법

운영체제: CentOS 7

OpenSSL 버전: openssl-1.0.2f.tar.gz

OpenSSL 주소 : http://www.openssl.org/source/openssl-1.0.2f.tar.gz

최신버전 다운로드 경로 : https://www.openssl.org/source/snapshot/ 


Openssl을 설치합니다.

[root@localhost openssl-1.0.2f]# wget http://www.openssl.org/source/openssl-1.0.2f.tar.gz
[root@localhost openssl-1.0.2f]# tar -xzf openssl-1.0.2f.tar.gz
[root@localhost openssl-1.0.2f]# cd openssl-1.0.2f
[root@localhost openssl-1.0.2f]# mkdir /usr/local/openssl
[root@localhost openssl-1.0.2f]# ./config --prefix=/usr/local/openssl
[root@localhost openssl-1.0.2f]# make
[root@localhost openssl-1.0.2f]# make install

설치 경로 보기

# which openssl
/usr/local/openssl/bin/openssl

사용 편의성과 향후 버전 업데이트의 편의를 위해 다음과 같이 소프트 링크를 생성할 수 있습니다.

ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl

다음 명령을 실행합니다.

[root@localhost openssl-1.0.2f]# cd /usr/local/openssl

[root@localhost openssl]# ldd /usr/local/openssl/bin/openssl
    linux-vdso.so.1 =>  (0x00007ffc63975000)
    libssl.so.1.1 => not found
    libcrypto.so.1.1 => not found
    libdl.so.2 => /lib64/libdl.so.2 (0x00007f8d9da0f000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f8d9d7f3000)
    libc.so.6 => /lib64/libc.so.6 (0x00007f8d9d431000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f8d9dc28000)

설치 확인 (버전조회)

# openssl version

라이브러리 추가

# vim /etc/ld.so.conf

마지막 라인에 아래 내용 추가

/usr/local/openssl/lib

최종 점검

# ldconfig /etc/ld.so.conf
# openssl version
OpenSSL 1.1.0f  25 May 2017

 

최신버전 정보 및 업그레이드 방법

최신버전 확인: https://github.com/openssl/openssl/releases

작성일 기준 최신버전 확인 : openssl-3.3.1.tar.gz 은 3.3.1 으로 최근 5년간 발견된 취약점을 해소할 수 있습니다.

Openssl 취약점 정보

OpenSSL에서 발생하는 Type Confusion 취약점 (CVE-2023-0286)

OpenSSL의 RSA 복호화에서 Timing Oracle 인해 발생하는 Bleichenbacher 공격 취약점 (CVE-2022-4304)

OpenSSL에서 버퍼 오버플로우로 인해 발생하는 서비스 거부 취약점 (CVE-2022-4203)

OpenSSL에서 BIO_new_NDEF 함수 호출 시 발생하는 use-after-free 취약점 (CVE-2023-0215)

OpenSSL에서 PEM_read_bio_ex 함수 호출 시 발생하는 double-free 취약점 (CVE-2022-4450)

OpenSSL에서 d2i_PKCS7 함수 호출 시 발생하는 유효하지 않은 포인터 역참조 취약점 (CVE-2023-0216)

OpenSSL에서 잘못된 형식의 DSA 공개키 유효성 검사 시 발생하는 널 포인터 역참조 취약점 (CVE-2023-0217)

OpenSSL에서 PKCS7 서명 확인 시 발생하는 널 포인터 역참조 취약점 (CVE-2023-0401)

OpenSSL에서 버퍼오버플로우로 인해 발생하는 원격 코드 실행 취약점 (CVE-2022-3602)

OpenSSL에서 버퍼오버플로우로 인해 발생하는 서비스 거부 취약점 (CVE-2022-3786)

OpenSSL에서 메모리 커럽션으로 인해 발생하는 원격 코드 실행 취약점 (CVE-2022-2274)

OpenSSL에서 일부 바이트를 암호화하지 못해 발생하는 정보 노출 취약점 (CVE-2022-2097)

OpenSSL 내 c_rehash 스크립트에서 쉘 메타 문자를 적절하게 삭제하지 않아 발생하는 명령 주입 취약점(CVE-2022-1292)

OpenSSL 내 OCSP_basic_verify 함수가 응답 서명 인증서를 잘못 확인하여 발생하는 인증 오류 취약점(CVE-2022-1343)

RC4-MD5 암호 제품군을 통해 구현된 OpenSSL에서 AAD 데이터를 MAC키로 잘못 사용하여 발생하는 비밀번호 오류 취약점(CVE-2022-1434)

OpenSSL에서 인증서 또는 키를 디코딩할 때 사용하는 OPENSSL_LH_flush() 함수의 메모리 재사용을 중단하는 버그로 인해 발생하는 서비스 거부 취약점(CVE-2022-1473)

OpenSSL 내 BN_mod_sqrt() 함수에서 연산 시 무한 루프로 인해 발생하는 서비스 거부 취약점(CVE-2022-0778)

OpenSSL에서 버퍼오버플로우로 인해 발생하는 서비스거부 취약점(CVE-2021-3711)

OpenSSL에서 발생하는 정보노출 및 서비스거부 취약점(CVE-2021-3712)

OpenSSL TLS 서버에서 조작된 서명 알고리즘의 확장 필드를 처리할 때 널포인터 역참조로 발생하는 서비스 거부 취약점(CVE-2021-3449) [2]

OpenSSL에서 유효하지 않은 인증서를 검증하는 기능을 우회하는 보안기능 우회 취약점(CVE-2021-3450) [3]

핸드 쉐이킹 과정에서 유효하지 않은 서명 알고리즘(signature algorithm)을 처리할 때 널 포인터 역참조로 인해 크래시가 발생하는 서비스 거부 취약점(CVE-2020-1967)

반복 입력으로 스택을 초과하여 발생하는 서비스 거부 취약점(CVE-2018-0739)

최하위 비트만 비교하는 점을 악용하여 보안 기능 우회가 가능한 취약점(CVE-2018-0733)

댓글 쓰기

다음 이전