您的位置:首页 >> 原创作品 >> UFW自动配置脚本 — 全自动获取黑IP列表

UFW自动配置脚本 — 全自动获取黑IP列表

[ 孤狼 | 2023-04-30 22:29:27 | 原创作品 | 600°C | 0条评论 ]

最近发现服务器的流量异常,中间也触发了几次报警,于是查看服务器的访问记录才发现,服务器引来了大量的暴库脚本。于是添加了一大批黑IP到防火墙,但是每次都这样手动添加太费事,而且多个服务器还要重复劳动,就想着有没有可能自己做个API接口来自动获取黑IP列表自动维护防火墙配置。写了一天终于弄完了,放出来供需要的人一起使用吧。我服务器挨打涨的小小经验值,就一起来分享吧。


配置前提

本工具仅对于使用了UFW防火墙的设备有用,使用原生iptables的用户自己提取IP拦截吧。

黑IP一般都是暴库操作,批量请求一些不存的文件试图暴库,或者请求一些sql注入。他能暴库我服务器,大概率也会去你那,所以具有一定的公用属性。


手动配置

如果只是想获取黑IP列表可以直接打开网址 http://io.paea.cn/ufw/ 来自己配置列表。列表中的黑IP地址都是验证过的发起过攻击的黑IP,虽然其中有一小部分是动态用户IP不过量很少也就不担心误封了。


填写好自己服务器和自己的IP地址之后,添加上自己要开放的端口,全选或者自己挑选要拦截的IP地址。选择好之后,右侧的列表中就会自动生成配置文件文本,自己复制内容替换到自己服务器的user.rules文件即可,记得最后要使用命令ufw reload来加载一次规则,否则不会生效。

TIPS:请一定一定一定记得加上自己服务器的IP地址作为优先放行规则,因为黑IP库中也有一些机房的IP段,有可能你的服务器地址也在其中。之所以加入机房IP段,也是因为该机房多数机器存在攻击行为,干脆直接全部拉黑,反正我们的网站是给人看的又不是给服务器看的,别人服务器能不能访问没啥关系。


自动配置

人之初,都很懒。能自动一般都不愿意手动。所以自动脚本也在安排计划之内。

使用自动脚本你需要会Linux的crontab命令,自己添加一下规则来自动请求最新的配置文件。

0 3 * * 1 cp /etc/ufw/user.rules /etc/ufw/user.rules_back$(date +\%s);/usr/bin/curl -o /etc/ufw/user.rules "https://io.paea.cn/ufw/index.php?sip=192.168.1.1&ports=22|80|443";ufw reload

如上,代码会自动请求我的接口并下载最新的规则替换已有的user.reles文件,最后记得一定要加上ufw reload。

TIPS:如果你确定要使用,请注意不要频繁请求,一般更新周期都很长(一个月能有个2次不错了),所以你只要1周请求一次即可。测试的时候多几次我不管,如果长期过密集请求只能拉黑了。


接口参数

1. 主接口 https://io.paea.cn/ufw/index.php

2. 参数【sip】(必填) 本机(服务器)IP,优先放行不受黑名单影响,多个IP使用“|”间隔,支持IP段。

3. 参数【ports】 开放端口,如不提交默认为“22|80|443”,多个端口使用“|”间隔,支持端口段。

4. 参数【banip】 手动黑名单,多个IP使用“|”间隔,支持IP段。


建议你第一次请求的时候不要加载,请求完之后自己看一下自动生成的规则是否合适,合适再加入自动加载。日后每次更新都只会替换拦截IP的部分。

有人提议说开放个提交接口,但是我无法确定用户提交的是否是经过验证的黑IP,万一是恶意提交呢。所以目前不考虑,只记录我服务器记录的攻击黑IP地址。如果你有更好的提交方案,可以联系我一起探讨一下。



转载请注明出处:http://gl.paea.cn/n.php?n=217
 
如您看得高兴,欢迎随意投喂,让我们坚持创作!
赞赏一个鸡腿
还没有人留下遗迹
综合 · 搜索