Krawl封禁名单联邦实战:一个配置项接入社区级威胁情报网络
发布时间:2026/10/27 1:45:48 锦皓数字建站

【免费下载链接】KrawlKrawl is a customizable, lightweight, cloud-native web deception server and anti-crawler that creates fake web applications with low-hanging vulnerabilities using realistic, randomly generated decoy data and AI-generated HTML templates.项目地址https://gitcode.com/gh_mirrors/kr/Krawl点击查看免费下载️ 单机蜜罐有一个天然短板你的 Krawl 只见过打自己家门的攻击者别人的战场上抓到的 IP 你却一无所知。Krawl 内置的封禁名单联邦Banlist Federation机制让你只用3 行配置项就能接入社区级威胁情报网络——把其他 Krawl 实例以及任何纯文本 IP 列表中确认的攻击者 IP 拉进本地与自己的封禁决策合并实现一处中招全网拉黑。本文带你从原理到落地完整走通这套联邦实战流程。为什么单机蜜罐需要威胁情报联邦Krawl 是一款云原生的 Web 欺骗服务器与反爬虫蜜罐它会伪装出带低垂果实漏洞的假站点诱捕 SQL 注入、路径穿越等攻击并把攻击者 IP 记入封禁名单。但蜜罐的样本永远是孤立的你的实例只记录访问你这个站点的攻击者同一个攻击者可能正在扫全网的其他 Krawl 实例各实例之间默认互不相通情报白白浪费。Krawl 的解决方案很简单每个实例都可以对外发布自己的封禁名单也可以订阅其他实例发布的名单。发布与订阅都只是普通的config.yaml配置项没有额外服务、没有数据库同步纯文本 HTTP 接口即可打通。联邦原理发布 订阅两个方向联邦机制由两组配置驱动核心代码位于 src/banlist_sync.py方向配置项作用 发布banlist.export_path在本实例暴露一个免认证的下载路径其他实例或任何人都能拉取你的封禁名单 订阅banlist.sources上游名单 URL 数组定期抓取后合并进本地全局封禁集合⏱️ 频率banlist.refresh_interval两次抓取之间的秒数默认 3600工作流程如下后台任务refresh-banlistsrc/tasks/refresh_banlist.py默认每小时执行一次逐个拉取sources中所有 URL每个响应按行解析跳过空行和#注释行全部合并到一个全局封禁集合frozenset热路径零拷贝查询之后每个进入蜜罐的请求都会经过封禁中间件src/middleware/ban_check.py命中本地名单或联邦名单的 IP 直接收到429 Retry-After在 scalable多副本部署下只有一个 Pod 实际抓取外部源其余副本通过 Redis 直接采用已发布的名单避免重复抓取。实战步骤一订阅社区封禁名单只需 3 行打开 config.yaml找到banlist:段取消注释并填入上游源banlist: sources: - https://krawl.example.com/public_banlist.txt refresh_interval: 3600 # 每 3600 秒抓取一次sources支持任意纯文本 IP 列表——可以是其他 Krawl 实例的联邦端点也可以是任意第三方封禁名单README 中就提供了社区演示实例的export-ips端点作为示例源。保存后重启日志中会出现[BanlistSync] Fetched N IPs from ...联邦名单即刻生效。 仓库自带的 banlist.txt 就是 Krawl 官方每周发布的社区封禁名单样例5000 个确认攻击者 IP可直接作为sources的静态文件参考格式一行一个公网 IP#开头为注释。实战步骤二发布自己的封禁名单加入情报网络如果你也想为社区贡献情报再加一行export_path即可banlist: export_path: /public_banlist.txt # 免认证下载路径留空则关闭 sources: - https://krawl.example.com/public_banlist.txt refresh_interval: 3600设置后你的实例会在http://你的域名/public_banlist.txt暴露封禁名单处理逻辑见 src/routes/banlist.py并支持与其他导出接口相同的参数?categoriesattacker,bad_crawler—— 控制包含哪些 IP 类别默认含 attacker、bad_crawler、regular_user、good_crawler?fwtyperaw|iptables|nftables—— 输出格式⚠️安全提示该端点无需认证任何人都能下载。建议只暴露attacker等确实需要公开的类别端点会自动过滤私网地址10.x、192.168.x 等和服务器自身 IP无需手工处理。仪表板验证确认联邦名单已生效配置生效后进入 Krawl 仪表板的IP Banlist页面即可验证面板中会展示每个订阅源的抓取状态成功/失败、各源拉取的 IP 数量状态数据来自/api/banlist-sources接口src/routes/api.py若某个源长时间不可达对应源会标记为 error但不影响其他源和名单中已有 IP 的封禁效果。另外别忘了本地封禁名单还可以一键导出为防火墙规则iptables / nftables / 纯 IP详见 docs/firewall-exporters.md如果站点在 Cloudflare 后面还能把封禁直接同步到 Cloudflare 边缘的 IP List 与 WAF 规则参见 docs/cloudflare_banlist.md。联邦实战最佳实践清单✅最小暴露面sources只填你信任的实例恶意构造的名单等于把别人指定的 IP 永久拉黑✅搭配 CDN 排除若你的站点在 CDN 之后导出/同步名单时建议使用exclude_cdn参数剔除 CDN 边缘节点 IP 段避免误伤见 docs/firewall-exporters.md✅合理设置刷新频率refresh_interval过大会让情报滞后过小则对上游实例造成压力社区场景下 3600 秒默认值是平衡点✅多副本部署无需额外配置scalable 模式下联邦抓取自动单 Pod 执行其余副本经 Redis 共享名单src/banlist_sync.py 中的publish/load_published机制。总结Krawl 的封禁名单联邦把每台蜜罐从信息孤岛变成了威胁情报网络的一个节点发布一行export_path订阅一行sources攻击者的 IP 就能在你的 Krawl 上被瞬间 429 拦截。对于运维多套服务、或多台机器部署蜜罐的用户这套机制几乎是零成本的防御增益——让你的欺骗服务器不仅骗得狠封得也更快。赞分享【免费下载链接】KrawlKrawl is a customizable, lightweight, cloud-native web deception server and anti-crawler that creates fake web applications with low-hanging vulnerabilities using realistic, randomly generated decoy data and AI-generated HTML templates.项目地址https://gitcode.com/gh_mirrors/kr/Krawl点击查看免费下载相关推荐从 Figma 到 Tailwind CSS v4Webiny Admin UI 主题自动化构建实战指南从 Figma 到 Tailwind CSS v4Webiny Admin UI 主题自动化构建实战指南 本文是 Webiny 开源仓库中 packages/CrowdSec 威胁情报交换平台加入 MISP 社区的方法CrowdSec 威胁情报交换平台加入 MISP 社区的方法 引言 CrowdSec 是一个开源的参与式安全解决方案提供众包保护以抵御恶意 IP并能访问最网络安全应用安全IDSIPSWAF上一篇B站抢票辅助工具 biliTickerBuy 快速上手指南从装环境到开抢的完整流程下一篇pm-skills 实战基于 JTBD 的 Ideal Customer ProfileICP识别方法创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
锦
锦皓数字建站
深耕本土企业品牌数字化升级,专注原创端正雅致商务官网,从视觉设计到稳定运维全程保驾护航。