¿Cómo forzar un conjunto propio de cifrados en Postfix 2.11?

¿Cómo forzar un conjunto propio de cifrados en Postfix 2.11?

Me gustaría forzar un conjunto propio de conjuntos de cifrado TLS en lugar de utilizar los integrados en Postfix.

Mi conjunto de cifrados deseado es (tomado de la configuración de 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

Lamentablemente no puedo encontrar una referencia para anular los conjuntos de cifrado. Encontré avisos de que es posible pero no de cómo.

¿Cómo se vería la configuración de Postfix equivalente para smtpy smtpd?

Usando Debian/7, Postfix/2.11.2, OpenSSL/1.0.1e

Respuesta1

DeEndurecimiento criptográfico aplicadopormejorcrypto.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

[ACTUALIZACIÓN: Como el proyecto Bettercrypto, de donde tengo la cadena de cifrado, ya no está activo, asegúrese de elegir su cadena de cifrado de una fuente actual.]

Es master.cfposible que desee configurar el puerto de envío solo para TLS:

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

[ACTUALIZACIÓN: Para TLS 1.3 hay menos cifrados disponibles y el cifrado resultante difiere de los de TLS <= 1.2. La buena noticia es que sólo se permiten cifrados seguros. Más detalles aquí: https://wiki.openssl.org/index.php/TLS1.3#Ciphersuites]


Sin embargo, esto no impide el uso de cifrados obsoletos para el nivel de seguridad.puede, de acuerdo asolicitud de extracción n.° 97, puedes hacer esto con:

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

Pero esto no se ha fusionado por el siguiente motivo:

Voy a cerrar esto, SSLv3 tiene sentido aquí ya que es mejor que el viejo texto sin formato.

Respuesta2

man postconfdice "Se le recomienda encarecidamente que no cambie esta configuración".

Sin embargo, puedes hacerlo así:

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

Supongo que esto es experimental y no le preocupa el flujo de correo de la mayoría de los MTA. Verifique si hay "fallo en el protocolo de enlace" en los registros de postfix. Sugeriría probar primero con smtp_ outgoing para que pueda ver qué hay en la cola y cualquier sesión SMTP local generada por nginx no debería fallar.

Respuesta3

Está bien documentado. Dehttp://www.postfix.org/TLS_README.html#server_cipher

smtpd_tls_mandatory_ciphers = high
smtpd_tls_mandatory_exclude_ciphers = aNULL, MD5

información relacionada