karmine05/fleet-cis-dashbaord

GitHub: karmine05/fleet-cis-dashbaord

将 Fleet 端点的 CIS 合规数据转化为实时安全态势视图,并关联 MITRE ATT&CK 和 D3FEND 框架的可视化仪表板。

Stars: 2 | Forks: 0

# Fleet CIS 合规仪表板 [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Docker](https://img.shields.io/badge/Docker-Enabled-blue?logo=docker)](https://www.docker.com/) [![Python 3.11](https://img.shields.io/badge/Python-3.11-blue?logo=python)](https://www.python.org/) [![PostgreSQL 16](https://img.shields.io/badge/PostgreSQL-16-blue?logo=postgresql)](https://www.postgresql.org/) 一个实时合规仪表板,将 CIS Benchmarks 转化为可执行的安全情报。专为需要超越复选框式合规,进而了解其实际防御态势的安全团队构建。 ## 适用对象 | 受众 | 收益 | |----------|----------------| | **IT 审计员** | 清晰的合规百分比、失败策略列表以及用于审计证据的修复步骤 | | **安全团队** | MITRE ATT&CK 映射、D3FEND 防御技术和风险优先级排序 | | **高管** | 高层级合规评分、趋势分析和优先行动项 | | **SOC 分析师** | 对端点安全缺口及其业务影响的实时可见性 | ## 快速开始 ### 前置条件 - Docker 和 Docker Compose - 一个已部署 CIS 策略的运行中 Fleet 实例 - 具有读取权限的 Fleet API token ### 支持的平台 此仪表板集成了来自 [fleet_policies](https://github.com/karmine05/fleet_policies) 仓库的 CIS Controls v8.1 benchmarks: - **macOS 26.x**: [CIS-8.1/macOS26](https://github.com/karmine05/fleet_policies/tree/main/CIS-8.1/macOS26) - **Windows 11**: [CIS-8.1/win11/intune](https://github.com/karmine05/fleet_policies/tree/main/CIS-8.1/win11/intune) - **Ubuntu 24.04**: [CIS-8.1/ubuntu24](https://github.com/karmine05/fleet_policies/blob/main/CIS-8.1/ubuntu24/24.04) ### 设置 1. **配置 Fleet 凭证** 复制示例环境文件并使用您的 Fleet 凭证进行编辑: cp .env.example .env 编辑 `.env` 并设置您的值: FLEET_URL=https://your-fleet-instance.com FLEET_API_TOKEN=your-fleet-api-token 当您运行 `docker-compose up` 时,Docker Compose 会自动从 `.env` 加载变量。 2. **启动仪表板** docker-compose up -d --build 3. **访问仪表板** 打开 [http://localhost:8081](http://localhost:8081) ## 功能特性 ### 仪表板视图 | 视图 | 目的 | |------|---------| | **摘要 (Summary)** | 合规百分比、设备数量、风险等级指示器 | | **安全架构 (Security Architecture)** | 显示防御覆盖范围的交互式 D3FEND 热力图 | | **合规审计 (Compliance Audit)** | 包含修复步骤的失败策略详细列表 | | **执行策略 (Executive Strategy)** | Fleet 排行榜、趋势和优先行动 | ### 框架集成 - **CIS Controls v8.1**: 基础 benchmark 框架 - **MITRE ATT&CK**: 将失败的 controls 映射到对手技术 - **D3FEND**: 针对缺口推荐防御性对策 ### 风险等级逻辑 仪表板自动处理边缘情况: | 条件 | 风险等级 | |-----------|------------| | 无主机注册 | UNAVAAILABLE | | 无策略结果(无法映射) | HIGH | | 合规率 < 50% | CRITICAL | | 合规率 50-70% | HIGH | | 合规率 70-85% | MEDIUM | | 合规率 > 85% | LOW | ## 架构 ``` ┌─────────────────────────────────────────────────────────────┐ │ Nginx (Port 8081) │ │ Serves UI + Reverse Proxy │ └─────────────────────────┬───────────────────────────────────┘ │ ┌───────────────┴───────────────┐ │ │ ┌─────▼─────┐ ┌────▼────┐ │ Backend │ │ Sync │ │ (Flask) │◄─────────────────│ Daemon │ └─────┬─────┘ └─────────┘ │ ┌─────┴─────┐ │ │ ┌───▼───┐ ┌──▼────┐ │ DB │ │ Redis │ │(Postgres)│ (Cache)│ └───────┘ └───────┘ ``` | 组件 | 技术 | 用途 | |-----------|------------|---------| | Frontend | Vanilla JS + Chart.js | 交互式仪表板 | | Backend | Flask + Gunicorn | REST API | | Sync | Python daemon | Fleet 数据同步 | | Database | PostgreSQL 16 | 具有时间分区的持久存储 | | Cache | Redis 7 | API 响应缓存 | | Web Server | Nginx | UI 服务 + 反向代理 | ## 配置 ### 环境变量 | 变量 | 描述 | 默认值 | |----------|-------------|---------| | `FLEET_URL` | 您的 Fleet 实例 URL | 必需 | | `FLEET_API_TOKEN` | Fleet API token | 必需 | | `DATABASE_URL` | PostgreSQL 连接 | `postgresql://postgres:postgres@db:5432/fleet_cis` | | `REDIS_URL` | Redis 连接 | `redis://redis:6379/0` | | `ALLOWED_ORIGINS` | CORS 允许的域 | `http://localhost:8081` | | `SYNC_INTERVAL_MINUTES` | 同步频率 | `15` | ### 调整阈值 访问设置页面以配置: - **风险暴露乘数**: 风险计算的权重 - **影响阈值**: 定义何为高/中影响 - **工作量关键词**: 根据查询输出对修复工作量进行分类 - **框架乘数**: 根据合规框架自定义评分 ## 数据同步 同步守护程序每 15 分钟自动运行一次。查看日志: ``` docker-compose logs -f sync ``` 强制立即同步: ``` docker-compose exec sync python backend/sync_fleet_data.py ``` ## 安全 - **非 root 容器**: Backend 以非特权 `appuser` 身份运行 - **网络隔离**: 服务仅在内部网络上通信 - **CORS 保护**: API 限制为配置的来源 - **镜像中无密钥**: 所有凭证通过环境传递 ## 故障排除 ### 无数据显示 1. 检查 `.env` 中的 Fleet 凭证 2. 验证同步守护程序是否正在运行:`docker-compose ps` 3. 检查同步日志:`docker-compose logs sync` ### 数据库连接错误 1. 等待 PostgreSQL 变为健康状态:`docker-compose ps` 2. 检查日志:`docker-compose logs db` ### Frontend 未加载 1. 验证 nginx 是否正在运行:`docker-compose ps` 2. 检查日志:`docker-compose logs nginx` ## 许可证 MIT License。详情请见 [LICENSE](LICENSE)。
标签:ATTACK-Python-Client, CIS 8.1, CIS Benchmark, Cloudflare, D3FEND, Docker, Fleet, GPT, IP 地址批量处理, IT审计, MITRE ATT&CK, NIDS, PE 加载器, PostgreSQL, Python, StruQ, Windows 11, 合规性仪表板, 合规监控, 安全可视化, 安全态势, 安全运营, 安全防御评估, 实时仪表板, 容器化, 扫描框架, 搜索引擎查询, 数据可视化, 无后门, 测试用例, 漏洞管理, 端点安全, 补丁管理, 请求拦截, 逆向工具