在postfix中,如何在587上强制执行tls + auth,同时让tls可选25


9

我想为某些域托管邮件服务。我已经成功设置了postfix来为这些虚拟域查询sql。我想做的是:

  • 对于25上的连接:

    1. 拒绝中继(仅传递给我的虚拟域的收件人)
    2. 将tls保留为可选,但仅在客户端执行tls时才提供身份验证
    3. 仅接受未列入黑名单的客户端(例如,限制来自spamhaus的XBL + SBL + PBL)或执行tls和auth(设置为通过auth和tls向我进行身份验证的“朋友邮件服务器”)的客户端
  • 对于587上的连接:

    1. 强制执行tls和auth
    2. 许可中继。
    3. 仅接受未列入黑名单的客户(如上黑名单,但不进行PBL检查)

我的问题:

  • 答:我知道上面的postfix选项,但是我找不到如何根据侦听端口来区分它们的方法。

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

我是邮件服务器设置的新手,对于任何无意义的问题/建议,都深表歉意(请指出)。谢谢。

Answers:


15

这很容易,

  1. /etc/postfix/main.cf您将添加/更改

    smtpd_tls_security_level=may
    

    因此默认情况下,TLS可用(但可选)。

  2. 然后,/etc/postfix/master.cf您将submission通过覆盖参数来为端口587(端口)覆盖它:

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

    这要求所有提交(端口587)连接都使用TLS。

至于拒绝中继,这是默认设置。仅对经过身份验证的用户和您在中指定的IP地址进行中继mynetworks

最后,您可以main.cf通过添加以下内容来添加黑名单smtpd_recipient_restrictions

    reject_rbl_client zen.spamhaus.org,

或您想要的任何黑名单。这些应显示在列表的末尾,即final之前permit


最后一件事。有关如何防止垃圾邮件的更多信息,请参阅“ 与垃圾邮件作斗争-作为管理员,我可以做什么”:电子邮件管理员,域所有者或用户?


谢谢,只有一个模糊点:在端口25上,无论客户端是否通过身份验证,我都希望无条件拒绝中继。
Paralife

默认情况下,端口25上的身份验证处于禁用状态。但是要进行确认,请确保smtpd_sasl_auth_enable您所在main.cfsmtp部分中不存在该内容,并且该部分中不存在该内容master.cf(但应yes在该submission部分中将其设置为)。的master.cf,看起来有点象这样
迈克尔·汉普顿

正确,但是我想在25上启用可选的auth + tls。我只是不想在25上进行中继。从本质上讲,我想对某人的连接方式持开放态度,但对中继非常严格(拒绝所有中继)。除非中继出现在587上并且通过tls对客户端进行了身份验证,否则不应允许中继。任何其他组合都应拒绝中继。我可能只是从smtpd_relay_restrictions中删除permit_sasl_authenticated并将其仅放置在master.cf中的587替代中。谢谢。
Paralife 2013年

人们甚至不应该尝试对25进行身份验证。您可以根据需要启用它,但实际上不应该这样做。
迈克尔·汉普顿

3

我不知道问题B的答案,但我知道问题A的答案:

在postfix中,通常会在master.cf中定义每个运行进程的位置/etc/postfix。在该文件中,每个正在运行的postfix服务只有一个条目,因此port 25和port 有两个不同的条目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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.