一位开发者针对家庭 NAS 公网暴露后遭遇大量恶意扫描的问题,开源了一款名为 ipguard 的日志分析与封禁工具。该开发者在 NAS 上运行多个服务并开放公网访问后,反向代理日志中每天充斥着探测 /.env、wp-login 等敏感路径的扫描请求。此前采用的 CrowdSec 搭配 RouterOS bouncer 的方案虽有封禁效果,但查看日志需手动翻阅,封禁可疑 IP 还需 SSH 登录后执行 cscli 命令,日常操作繁琐。ipguard 将日志查看与 IP 封禁整合到同一个网页面板中。日志支持按 IP、域名、状态码、路径多维度筛选,图片类请求可点击直接预览。每个 IP 标注所在城市,国内 IP 还显示所属运营商。开发者初期仅使用 dbip 数据库,国内 IP 归属地错误较多,后叠加 ip2region 数据库才提升准确度。涉及扫描行为或可疑的 IP 会被单独标注颜色,便于快速识别。确认异常后点击封禁按钮,数秒内对应条目即写入路由器地址表,流量在 WAN 口被直接丢弃。对于不愿逐一操作的情况,工具提供自动封禁模式,反复扫描的 IP 可自动进入黑名单。项目已在 GitHub 开源。
事件分析
该项目的核心思路是打通观测与处置两个环节:传统方案中日志分析与封禁动作分散在日志文件、命令行等不同界面,人工响应链路较长,ipguard 将筛选、定位、封禁收敛到单一面板,压缩了从发现威胁到落地拦截的时间。IP 归属地采用 dbip 与 ip2region 双库叠加,侧面反映了海外地理库在国内网络环境下精度不足的现实。从需求侧看,随着家庭宽带 IPv6 普及与自托管文化兴起,个人公网暴露面持续扩大,针对自动化扫描的低成本防御存在真实场景。后续值得关注的方向包括:接入社区威胁情报实现情报共享、适配 OpenWrt 等更多路由平台、为自动封禁增加阈值与时效等灰度机制,避免误封共享出口 IP。此类项目有可能从个人作品演进为家庭安全运维的通用组件。
核心观点:日志观测与防火墙处置合一面板化,家庭自托管的安全运维正从命令行时代迈向一键闭环。
原文链接:V2EX 分享发现