我目前正计划在我的网络中设置一个网络漏洞。我有一个要阻止的网站列表,其中大约有 30 万个。建议的执行方法是什么。我的计算机是自己的 DNS 服务器。
我是否应该将它们添加到 hosts 文件中并将响应重定向到 IDS 或为它们每个创建 BIND 区域。
就系统资源使用率和可靠性而言哪一个最好?
答案1
我知道它的性能比单独使用 iptables 要好,但由于它是内核的一部分,所以我无法监控它的 CPU 利用率。
如果它们是单个 IP 地址,请首先下载 cidrmerge,然后列表可能会短一些。
我建议使用 iptables 和 ipset。单独使用 iptables 会降低性能。每个组可以处理 65535 个条目。
ipset create ban1 hash:net
ipset create ban2 hash:net
ipset create ban3 hash:net
ipset create ban4 hash:net
ipset create ban5 hash:net
ipset create ban6 hash:net
ipset create ban7 hash:net
将所有配置(包括阻止列表)保存到文本文件中
ipset 保存 >config.txt
从文件恢复配置
ipset 恢复
iptables -A INPUT -m set -j DROP --match-set ban1 src
iptables -A INPUT -m set -j DROP --match-set ban2 src
iptables -A INPUT -m set -j DROP --match-set ban3 src
iptables -A INPUT -m set -j DROP --match-set ban4 src
iptables -A INPUT -m set -j DROP --match-set ban5 src
iptables -A INPUT -m set -j DROP --match-set ban6 src
iptables -A INPUT -m set -j DROP --match-set ban7 src
**Current list:set is not working properly or you could do this
ipset create banned list:set
ipset add banned ban1
ipset add banned ban2
ipset add banned ban3
ipset add banned ban4
ipset add banned ban5
ipset add banned ban6
ipset add banned ban7
iptables -A INPUT -m set -j DROP --match-set banned src
** end use this when they fix it**
您可以编写脚本来填充列表您必须将列表分成 65535 组。
cat badip1.txt |xargs -n1 ipset add ban1
cat badip2.txt |xargs -n1 ipset add ban2
最后保存配置。(如上所述)