哈喽,各位佬!
还记得上回咱们讨论怎么让服务器更安全、屏蔽掉那些烦人的扫描器吗?
原帖在这:https://linux.do/t/topic/949334
当时聊得挺 high,我就琢磨着能不能把这事儿弄得再简单点,最好是一键搞定。于是,利用午休和摸鱼的时间,我把这些想法搓成了一个 Shell 脚本,现在分享给大家。
这玩意儿能干啥?
简单说,它就是一个“智能主动防御工事”:
这是一个功能强大的 Shell 脚本,旨在通过
iptables和ipset构建一个智能、高效、且具备“自我学习”能力的主动防御防火墙体系。它不仅能加载你自己准备的静态黑名单(IP、IP段、甚至整个 ASN),更能深度整合Fail2ban的动态封禁能力,把那些被 Fail2ban 临时拉黑的 IP 自动抓出来,扔进一个永久的黑名单里。
核心亮点就是:
- 一键梭哈,无人值守:新开一台 VPS,一条命令下去,它能自己装好
fail2ban、ipset这些依赖,自己创建好 SSH 防护,自己加载黑名单,全程不用你操心。 - 性能拉满:不管你加一万个还是一百万个 IP 到黑名单,它都用
ipset处理,对系统性能影响极小。再也不用担心iptables规则太多拖慢速度了。 - 自动“学习”:
fail2ban抓到的新坏蛋,下次脚本一跑,就直接录入“永久黑名单档案”,实现“一次被抓,终身拉黑”的效果。 - 高度兼容:脚本能自动识别你的系统是 Debian 系还是红帽系,还能智能处理被压缩过的历史日志文件。
懒人专用一键指令:
想直接开干的佬,下面这条命令复制到 SSH 里,回车就行了:
curl -sSL https://raw.githubusercontent.com/dovetaill/block_threat_ip/master/install.sh | sudo bash
(友情提示:命令是通过管道 | 交给 sudo bash 执行的,不放心的佬可以先把 install.sh 的内容扒下来瞅瞅。)
喜欢自己动手 & 持续更新:
想自己维护黑名单,或者看看代码的,可以直接访问项目仓库:
https://github.com/dovetaill/block_threat_ip
详细的用法、如何自定义黑名单、怎么查看封禁效果,里面的 README.md 文档都写得明明白白了。
最后,也是最重要的提醒!
- ASN 封禁是大杀器! 如果你在自己的
.txt文件里加了 ASN 编号(比如AS14061DigitalOcean),那 DO 家的所有 IP 就都跟你拜拜了。虽然能干掉一大片坏人,但也可能误伤友军,用之前一定想清楚。 - 脚本运行完,最好自己测试一下!比如让你朋友 ping 一下你的服务器,或者用手机流量访问一下你的网站,确保没问题。万一哪个提供 CDN 服务的佬友不幸地躺在黑名单里,那乐子就大了…
欢迎大家试用、拍砖、提 issue,或者有什么新想法,我们接着在这个帖子里聊!