FREAK: OpenSSL 취약성 (CVE-2015-0204)
2015년 1월 Red Hat 제품 보안팀은 다음과 같은 권고 RHSA-2015-0066 및 RHSA-2015-0800에서 OpenSSL CVE-2015-0204 취약점을 다루고 있습니다. 이러한 취약점의 영향은 보통으로 평가되고 있습니다. 이 취약점은 현재 언론에서 FREAK로 보도되고 있습니다.
배경 정보
OpenSSL 클라이언트가 수출 등급 (Export-grade) 비보안 키를 요구하지 않은 경우에도 클라이언트는 이 키를 허용했습니다. 이러한 취약점은 중간자 (man-in-the-middle) 공격에 의해 악용될 가능성이 있습니다. 중간자 공격은 클라이언트의 표준키 요청을 중간에서 가로채어 서버에 수출 등급 키를 요구합니다. 그 뒤 클라이언트는 보안이 취약한 키를 허용하게 되어 공격자가 클라이언트와 서버 간의 통신을 해독할 수 있게 합니다.
영향
최신 Red Hat Enterprise Linux (5.11, 6.6 및 7.1) 버전에 탑재된 OpenSSL에서는 수출 등급 암호화가 기본값으로 비활성화되어 있지만 OpenSSL 라이브러리를 사용하는 애플리케이션은 이를 활성화할 수 있습니다. 따라서 이러한 취약점은 OpenSSL 패키지의 고정 버전을 설치하지 않은 서버, 워크스테이션, 데스크톱, HPC 노드 변형을 포함한 모든 Red Hat Enterprise Linux 5, 6 및 7 시스템에 영향을 미칩니다.
Red Hat Enterprise Linux 5에 탑재된 openssl097a 버전도 영향을 받습니다. Red Hat Enterprise Linux 5는 현재 지원 및 유지 관리 라이프 사이클의 프로덕션 3 단계(https://access.redhat.com/support/policy/updates/errata/#Production_3_Phase)에 있어서 심각한 보안 권고만 제공되기 때문에 이러한 문제가 향후 업데이트에서 지원될 예정은 없습니다.
해결 방법
OpenSSL 클라이언트의 취약점이 악용될 가능성을 제거하려면 다음과 같은 권고에서 사용 가능한 업데이트된 OpenSSL 패키지를 설치합니다: RHSA-2015-0066 및 RHSA-2015-0800.
업데이트를 설치하려면 다음과 같이 yum
package manager를 사용합니다:
yum update
OpenSSL 패키지 및 종속 패키지만을 업데이트하려면 다음을 사용합니다:
yum update openssl
알림: OpenSSL 서버에 연결되어 있는 패치되지 않은 클라이언트에서 이러한 결함으로 인한 취약점이 악용되지 않도록 하려면 다음의 완화 부분에서 설명하고 있듯이 서버에서 수출 등급 암호화를 비활성화할 것을 권장합니다.
알림: 영향을 받는 모든 서비스가 업데이트된 ssl 라이브러리를 사용하게 하는 가장 안전한 방법은 업데이트 후 시스템을 재부팅하는 것입니다. 시스템을 재부팅하지 않고자 할 경우 다음의 하부 섹션을 참조하십시오.
변경 사항을 반영하기 위한 재시작 절차
위에서 언급했듯이 가장 안전하고 간단한 방법은 전체 시스템 재부팅을 수행하는 것입니다. 다른 방법으로 변경된 서비스를 다시 시작하려면 다음 절차를 참조합니다:
다시 시작해야 할 프로세스를 확인하는 방법
다음과 같이 lsof
명령을 실행하고 DEL
을 grep하여 영향을 받는 서비스 목록을 나열합니다:
# lsof | grep DEL | grep -e crypto -e libssl
sshd 7708 root DEL REG 253,0 139948 /usr/lib64/libcrypto.so.1.0.1e
^^^--- sshd service
certmonge 7940 root DEL REG 253,0 139948 /usr/lib64/libcrypto.so.1.0.1e
^^^--- certmonger service
Xorg 7986 root DEL REG 253,0 139948 /usr/lib64/libcrypto.so.1.0.1e
^^^--- Xwindows service
sshd 8990 root DEL REG 253,0 139948 /usr/lib64/libcrypto.so.1.0.1e
^^^--- used by ssh login with bash shell
master 7796 root DEL REG 253,0 140068 /usr/lib64/libssl.so.1.0.1e
^^^--- postfix service
qmgr 7809 postfix DEL REG 253,0 140068 /usr/lib64/libssl.so.1.0.1e
^^^--- postfix service
tuned 7866 root DEL REG 253,0 140068 /usr/lib64/libssl.so.1.0.1e
^^^--- tuned service
pickup 9501 postfix DEL REG 253,0 140068 /usr/lib64/libssl.so.1.0.1e
^^^--- postfix service
httpd 9524 root DEL REG 253,0 140068 /usr/lib64/libssl.so.1.0.1e
^^^--- httpd service
httpd 9526 apache DEL REG 253,0 140068 /usr/lib64/libssl.so.1.0.1e
httpd 9527 apache DEL REG 253,0 140068 /usr/lib64/libssl.so.1.0.1e
httpd 9528 apache DEL REG 253,0 140068 /usr/lib64/libssl.so.1.0.1e
httpd 9529 apache DEL REG 253,0 140068 /usr/lib64/libssl.so.1.0.1e
httpd 9530 apache DEL REG 253,0 140068 /usr/lib64/libssl.so.1.0.1e
httpd 9531 apache DEL REG 253,0 140068 /usr/lib64/libssl.so.1.0.1e
httpd 9532 apache DEL REG 253,0 140068 /usr/lib64/libssl.so.1.0.1e
httpd 9533 apache DEL REG 253,0 140068 /usr/lib64/libssl.so.1.0.1e
httpd 9534 apache DEL REG 253,0 140068 /usr/lib64/libssl.so.1.0.1e
httpd 9535 apache DEL REG 253,0 140068 /usr/lib64/libssl.so.1.0.1e
chkconfig
로 관리되는 서비스를 다시 시작하려면 다음을 실행합니다:
# service sshd restart
# service certmonger restart
# service postfix restart
# service tuned restart
# service httpd restart
Xorg를 다시 시작하려면 다음을 실행합니다:
# init 3
# lsof | grep DEL | grep -e crypto -e libssl
# init 5
다시 확인하고 마지막 목록을 삭제하기 위해 로그 아웃하십시오:
# lsof | grep ssl | grep lib | grep DEL
sshd 8990 root DEL REG 253,0 139948 /usr/lib64/libcrypto.so.1.0.1e
^^^--- used by current ssh login with bash shell
# logout
패치되지 않은 클라이언트의 완화
이 문서에서 설명된 취약점을 완화하기 위해 클라이언트 또는 서버에서 수출 등급 암호화를 비활성화해야 합니다. 특히 서버에 연결된 모든 클라이언트가 패치되었는지를 확인할 수 없을 경우 서버에서 이 작업을 수행할 것을 권장합니다.
httpd에서 수출 암호화 비활성화
httpd
웹 서버에 의한 수출 등급 암호화 사용을 허용하지 않으려면 /etc/httpd/conf.d/ssl.conf
설정 파일의 SSLCipherSuite
행에 !EXP
지시어를 추가합니다. 예:
SSLCipherSuite HIGH:!aNULL:!MD5:!EXP
ssl.conf를 수정한 후 httpd 서비스를 다시 시작해야 합니다.
# service httpd restart
Comments