在后缀中,如何强制执行tls + auth而不是587,而对于25则是可选的

我想为某些域名托pipe邮件服务。 我已经成功安装了后缀来咨询这些虚拟域的SQL。 我想要做的是:

  • 对于25:

    1. 拒绝中继(只交付给我的虚拟域的收件人)
    2. 离开tls是可选的,但是只有当客户端tls时才提供auth
    3. 只接受非黑名单的客户(例如,限制来自spamhaus的XBL + SBL + PBL)或者做tls和auth的客户(“朋友邮件服务器”,设置为用auth和tls与我进行validation)
  • 对于587上的连接:

    1. 强制执行tls和auth
    2. 许可中继。
    3. 只接受非黑名单的客户(上面的黑名单,但不包括PBL检查)

我的问题:

  • 答:我知道上述的后缀选项,但我无法find如何根据侦听端口来区分它们。

  • B.我是否会用上述政策,与所谓的合法客户碰到广为人知的问题?

我是新的邮件服务器设置,对于任何毫无意义的问题/ assupmtion抱歉(请指出)。 谢谢。

这很容易,

  1. /etc/postfix/main.cf你会添加/更改

     smtpd_tls_security_level=may 

    所以默认情况下TLS可用(但可选)。

  2. 然后,在你的/etc/postfix/master.cf你可以通过覆盖参数来覆盖端口587( submission端口):

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

    这需要所有提交(端口587)连接的TLS。

至于否认转播,这是默认的; 中继仅允许经过身份validation的用户以及您在mynetworks指定的IP地址。

最后,您可以在main.cf添加黑名单,方法是追加smtpd_recipient_restrictions

  reject_rbl_client zen.spamhaus.org, 

或任何你想要的黑名单。 这些应该在最后的permit之前出现在列表的末尾。


最后一件事。 有关如何防止垃圾邮件的更多信息,请参阅阻止垃圾邮件 – 我可以做什么:电子邮件pipe理员,域名所有者或用户?

我不知道B的答案,而是A:

在后缀你通常有一个master.cf你定义每一个运行的进程,通常在/etc/postfix 。 在这个文件中,每个正在运行的postfix服务都有一个条目,所以端口25和端口587有两个不同的条目。 对于他们每个人,你也可以传递参数到smtpd ,使他们有不同的设置。

这是我的邮件服务器的一个例子:

 4.3.2.1:25 inet n - - - - smtpd -o smtpd_sasl_auth_enable=yes 4.3.2.1:10027 inet n - - - - smtpd -o mynetworks=91.190.245.4/32 127.0.0.0/8 -o smtpd_client_restrictions=permit_mynetworks,reject