MuhammadMadni1607/Threat-Intelligence-System

GitHub: MuhammadMadni1607/Threat-Intelligence-System

基于 Spring Boot 和 Kafka 构建的全栈威胁情报系统,用于收集、存储和展示 IOC 危害指标数据并提供 Web 可视化仪表板。

Stars: 0 | Forks: 0

# 🛡️ 威胁情报系统 (CCP 项目) 一个使用 **Spring Boot、MySQL 和 Kafka** 构建的全栈**威胁情报系统**。 本项目收集、存储和展示危害指标 (IOC),如 IP、域名、威胁级别和来源,并提供一个简单的 Web 仪表板。 ## 🚀 功能特性 - 添加威胁情报数据 (IOC) - 查看所有存储的威胁 - 用于数据处理的 REST API - MySQL 数据库集成 - Kafka 消息系统 (生产者与消费者) - 简单的 Web 仪表板 (HTML + JS) - 清晰的分层架构 (Controller → Service → Repository) ## 🧰 技术栈 ### 后端 - Java 17 - Spring Boot - Spring Data JPA - Spring Web ### 数据库 - MySQL ### 消息队列 - Apache Kafka - Zookeeper - Docker (用于 Kafka 设置) ### 前端 - HTML - JavaScript - CSS ### 工具 - Maven - IntelliJ IDEA / VS Code ## 🏗️ 系统架构 Frontend (HTML 仪表板) ↓ Spring Boot REST API ↓ Service 层 ↓ Repository 层 ↓ MySQL 数据库 Kafka 生产者 → Kafka 主题 → Kafka 消费者 ## 📂 项目结构 ``` com.ccp.threat_system │ ├── controller │ └── IOCController │ ├── service │ ├── IOCService │ └── KafkaProducerService │ ├── repository │ └── IOCRepository │ ├── entity │ └── IOCData │ └── ThreatSystemApplication ⚙️ Setup Instructions 1. Clone the repository git clone https://github.com/your-username/threat-intelligence-system.git cd threat-intelligence-system 2. Configure MySQL Create database: CREATE DATABASE ccp_threat_db; Update application.yml: spring: datasource: url: jdbc:mysql://localhost:3306/ccp_threat_db username: root password: your_password 3. Start Kafka (Docker) docker-compose up -d Or manually: Zookeeper → localhost:2181 Kafka → localhost:9092 4. Run Application mvn spring-boot:run 5. Open Dashboard http://localhost:8080/ 📡 API Endpoints ➤ Add IOC POST /ioc Request Body: { "ip": "1.1.1.1", "domain": "example.com", "severity": 5, "source": "manual" } ➤ Get All IOC Data GET /ioc 🧪 Kafka Topic threat-topic 📊 Dashboard Features Input IOC data (IP, domain, severity, source) Save data to backend Display all records in table format Auto-refresh data from API 📌 Example Output { "id": 1, "ip": "8.8.8.8", "domain": "google.com", "severity": 3, "source": "manual" } 🔮 Future Improvements Real-time dashboard updates (WebSockets) Threat classification using AI/ML JWT authentication Advanced analytics dashboard Alert system based on severity Role-based access control 👨‍💻 Author Muhammad Madni, Daud Latif, Zohiab Luqman, Wasif Ali Raza,Haneea Awan Software Engineering Students ```
标签:Apache Kafka, CMS安全, CSS, Docker容器, HTML, IOC管理, IP 地址批量处理, Java 17, JavaScript, Maven, MySQL数据库, PB级数据处理, REST API, SecOps, Spring Boot, Spring Data JPA, Spring Web, Zookeeper, 云安全架构, 入侵指标, 分层架构, 前端仪表盘, 后端开发, 命令控制, 多模态安全, 威胁分析, 威胁情报系统, 安全运维, 实时处理, 情报收集, 攻击面发现, 数据可视化, 数据采集, 无线安全, 漏洞研究, 漏洞验证, 网络安全, 自动化侦查工具, 请求拦截, 软件成分分析, 隐私保护, 风险控制