NithinAI-10/Virtualized_security_engineering_lab

GitHub: NithinAI-10/Virtualized_security_engineering_lab

一套模拟企业级分段网络架构的虚拟安全工程实验室,集成SIEM日志收集、IDS监控、系统加固验证和SOC调查工作流,用于防御性安全工程的实践学习与面试展示。

Stars: 0 | Forks: 0

# 虚拟化安全工程实验室 ![Track](https://img.shields.io/badge/track-security_engineering-blue) ![Scope](https://img.shields.io/badge/scope-virtual_lab_only-green) ![Tools](https://img.shields.io/badge/tools-Wazuh%20%7C%20Suricata%20%7C%20pfSense-orange) ![Status](https://img.shields.io/badge/status-interview_ready-brightgreen) ![CI](https://img.shields.io/badge/ci-tests%20%7C%20markdown%20%7C%20secret_scan-blue) ## 执行摘要 本项目设计了一个分段的虚拟企业安全实验室,用于实践防御工程、遥测数据收集、系统加固、检测覆盖率分析和控制验证。该实验室围绕一个真实的小型企业网络模型构建,包含用户区、服务器区、DMZ、管理区和安全监控区。 交付成果展示了一名安全工程师如何在未触及任何未授权环境的情况下,规划实验室、记录架构、收集证据、编写轻量级验证工具,并解释分层防御控制。 ## 架构图描述 该实验室使用虚拟防火墙作为各区域之间的控制点。Windows 和 Linux 主机将日志转发至 Wazuh 风格的管理器。Suricata 风格的 IDS 传感器监控镜像的实验室流量,并生成合成警报证据。管理访问权限被隔离在一个专属的管理子网中。 ``` flowchart TB internet["Internet / NAT"] firewall["pfSense Virtual Firewall"] user["User VLAN\nWindows 11 + Ubuntu Client"] server["Server VLAN\nLinux Web + Windows Server"] dmz["DMZ VLAN\nReverse Proxy + Test Service"] security["Security VLAN\nWazuh + Suricata"] mgmt["Management VLAN\nAdmin Workstation"] internet --> firewall firewall --> user firewall --> server firewall --> dmz firewall --> security firewall --> mgmt user -->|endpoint logs| security server -->|auth + system logs| security dmz -->|web + proxy logs| security firewall -->|firewall events| security ``` ## 文件夹结构 ``` 01-virtualized-security-engineering-lab/ |-- .github/workflows/ci.yml |-- .gitignore |-- CHANGELOG.md |-- CONTRIBUTING.md |-- README.md |-- ROADMAP.md |-- requirements.txt |-- architecture/ | `-- security-lab-topology.mmd |-- artifacts/ | |-- sample-logs/ | | |-- firewall.log | | |-- ids-alerts.jsonl | | `-- windows-security-events.jsonl | `-- sample-reports/ | |-- lab-asset-inventory.md | `-- lab-validation-report.md |-- configs/ | |-- firewall-rules.csv | |-- suricata-lab.yaml | `-- wazuh-agent.conf |-- dashboards/ | `-- security-lab-dashboard.json |-- docs/ | |-- architecture-decisions/ | | |-- ADR-0001-segmented-virtual-network.md | | |-- ADR-0002-synthetic-telemetry.md | | |-- ADR-0003-standard-library-automation.md | | `-- README.md | |-- detection-coverage.md | |-- hardening-checklist.md | |-- incident-walkthrough.md | |-- lab-runbook.md | `-- setup-guide.md |-- reports/ | `-- executive-summary.md |-- screenshots/ | `-- README.md |-- scripts/ | |-- generate_lab_inventory.py | |-- parse_firewall_logs.py | |-- secret_scan.py | |-- summarize_security_events.py | |-- validate_markdown.py | `-- validate_python_syntax.py `-- tests/ |-- test_firewall_parser.py |-- test_security_event_summary.py `-- test_validation_helpers.py ``` ## 文档索引 | 文档 | 用途 | |----------|---------| | [`reports/executive-summary.md`](./reports/executive-summary.md) | 面向利益相关者的摘要,涵盖业务价值、控制措施、结果和局限性 | | [`docs/setup-guide.md`](./docs/setup-guide.md) | 本地实验室构建和验证步骤 | | [`docs/lab-runbook.md`](./docs/lab-runbook.md) | 日常操作工作流和分析师审查流程 | | [`docs/detection-coverage.md`](./docs/detection-coverage.md) | 基于MITRE ATT&CK的合成事件到检测主题的映射 | | [`docs/incident-walkthrough.md`](./docs/incident-walkthrough.md) | 使用样本遥测数据的SOC式调查 | | [`docs/hardening-checklist.md`](./docs/hardening-checklist.md) | 主机、日志记录和访问控制的防御基线 | | [`docs/architecture-decisions/`](./docs/architecture-decisions/README.md) | 解释关键设计决策的架构决策记录 | | [`ROADMAP.md`](./ROADMAP.md) | 已完成的工作和未来改进计划 | | [`CHANGELOG.md`](./CHANGELOG.md) | 版本化的项目历史 | ## 安装说明 1. 安装本地 Hypervisor,例如 VirtualBox、VMware Workstation、Proxmox 或 Hyper-V。 2. 为 `USER`、`SERVER`、`DMZ`、`SECURITY` 和 `MGMT` 创建虚拟网络。 3. 部署虚拟防火墙并配置默认拒绝的跨 VLAN 规则。 4. 部署一台 Windows 终端、一台 Linux 终端和一台 Linux 安全监控主机。 5. 配置终端日志转发至 Wazuh 管理器。 6. 将 IDS 传感器部署在实验室监控接口上。 7. 从 [`dashboards/security-lab-dashboard.json`](./dashboards/security-lab-dashboard.json) 导入示例仪表板结构。 8. 仅使用合成测试事件;请勿扫描或测试隔离实验室之外的系统。 ## 分析师实用命令 从项目根目录运行以下命令: ``` python scripts/parse_firewall_logs.py python scripts/summarize_security_events.py python scripts/generate_lab_inventory.py python -m unittest discover -s tests -v python scripts/validate_python_syntax.py . python scripts/validate_markdown.py . python scripts/secret_scan.py . ``` 预期输出包括: - 防火墙动作计数、规则命中数和拒绝流量摘要 - IDS 警报签名和严重性计数 - Windows 事件 ID 和账户摘要 - 基于 IDS 和 Windows 事件的规范化分析师时间线 - 重新生成的资产清单文档 - Python 辅助脚本的单元测试结果 ## 截图 ### GitHub Actions CI 验证 展示自动验证工作流成功完成 Markdown 检查、Python 验证、秘密扫描和单元测试。 ![GitHub Actions](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/5f2b510bc0025640.png) ### 验证脚本执行 演示验证和安全基线工具的成功执行。 ![Validation Scripts](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/341a698252025640.png) ### 检测覆盖率审查 展示基于 ATT&CK 的检测覆盖率文档和遥测映射。 ![Detection Coverage](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/4af32a019e025641.png) ### SOC 事件演练 展示用于分析合成警报和相关遥测数据的结构化调查工作流。 ![Incident Walkthrough](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/c2fe661a57025642.png) ### 防火墙验证 演示分段的防火墙策略执行和受控流量验证。 ![Firewall Rules](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/a607208926025642.png) ### SIEM 仪表板 显示虚拟实验室环境中的集中式遥测和警报监控。 ![Wazuh Dashboard](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/a241ea0bca025643.png) ## 技术说明 此实验室演示了分层防御架构。防火墙强制执行区域隔离,终端代理收集主机级别的遥测数据,网络传感器提供流量模式的可见性,而 SIEM 集中处理警报。该实验室规模适中,足以在学生工作站上运行,同时仍反映了企业级原则:区域隔离、集中监控、资产清单、基线加固、检测覆盖率映射、经过测试的证据解析器以及验证报告。 ## 展示的安全概念 | 概念 | 证据 | |---------|----------| | 网络隔离 | 专属虚拟区域和防火墙规则基线 | | 最小权限 | 管理访问权限隔离至 `MGMT` 子网 | | 集中式日志记录 | 合成的 Windows、防火墙和 IDS 日志 | | 检测工程 | IDS 警报示例和仪表板字段 | | ATT&CK 映射 | `docs/detection-coverage.md` 中的检测覆盖率说明 | | SOC 分诊 | `docs/incident-walkthrough.md` 中的调查演练 | | 系统加固 | 映射到主机和网络控制措施的基线检查清单 | | 控制验证 | 包含发现和修复说明的实验室验证报告 | | 架构治理 | 记录关键设计决策的 ADR | | CI 卫生 | 单元测试、Markdown 验证、Python 语法检查和基础秘密扫描 | ## 工具和技术 - pfSense 或 OPNsense - Wazuh - Suricata - Windows 事件转发概念 - Linux audit 和 syslog - Python 3 标准库 - GitHub Actions - Markdown、Mermaid、JSON、JSONL、CSV、YAML ## 主要特性 - 企业级分段式实验室拓扑 - SIEM 和 IDS 证据工件 - 包含业务合理性的防火墙基线 - 主机加固检查清单 - 验证报告和执行摘要 - 用于维护文档规范的资产清单生成器脚本 - 用于处理防火墙、IDS 和 Windows 证据的防御性解析脚本 - Python 证据处理辅助脚本的单元测试 - 基于 ATT&CK 的检测覆盖率矩阵 - SOC 风格的事件演练 - 架构决策记录、路线图和变更日志 - 用于测试、文档、Python 和秘密扫描验证的 GitHub Actions 工作流 ## 真实世界用例 安全工程团队可以使用此类实验室来测试日志管道、验证网络分段、培训初级分析师、评估检测覆盖率,并在将更改应用于生产环境之前安全地演练事件响应工作流。 ## 简历要点 - 设计了一个具有防火墙控制的 `USER`、`SERVER`、`DMZ`、`SECURITY` 和 `MGMT` 区域的分段式虚拟安全工程实验室。 - 使用 Wazuh 风格的终端日志、Suricata 风格的 IDS 警报和防火墙事件样本,实施了集中式遥测数据示例。 - 创建了安全加固、网络规则、ATT&CK 映射和验证文档,以展示控制设计和基于证据的修复。 - 构建了经过测试的 Python 实用工具,用于解析合成防火墙日志、汇总 IDS 和 Windows 事件,并支持可重复的 CI 验证。 - 增加了架构决策记录和执行摘要报告,以传达技术决策和业务价值。 ## 面试谈话要点 - 为什么网络分段很重要,以及默认拒绝规则如何减小爆炸半径。 - 终端遥测数据与网络遥测数据如何相互补充。 - 如何向技术和非技术受众解释实验室架构。 - 如何使用合成证据验证控制措施是否有效。 - 如何将遥测数据映射到 MITRE ATT&CK,而不夸大证据所能证明的范围。 - 如何使用终端、防火墙和 IDS 数据演练 SOC 调查。 - 为什么架构决策记录能改善技术沟通。 - 在硬件资源有限的情况下构建逼真实验室时存在哪些权衡。 ## 未来改进路线图 完整路线图请参见 [`ROADMAP.md`](./ROADMAP.md)。近期的优先事项包括真实的隔离实验室截图、从解析器输出中生成的图表、Linux 身份验证样本以及来自 DMZ 的 Web 代理日志。 ## 道德声明 本项目专为隔离的实验室学习而设计。请勿对您不拥有或未管理的系统运行扫描、收集代理或网络测试。
标签:AMSI绕过, DMZ, Homebrew安装, IP 地址批量处理, Metaprompt, OISF, OPA, PB级数据处理, pfSense, Suricata, Wazuh, 企业网络架构, 信息收集自动化, 入侵检测系统, 威胁检测, 子域名变形, 安全信息和事件管理, 安全实训, 安全工程, 安全数据湖, 安全运维, 安全运营中心, 插件系统, 日志管理, 时序数据库, 架构设计, 现代安全运营, 系统加固, 网络分段, 网络安全, 网络安全审计, 网络映射, 虚拟实验室, 防御加固, 防御工程, 防火墙, 隐私保护, 靶场