retr090/sentinel

GitHub: retr090/sentinel

自托管的一站式 OSINT 仪表盘,聚合威胁情报、暗网监控、攻击面管理、地理空间情报与社交媒体监控等多源数据,为网络行动提供统一态势感知与分析能力。

Stars: 1 | Forks: 0

# SENTINEL 一个专为网络行动打造的一站式 OSINT(开源情报)仪表盘。专为在低资源基础设施上进行自托管部署而构建,完全使用免费且开源的数据源。 ![Stack](https://img.shields.io/badge/FastAPI-0.115-009688?style=flat&logo=fastapi) ![Stack](https://img.shields.io/badge/Next.js-14-black?style=flat&logo=next.js) ![Stack](https://img.shields.io/badge/PostgreSQL-16-336791?style=flat&logo=postgresql) ![Stack](https://img.shields.io/badge/Redis-7-DC382D?style=flat&logo=redis) ![Stack](https://img.shields.io/badge/Docker-Compose-2496ED?style=flat&logo=docker) ## 模块 | 模块 | 描述 | 来源 | |--------|-------------|---------| | **威胁情报** | IOC 富化,订阅源聚合,风险评分 | AlienVault OTX, ThreatFox, URLhaus, Shodan InternetDB, GreyNoise | | **暗网监控** | 关键词监视列表,数据泄露查询,粘贴内容监控 | Ahmia, HaveIBeenPwned, paste sites | | **网络攻击面** | 资产发现,端口/漏洞扫描,CVE 追踪 | Shodan InternetDB, crt.sh, WHOIS, dnspython | | **GEOINT** | 带地理标签的威胁映射,航空器/船舶追踪 | OpenSky Network, Leaflet.js | | **SOCMINT** | 社交媒体关键词监控,情感分析 | Reddit public API, VADER sentiment | | **新闻与媒体** | RSS 订阅源聚合,关键词预警 | feedparser, 可配置来源 | | **档案情报** | 个人/组织档案构建,关联分析 | OSINT 聚合 | | **告警与报告** | 统一告警管理,PDF 报告生成 | WeasyPrint, Jinja2 | ## 技术栈 - **后端:** Python 3.11, FastAPI (async), SQLAlchemy 2.0, Alembic, Celery + Redbeat - **前端:** Next.js 14 App Router, TypeScript, Tailwind CSS, Recharts, Leaflet.js, Zustand - **基础设施:** PostgreSQL 16, Redis 7, Nginx, Docker Compose - **认证:** JWT (access + refresh tokens), bcrypt, 基于角色的访问控制 (admin / analyst / viewer) - **实时通信:** 通过 Redis pub/sub 实现 WebSocket ## 系统要求 - Docker 和 Docker Compose - 2GB+ 内存(已在 Oracle Cloud Free Tier 上测试 — 1 OCPU, 6GB RAM) - 可用端口 8088 (HTTP) 和 8443 (HTTPS) ## 快速入门 **1. 克隆并配置** ``` git clone https://github.com/retr090/sentinel.git cd sentinel cp .env.example .env # edit values before proceeding ``` **2. 配置 `.env`** ``` SECRET_KEY=your-secret-key-min-32-chars POSTGRES_PASSWORD=your-db-password ALLOWED_ORIGINS=http://localhost:8088 # 可选 API keys(提升数据质量) OTX_API_KEY= SHODAN_API_KEY= GREYNOISE_API_KEY= HIBP_API_KEY= ``` **3. 启动服务** ``` docker compose up -d ``` **4. 创建管理员用户** ``` docker compose exec backend python -c " import asyncio from app.core.database import AsyncSessionLocal from app.core.security import hash_password from app.models.user import User async def create_admin(): async with AsyncSessionLocal() as db: user = User(username='admin', email='admin@example.com', hashed_password=hash_password('changeme'), role='admin', is_active=True) db.add(user) await db.commit() asyncio.run(create_admin()) " ``` 在 **http://localhost:8088** 访问仪表盘 ## 开发 ``` # 运行 backend 测试 docker compose exec backend python -m pytest tests/ -v # 查看 logs docker compose logs -f backend docker compose logs -f celery_worker ``` ## 架构 ``` nginx (8088/8443) ├── / → frontend (Next.js, port 3000) └── /api → backend (FastAPI, port 8000) ├── PostgreSQL (34-table schema) ├── Redis (cache + pub/sub + task queue) ├── Celery Worker (feed/scan tasks) └── Celery Beat (scheduled jobs) ``` ## 许可证 MIT
标签:AV绕过, Celery, CVE跟踪, Docker, Docker Compose, ESC4, FastAPI, GEOINT, GitHub, HTTP/HTTPS抓包, IP 地址批量处理, JWT, OSINT, PostgreSQL, Python, RBAC, React, Redis, RSS聚合, SOCMINT, SQLAlchemy, Syscalls, Tailwind CSS, TypeScript, WHOIS, 代码示例, 低资源部署, 可视化看板, 地理空间情报, 威胁情报, 安全插件, 安全防御评估, 实时处理, 密码管理, 开发者工具, 态势感知, 情感分析, 情报收集, 搜索引擎查询, 数据分析, 数据聚合, 新闻监控, 无后门, 暗网监控, 测试用例, 漏洞研究, 用户画像, 社交媒体监控, 私有化部署, 网络安全, 网络表面监控, 自托管, 请求拦截, 逆向工具, 防御规避, 隐私保护