SankethSubhas/cis-benchmark-compliance-checker

GitHub: SankethSubhas/cis-benchmark-compliance-checker

一个基于 Python 的跨平台 CIS Benchmark 合规检查工具,自动检测 Linux 或 macOS 系统安全配置并生成带修复建议的评分报告。

Stars: 0 | Forks: 0

# 🛡️ 自动化 CIS Benchmark 合规模检查器 一个基于 Python 的安全工具,用于根据 CIS Benchmark 控制项审计 **Linux 或 macOS** 系统,并生成带有修复建议的评分合规模报告。 完全跨平台 —— 自动检测操作系统并运行相应的检查。无需配置。 旨在展示 GRC 和安全加固技能 —— 直接适用于符合 **NIST CSF**、**ISO 27001** 和 **CIS Benchmarks** 的企业合规工作。 ## 🖥️ 平台支持 | 平台 | 检查项 | 描述 | |---|---|---| | **Linux** | 20 个控制项 | Ubuntu, Debian, RHEL, CentOS | | **macOS** | 16 个控制项 | macOS 12 Monterey 及以上版本 | 该工具**自动检测您的操作系统**并仅运行相关检查 —— 无需任何标志。 ## 📋 Linux —— 合规类别 | 类别 | 控制项 | |---|---| | 账户策略 | 密码长度、复杂性、过期时间、锁定策略 | | SSH 加固 | Root 登录、密码认证、超时时间、MaxAuthTries | | 文件权限 | /etc/passwd, /etc/shadow, sshd_config | | 网络安全 | 防火墙、IP 转发、ICMP 重定向 | | 审计与日志 | auditd, syslog, cron 限制 | | 系统更新 | 自动更新、软件包完整性 | ## 🍎 macOS —— 合规类别 | 类别 | 控制项 | |---|---| | 系统完整性 | SIP, Gatekeeper, FileVault 加密 | | 网络安全 | 应用防火墙、隐身模式、远程登录、远程管理 | | 账户策略 | 屏幕锁定、锁定后密码、来宾账户、自动登录 | | 隐私与共享 | 蓝牙、文件共享、打印机共享 | | 系统更新 | 自动更新、安全响应更新 | | 审计与日志 | BSM auditd, 日志保留 | ## 🚨 严重级别 | 严重性 | 含义 | |---|---| | CRITICAL | 紧急风险 —— 必须立即修复 | | HIGH | 显著风险 —— 需紧急修复 | | MEDIUM | 中等风险 —— 在下一周期修复 | | LOW | 最佳实践 —— 尽可能修复 | ## 📊 合规评分 | 分数 | 状态 | |---|---| | 80%+ | ✅ 合规 | | 50–79% | ⚠️ 需改进 | | 低于 50% | ❌ 不合规 | ## 🛠️ 技术栈 - **语言:** Python 3.x - **库:** `os`, `re`, `json`, `subprocess`, `platform`, `argparse` (均为标准库 —— 无需安装) - **标准:** 适用于 Linux 和 macOS 的 CIS Benchmarks,符合 NIST CSF, ISO 27001 ## 🚀 快速开始 ### 1. 克隆仓库 ``` git clone https://github.com/SankethSubhas/cis-benchmark-compliance-checker.git cd cis-benchmark-compliance-checker ``` ### 2. 运行所有检查(自动检测操作系统) ``` python3 cis_checker.py ``` ### 3. 运行特定类别检查 ``` # Linux python3 cis_checker.py --category "SSH Hardening" python3 cis_checker.py --category "Account Policy" # macOS python3 cis_checker.py --category "System Integrity" python3 cis_checker.py --category "Network Security" ``` ### 4. 导出 JSON 报告 ``` python3 cis_checker.py --output compliance_report.json ``` ## 📊 示例输出 (macOS) ``` ================================================================= CIS BENCHMARK COMPLIANCE CHECKER — REPORT ================================================================= Host : sankeths-MacBook-Air.local OS : macOS-13.4 (macOS) Generated: 2025-01-15 10:30:00 Checks : 16 total | 11 passed | 5 failed Score : 69% [███████████████████████████░░░░░░░░░░░░░] Status : NEEDS IMPROVEMENT ================================================================= ❌ FAILED CHECKS (5) ── System Integrity ── [CRITICAL] [M-1.3] FileVault disk encryption is enabled Detail : FileVault is disabled — disk data is unencrypted Remediation: Enable: System Settings → Privacy & Security → FileVault → Turn On ── Account Policy ── [HIGH] [M-3.1] Screen lock is configured (timeout <= 20 minutes) Detail : Screen lock timeout not configured Remediation: System Settings → Lock Screen → configure timeout ... ``` ## ⚙️ 添加自定义检查 该工具使用装饰器模式,便于添加新检查: ``` @check("M-7.1", "Your check title", "Your Category", "HIGH", ("Darwin",)) def my_mac_check(): if some_condition: return True, "Check passed", None return False, "Check failed", "How to fix it" @check("L-7.1", "Your check title", "Your Category", "HIGH", ("Linux",)) def my_linux_check(): if some_condition: return True, "Check passed", None return False, "Check failed", "How to fix it" ``` ## 🔗 实际应用价值 该工具模拟了核心的 GRC 和安全加固任务: - **跨平台 CIS 审计** —— 涵盖 Linux 服务器和 macOS 终端 - **自动化证据收集** —— 取代半年审计期间进行的手动检查表审查 - **修复指导** —— 针对每个失败控制项提供可操作步骤 - **JSON 导出** —— 输出结果可导入 GRC 平台或 ServiceNow 等工单系统 - **合规评分** —— 量化安全态势以便管理汇报 ## 👤 作者 **Sanketh Subhas** — 网络安全分析师 | GRC 与合规 🔗 [LinkedIn](https://linkedin.com/in/sanketh-subhas) | 🌐 [作品集](https://sankethsubhas.netlify.app) ## 📄 许可证 MIT License —— 可自由使用、修改及基于此项目进行构建。
标签:ATTACK-Python-Client, CIS Benchmark, DevSecOps, GRC, HTTP工具, ISO 27001, Linux 安全, macOS 安全, NIST CSF, PE 加载器, Python, Python3.6, SSH 加固, 上游代理, 关系图谱, 基线检查, 安全合规, 安全报告, 对称加密, 文件权限, 无后门, 无线安全, 渗透测试防御, 系统加固, 网络代理, 网络安全, 网络安全审计, 自动化审计, 账号安全, 隐私保护