Linux 서버에 취약한 OpenSSL 버전을 설치하는 방법은 무엇입니까?

Linux 서버에 취약한 OpenSSL 버전을 설치하는 방법은 무엇입니까?

팀 웹 보안 문제를 위해 설정 중인 서버에 Heartbleed에 취약한 OpenSSL 버전을 컴파일하고 설치하고 싶습니다(이러한 버전은 명백한 이유로 Ubuntu 저장소에서 설치할 수 없기 때문입니다).

제공된 지침(실행 ./config, 실행 make및 실행 make install)을 사용하여 소스 OpenSSL 1.0.1f에서 다운로드하고 컴파일했으며 공개적으로 사용 가능한 Heartbleed POC를 실행하려고 했습니다.GitHub에서그러나 스크립트는 하트비트 응답이 수신되지 않았으며 서버가 취약하지 않을 가능성이 높다는 것을 나에게 알립니다.

실행하면 openssl version다음과 같은 출력이 생성됩니다.OpenSSL 1.0.1f 2014년 1월 6일. 물론 SSL 인증서를 설치했고 SSL 액세스가 서버에서 작동합니다.

OpenSSL은 Apache 2.4.7과 함께 작동하도록 설치됩니다.

누구든지 도와줄 수 있나요?

답변1

여기서는 두 가지 일이 일어날 수 있습니다:

  1. 간단한 "./configure; make; make install"은 기본적으로 공유 라이브러리를 /usr/local/lib. 그러나 시스템에 설치된 라이브러리는 /usr/lib라이브러리 검색 경로의 앞에 나오는 에 있습니다 . 시스템에 설치된 OpenSSL 버전을 제거하지 않으면 취약한 버전을 찾을 수 없습니다.

  2. 시스템 라이브러리를 덮어쓰더라도 Apache를 다시 시작할 때까지 변경 사항이 적용되지 않습니다. 삭제된 파일은 열린 파일 핸들이 있는 모든 프로그램이 해당 파일 핸들을 닫을 때까지 액세스 가능한 상태로 유지되며 디스크 공간을 차지합니다.

답변2

어떤 서버 소프트웨어를 사용하고 있나요?

OpenSSL 바이너리가 취약함에도 불구하고 OS 패키지에서 설치된 웹 서버는 취약하지 않은 라이브러리 버전을 사용할 가능성이 높습니다.

취약한 리스너를 실행하는 가장 간단한 방법은 openssl s_server취약한 웹 서버 전체가 필요한 경우 취약한 OpenSSL에 대해 컴파일해야 할 가능성이 높습니다.

관련 정보