我有一个在 Ubuntu 14.04.5 LTS 上运行的 zimbra 8.7.11 社区版服务器。
有时,非常大的域(例如 yahoo.com 或 hotmail.com)中的单个 SMTP 服务器会列在 DNS RBL 中。
我尝试使用这个文件在 Postfix 级别将他们的服务器列入白名单:
/opt/zimbra/conf/postfix_blacklist
以下是一个例子:
mail-dm3nam03on0060.outbound.protection.outlook.com OK
mail-dm3nam03on0077.outbound.protection.outlook.com OK
mail-oln040092008029.outbound.protection.outlook.com OK
*outbound.protection.outlook.com OK
随后我运行了 postmap /opt/zimbra/conf/postfix_blacklist。
底部的通配符条目似乎不会将 .protection.outlook.com 域内的每个主机名列入白名单,而且实际主机名太多,无法尝试列入白名单。我们通常在注意到主机被阻止时将其列入白名单,但这更像是一种反应性方法,似乎效率不高。
这里可以使用通配符吗?
答案1
因为你跑postmap
因为这/opt/zimbra/conf/postfix_blacklist
意味着这是一个查找表; postmap 创建postfix_blacklist.db
包含用于查找的哈希值的表。使用哈希查找表可加快搜索速度,但不允许使用通配符。
另一方面,你应该阅读影响 Postfix 的 ZCS 8.5 功能:
从 ZCS8.5 及更高版本开始,Postfix 链接到 LMDB,这是我们在 OpenLDAP 中使用的相同后端。在 ZCS 8.0 之前,Postfix 链接到 Berkeley DB。
根据本文和文档,/opt/zimbra/conf/postfix_blacklist
用于将 IP 列入黑名单,还有另一个文件,,/opt/zimbra/conf/postfix_rbl_override
用于将 RBL 黑名单 IP 地址列入白名单。
- has
postfix_blacklist
语法198.51.100.20 REJECT
- has
postfix_rbl_override
语法198.51.100.20 OK
。 - 两者都使用 IP 地址而不是主机名,并且每行只有一个 IP 地址。
答案2
从 Zimbra 8.7 开始,您可以创建包含地址和/或域的混合黑名单(请参阅此处经过认证的 Zimbra 8.7 文档:https://wiki.zimbra.com/wiki/Domain_level_blocking_of_users)
1)使用 zimbra 用户,创建文件 /opt/zimbra/common/conf/postfix_reject_sender
2)添加拒绝的地址和域的列表,如下所示:
- [电子邮件保护]拒绝
domainX.com 拒绝
不要使用“*”作为通配符,我试过了,它破坏了 MTA!
3)执行zimbraMtaSmtpdSenderRestrictions:
zmprov ms'你的zimbra服务器名称'+zimbraMtaSmtpdSenderRestrictions“check_sender_access lmdb:/opt/zimbra/common/conf/postfix_reject_sender”
注意:将“yourzimbraservername”替换为您的 zimbra 服务器的 FQDN
4)运行POSTMAP:
/opt/zimbra/common/sbin/postmap /opt/zimbra/common/conf/postfix_reject_sender
5)为了让更改立即生效,你可以使用以下命令强制执行:
zmmtactl 重启
注意:网络上的许多说明都涉及 Zimbra 8.5 和 8.6,请确保您参考的说明适用于 Zimbra 8.7