mamon404/Self_Healing_Cyber_Defense_Platform

GitHub: mamon404/Self_Healing_Cyber_Defense_Platform

一个自主式网络安全防御平台,通过实时日志检测、威胁情报关联、风险决策引擎和自动响应机制,实现对安全威胁的闭环自愈处理。

Stars: 2 | Forks: 0

# 🛡️ 自愈式网络防御平台 ![Python](https://img.shields.io/badge/Python-3.10-blue) ![Flask](https://img.shields.io/badge/Flask-WebApp-green) ![Status](https://img.shields.io/badge/Status-Active-success) ![License](https://img.shields.io/badge/License-MIT-yellow) ![Security](https://img.shields.io/badge/Cybersecurity-Automation-red) ![Platform](https://img.shields.io/badge/Platform-Linux-black) ![OS](https://img.shields.io/badge/Tested%20on-Kali%20Linux-informational) ![API](https://img.shields.io/badge/API-REST-blueviolet) ![Monitoring](https://img.shields.io/badge/Monitoring-Prometheus-orange) ![Logs](https://img.shields.io/badge/Logs-JSONL-lightgrey) ![Threat-Intel](https://img.shields.io/badge/Threat%20Intel-AbuseIPDB%20%7C%20OTX-blue) ![Automation](https://img.shields.io/badge/Automation-Self--Healing-critical) ![Firewall](https://img.shields.io/badge/Firewall-nftables-important) ![Dashboard](https://img.shields.io/badge/Dashboard-Flask%20UI-success) ![Project](https://img.shields.io/badge/Project-Type%20Cybersecurity-blue) ![Maintained](https://img.shields.io/badge/Maintained-Yes-brightgreen) ![Open%20Source](https://img.shields.io/badge/Open%20Source-Yes-success) ![PRs](https://img.shields.io/badge/PRs-Welcome-blue) ![GitHub repo size](https://img.shields.io/github/repo-size/mamon404/Self_Healing_Cyber_Defense_Platform) ![GitHub stars](https://img.shields.io/github/stars/mamon404/Self_Healing_Cyber_Defense_Platform) ![GitHub forks](https://img.shields.io/github/forks/mamon404/Self_Healing_Cyber_Defense_Platform) ![GitHub issues](https://img.shields.io/github/issues/mamon404/Self_Healing_Cyber_Defense_Platform) # 🚀 概述 一个自主网络安全系统,旨在通过集成多层智能和自动化,实时持续监控、检测和响应安全威胁。它不仅能从系统日志和网络流量中识别可疑活动,还使用外部威胁情报源丰富这些事件,以提供更深层次的上下文,如信誉、来源和历史行为。平台通过基于风险的决策引擎评估每个检测到的威胁,该引擎应用预定义的策略和动态评分来确定严重性和适当的行动方案。基于此评估,它自动执行响应机制,包括阻止恶意 IP 地址、通知管理员、收集取证快照以及启动恢复过程以维持系统稳定性。通过将检测、丰富、决策和自动响应结合到一个统一的工作流中,该系统展示了一种应对现代网络安全挑战的主动自愈方法。 # ⚡ 特性 - 基于实时日志的攻击检测(例如,SSH 暴力破解) - 使用数据包嗅探器进行网络监控 - 威胁情报丰富(AbuseIPDB, OTX, ThreatMiner) - 用于威胁评估的基于风险的决策引擎 - 自动响应动作(阻止 IP、通知管理员、重启服务) - 为取证分析收集系统快照 - 维持系统稳定性的自愈机制 - 跨检测、丰富和响应的集中式日志记录 - 用于编排和自动化的 REST API - 带有指标可视化的实时监控仪表板 # 🏗️ 架构图 ``` +----------------------+ | Log / Network Data | +----------+-----------+ | v +----------------------+ | Detection | +----------+-----------+ | v +----------------------+ | Enrichment | | (Threat Intelligence)| +----------+-----------+ | v +----------------------+ | Decision Engine | +----------+-----------+ | v +----------------------+ | Response System | +----------+-----------+ | v +----------------------+ | Self-Healing | +----------------------+ ``` Workflow 1 # 💻 技术栈 ``` Python Flask Scapy Requests JSON Linux (Kali) Prometheus (Metrics Format) cURL jq ``` # 文件夹结构 ``` self_healing_cyber_platform/ │ ├── monitoring/ # Packet sniffer + metrics exporter ├── detection/ # Signature & anomaly detection engines ├── intel/ # Threat intelligence (AbuseIPDB, OTX, ThreatMiner) ├── orchestrator/ # Decision engine + API ├── response/ # Response actions (block IP, notify, snapshot) ├── healing/ # Self-healing logic ├── dashboard/ # Flask web dashboard UI ├── config/ # Configuration files ├── logs/ # Runtime logs │ ├── alerts.jsonl │ ├── alerts_enriched.jsonl │ ├── actions.log | ├── detection.log │ └── snapshots/ │ ├── main.sh # Start all services ├── requirements.txt # Dependencies ├── README.md # Documentation ├── .env # Environment template ``` ## ⚙️ 安装 ``` https://github.com/mamon404/Self_Healing_Cyber_Defense_Platform.git cd self_healing_cyber_platform ``` ## 创建虚拟环境 ``` python3 -m venv venv source venv/bin/activate ``` ## 安装依赖 ``` pip install -r requirements.txt ``` ## 🔐 设置环境 ``` nano .env ``` 编辑 `.env`: ``` ABUSIX_KEY=your_key ABUSEIPDB_API_KEY=your_key OTX_API_KEY=your_key SLACK_WEBHOOK_URL=your_webhook ``` # 权限 ``` chmod +x main.sh ./main.sh ``` Terminal # 🧪 攻击模拟 ## ⚠️ 仅供教育目的 本项目的开发严格用于教育和研究目的。 所有攻击模拟均在受控环境中进行,未经适当授权不得用于真实系统。 ### 在另一个终端中注入 ``` for ip in 45.33.32.156 103.21.244.0 185.220.101.1 91.121.83.118 8.8.8.8; do for i in {1..3}; do echo "Failed password for invalid user admin from $ip" >> /tmp/test_auth.log done done ``` ### 📊 攻击后的结果 ( 输出 ) 执行模拟暴力破解攻击后,系统会处理贯穿所有阶段的事件并产生以下输出: ### 🔍 检测输出 (`alerts.jsonl`) - 📄 查看完整文件:[警报 ](logs/alerts.jsonl) - 📄 查看检测文件:[检测](logs/detection.log) `alerts.jsonl` 文件包含系统实时生成的原始检测输出。 它记录了检测引擎基于预定义规则识别出的安全事件。 当观察到可疑活动(例如重复的 SSH 登录失败尝试)时,系统会自动创建结构化的警报条目。每个警报包含关键信息,例如: - 规则 ID(检测到的攻击类型) - 威胁描述 - 严重级别(例如,高、中、低) - 源 IP 地址 - 事件时间戳 此文件代表 **管道的第一阶段**,原始日志在此处转换为有意义的安全警报。 它作为进一步处理的输入,包括威胁情报丰富和自动响应。 alert ### 🌐 威胁情报丰富 (`alerts_enriched.jsonl`) 📄 查看完整文件:[警报_enriched](logs/alerts_enriched.jsonl) `alerts_enriched.jsonl` 文件包含检测到的警报的丰富版本,其中附加的威胁情报数据被附加到每个事件中。 警报由检测引擎生成后,会被传递到丰富模块,该模块查询外部威胁情报源(例如 AbuseIPDB 和 AlienVault OTX)。 此过程通过添加有关源 IP 的上下文信息来增强原始警报,包括: - IP 信誉评分 - ISP(互联网服务提供商) - 地理位置(国家、地区) - 使用类型(例如,托管、CDN、住宅) - 历史滥用报告 - 威胁验证指标 丰富后的输出将原始警报数据和情报数据结合为结构化格式。 这使得决策引擎能够做出更准确、更明智的安全决策。 此文件代表 **系统的情报层**,连接了原始检测和自动响应。 alerts_enriched ### ⚡ 自动响应 (`actions.log`) 📄 查看完整文件:[动作](logs/actions.log) `actions.log` 文件记录了在检测并分析威胁后,系统执行的所有决策和自动响应。 一旦警报被威胁情报丰富,它将被传递到决策引擎,该引擎根据严重性和上下文数据评估风险级别。 如果威胁被归类为高风险,系统会自动触发预定义的响应动作。 此文件中的每个条目包含有关以下内容的详细信息: - 决策 ID(每个事件的唯一标识符) - 评估的风险评分和风险级别 - 触发条件和决策策略 - 系统执行的动作 - 每个动作使用的参数 - 执行结果和状态(成功 / 失败 / 试运行) 典型的自动动作包括: - 阻止恶意 IP 地址(使用防火墙规则) - 收集系统快照以进行取证分析 - 向管理员发送通知警报 - 重启受影响的服务以维持系统稳定性 此文件代表系统的 **核心响应和自愈层**,在此处智能决策被转化为实时动作。 它还提供完整的可追溯性,允许管理员审核系统是如何处理每个威胁的。 actions # 🖥️ 仪表板预览 仪表板提供详细的系统信息,包括 CPU 使用率、内存状态、主机名、IP 地址、MAC 地址、操作系统详细信息和总内存使用量。它还显示实时系统性能指标,并包含每 5 秒自动重启系统的功能,以实现持续监控和恢复。 dashboard # 📌 工作流概述 ``` Log Injection → Detection Engine → Alert Generation → Threat Intelligence Enrichment → Risk Evaluation → Decision Engine → Automated Actions → Self-Healing & Recovery → Dashboard Visualization ``` ## 🔍 逐步流程 #### 1. 日志生成 / 攻击注入 * 可疑活动(例如,暴力破解攻击)被写入系统日志 * 例如:SSH 登录失败尝试 #### 2. 检测引擎 * 实时扫描日志 * 使用预定义规则匹配攻击模式 * 在 `logs/alerts.jsonl` 中生成警报 #### 3. 威胁情报丰富 * 从警报中提取源 IP * 查询外部 API(AbuseIPDB, OTX) * 添加信誉、ISP 和地理数据 * 输出存储在 `logs/alerts_enriched.jsonl` 中 #### 4. 风险评估 (决策引擎) * 根据严重性和威胁数据计算风险评分 * 分类攻击(低 / 中 / 高) * 确定响应策略 #### 5. 自动响应 * 执行预定义动作: * 阻止 IP (nftables) * 收集系统快照 * 通知管理员 * 重启受影响的服务 #### 6. 自愈与恢复 * 自动缓解威胁 * 恢复系统稳定性 * 确保持续可用性 #### 7. 监控与仪表板 * 显示系统指标(CPU、内存、网络) * 显示实时系统状态 * 可通过 Web 仪表板访问 ### ## 🔥 示例响应 * 检测到威胁 * 风险 = 高 * 自动动作: * block_ip * collect_snapshot * notify_admin * restart_service ## 🌐 API 端点概述 平台通过 Orchestrator 服务公开了一组强大且结构良好的 RESTful API 端点,从而实现系统不同组件之间的无缝交互。这些端点允许外部系统、管理员和自动化进程监控系统的运行状况、提交安全警报以及检索实时性能指标。API 层在设计时充分考虑了可扩展性和可靠性,在确保检测、情报、决策和响应模块之间的高效通信方面发挥着关键作用。 ### GET /health 此端点用于验证 API 服务的运行状态。它提供了一种快速、轻量的方式来检查系统是否正常运行并准备好接受请求。这对于监控工具和自动健康检查特别有用。 ### POST /run 此端点接收传入的安全警报,并通过决策引擎对其进行处理。基于警报的严重性和上下文情报,系统评估风险级别并触发适当的自动响应动作,例如阻止恶意 IP、收集系统快照、通知管理员以及启动恢复程序。 ### GET /metrics 此端点提供与 Prometheus 兼容格式的详细系统监控数据。它包括 CPU 使用率、内存消耗和网络统计等关键性能指标,从而实现实时可观测性并与监控仪表板集成。 ## 🎯 使用场景 该系统旨在主动检测、分析并响应关键的现实世界网络安全威胁,具有高准确性和自动化能力,包括: * 针对系统访问的 SSH 暴力破解攻击 * 通过威胁情报识别的恶意或可疑 IP 活动 * 未经授权的访问尝试和权限提升尝试 * 全自动化的威胁检测、决策和响应工作流 ## 🚀 未来改进 * 实施高级机器学习和 AI 驱动的异常检测,以主动识别威胁 * 与真实防火墙系统集成,以实现实时阻止并消除 dry_run 限制 * 使用 Docker 容器化整个平台,以实现可扩展和可移植的部署 * 将系统部署在云平台(AWS、GCP、Azure)上,以实现高可用性和可扩展性 * 通过实时分析、可视化洞察和交互式监控功能增强仪表板 * 与企业级 SIEM 解决方案集成,实现集中式日志记录、关联和事件管理 ## 🤝 贡献 我们强烈鼓励社区贡献,以增强和扩展此项目。 如果您愿意贡献: * Fork 仓库到您的 GitHub 账户 * 创建一个新的功能或修复分支 * 使用清晰整洁的代码实现您的更改 * 使用有意义的提交信息提交您的更改 * 提交 Pull Request 以供审查 所有的贡献,无论是微小的改进还是重大的功能,都受到高度赞赏,并有助于使这个项目变得更好。 ## 🏁 结论 **自愈式网络防御平台** 成功展示了一个完整的端到端网络安全管道,它将检测、威胁情报、决策和自动响应集成到一个统一的系统中。 通过持续监控系统日志和网络活动,该平台能够实时识别可疑行为。它使用外部威胁情报源增强这些检测,从而提供更深入的上下文和更准确的风险评估。然后,决策引擎评估每个威胁,并在无需人工干预的情况下自动执行适当的响应动作。 通过其自愈能力,该系统不仅能缓解威胁,还能通过执行重启服务和维持运营连续性等恢复动作来确保系统的稳定性和服务的可用性。 该项目突出了自动化在现代网络安全中的潜力,展示了智能系统如何减少响应时间、最小化人工精力并改善整体安全态势。它为构建高级、可扩展且智能的网络防御解决方案奠定了坚实的基础。 # 👨‍💻 作者 # **Mamon**
标签:AbuseIPDB, Flask, IP 地址批量处理, JSONL日志, Linux服务器安全, nftables, PFX证书, Python, REST API, SOAR, Web安全面板, 威胁情报, 威胁情报富化, 实时安全监控, 库, 应急响应, 开发者工具, 开源安全工具, 攻击检测, 无后门, 时序数据库, 端点防护, 系统日志分析, 网络安全, 网络流量分析, 自主防御系统, 自动化响应, 自定义请求头, 自我修复, 逆向工具, 逆向工程平台, 防火墙, 隐私保护, 风险决策