V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
pplive
V2EX  ›  宽带症候群

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

  •  
  •   pplive · 2023-12-19 14:36:38 +08:00 · 11228 次点击
    这是一个创建于 368 天前的主题,其中的信息可能已经有所发展或是发生改变。
    新人第一次发帖
    最近发现有很多奇怪的 IP 会扫描家里和 VPS 的端口
    统计了下,一个小时就有 500+IP 扫我的机器,强迫症心里有点过不去
    我想拦截这些 IP ,但是我不会写代码,于是我用 GPT 写了个脚本自动统计这些互联网上扫全网的 IP ,并更新到 github 上

    原理:
    监测到有 IP 连我 VPS 未开放的端口 -> 封禁 IP -> 每 5 分钟提交一次到 github 上
    (一般谁访问我的 VPS 会先连未开放的端口呢?一定是恶意 IP )
    使用方法:
    定期执行防火墙脚本,封禁我这边扫到的 iplist.txt
    放在 github 上面了,5 分钟更新一次: https://github.com/Narizgnaw/needtobebanned
    79 条回复    2023-12-21 17:38:36 +08:00
    x86
        1
    x86  
       2023-12-19 14:39:31 +08:00
    入口白名单+高位密码
    pplive
        2
    pplive  
    OP
       2023-12-19 14:39:40 +08:00
    ps: 感觉应该可以一定程度上防止运营商扫你家端口找你这种情况
    tool2d
        3
    tool2d  
       2023-12-19 14:49:06 +08:00
    和我差不多,我统计的黑名单是 ssh 端口乱猜密码的,从登录失败日志里提取的。

    并不会永封,一般就封 24 小时。

    但是也还是远比想象中的要多。
    pplive
        4
    pplive  
    OP
       2023-12-19 14:53:10 +08:00
    @x86 合理,但是 [手机使用流量访问家里 NAS] 这种场景,白名单可能不太容易配置。
    pplive
        5
    pplive  
    OP
       2023-12-19 14:56:34 +08:00
    @tool2d 我想的是:在攻击者还没扫到你 ssh 端口的时候,就把攻击者的 IP 封禁掉会更安全。比如扫 1-1000 端口,扫到 TCP 3 的时候,就把 IP 加到 DROP 列表里面。同时也能防止运营商查看你开了哪些端口。家里就是这样做的,GPT 写的防火墙。
    mohumohu
        6
    mohumohu  
       2023-12-19 15:13:43 +08:00
    防火墙就能解决。
    关键字 knockd
    xipuxiaoyehua
        7
    xipuxiaoyehua  
       2023-12-19 15:20:32 +08:00 via iPhone   ❤️ 2
    只开放一个端口 远程 wireguard 回家,随他扫就这一个端口
    pplive
        8
    pplive  
    OP
       2023-12-19 15:21:34 +08:00
    @mohumohu 好复杂,我下班学习一下,谢谢!
    pplive
        9
    pplive  
    OP
       2023-12-19 15:22:04 +08:00
    @xipuxiaoyehua iPhone+群晖用户表示:有点麻烦
    Qetesh
        10
    Qetesh  
       2023-12-19 15:24:47 +08:00
    有些是针对服务扫描的,全球扫描一遍很快
    其实可以装个蜜罐,把常用端口都给蜜罐
    还可以用 fail2ban 、证书登陆、waf 保障安全
    mantouboji
        11
    mantouboji  
       2023-12-19 15:26:27 +08:00
    Linux 机器了解一下著名的 fail2ban , 只要是暴露在互联网上的机器都应该安装。

    哥甚至丧心病狂到写了 fail2ban 的配置文件,监视 RouterOS 的 log 记录,操作 RouterOS 屏蔽这些地址。
    pplive
        12
    pplive  
    OP
       2023-12-19 15:27:08 +08:00 via iPhone
    @Qetesh 嗯,家里 web 端口都过雷池 WAF ,ssh 走 L2TP ,蜜罐现在不太敢用,会被微步记录。
    xipuxiaoyehua
        13
    xipuxiaoyehua  
       2023-12-19 15:27:22 +08:00
    @pplive #9 麻烦在何处,开了 vpn 以后所有局域网内容直接输 ip 就好了,photos drive 那些都没影响
    hefish
        14
    hefish  
       2023-12-19 15:29:08 +08:00
    你就让他扫扫嘛,反正也扫不进来啥。
    pplive
        15
    pplive  
    OP
       2023-12-19 15:31:19 +08:00 via iPhone
    @xipuxiaoyehua 手机全局开 VPN 费电
    pplive
        16
    pplive  
    OP
       2023-12-19 15:39:09 +08:00 via iPhone
    @hefish VPS 上有一些诸如 Wordpress ,Nextcloud ,Kodbox 之类的东西,如果有一天出了 0day 但是没来得及处理就会被人扫出来炸掉。
    killva4624
        17
    killva4624  
       2023-12-19 15:46:33 +08:00
    fail2ban 请
    vcn8yjOogEL
        18
    vcn8yjOogEL  
       2023-12-19 15:52:31 +08:00
    @pplive #15 官方 WG 耗电非常低
    pplive
        19
    pplive  
    OP
       2023-12-19 15:57:05 +08:00 via iPhone
    @vcn8yjOogEL 谢谢,我抽空找个外区苹果账号试一下。
    old9
        20
    old9  
       2023-12-19 16:02:12 +08:00   ❤️ 1
    pplive
        21
    pplive  
    OP
       2023-12-19 16:02:50 +08:00 via iPhone
    @killva4624 fail2b 有点局限,比如在野 1day 攻击的流量就没法防,要加个 IPS 才可以。所以我没再用 fail2ban 了,用了更轻量的方式防护这种攻击。CPU 和内存占用几乎 0
    Goooooos
        22
    Goooooos  
       2023-12-19 16:10:38 +08:00
    我手机 24 小时开着 VPN ,也没见耗电有什么异常
    pplive
        23
    pplive  
    OP
       2023-12-19 16:13:10 +08:00 via iPhone
    @Goooooos 我用的辣鸡苹果手机,开 L2TP 会很热,耗电快。
    magic3584
        24
    magic3584  
       2023-12-19 16:13:49 +08:00
    请问我家是光猫桥接+openwrt 旁路由,我在 openwrt 上跑了 DDNS 服务可以外网访问 openwrt 。请问我这能监控到这些异常登录吗?
    还有就是摄像头连的主路由,我知道最好对他单独做个子网禁止它扫别的机器,但是,我不会😭
    pplive
        25
    pplive  
    OP
       2023-12-19 16:16:00 +08:00 via iPhone
    @old9 感谢,这个好,我收藏一下
    Goooooos
        26
    Goooooos  
       2023-12-19 16:18:00 +08:00
    换其他协议,ss ,vmess ,wireguard
    wuyadaxian
        27
    wuyadaxian  
       2023-12-19 16:18:03 +08:00
    v4 天天有脚本来爆破 ssh 密码,都封了 3819 个 ip 了,服务器才工作 1 个月。
    pplive
        28
    pplive  
    OP
       2023-12-19 16:20:53 +08:00 via iPhone
    @Goooooos 这几个都需要安装第三方 App ,并且流量可被全流量设备识别特征。。。
    pplive
        29
    pplive  
    OP
       2023-12-19 16:24:16 +08:00 via iPhone
    @wuyadaxian 是有啥特殊需要必须把 ssh 端口开房出去吗。。。。
    wuyadaxian
        30
    wuyadaxian  
       2023-12-19 16:29:01 +08:00
    @pplive 为了远程管理。反正上了密钥,来爆破的都是脚本而已。
    Goooooos
        31
    Goooooos  
       2023-12-19 16:29:49 +08:00
    @pplive 一般的翻墙软件都支持这几个协议,然后配置下路由,那就回家和翻墙两不误
    opengps
        32
    opengps  
       2023-12-19 16:35:20 +08:00
    看了半天没搞明白,没开放的端口你怎么知道被尝试连接了?你从上层网络设备做的日志?
    pplive
        33
    pplive  
    OP
       2023-12-19 16:36:11 +08:00
    @magic3584 Openwrt 本身没有异常登录日志的提醒,但是 Openwrt 如果你用的是 x86 带容器版本,那么可以装一个长亭 WAF ,对互联网仅开放 WAF 的端口,来防止爆破攻击 Web 管理界面: https://waf-ce.chaitin.cn/docs/guide/install
    magic3584
        34
    magic3584  
       2023-12-19 16:40:06 +08:00
    @pplive 我用的是 flippy 大佬编译的 n1 固件,不知道啥版本。。。
    还有就是我这 n1 只是旁路由,如果主路由被异常登录也能监测到吗?目前用的是小米的没法去自己刷
    pplive
        35
    pplive  
    OP
       2023-12-19 16:43:58 +08:00
    @opengps 简单啊,写个 iptables 脚本,给非白名单端口发 syn 包的 IP 加到 ipset 里面 DROP 掉,然后把 ipsetlist 记录到文本上就 OK 了,我不懂代码,用 GPT 写的。
    datocp
        36
    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
        37
    pplive  
    OP
       2023-12-19 17:01:16 +08:00
    @datocp 这也太粗暴了…………不过倒也合理
    wclebb
        38
    wclebb  
       2023-12-19 17:04:42 +08:00
    这为了抓肉鸡的吧。
    pplive
        39
    pplive  
    OP
       2023-12-19 17:06:15 +08:00 via iPhone
    @magic3584 这个回答不了。。。。只能你自己爬帖研究下了
    admingyu
        40
    admingyu  
       2023-12-19 17:29:35 +08:00
    IP 黑名单 --> 肉鸡 IP 名单🧟
    fankangsong
        41
    fankangsong  
       2023-12-19 17:40:43 +08:00
    我是 istoreOS ,请问如何分析被扫了? openwrt 的日志我始终没搞明白保存在哪里
    lisonfan
        42
    lisonfan  
       2023-12-19 17:49:53 +08:00 via iPhone
    @pplive 看了楼主的帖子下午花了点时间把家里的 web 服务全接入雷池 WAF 了
    YsHaNg
        43
    YsHaNg  
       2023-12-19 18:14:50 +08:00 via iPhone
    其实就是做个蜜罐 我用的是这个 https://github.com/firehol/blocklist-ipsets
    pplive
        44
    pplive  
    OP
       2023-12-19 18:51:20 +08:00 via iPhone
    @lisonfan 完了,我成发软广的了
    bjfane
        45
    bjfane  
       2023-12-19 19:18:24 +08:00
    wg 非常好用。
    EngAPI
        46
    EngAPI  
       2023-12-19 19:33:00 +08:00
    @fankangsong istoreos 默认开了如下端口
    22 ,2049 ,53 ,32778 ,32777 ,111 ,32780
    lisonfan
        47
    lisonfan  
       2023-12-19 19:42:57 +08:00
    @pplive #44 等着被封号吧(狗头😏
    neroxps
        48
    neroxps  
       2023-12-19 21:32:27 +08:00 via iPhone
    @pplive qx ss 回家。无感
    mingl0280
        49
    mingl0280  
       2023-12-19 22:58:13 +08:00
    HackerTerry
        50
    HackerTerry  
       2023-12-19 23:03:52 +08:00
    iPhone 用户路过,外区苹果商店下载 wireguard ,用 wireguard VPN 翻墙回家两不误。在国外有固定 IP ,还能在爱快上配置 IP 白名单。
    Pepsigold
        51
    Pepsigold  
       2023-12-19 23:42:02 +08:00
    这个可以有!!
    xiaoranj
        52
    xiaoranj  
       2023-12-20 03:59:20 +08:00
    把乌克兰,俄罗斯的 IP 段直接屏蔽
    openbsd
        53
    openbsd  
       2023-12-20 08:59:16 +08:00
    减少对外开放的端口,VPN 回来访问内网服务
    leefor2020
        54
    leefor2020  
       2023-12-20 09:13:21 +08:00
    @magic3584 ,路由器的 Guest 功能就可以,我把小米那一堆智能家居的都走的这个 SSID
    kile
        55
    kile  
       2023-12-20 09:59:48 +08:00   ❤️ 1
    https://github.com/Narizgnaw/needtobebanned/blob/main/statistic.md

    这个文件里面的中国 和 中華人民共和國 有啥区别?
    pplive
        56
    pplive  
    OP
       2023-12-20 10:01:26 +08:00
    @kile IP 归属地显示问题…………具体我也不清楚,使用的是 http://ip-api.com/json/$ip?lang=zh-CN 这个 API
    pplive
        57
    pplive  
    OP
       2023-12-20 10:08:15 +08:00
    @kile 卧槽,感谢提醒!差点就犯事了!!!!!这个 API 有私货卧槽卧槽,大家千万不要用
    pplive
        58
    pplive  
    OP
       2023-12-20 10:24:21 +08:00
    @xiaoranj 话说有啥方法能对 IP 做区域封禁……找了好久没找到合适的
    fengxianqi
        59
    fengxianqi  
       2023-12-20 10:31:25 +08:00
    可以分享下这个脚本吗
    pplive
        60
    pplive  
    OP
       2023-12-20 10:53:35 +08:00
    @fengxianqi 这个不太行,因为测试换台机器起不来……不准备分享了
    godall
        61
    godall  
       2023-12-20 10:54:19 +08:00
    你的家里 ip 不变的吗?我 1 周-10 天就会被电信强制更换。
    pplive
        62
    pplive  
    OP
       2023-12-20 10:57:31 +08:00
    @godall 会的,每 150 小时强制更换
    Jasmine2016
        63
    Jasmine2016  
       2023-12-20 11:14:35 +08:00
    贡献一个东北大学的:使用东北大学网络中心的 SSH 黑名单系统 | Lan Tian @ Blog
    https://lantian.pub/article/modify-computer/neu-network-center-ssh-blacklist.lantian/
    Jasmine2016
        64
    Jasmine2016  
       2023-12-20 11:17:36 +08:00
    补充:刚刚看了一下中科大的 PPT ,原来东北大学用的也是中科大的蜜罐——
    2008 年 7 月开始中国科大校园网使用这样方式来管理黑名单,有安徽 4 所大学,省外 3 所(东北大学、兰州大学、电子科大)在使用这个黑名单。
    happyxhw101
        65
    happyxhw101  
       2023-12-20 12:16:48 +08:00
    我的策略是, 所有服务都通过 nginx 代理, http+tcp, 然后 watch nginx access log, 只要是国外的 ip 立即加入 blockked ipset
    zbowen66
        66
    zbowen66  
       2023-12-20 12:27:32 +08:00
    我是用电信光猫的端口转发的,转发了 OpenVPN 、Nginx( https)、Gitea clone 用的 ssh ,正常服务直接通过域名到 nginx ,需要访问内网的时候直接 OpenVPN 回家(长时间使用时为了用上 OpenWrt 的 clash 规则也会 OpenVPN 回家),不知道我这种操作有没有风险
    shyrock
        67
    shyrock  
       2023-12-20 13:19:36 +08:00
    只开 ipv6 是不是没这个担心?
    reputati0n
        68
    reputati0n  
       2023-12-20 13:48:54 +08:00
    上家公司做的这个社区版的雷池 waf 还不赖,我的公网暴露面基本都是通过它代理出来的
    pplive
        69
    pplive  
    OP
       2023-12-20 13:51:46 +08:00
    @shyrock 有时候挂 PT 的话,会有 IP 反向扫你的,还是需要注意一下。
    pota
        70
    pota  
       2023-12-20 14:38:27 +08:00
    @lisonfan #42 我也接入了。现在只 openwrt 只留了一个 udp 的内网 vpn 转发还在
    terrancesiu
        71
    terrancesiu  
       2023-12-20 15:49:05 +08:00 via iPhone
    在外面,基本都是 wireguard 全走家里。三个公网一个只用来 wireguard 入站,另两个出站。
    dann73580
        72
    dann73580  
       2023-12-21 03:29:17 +08:00
    其实我感觉 ip 禁 ping+failban 差不多够用了,再往上走一层就用 wg 。
    caobug
        73
    caobug  
       2023-12-21 10:48:44 +08:00
    封不完的,配好 fail2ban 自动就行
    chhtdd
        74
    chhtdd  
       2023-12-21 11:07:16 +08:00
    想知道是怎么发现:"最近发现有很多奇怪的 IP 会扫描家里和 VPS 的端口" 的,纯网络小白,好奇,谢谢解答
    que01
        75
    que01  
       2023-12-21 11:35:10 +08:00
    我在自己的 RouterOS 上防火墙搞了这个,1.扫端口直接封半个月 2.ssh 失败就按官方的建议做了渐进封禁 直接加入黑名单。3.然后下载了中国区的国家 ip 列表,不是来自中国就直接拒绝,虽然可能有误伤但是自己用 误伤也无所谓了。现在想 log 看别人踢门都没办法了
    pplive
        76
    pplive  
    OP
       2023-12-21 14:34:44 +08:00
    @chhtdd 比如,你访问 https://x.threatbook.com/ 微步,https://fofa.info/ FOFA ,https://hunter.qianxin.com/ 鹰图这些搜索引擎,输入你的 IP 地址,就可以看到你 IP 上开了哪些端口和服务,有哪些中间件,有哪些风险。这些系统会 24 小时扫描全网的 IP 地址并为攻击者提供有效的信息。其实对固定 IP 的用户是不利的,需要这些平台的出口 IP 封禁下。封禁的判断依据就是识别这些情报平台的扫描流量的特征,流量特征进一步细化,就是要识别对同一主机的多个端口进行扫描的流量,所以我用 GPT 做了识别的脚本:如果向我的 VPS 未开放端口发送 SYN 数据包超过 3 次,就会被防火墙封禁。这就是大概的逻辑。
    ButcherHu
        77
    ButcherHu  
       2023-12-21 14:40:45 +08:00
    可以先把云服务商的网段全屏蔽了,需要维护的 ipset 少一大半。
    chhtdd
        78
    chhtdd  
       2023-12-21 15:01:11 +08:00
    @pplive 大概理解了,我再深挖深挖,感谢大佬
    lun9
        79
    lun9  
       2023-12-21 17:38:36 +08:00
    很奇怪,我没开 ssh 的端口映射,群晖上的端口居然被扫描到然后尝试爆破
    User [amax] from [103.78.12.14] failed to log in via [SSH] due to authorization failure.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2864 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 08:08 · PVG 16:08 · LAX 00:08 · JFK 03:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.