huntersoham/Advanced-Threat-Intelligence-Platform

GitHub: huntersoham/Advanced-Threat-Intelligence-Platform

这是一个基于 OSINT 源的自动化威胁情报平台,能够收集恶意 IP 并根据风险评分自动执行防火墙封禁策略。

Stars: 0 | Forks: 0

# 🛡️ 威胁情报平台 (TIP) Infotact Cybersecurity 实习 — 项目 1:金融与银行 ## 项目功能 自动从公共 OSINT 源收集恶意 IP,按风险等级进行评分,将其存储在 MongoDB 中,并使用 Linux iptables 阻止高风险 IP — 或在任何操作系统上安全地模拟阻止操作。 ``` OSINT Feeds → Normalize & Score → MongoDB → iptables Block ``` ## 文件夹结构 ``` threat-intelligence-platform/ ├── config/ │ └── config.py All settings (reads from .env) ├── data_collection/ │ └── fetch_feeds.py Fetches from URLhaus, OTX, AbuseIPDB + fallback ├── data_processing/ │ └── normalize_data.py Cleans, deduplicates, scores HIGH/MEDIUM/LOW ├── database/ │ └── mongo_setup.py MongoDB: store, query, mark blocked ├── policy_enforcer/ │ └── firewall.py iptables block/unblock + simulation mode ├── logs/ │ └── activity.log Auto-generated log (created on first run) ├── main.py ← Run this ├── requirements.txt └── .env.example ``` ## 安装说明 ``` # 安装 dependencies pip install -r requirements.txt # 复制 environment file cp .env.example .env # 启动 MongoDB(如果没有 MongoDB 则跳过——项目仍然可用) docker run -d -p 27017:27017 mongo:6 # OR install locally: https://www.mongodb.com/try/download/community # 运行 pipeline python main.py ``` **无需 API 密钥。** 如果源不可达,将自动使用来自公共封禁列表的 20 个真实已知恶意 IP。 ## 示例输出 ``` ╔══════════════════════════════════════════════════════╗ ║ THREAT INTELLIGENCE PLATFORM (TIP) v1.0 ║ ║ Finance & Banking | Infotact Cybersecurity ║ ╚══════════════════════════════════════════════════════╝ ──────────────────────────────────────────────────────── STAGE 1 — OSINT FEED COLLECTION ──────────────────────────────────────────────────────── [✔] Fetched 20 raw indicators ──────────────────────────────────────────────────────── STAGE 2 — NORMALIZATION & RISK SCORING ──────────────────────────────────────────────────────── [✔] Valid indicators : 18 [✔] HIGH (score≥7) : 9 ← these will be blocked [✔] MEDIUM : 6 ← logged only [✔] LOW : 3 ← logged only ──────────────────────────────────────────────────────── STAGE 3 — DATABASE STORAGE (MongoDB) ──────────────────────────────────────────────────────── [✔] Stored 18 new entries in MongoDB ──────────────────────────────────────────────────────── STAGE 4 — DYNAMIC POLICY ENFORCEMENT (Firewall) ──────────────────────────────────────────────────────── [✔] Mode: SIMULATION (safe mode) IP Score Severity Tags ────────────────────── ───── ──────── ───────────────────────── 91.92.109.141 10 HIGH ransomware, apt 194.165.16.11 9 HIGH malware, c2 198.199.80.240 9 HIGH botnet, mirai 46.101.90.205 8 HIGH c2, malware ... [✔] Blocked 9 IPs [SIMULATION (safe mode)] ──────────────────────────────────────────────────────── PIPELINE SUMMARY ──────────────────────────────────────────────────────── Total in DB : 18 HIGH severity : 9 MEDIUM severity : 6 LOW severity : 3 Total blocked : 9 Log saved to : logs/activity.log ``` ## 风险评分 | 分数 | 标签 | 操作 | |------|---------|------------------| | 7–10 | HIGH | 自动阻止 | | 4–6 | MEDIUM | 记录并告警 | | 1–3 | LOW | 仅记录 | 用于评分的标签:`apt` (+3), `ransomware` (+3), `c2` (+3), `malware` (+2), `botnet` (+2), `scanner` (+1) 等。 ## 启用真实防火墙(仅限 Linux) ``` # In .env ENFORCE_REAL_FIREWALL=true # Run as root sudo python main.py ``` 此操作对每个高风险 IP 执行:`iptables -A INPUT -s -j DROP`。 ## 免费 API 密钥(可选) | 源 | URL | 免费? | |------------|----------------------------|---------------------| | URLhaus | abuse.ch | ✅ 无需密钥 | | AbuseIPDB | abuseipdb.com/register | ✅ 免费账户 | | AlienVault | otx.alienvault.com | ✅ 免费账户 | ## 未来改进 - Kibana 仪表板用于可视化威胁地图 - SIEM 集成(Splunk / Elastic) - IP 地理位置映射 - 在检测到新的高风险时发送电子邮件/Slack 告警 - 定时 cron 任务用于持续监控
标签:AbuseIPDB, CISA项目, DevSecOps, ESC4, iptables, IP 地址批量处理, IP威胁情报, Linux防火墙, masscan, MongoDB, nuclei, OSINT, TIP, URLhaus, 上游代理, 代码示例, 入侵阻断, 动态防御, 去重, 威胁情报平台, 数据分析, 网络安全, 自动阻断, 请求拦截, 逆向工具, 金融银行业, 隐私保护, 风险评分