일부 오래된 취약점을 테스트하기 위해 Apache에서 암호 그룹 내보내기를 활성화하고 싶습니다. 나는 지금까지 성공하지 못했습니다. 도움을 주시면 대단히 감사하겠습니다.
내 설정은 다음과 같습니다.
Apache and mod_ssl 2.2.15
OpenSSL 1.0.1a
내가 아는 한, 위 버전은 이러한 오래된 암호 제품군을 "지원"할 만큼 오래되었습니다.
관련 내용은 다음과 같습니다 /etc/httpd/conf.d/ssl.conf
.
SSLprotocol all
SSLCipherSuite DEFAULT:+EXP
암호 모음을 내보내려면 위의 내용이 모두 필요하다고 생각하지만 nmap
ssl-enum-ciphers.se
스크립트를 실행해도 EXP 암호 모음이 표시되지 않습니다. "LOW"와 같은 것으로 변경하면 SSLCipherSuite
적용됩니다. httpd
변경 후 서비스를 다시 시작했습니다.
또한 를 실행하여 이를 확인했는데 , 실제로 내보내기 암호화 제품군이 아직 활성화되지 않았음을 나타내는 핸드셰이크 실패 경고가 표시 openssl s_client -connect 127.0.0.1:443 -cipher EXPORT
됩니다 .sslv3
내가 여기서 무엇을 놓치고 있는 걸까요?
답변1
참고: m 이전의 업스트림 OpenSSL 1.0.1의 기본 암호 목록에는 EXPORT(2015년 3월)가 포함되었으며 s(2016년 3월)에는 단일 DES만 포함된 LOW와 함께 빌드에서 제거되었습니다(단지 기본 목록은 아님). 소스에서 빌드하고 있습니까, 아니면 다른 사람의 빌드나 패키지를 사용하고 있습니까? 빌더 또는 패키저가 업스트림 기본값을 변경할 수 있습니다. 또한 RedHat 및 Debian 기반 배포판은 내부 버전을 변경하지 않고 보안 패치를 백포트하므로 이러한 패키지는 openssl version
버전을 확인해야 하는 항목을 실제로 알려주지 않습니다.팩, openssl-1.0.1e-NN.elN
또는 와 유사합니다 openssl-1.0.1e-N+debN
.
OpenSSL 암호 문자열을 사용해도 +
암호 목록의 내용은 변경되지 않으며 일부 암호 모음을 다음으로 이동하여 변경될 뿐입니다.끝. 예를 들어, +RC4
이미 목록에 있는 RC4 키트는 선택될 가능성이 적도록 목록 끝에 배치해야 한다는 의미입니다. 클라이언트 기본 설정은 일반적으로 서버에 대해 가능한 암호 모음에서 선택되는 암호 모음을 제어하므로 순서는 일반적으로 클라이언트에 중요합니다. 서버가 클라이언트 기본 설정을 무시하고 서버 기본 설정을 사용하도록 구성된 경우에만 중요합니다.
DEFAULT:EXPORT:!aNULL
(약칭 가능 DEFAULT:EXP:!aNULL
) 또는 를 지정해야 합니다 ALL:!aNULL
. 익명, 즉 비인증 제품군을 제외하기 !aNULL
때문에 사용해야 하지만 (비슷하게 ) 이를 포함하거나 특히 웹(HTTPS)의 경우 사용해서는 안 됩니다.DEFAULT
EXPORT
LOW MEDIUM HIGH
ALL
명령줄을 사용하여 openssl ciphers [-v] $string
특정 문자열에 대해 빌드에서 어떤 암호가 활성화되어 있는지 확인할 수 있습니다. 기본 형식은 한 줄로 압축되어 있으며 tr : '\n'
다음과 같이 파이프하지 않으면 읽기가 어렵습니다. (더 나은 IMO) -v
각 비밀번호를 별도의 줄에 입력하고 때로는 유용한(그렇지 않은 경우 놓치기 쉬운) 세부 정보를 추가하세요.