postfix强制smtp / smtpd vs“不强制”的区别和configuration

三个问题:

  1. 如我错了请纠正我:
    smtpd_tls_mandatory_ciphers =>传入强制TLSencryption的设置
    smtpd_tls_ciphers =>设置传入的机会性TLSencryption
    smtp_tls_mandatory_ciphers =>设置传出强制TLSencryption
    smtp_tls_ciphers =>设置传出机会TLSencryption
  2. 如果我同时设置了smtpd_tls_security_levelsmtp_tls_security_level ,那么只有机会设置才是相关的,这意味着我在强制设置中设置的内容并不重要。
  3. 如果我想做一个安全的,但仍然公共邮件服务器将下面的configuration(关于使用的密码学)是好吗? 我不太确定目前有多less台服务器支持TLS或者一般的安全级别,但是我仍然希望能够与其中大部分服务器通信。

     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 

背景:这是一个面向安全的公司,具有相当高的安全标准, 我也不希望任何电子邮件迷失在这个configuration。

PS:我已经阅读了configuration参数的解释,也是我的知识最多的地方。

  1. 关于smtp[d]_tls_[mandatory_]ciphers

是。

  1. 如果我同时设置了smtpd_tls_security_levelsmtp_tls_security_level ,那么只有机会设置才是相关的,这意味着我在强制设置中设置的内容并不重要。

是。

  1. 如果我想做一个安全的,但仍然公共邮件服务器将下面的configuration(关于使用的密码学)是好吗?

您正在禁用SSL并限制密码,但仍然允许未encryption的通信。 我认为坏encryption比没有encryption更好,与其他邮件服务器通信。

引用Bettercrypto的文章Applied Crypto Hardening(ACH)

Postfix有五个内部密码列表,并且可以在smtpd_tls_ciphers之间切换。 但是,我们将其保留为服务器到服务器连接的默认值,因为许多邮件服务器只支持过时的协议和密码。 我们认为糟糕的encryption还是比纯文本传输更好。 对于连接到MUA,TLS是强制性的,密码套件被修改。

对于邮件客户端的连接,限制密码和协议以及优先select密码是非常有用的。

MX和SMTP客户端configuration:如2.3.1节所述,由于机会性encryption,我们不限制用于与其他邮件服务器通信的密码或协议列表,以避免以纯文本forms传输。

推荐的configuration如下:

 # 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 

而这个master.cf

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

对于给定的密码组,服务器倾向于使用最好的密码,如果可能的话也使用“完美保密”,并支持所有相关的客户端,而不允许使用不好的密码。 有关更多详细信息,请参阅链接的文件,它提供了有关build议的详细信息,包括理论。 上面引用的postfix部分的解释是由我(和许多其他审查)贡献。