malakamahdy/OS_Project

GitHub: malakamahdy/OS_Project

模拟 SOC 安全运营中心的分布式容器安全平台,在 Docker 环境中集成实时监控、漏洞扫描、合规检查与 AI 辅助修复,适合安全学习与演练。

Stars: 0 | Forks: 0

# ⛫󠁱 Citadel — 分布式容器安全平台 ⛫󠁱 ## 文件结构 ``` OS_Project/ ├── server/ │ ├── server.js # Central backend │ ├── Dockerfile │ └── package.json ├── agent/ │ ├── metrics_agent.js # CPU/memory monitoring agent │ ├── network_agent.js # Network intrusion detection agent │ ├── Dockerfile │ ├── Dockerfile.secrets-demo │ └── package.json ├── nginx/ │ └── nginx.conf ├── src/ │ └── Dashboard.jsx # React frontend ├── docker-compose.yml # Main stack ├── docker-compose.demo.yml # Demo containers ├── .env # API keys (not committed) └── package.json ``` ## 设置 ### 1. 创建 `.env` 文件 在项目根目录下,创建一个名为 `.env` 的文件: ``` OPENAI_API_KEY=your-openai-api-key-here ``` ### 2. 安装前端依赖 ``` npm install ``` ## 运行项目 ### 启动主堆栈(后端 + agents) ``` docker-compose up --build ``` ### 启动演示容器(在单独的终端中) ``` docker-compose -f docker-compose.demo.yml up -d ``` ### 启动前端(在单独的终端中) ``` npm run dev ``` 打开 [http://localhost:5173](http://localhost:5173) ## 停止项目 ``` docker-compose down docker-compose -f docker-compose.demo.yml down ``` ## 功能特性 - **实时监控** — 通过 Socket.io 实时获取容器 CPU、内存和健康指标。每个容器的迷你图每 10 秒更新一次。 - **漏洞扫描** — Trivy 扫描所有正在运行的容器镜像以查找 CVE,按严重程度排序,并提供完整的 CVE 详细信息和参考链接。 - **机密信息检测** — Trivy 机密信息扫描器可发现硬编码在镜像层中的 API key、token 和私钥。使用相互隔离的缓存目录并行运行,以避免冲突。 - **CIS 合规性** — CIS Docker Benchmark 1.6.0 检查分为镜像安全和容器运行时两类,每次检查均提供 PASS/FAIL 状态。 - **自主故障纠正** — Watchdog 会在 30 秒内检测到离线的 agent 和崩溃的容器,并通过 Docker socket 自动将其重启。 - **网络 Agent 故障转移** — 如果 Agent-3(网络入侵检测器)离线,Agent-1 将被提升为备用节点,并且仪表板上会出现黄色横幅提示。 - **告警去重** — 无论有多少 agent 报告,相同的告警标题和来源绝不会创建重复条目。 - **LLM 集成** — 当容器 CPU 或内存占用超过 90% 时,Agent 会调用 OpenAI GPT-4o-mini,并将修复建议发送回仪表板。 - **基于角色的访问控制** — 三种角色(Security Admin、Compliance Analyst、DevOps Engineer),每种角色都有受限的侧边栏和特定于角色的任务列表。 - **审计日志** — 记录每个事件的永久日志:告警、扫描、容器重启、agent 恢复、配置更改。上限为 500 个事件。 - **扫描历史** — 仪表板主页跟踪每次已完成的漏洞、合规性和机密信息扫描,并显示结果计数。 - **PDF 导出** — 通过 jsPDF 导出完整的安全报告,包括 agent、告警、漏洞、合规性检查结果和审计日志。 - **配置页面** — 可在运行时直接从仪表板编辑 CPU、内存和 agent 超时阈值,并立即应用于后端。 - **深色 / 浅色模式** — 完整的主题切换功能,包含温暖的米色浅色模式和深色默认模式。 ## 功能相关终端命令 ### 触发自主故障纠正 — 停止一个 agent ``` docker stop cs-agent-1 # 查看 dashboard — 30 秒内出现 fault panel,agent 自动重启 docker start cs-agent-1 ``` ### 触发网络 Agent 故障转移 ``` docker stop cs-agent-3 # Dashboard 上出现 Yellow failover banner docker start cs-agent-3 ``` ### 触发容器自动重启 ``` docker stop cs-redis-cache # Backend 检测到退出状态并自动重启 ``` ### 触发 CPU 飙升以进行 LLM 分析 ``` docker exec cs-alpine-logger sh -c "while true; do :; done &" # 约 30 秒内 LLM 分析出现在 Live Monitor 上(需要 OpenAI key) docker exec cs-alpine-logger pkill sh # stop the spike ``` ### 注入演示 LLM 分析(无需 OpenAI key) ``` curl -X POST http://localhost:3002/api/demo/llm-test \ -H "Content-Type: application/json" \ -d '{"containerName":"cs-alpine-logger"}' ``` 如果您没有 API key 访问权限,这仅用于查看可视化 UI 效果。 ## 端口 | 服务 | 端口 | |---|---| | Frontend (React) | 5173 | | Backend (Express) | 3002 | | Demo nginx proxy | 8080 |
标签:Anthropic, CISA项目, CIS基准, Dashboard, DevSecOps, Docker, GNU通用公共许可证, MITM代理, Mr. Robot, Nginx, Node.js, React, Socket.io, SOC系统, Syscalls, Web截图, 上游代理, 分布式系统, 响应大小分析, 安全运营中心, 安全防御评估, 安全防护, 容器安全, 容器监控, 微服务安全, 无线安全, 系统模拟, 网络映射, 自定义脚本, 请求拦截