OpenSSL은 https 서비스를 사용하기 위해 필요한 SSL 인증서를 무료로 발급하여 사용할 수 있는 오픈소스다.
통신에 사용되다 보니 주기적인 업데이트를 통하여 취약점을 막는 것이 중요하다.
2021년 8월에 새로운 취약점이 발견되었다는 소식이 공식 사이트에 올라왔다. 이를 KISA에서 번역하여 보안 공지에 올려두었다.
링크: https://www.krcert.or.kr/data/secNoticeView.do?bulletin_writing_sequence=36192
내용을 보면 서비스 거부(DoS) 및 정보 노출 취약점이 발견되었다고 한다. 이는 매우 심각한 취약점이므로 업데이트를 하는 것이 바람직하다.
버전 확인
2021년 10월 기준 LTS인 Ubuntu 20.04LTS 버전을 설치하면 기본적으로 1.1.1f 버전이 설치되어있다. 영향을 받는 버전은 OpenSSL 1.1.1k 및 이전 버전이라고 되어있다. 업데이트가 필요하다.
취약점을 패치하기 위해서 1.1.1l 버전 이상을 설치하라고 한다.
2021년 10월 31일 기준으로 3.0.0버전과 1.1.1l 버전이 가장 최신이다. 이 글에서는 1.1.1l 버전으로 업데이트를 진행하였다.
※ 테스트 결과 3.0 버전이나 1.1버전의 업데이트 방식이 같다. 설치하고 싶은 버전에 맞게 명령어를 입력하면 된다.
OpenSSL 다운로드 페이지 링크 : https://www.openssl.org/source/
업데이트
버전 업데이트를 하기 위해서는 해당 버전의 파일을 다운로드 하여 직접 빌드를 해야 한다. 그래서 필수적으로 컴파일러와 웹서버에서 콘텐츠를 가져오는 wget이 설치되어 있어야 한다.
sudo apt install make gcc wget
컴파일러를 설치한 후 1.1.1l 버전의 다운로드 링크를 통해 Ubuntu에 설치를 진행한다.
# wget으로 압축 파일 다운로드
wget https://www.openssl.org/source/openssl-1.1.1l.tar.gz
# 압축 해제
tar -xvzf openssl-1.1.1l.tar.gz
# 폴더 이동
cd openssl-1.1.1l
# 컴파일 및 빌드 후 설치
./config
make
sudo make install
make install을 실행하여 문제가 없이 설치가 잘 되었다면 OpenSSL이 참조하는 라이브러리를 설치한 버전으로 변경해야 한다.
# 이전 버전 백업
sudo mv /usr/bin/openssl /usr/bin/openssl-1.1.1f
# 최신 버전 링크 생성
sudo ln -s /usr/local/bin/openssl /usr/bin/openssl
# 라이브러리 변경사항 적용
sudo ldconfig
라이브러리 적용 후 다시 버전을 확인해 보면 설치한 버전으로 변경된 것을 확인 할 수 있다.
※ libssl.so.3 오류
ldconfig이나 openssl version을 실행하면 libssl.so.3 파일을 찾을 수 없다는 에러를 출력하는 경우가 있다. 링크를 생성해 주면 해결이 된다.
#libssl.so.3 에러 출력할 경우
sudo ln -s /usr/local/lib64/libssl.so.3 /usr/lib/libssl.so.3
#libcrypto.so.3 에러 출력할 경우
sudo ln -s /usr/local/lib64/libcrypto.so.3 /usr/lib/libcrypto.so.3
'Ubuntu > OpenSSL' 카테고리의 다른 글
[OpenSSL] error:1416F086 해결하기 (1) | 2021.11.22 |
---|