logo NodeSeekbeta

深受 UCLOUD 香港扫描狂轰滥炸,我用一个脚本干掉了整个机房

前言:

作为一个站长,你是否经常收到来自香港 IDC 的各种端口扫描?
是否厌倦了看到日志里满屏的 UCLOUD INFORMATION TECHNOLOGY (HK) LIMITED?
是否试过封 IP,但总有新的 IP 来骚扰?
今天,我要分享一个暴力但优雅的解决方案...

正文:

🤔 事情是这样的...

某天深夜,我照例查看服务器日志,发现又双叒叕被 UCLOUD 香港的 IP 扫描。这些 IP 就像打不完的小怪,封了这个又来那个...

看看我的日志:

Failed password for root from 43.xxx.xxx.xxx port 48526 ssh2
Failed password for root from 43.xxx.xxx.xxx port 48892 ssh2
Failed password for root from 43.xxx.xxx.xxx port 49106 ssh2
...(省略 1000 条类似记录)

😠 忍无可忍,无需再忍

在封了第 108 个 IP 后,我终于忍不住了:

"为什么要一个个 IP 封禁?直接封掉整个 ASN 不就完事了?"

一查发现这些 IP 都来自 AS135377,也就是 UCLOUD HK 的 ASN。

ASN查询:https://ping0.cc/as/AS135377

🎯 解决方案

于是我写了这个脚本,只需要:

curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/asn-blocker.sh && chmod +x asn-blocker.sh && ./asn-blocker.sh

选择菜单1,输入:AS135377 一键封禁,干净利落!从此再也不用看到这些烦人的扫描了~

😎 效果立竿见影

注意要选择菜单5:安装系统服务 然后启动服务,使其生效,再添加ASN

可以在一段时间后查看数据包:

iptables -L INPUT -v -n | grep "blocked-asn" | awk '{match($0,/blocked-asn-([0-9]+)/,a); printf "ASN %-12s packets: %-4s bytes: %-6s\n", a[1], $1, $2}'

🤓 技术原理

这个脚本会:

  1. 自动获取指定 ASN 的所有 IP 段
  2. 使用 ipset 高效管理 IP 列表
  3. 配置防火墙规则一键封禁
  4. 还可以随时优雅地解除封禁

📝 小贴士

  1. 不建议随意封禁 ASN,要谨慎使用
  2. 建议先查清楚 ASN 的身份,避免误伤
  3. 如果是正常业务相关的 ASN,要三思而后行

🤪 彩蛋

其实还有个更暴力的操作,一次性封禁多个 ASN

sudo ./asn-blocker.sh --add AS135377 AS202306 AS14061

🔚 结语

工具的诞生往往源于需求。
这个脚本虽然简单,但确实解决了我的烦恼。
希望也能帮助到同样被困扰的你!

123
  • 为何UCLOUD这种大厂会来扫SSH?
    是不是有人租了UCLOUD的机器来扫的,那直接投诉阿。

  • @gabcarwin #1 ssh扫的不多,更多是扫后台,漏洞扫描之类,会导致服务器负载很高,投诉没用的

  • ac01 啥人都有的 拿来练手

  • 好贴帮顶,实战派

  • 好文,赏

  • 你这个脚本太牛X了

  • 牛逼class, 不明觉厉

  • MARK

  • 不明觉历

  • 明白了,这就在goedge里封掉整个ucloud,其实正经用户也不会用这个来访问的,遇到扫描、伪装正经爬虫的,我一般都是直接封半年起,清净

123

你好啊,陌生人!

我的朋友,看起来你是新来的,如果想参与到讨论中,点击下面的按钮!

📈用户数目📈

目前论坛共有59945位seeker

🎉欢迎新用户🎉