Postfix 2.11에서 자체 암호 세트를 강제하는 방법은 무엇입니까?

Postfix 2.11에서 자체 암호 세트를 강제하는 방법은 무엇입니까?

내장된 Postfix를 사용하는 대신 자체 TLS 암호화 제품군 세트를 강제로 적용하고 싶습니다.

내가 원하는 암호 세트는 다음과 같습니다(nginx 구성에서 가져옴).

ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:-DES:!RC4:!MD5:!PSK:!aECDH:EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA

불행히도 암호 제품군을 재정의하는 참조를 찾을 수 없습니다. 가능하다는 공지를 찾았지만 방법은 알 수 없습니다.

smtp및 에 대한 동등한 Postfix 구성은 어떻게 보일까요 smtpd?

Debian/7, Postfix/2.11.2, OpenSSL/1.0.1e 사용

답변1

에서암호화 강화 적용~에 의해bettercrypto.org:

smtpd_tls_security_level = may
smtp_tls_security_level = may
smtp_tls_loglevel = 1
# if you have authentication enabled, only offer it after STARTTLS
smtpd_tls_auth_only = yes
tls_ssl_options = NO_COMPRESSION
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
smtpd_tls_mandatory_ciphers=high
tls_high_cipherlist=EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ECDSA:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA

[업데이트: 내가 암호 문자열을 가지고 있는 bettercrypto 프로젝트는 더 이상 활성화되지 않으므로 현재 소스에서 암호 문자열을 선택했는지 확인하십시오.]

master.cf제출 포트를 TLS로만 구성하려는 경우가 있습니다 .

submission inet n - - - - smtpd
 -o smtpd_tls_security_level=encrypt
 -o tls_preempt_cipherlist=yes

[업데이트: TLS 1.3의 경우 더 적은 수의 암호를 사용할 수 있으며 결과 암호는 TLS <= 1.2의 암호와 다릅니다. 좋은 소식은 안전한 암호만 허용된다는 것입니다. 자세한 내용은 여기: https://wiki.openssl.org/index.php/TLS1.3#Ciphersuites]


그러나 이는 보안 수준에 대해 오래된 암호의 사용을 허용하지 않습니다.5월, 에 따르면풀 리퀘스트 #97, 다음을 사용하여 이 작업을 수행할 수 있습니다.

smtpd_tls_protocols=!SSLv2,!SSLv3
smtp_tls_protocols=!SSLv2,!SSLv3

그러나 이는 다음과 같은 이유로 병합되지 않았습니다.

SSLv3는 좋은 일반 텍스트보다 낫기 때문에 여기서는 의미가 있습니다.

답변2

man postconf"이 설정을 변경하지 않는 것이 좋습니다."라는 메시지가 표시됩니다.

그럼에도 불구하고 다음과 같이 할 수 있습니다.

smtp_tls_security_level = encrypt
smtp_tls_mandatory_protocols = !SSLv2, !SSLv3
smtp_tls_mandatory_ciphers=high
smtpd_tls_security_level = encrypt
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
smtpd_tls_mandatory_ciphers=high
tls_high_cipherlist=ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:-DES:!RC4:!MD5:!PSK:!aECDH:EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA

나는 이것이 실험적이며 대부분의 MTA의 메일 흐름에 대해 걱정하지 않을 것이라고 가정합니다. postfix 로그에서 "핸드셰이크 실패"를 확인하십시오. 대기열에 무엇이 있는지 확인하고 로컬 nginx에서 생성된 SMTP 세션이 실패하지 않도록 smtp_ outgoing으로 먼저 테스트하는 것이 좋습니다.

답변3

잘 문서화되어 있습니다. 에서http://www.postfix.org/TLS_README.html#server_cipher

smtpd_tls_mandatory_ciphers = high
smtpd_tls_mandatory_exclude_ciphers = aNULL, MD5

관련 정보