ipanalytics/BlackRoute
GitHub: ipanalytics/BlackRoute
BlackRoute 是一个从公共威胁源聚合IP信誉数据并构建本地查找数据库的安全智能管道,用于实时威胁评估和风险控制。
Stars: 1 | Forks: 0
# 黑路由
Blackroute 从公共滥用、恶意软件、僵尸网络 C2、垃圾邮件、网络钓鱼、暴力破解、bogon 和网络犯罪前缀源构建本地 IP 信誉数据库。主要制品是 `blackroute.mmdb`,一个兼容 MaxMind 的数据库,可用于网关、代理、欺诈检查、SIEM 管道和内部数据充实任务。
.mmdb`
- `blackroute__exports.tar.gz`,包含 CSV、JSONL 和运行统计
- `blackroute__run_stats.json`
- `blackroute__cleanup_stats.json`
- `blackroute__release_summary.md`
- `checksums.txt`
发布制品在发布前使用 [BogonForge](https://github.com/ipanalytics/BogonForge) 兼容的公共 IP 过滤进行清理。发布摘要报告配置的源数量、清理后的源数量、清理前的记录数、单个 IP 和 CIDR 计数、因 bogon/保留/无效而移除的记录数,以及保留在已发布数据库中的记录数。
直接从公共的 abuse.ch 导出构建本地 ThreatFox IP 源:
```
scripts/build-threatfox-feed.sh
./run.sh --only=threatfox_ioc_ips
```
检查已配置的 HTTP 源是否可用以及 `Last-Modified` 头是否过时:
```
scripts/check-feeds.sh
MAX_FEED_AGE_HOURS=72 scripts/check-feeds.sh configs/feeds.yaml
```
## 计划任务
从 cron 运行时使用包装器。它会根据需要构建二进制文件,防止重叠运行,并默认将 Go 构建缓存保存在仓库之外。
```
17 * * * * cd /opt/blackroute && APP_DIR=/opt/blackroute scripts/run-cron.sh >> var/log/cron.log 2>&1
```
手动计划任务式运行:
```
APP_DIR=/opt/blackroute /opt/blackroute/scripts/run-cron.sh
```
可选的缓存覆盖:
```
BLACKROUTE_CACHE_DIR=/var/cache/blackroute/go ./run.sh
```
## 源配置
源位于 `configs/feeds.yaml`。
经过审查的上游映射记录在 `docs/source-audit.md`。
```
feeds:
- kind: textlist
name: blocklist_de_ssh
display_name: blocklist.de SSH
trust: community
threat: [recent_attack_any, recent_attack_ssh]
urls:
- https://lists.blocklist.de/lists/ssh.txt
```
支持的字段:
| 字段 | 含义 |
| --- | --- |
| `kind` | 目前为 `textlist`;从文本、CSV、类 JSON 和 netset 风格的行中提取公共 IP 和 CIDR |
| `name` | 写入输出记录的稳定源标识符 |
| `display_name` | 供操作人员使用的人类可读源名称 |
| `disabled` | 设置为 `true` 以保持源已配置但不激活 |
| `trust` | `aggregator`、`community`、`curated` 或 `authoritative`;控制默认置信度 |
| `threat` | 用于敌对行为或活跃信誉的标签 |
| `infrastructure` | 用于网络上下文的标签,如 bogon、托管、网络犯罪前缀或高风险 ASN |
| `classification` | 用于源特定类别上下文的标签,如诈骗、策略、C2、DNSBL 或国家 CERT 信号 |
| `urls` | 一个或多个源 URL |
## 包含的源
默认配置包括:
- blocklist.de:SSH、邮件、Web、IMAP、FTP、SIP、僵尸和强 IP 列表。
- Emerging Threats:已入侵和敌对主机。
- CINSscore:多传感器高风险地址。
- FireHOL:保守的攻击者和 1 天滥用者聚合。
- Spamhaus:DROP 和 DROPv6 网络犯罪前缀。
- Team Cymru:IPv4 和 IPv6 全量 bogon 前缀。
- abuse.ch Feodo Tracker:活跃的僵尸网络 C2 IP。
- SANS ISC DShield、GreenSnow 和 IPsum 用于社区风险信号。
- Binary Defense 带名单、ThreatFox IOC IP、C2IntelFeeds、USOM 恶意 IP、Inversion Cloud IP、Inversion DNSBL IPv4、乌克兰 EMA 欺诈 IP、Global Anti Scam IP、AlienVault 信誉、Dataplane 攻击源、ZiyadNZ 每小时聚合 IP、StopForumSpam、Blocklist.net.ua、Threatview、MalSilo、Rutgers、BruteForceBlocker、POP3 Gropers、Phishing.Database IP、AbuseIPDB 高置信度镜像、RomainMarcoux 40K 入站/出站、ShadowWhisperer 扫描器、IP BlockList v4 Level 3+ 以及 Bitwire 入站/出站。
商业源和 API 密钥源故意不捆绑。当您的许可证允许本地再分发或内部使用时,请将它们作为私有条目添加到 `configs/feeds.yaml`。
Blackroute 优先使用直接上游源,如果它们是公开且解析器兼容的。仅在上游访问基于 API 密钥、基于浏览器会话、不稳定或域名密集时才保留镜像源。默认的 ThreatFox 条目首先检查 `local/feeds/threatfox_ips.txt`,然后直接读取官方的 abuse.ch ZIP/CSV 导出。
## 标签
威胁标签描述行为:
```
[
"recent_attack_any",
"recent_attack_ssh",
"recent_attack_mail",
"recent_attack_web",
"recent_attack_imap",
"recent_attack_ftp",
"recent_attack_sip",
"recent_badbot_or_regbot",
"persistent_attacker",
"malware_host_active",
"compromised_or_hostile_host",
"community_high_risk",
"multi_sensor_high_risk",
"aggregate_abuser_1d",
"c2_ioc",
"bruteforce",
"spam",
"abuse",
"phishing_or_scam",
"network_scan_or_abuse"
]
```
基础设施标签描述网络上下文:
```
[
"hosting",
"bogon",
"prefix_cybercrime",
"asn_high_risk"
]
```
分类标签描述源类别,而不强制将所有内容归入 `threat`:
```
[
"c2_ioc",
"national_cert_malicious",
"malicious_url_or_ip",
"cloud_hosting_abuse_derived",
"dnsbl_malicious",
"safe_browsing_malicious",
"phishing_or_scam",
"financial_fraud",
"policy_illegal_gambling",
"scam_or_fraud",
"alienvault_otx_reputation",
"network_scan_or_abuse",
"aggregate_threat_intel_hourly",
"cobalt_strike_c2",
"command_and_control",
"malware_distribution",
"ssh_bruteforce",
"mail_bruteforce",
"phishing_ip",
"spam_source",
"aggregate_abuseipdb_confidence_100",
"aggregate_blacklist_scored",
"aggregate_inbound_threat",
"aggregate_outbound_threat",
"internet_scanner",
"reconnaissance"
]
```
## 项目布局
```
cmd/collector/ CLI entrypoint
configs/ Feed configuration
internal/config/ YAML loader
internal/domainx/ IP and CIDR normalization
internal/downloader/ HTTP fetch client
internal/source/textlist/ Feed parser
internal/pipeline/ Fetch, merge, and write flow
internal/output/ CSV, JSONL, stats, and MMDB writers
internal/record/ Shared record model
scripts/ Setup and cron wrappers
site/ Static GitHub Pages site
```
## 注意事项
Blackroute 是一个信誉编译器,而非判定引擎。将标签视为信号,将它们与您自己的允许列表和策略结合,并在全局执行高影响阻止决策前进行审查。
标签:Bogon检测, EVTX分析, IP信誉, MaxMind兼容, MMDB数据库, SIEM集成, 代理安全, 僵尸网络检测, 公共数据源, 分类标签, 垃圾邮件过滤, 基础设施标签, 威胁情报, 威胁标签, 安全情报, 开发者工具, 恶意IP检测, 攻击遥测, 数据聚合, 日志审计, 暴力破解防护, 欺诈检测, 滥用源, 管道处理, 网关安全, 网络安全, 网络犯罪防范, 运行时数据库, 钓鱼检测, 隐私保护