pranavthodupunuri000/Finance_Banking
GitHub: pranavthodupunuri000/Finance_Banking
一个集威胁情报采集、SIEM分析和动态策略执行于一体的自动化安全运营平台,可自动封禁高风险恶意IP。
Stars: 0 | Forks: 0
# 威胁情报平台 —— 设置指南
## 前置条件
- Ubuntu/Debian Linux
- Python 3.11+
- Docker & Docker Compose
- Root/sudo 权限(iptables 强制执行所需)
## 1. 克隆并安装依赖
```
cd tip_project
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
```
## 2. 配置环境
```
cp .env.example .env
nano .env # Fill in your API keys and SMTP credentials
```
必需:
- `OTX_API_KEY` — 免费获取于 https://otx.alienvault.com
- `VIRUSTOTAL_API_KEY` — 免费获取于 https://www.virustotal.com
## 3. 启动 MongoDB + ELK Stack
```
docker-compose up -d
```
等待约 60 秒让 Elasticsearch 和 Kibana 准备就绪。
- MongoDB: http://localhost:27017
- Elasticsearch: http://localhost:9200
- Kibana: http://localhost:5601
## 4. 导入 Kibana 仪表板
在 Kibana 界面中:
1. 进入 Stack Management → Saved Objects
2. 点击 Import
3. 上传 `kibana/tip_dashboard.ndjson`
4. 进入 Dashboards → "Threat Intelligence Platform — SOC Dashboard"
## 5. 运行平台(需要 sudo 权限进行 iptables 操作)
```
sudo venv/bin/python main.py
```
启动以下组件:
- 数据摄取调度器(OTX、URLhaus、VirusTotal)—— 每小时运行一次
- SIEM 同步到 Elasticsearch —— 每 30 分钟运行一次
- 策略执行守护进程 —— 每 60 秒轮询 MongoDB,自动阻止高风险 IP
- REST API 位于 http://localhost:5000
## 6. REST API 参考
| 方法 | 端点 | 描述 |
|--------|----------|-------------|
| GET | /api/indicators | 列出所有指标(按类型、阻止状态、最低分数、来源筛选)|
| GET | /api/indicators/ | 获取单个指标详情 |
| GET | /api/logs | 查看执行操作日志 |
| GET | /api/stats | 汇总统计(总数、按类型、按来源)|
| GET | /api/rules | 当前 iptables TIP_BLOCK 链规则 |
| POST | /api/rollback | 回滚误报 |
### 回滚示例(误报)
```
curl -X POST http://localhost:5000/api/rollback \
-H "Content-Type: application/json" \
-d '{"value": "1.2.3.4", "type": "ip", "rule_id": "abc12345", "analyst": "jsmith"}'
```
### 筛选高风险已阻止 IP
```
curl "http://localhost:5000/api/indicators?type=ip&blocked=true&min_score=70"
```
## 7. 运行单独组件
```
# 仅摄入
python -m ingestion.otx_feed
python -m ingestion.urlhaus_feed
python -m ingestion.virustotal_feed
# 仅 SIEM 同步
python -m siem.elk_sync
# 仅 Enforcer(需要 sudo)
sudo venv/bin/python -m enforcer.policy_enforcer
```
## 8. 安全操作 —— 回滚所有 TIP 规则
紧急情况下,清空所有自动阻止的规则:
```
sudo python3 -c "from enforcer.iptables_manager import flush_all_tip_rules; flush_all_tip_rules()"
```
或手动操作:
```
sudo iptables -F TIP_BLOCK
```
## 项目结构
```
tip_project/
├── main.py # Main orchestrator
├── config.py # Central configuration
├── database.py # MongoDB helpers
├── requirements.txt
├── docker-compose.yml # MongoDB + ELK stack
├── .env.example # Environment template
├── ingestion/
│ ├── otx_feed.py # AlienVault OTX ingester
│ ├── urlhaus_feed.py # URLhaus ingester (no key needed)
│ ├── virustotal_feed.py # VirusTotal enrichment
│ └── normalizer.py # Validation + risk scoring
├── siem/
│ └── elk_sync.py # Elasticsearch sync
├── enforcer/
│ ├── iptables_manager.py # iptables / /etc/hosts rules
│ └── policy_enforcer.py # Enforcement daemon + rollback
├── alerting/
│ └── notifier.py # Email alerts (SMTP)
├── api/
│ └── app.py # Flask REST API
└── kibana/
└── tip_dashboard.ndjson # Kibana dashboard export
```
标签:APT检测, Ask搜索, Docker, Elasticsearch, ELK Stack, Flask, FTP漏洞扫描, IOC, iptables, masscan, MongoDB, nuclei, OTX, Python, REST API, SOC Dashboard, Threat Intelligence, TIP, URLhaus, VirusTotal, 动态封堵, 威胁情报平台, 威胁情报聚合, 威胁指标, 安全编排, 安全运营中心, 安全防御评估, 恶意IP检测, 无后门, 版权保护, 网络安全, 网络映射, 自动响应, 请求拦截, 越狱测试, 逆向工具, 金融安全, 银行安全, 防御性安全, 防火墙自动化, 隐私保护