我应该如何在 OpenBSD 上配置 /etc/host.allow 以仅允许给定的 IP?

我应该如何在 OpenBSD 上配置 /etc/host.allow 以仅允许给定的 IP?

我有一个 OpenBSD 5.1 机器,正在运行一个基于静态 html 的网站。

我有一个我想要允许的 IP 地址列表,例如:

...
78.128.49.0/24
78.128.50.0/24
...

大约 10 KB。 ~10 000 行。我只想允许这些 IP 地址,而不是联系服务器(httpd、ssh、任何东西,甚至是未使用的端口)。

:在 host.allow/host.deny 文件中执行此操作的最佳语法是什么? (据我所知,最好将 10 000 个 IP 地址范围放入一个文件中,然后将它们放入防火墙中..)

答案1

对于 OpenBSD 的 实现tcpwrappers,我认为您需要将每个地址都包含在 中/etc/hosts.allow,其中包含 10k 条目,很快就会变得非常笨重。

ALL : ... 78.128.49.0/24 78.128.50.0/24 ... : deny

不需要排很多队,这就会成为一场噩梦。请注意,地址之间用空格或逗号或两者分隔。

如果您已pf配置并运行,您可能会发现从地址文件的内容填充表格更容易:

table <blockthese> persist file /etc/list-of-addresses-to-block

block in log quick on $ext_if from <blockthese> to any

对表的查找速度pf很快,而且表在内存使用方面非常高效,因此除非旧机器上的 RAM 量非常有限,否则这应该可以正常工作 - 这是我在许多 FreeBSD 主机上使用的策略,并且它效果很好。

相关内容