IPsum 项目教程
1. 项目介绍
IPsum 是一个威胁情报源,基于 30 多个不同的公开可用的可疑和/或恶意 IP 地址列表。所有列表每天(24 小时)自动检索和解析,最终结果推送到此仓库。列表由 IP 地址及其在(黑)名单中的总出现次数组成。出现次数越多,误报检测和/或监控流量中丢弃的可能性越小。此外,列表按最(有问题)到最少出现的 IP 地址排序。
2. 项目快速启动
2.1 安装依赖
首先,确保你已经安装了 curl
和 grep
工具。如果没有安装,可以使用以下命令进行安装:
sudo apt-get install curl grep
2.2 获取最新的恶意 IP 列表
使用以下命令获取最新的恶意 IP 列表:
curl --compressed https://raw.githubusercontent.com/stamparm/ipsum/master/ipsum.txt 2>/dev/null | grep -v "#" | grep -v -E "\s[1-2]$" | cut -f 1
2.3 使用 ipset
自动封禁恶意 IP
如果你想要使用 ipset
自动封禁这些恶意 IP,可以按照以下步骤操作:
-
安装
iptables
和ipset
:sudo apt-get -qq install iptables ipset
-
清空并创建一个新的
ipset
列表:ipset -q flush ipsum ipset -q create ipsum hash:ip
-
将恶意 IP 添加到
ipset
列表中:for ip in $(curl --compressed https://raw.githubusercontent.com/stamparm/ipsum/master/ipsum.txt 2>/dev/null | grep -v "#" | grep -v -E "\s[1-2]$" | cut -f 1); do ipset add ipsum $ip done
-
配置
iptables
规则以封禁这些 IP:iptables -D INPUT -m set --match-set ipsum src -j DROP 2>/dev/null iptables -I INPUT -m set --match-set ipsum src -j DROP
3. 应用案例和最佳实践
3.1 自动封禁恶意 IP
通过上述步骤,你可以自动封禁那些出现在多个黑名单中的恶意 IP。这对于保护你的服务器免受恶意攻击非常有用。
3.2 定期更新恶意 IP 列表
为了保持恶意 IP 列表的时效性,建议定期执行上述命令,例如每天或每周更新一次。
4. 典型生态项目
4.1 Fail2Ban
Fail2Ban 是一个用于自动封禁恶意 IP 的工具,它可以根据日志文件中的信息自动生成 iptables
规则。结合 IPsum 项目,你可以进一步增强 Fail2Ban 的功能,自动封禁那些已知的恶意 IP。
4.2 Snort
Snort 是一个开源的网络入侵检测系统(NIDS),它可以与 IPsum 项目结合使用,通过预定义的规则检测和封禁恶意 IP。
4.3 Suricata
Suricata 是另一个开源的网络入侵检测系统,类似于 Snort,它可以与 IPsum 项目结合使用,提供更强大的网络威胁检测和防御能力。
通过这些生态项目的结合,你可以构建一个更加全面和强大的网络安全防护体系。