快速过滤在 FreeBSD 下导致 sendmail DOS 的 IP

快速过滤在 FreeBSD 下导致 sendmail DOS 的 IP

我发现了一个看似恶意/垃圾邮件的主机,它使我的 Sendmail 服务器超载,导致它拒绝与其他主机的连接。来自某一特定 IP 地址的连接使我超载。该 IP 在 /etc/access 中被阻止,无法接受邮件,但它会通过邮件服务器导致 DOS,从而限制同时连接的数量。

如何阻止特定的 IP 地址,使其无法发送邮件?我无法使用 inetd,因为 sendmail 作为守护进程运行。我可以使用 ifpw 之类的东西吗?我以前从未使用过它。这是 FreeBSD 7.0

任何帮助将不胜感激!

答案1

由于您似乎没有防火墙功能,因此您可以尝试使用防火墙tcpwrappers来阻止有问题的 IP 地址。在FreeBSD下,tcpwrappers是在文件中配置的/etc/hosts.allow。在该文件的顶部附近,添加如下行:

sendmail : ip.add.re.ss : deny

即使,正如您所说,sendmail不是由 启动的inetd,只要您使用的是 FreeBSD 下的默认版本sendmail,它就会起作用,它与提供此功能的 链接libwrap。 (如果 的输出ldd /usr/libexec/sendmail/sendmail不包含对 的引用lwrap,那么恐怕所有的赌注都失败了......)

请注意,这并不能替代真正的防火墙 - 但在这种情况下,它可能会拯救您,直到这个白痴转向他的下一个受害者。您应该考虑升级到 FreeBSD 的最新版本,并趁机同时配置防火墙。

答案2

你需要使用FreeBSD 内置的防火墙。您可以添加一条规则来丢弃来自特定主机的数据包,以便 sendmail 守护程序永远不会看到它们。

相关内容