我打算通过在主机拒绝文件。这是否会对响应能力当合法 IP 进行远程访问时,系统会受到什么影响?
答案1
这会使初始连接速度稍微慢一些,但之后连接后的响应速度将不再受到影响。
一般来说,hosts.deny 非常快:在我刚刚运行的测试中,长度为零的 hosts.deny 花费 0.93 秒来启动和关闭 ssh 连接(“time ssh testhost env”)。对于 64,010 行的 hosts.deny(格式为“ALL: 10.10.xy”,x 和 y 从 2 到 254),相同的连接花费 1.03 秒。所有时间都是四个样本的平均值。
显然,您的里程可能会有所不同,因此我建议您进行测试,但我怀疑您会遇到严重的问题。
答案2
还可以使用带有连接跟踪的 iptables,我认为这会稍微快一些,并且具有与协议无关的额外好处,即同样适合拒绝与 tcp/udp/icmp 或您可能正在运行的任何服务的连接。
答案3
那2000个地址可以汇总起来吗?
hosts.deny
将采用 CIDR 定义。因此,例如,它应该更快、更容易管理:10.0.0.0/30 10.0.1.0/30
相比同等:
10.0.0.1 10.0.0.2 10.0.1.1 10.0.1.2
它需要防火墙吗?
如果您经常这样做,那么这实际上是防火墙的职责,而不是主机本身。集中管理会更容易,而且(正如 Jim 所说)OpenBSD 的 PF 具有状态跟踪功能,可以真正轻松地完成这项工作。
答案4
[olafrv@eqqus ~]$ cat /etc/hosts.deny | grep ^ALL | wc -l
8004
有了这么多,我在英特尔台式双核电脑上就没有遇到任何问题,也没有延迟。
文件 hosts.deny 由denyhosts自动维护(http://denyhosts.sourceforge.net)