我目前有一个Postfix安装愉快地为我们公司的100多个用户提供邮件(webmail / IMAP),大致分为几个领域(销售,运营,pipe理等)。 最近有人向销售人员泄露了一个垃圾邮件收集者的集体地址(不知道是谁,无所谓),因为这个垃圾邮件收割者现在正在向30多名销售员工发起鱼叉式钓鱼。 前锋看起来像这样:
[email protected] ====> [email protected],[email protected],[email protected] … [email protected]
他们每个人现在通过转发地址接收很多垃圾邮件,以联系人力资源(恶意链接)来更新他们的W-2地址,或者收集安全信息等等。
前进是build立在预先知道这样一个前锋可能会被滥用,可能会在某一时刻,但政治约束迫使其创build之前,我才能够考虑如何限制它,然后它的工作,没有被滥用超过三年。 可能有一个关于我的公司的相对不重要或在某处低估人性的评论。
我想要的只是从指定域名的电子邮件地址(即@ mycompany.com)只允许邮件到该转发地址(但不是任何转发地址,因为我有几个是info @types)。
我的Postfix安装使用MySQL虚拟查找域,转发和用户,类似于这里和networking上的其他地方描述。 这一切都完美无瑕的在这一点上,除了有些前锋有点太容易邮寄。
再一次,我只想限制发送者域的select转发,而不是所有的转发。 我们目前正在通过邮寄这些清单时使用密件抄送字段来缓解这一情况,所以实际的清单地址不会离开大楼。 这确实限制了收件人之间通过回复所有的讨论,不知道这是一个function或错误在这一点上。
也许最好的解决scheme是使用邮件列表或编写自定义的SpamAssassin规则,但也有一个简单的,如果有点脆弱,纯粹在Postfix中使用smtpd_recipient_restrictions
。
将以下内容添加到main.cf中的smptd_recipient_restrictions
中:
check_sender_access hash:/etc/postfix/sender_access, check_recipient_access hash:/etc/postfix/recipient_access
在/etc/postfix/sender_access
,编写一个允许mycompany.com的规则:
mycompany.com OK
在/etc/postfix/recipient_access
,编写一个阻止邮件到[email protected]的规则:
[email protected] REJECT Sorry, only mycompany.com can mail this address
请务必通过运行postmap
命令来重新编译这些文件:
postmap /etc/postfix/sender_access postmap /etc/postfix/recipient_access
第一个smptd_recipient_restrictions
规则检查发件人。 如果它位于mycompany.com域中,则立即接受该消息。 如果没有,它将前进到下一个检查收件人的规则。 如果这是您的销售人员别名,则会被拒绝。 正如你所看到的,它完成了你所需要的,尽pipe它有点不灵活,因为你不能任意地将发件人域与收件人地址配对。
如果您已经有了smptd_recipient_restrictions
规则,请确保您定位这些规则,以免意外短路其他规则。
您可能可以将sender_access和recipient_access表存储在MySQL中而不是文件中,尽pipe我没有这方面的经验。