目前,我正在通过基于 IP 地址原产国阻止对 Dovecot 和 SSHD 的访问来减少日志中失败的身份验证垃圾邮件。这两项服务都需要身份验证,并且在少数几个国家/地区之外,我没有需要访问的用户或自动化。
这是使用 tcpwrappers'aclcheck
和传递的 shell 脚本%a
并调用geoiplookup
(或geoiplookup6
)我碰巧安装在我的系统上的二进制文件来完成的。全部设置为/etc/hosts.allow
, /etc/hosts.deny
。
这足以摆脱大多数失败的登录。
尽管 Postfix 与 tcpwrappers 是由同一个人创作的,但它并不使用 tcpwrappers——至少在 Debian 中,它的各种二进制文件没有链接到libwrap.so
.
iptables
据我所知,不适用;我不相信它可以要求用户空间二进制文件来确定是否应该接受或拒绝 IP 数据包(例如 TCP SYN)。
有没有一种方便的方法可以让 Postfix 的守护进程监听 TCP 连接,例如master
使用hosts.allow
/ hosts.deny
?是tcpd
答案吗?如何正确使用它?
我有兴趣仅根据原产国阻止smtps
和submission
端口 - 那些允许身份验证(并因此允许身份验证后中继)的端口。