PrivSecOpsLabs/network-hardening-scanner

GitHub: PrivSecOpsLabs/network-hardening-scanner

Stars: 0 | Forks: 0

# 网络加固扫描器 [![构建状态](https://img.shields.io/github/actions/workflow/status/privsecops-lab/network-hardening-scanner/ci.yml?branch=main&style=flat-square)](https://github.com/privsecops-lab/network-hardening-scanner/actions) [![Docker](https://img.shields.io/badge/docker-ready-2496ED?style=flat-square&logo=docker&logoColor=white)](https://github.com/privsecops-lab/network-hardening-scanner) [![Python](https://img.shields.io/badge/python-3.11+-3776AB?style=flat-square&logo=python&logoColor=white)](https://www.python.org/) [![许可证: MIT](https://img.shields.io/badge/license-MIT-green?style=flat-square)](LICENSE) [![CIS 基准](https://img.shields.io/badge/aligned-CIS%20Benchmark%20v8-orange?style=flat-square)](https://www.cisecurity.org/cis-benchmarks) ## 功能说明 网络加固扫描器是一个 Python CLI 工具,用于根据安全加固基线审计 Linux 主机或基于 Docker 的实验环境。它会枚举开放端口和运行中的服务,将实时状态与可配置的 CIS 基准对齐策略进行比较,对每个检查结果进行评分(通过 / 警告 / 失败),并输出包含修复指导的独立 HTML 报告。 该工具既可用于手动执行,也支持自动执行——GitHub Actions 工作流会在每次向 `main` 分支推送代码时,在故意配置错误的实验环境中运行扫描器,使安全回归在 CI 中可见。 **它解决的问题:** 手动检查加固状态容易出错且难以重复。此工具使加固评估可脚本化、可比对、可审计。 ## 快速开始 ``` # 克隆仓库 git clone git@github.com:privsecops-lab/network-hardening-scanner.git cd network-hardening-scanner # 构建并启动实验室(scanner + 目标虚拟机) docker compose up --build # 对目标运行扫描器 docker compose exec scanner python scan.py --target lab-target --output report.html # 打开报告 open report.html # or xdg-open on Linux ``` 要求:Docker 24+,Docker Compose v2。不需要本地 Python 安装。 ## 架构 ``` ┌─────────────────────────────────────────────────┐ │ Docker Compose Lab │ │ │ │ ┌─────────────────┐ ┌───────────────────┐ │ │ │ scanner │────▶│ lab-target │ │ │ │ (Python CLI) │ │ (Ubuntu 22.04) │ │ │ │ │ │ deliberately │ │ │ │ • Nmap wrapper │ │ misconfigured: │ │ │ │ • netstat parse│ │ • open ports │ │ │ │ • baseline diff│ │ • weak SSH config │ │ │ │ • HTML reporter│ │ • exposed services│ │ │ └────────┬────────┘ └───────────────────┘ │ │ │ │ │ ▼ │ │ ┌─────────────────┐ │ │ │ report.html │ ← scored findings + │ │ │ (self-contained│ remediation steps │ │ └─────────────────┘ │ └─────────────────────────────────────────────────┘ GitHub Actions runs this full scan on every push to main. ``` ## 计分机制 扫描器从 `baseline/policy.yaml` 加载**加固基线**,并与实时扫描结果进行比较。每个检查会产生三种结果之一: | 状态 | 含义 | |------|------| | ✅ 通过 | 实时状态与预期的安全配置匹配 | | ⚠️ 警告 | 检测到偏差但不可立即利用 | | ❌ 失败 | 明显的配置错误,需要修复 | 整体得分为加权百分比。失败项的权重是警告项的 3 倍。 ### 示例策略检查(YAML) ``` checks: - id: NET-001 description: SSH should not permit root login category: SSH Hardening severity: FAIL check: type: file_contains path: /etc/ssh/sshd_config pattern: "PermitRootLogin no" - id: NET-002 description: Port 23 (Telnet) should not be open category: Open Ports severity: FAIL check: type: port_closed port: 23 ``` ## 项目结构 ``` network-hardening-scanner/ ├── scanner/ │ ├── scan.py # CLI entrypoint │ ├── nmap_wrapper.py # Nmap scan execution and parsing │ ├── netstat_parser.py # Local service enumeration │ ├── baseline_diff.py # Compare live state vs policy │ └── reporter.py # HTML report generation ├── baseline/ │ └── policy.yaml # Hardening checks (CIS-aligned) ├── lab/ │ ├── Dockerfile.target # Deliberately misconfigured Ubuntu target │ └── setup.sh # Installs and misconfigures services ├── .github/ │ └── workflows/ │ └── ci.yml # Runs scanner in CI on every push ├── docker-compose.yml ├── requirements.txt └── README.md ``` ## 标准对齐 加固检查来源于以下来源: - **CIS Ubuntu Linux 22.04 LTS 基准 v1.0** — SSH 加固、防火墙规则、不必要的服务 - **NIST SP 800-123** — 通用服务器安全原则 - **Docker CIS 基准 v1.6** — 容器特定检查(应用于扫描器容器本身) 每个策略检查都会引用其源代码控制 ID(在 `policy.yaml` 中),以确保可追溯性。 ## 路线图 - [x] 使用配置错误目标的 Docker Compose 实验环境 - [x] Nmap 封装与端口枚举 - [x] 基于 YAML 的策略基线 - [ ] 基线差异引擎与计分 - [ ] HTML 报告生成器 - [ ] GitHub Actions CI 集成 - [ ] CIS SSH 加固检查(NET-001 至 NET-012) - [ ] 防火墙规则评估(ufw/iptables) - [ ] JSON 报告导出以支持下游工具 - [ ] 可选、带开关控制的修复自动应用模式 ## 团队 ## 许可证 MIT — 参见 [LICENSE](LICENSE)。 *属于 [PrivSecOps 实验室](https://github.com/privsecops-lab) 项目组合的一部分。
标签:AES-256, Anthropic, CIS基准, CI集成, Docker, GitHub Actions, HTML报告, Linux主机审计, NIDS, Nmap, Python CLI, Scapy, 云存储安全, 安全合规, 安全回归测试, 安全基线, 安全防御评估, 容器化, 对称加密, 开源安全工具, 教学环境, 漏洞评估, 硬编码配置, 端口审计, 网络代理, 网络安全, 网络扫描, 自动化审计, 自动笔记, 虚拟驱动器, 逆向工程平台, 隐私保护