Postfix obligatorio smtp/smtpd vs diferencia y configuración "no obligatorio"

Postfix obligatorio smtp/smtpd vs diferencia y configuración "no obligatorio"

Tres preguntas:

  1. Corríjame si me equivoco:
    smtpd_tls_mandatory_ciphers=> configuración para el cifrado TLS obligatorio entrante
    smtpd_tls_ciphers=> configuración para el cifrado TLS oportunista entrante
    smtp_tls_mandatory_ciphers=> configuración para el cifrado TLS obligatorio saliente
    smtp_tls_ciphers=> configuración para el cifrado TLS oportunista saliente
  2. Si configuro ambos smtpd_tls_security_levely smtp_tls_security_levelentonces maysolo las configuraciones oportunistas son relevantes, lo que significa que no importa lo que configuro en las obligatorias.
  3. Si quiero crear un servidor de correo seguro pero público, ¿estaría bien la siguiente configuración (con respecto a la criptografía utilizada)? No estoy muy seguro de cuántos servidores admiten TLS actualmente o qué niveles de seguridad en general, pero aún así quiero poder comunicarme con la mayoría de ellos.

    smtpd_tls_mandatory_ciphers = high
    smtp_tls_mandatory_ciphers = high
    smtpd_tls_ciphers = high
    smtp_tls_ciphers = high
    smtp_tls_security_level = may
    smtpd_tls_security_level = may
    
    smtp_tls_protocols = !SSLv2, !SSLv3
    smtp_tls_mandatory_protocols = !SSLv2, !SSLv3
    smtpd_tls_protocols = !SSLv2, !SSLv3
    smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
    
    smtp_tls_exclude_ciphers = aNULL, DES, RC4, MD5
    smtpd_tls_exclude_ciphers = aNULL, DES, RC4, MD5
    #hope this is enough since it is also added to the mandatory exclusions
    smtp_tls_exclude_ciphers = aNULL, DES, RC4, MD5
    smtpd_tls_exclude_ciphers = aNULL, DES, RC4, MD5
    

Fondo:Es para una empresa orientada a la seguridad, con estándares de seguridad bastante altos.PEROTampoco quiero que se pierda ningún correo electrónico con esta configuración.

PD:He leído la explicación delparámetros de configuracióny también es de donde proviene la mayor parte de mi conocimiento.

Respuesta1

  1. Sobresmtp[d]_tls_[mandatory_]ciphers

Sí.

  1. Si configuro ambos smtpd_tls_security_levely smtp_tls_security_levelmay, entonces solo las configuraciones oportunistas son relevantes, lo que significa que no importa lo que configuro en las obligatorias.

Sí.

  1. Si quiero crear un servidor de correo seguro pero público, ¿estaría bien la siguiente configuración (con respecto a la criptografía utilizada)?

Está deshabilitando SSL y restringiendo los cifrados, pero aún se permite el tráfico no cifrado. Considero que un cifrado incorrecto es mejor que ningún cifrado para la comunicación con otros servidores de correo.

Para citar el artículoEndurecimiento criptográfico aplicado (ACH)porMejorcripto:

Postfix tiene cinco listas internas de cifrados y la posibilidad de cambiar entre aquellos con smtpd_tls_ciphers. Sin embargo, lo dejamos en su valor predeterminado para conexiones de servidor a servidor, ya que muchos servidores de correo sólo admiten protocolos y cifrados obsoletos. Consideramos que una mala encriptación es aún mejor que la transmisión de texto plano. Para conexiones a MUA, TLS es obligatorio y se modifica el conjunto de cifrado.

Para las conexiones a clientes de correo, es muy útil restringir los cifrados y protocolos, así como preferir los buenos.

Configuración del cliente MX y SMTP: Como se discutió en la sección 2.3.1, debido al cifrado oportunista no restringimos la lista de cifrados o protocolos para la comunicación con otros servidores de correo para evitar la transmisión en texto plano.

La configuración recomendada es la siguiente:

# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
# use 0 for Postfix >= 2.9, and 1 for earlier versions
smtpd_tls_loglevel = 0
# enable opportunistic TLS support in the SMTP server and client
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
smtpd_tls_eecdh_grade=ultra

Y esto para master.cf:

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

Con el conjunto de cifrado proporcionado, el servidor prefiere los mejores cifrados disponibles, también Perfect Secrecy si es posible y también admite todos los clientes relevantes sin permitir cifrados incorrectos. Para obtener más detalles, consulte el artículo vinculado, que brinda información muy detallada sobre las recomendaciones, incluida la teoría. Las explicaciones para la sección postfix citada anteriormente son aportadas por mí (y revisadas por muchos otros).

información relacionada