为了防止家里公网 IP 被乱扫,我做了个黑名单 IP 表

2023-12-19 14:36:38 +08:00
 pplive
新人第一次发帖
最近发现有很多奇怪的 IP 会扫描家里和 VPS 的端口
统计了下,一个小时就有 500+IP 扫我的机器,强迫症心里有点过不去
我想拦截这些 IP ,但是我不会写代码,于是我用 GPT 写了个脚本自动统计这些互联网上扫全网的 IP ,并更新到 github 上

原理:
监测到有 IP 连我 VPS 未开放的端口 -> 封禁 IP -> 每 5 分钟提交一次到 github 上
(一般谁访问我的 VPS 会先连未开放的端口呢?一定是恶意 IP )
使用方法:
定期执行防火墙脚本,封禁我这边扫到的 iplist.txt
放在 github 上面了,5 分钟更新一次: https://github.com/Narizgnaw/needtobebanned
11283 次点击
所在节点    宽带症候群
79 条回复
pplive
2023-12-19 16:02:50 +08:00
@killva4624 fail2b 有点局限,比如在野 1day 攻击的流量就没法防,要加个 IPS 才可以。所以我没再用 fail2ban 了,用了更轻量的方式防护这种攻击。CPU 和内存占用几乎 0
Goooooos
2023-12-19 16:10:38 +08:00
我手机 24 小时开着 VPN ,也没见耗电有什么异常
pplive
2023-12-19 16:13:10 +08:00
@Goooooos 我用的辣鸡苹果手机,开 L2TP 会很热,耗电快。
magic3584
2023-12-19 16:13:49 +08:00
请问我家是光猫桥接+openwrt 旁路由,我在 openwrt 上跑了 DDNS 服务可以外网访问 openwrt 。请问我这能监控到这些异常登录吗?
还有就是摄像头连的主路由,我知道最好对他单独做个子网禁止它扫别的机器,但是,我不会😭
pplive
2023-12-19 16:16:00 +08:00
@old9 感谢,这个好,我收藏一下
Goooooos
2023-12-19 16:18:00 +08:00
换其他协议,ss ,vmess ,wireguard
wuyadaxian
2023-12-19 16:18:03 +08:00
v4 天天有脚本来爆破 ssh 密码,都封了 3819 个 ip 了,服务器才工作 1 个月。
pplive
2023-12-19 16:20:53 +08:00
@Goooooos 这几个都需要安装第三方 App ,并且流量可被全流量设备识别特征。。。
pplive
2023-12-19 16:24:16 +08:00
@wuyadaxian 是有啥特殊需要必须把 ssh 端口开房出去吗。。。。
wuyadaxian
2023-12-19 16:29:01 +08:00
@pplive 为了远程管理。反正上了密钥,来爆破的都是脚本而已。
Goooooos
2023-12-19 16:29:49 +08:00
@pplive 一般的翻墙软件都支持这几个协议,然后配置下路由,那就回家和翻墙两不误
opengps
2023-12-19 16:35:20 +08:00
看了半天没搞明白,没开放的端口你怎么知道被尝试连接了?你从上层网络设备做的日志?
pplive
2023-12-19 16:36:11 +08:00
@magic3584 Openwrt 本身没有异常登录日志的提醒,但是 Openwrt 如果你用的是 x86 带容器版本,那么可以装一个长亭 WAF ,对互联网仅开放 WAF 的端口,来防止爆破攻击 Web 管理界面: https://waf-ce.chaitin.cn/docs/guide/install
magic3584
2023-12-19 16:40:06 +08:00
@pplive 我用的是 flippy 大佬编译的 n1 固件,不知道啥版本。。。
还有就是我这 n1 只是旁路由,如果主路由被异常登录也能监测到吗?目前用的是小米的没法去自己刷
pplive
2023-12-19 16:43:58 +08:00
@opengps 简单啊,写个 iptables 脚本,给非白名单端口发 syn 包的 IP 加到 ipset 里面 DROP 掉,然后把 ipsetlist 记录到文本上就 OK 了,我不懂代码,用 GPT 写的。
datocp
2023-12-19 16:46:51 +08:00
搜索一下 iptables recent hacker 吧

根据它用 ipset 的实现,预先让扫描端口的 IP 自动 ban

ipset destroy banned_hosts
ipset -N banned_hosts hash:net timeout 180

-A INPUT -i eth1 -m set --match-set banned_hosts src -j DROP
-A INPUT -i eth1 -p udp -m multiport --dports 80,5060 -j SET --add-set banned_hosts src
-A INPUT -i eth1 -p tcp -m multiport --dports 20,23,25,110,135,137:139,161,445,1080,2323,3128,3306,3389 -j SET --add-set banned_hosts src
pplive
2023-12-19 17:01:16 +08:00
@datocp 这也太粗暴了…………不过倒也合理
wclebb
2023-12-19 17:04:42 +08:00
这为了抓肉鸡的吧。
pplive
2023-12-19 17:06:15 +08:00
@magic3584 这个回答不了。。。。只能你自己爬帖研究下了
admingyu
2023-12-19 17:29:35 +08:00
IP 黑名单 --> 肉鸡 IP 名单🧟

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1001645

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX