arjwoo/Azure-SOC-Environment

GitHub: arjwoo/Azure-SOC-Environment

这是一个基于Azure的云端SOC实验室,通过模拟攻击和集中日志分析实现威胁监控与安全事件检测。

Stars: 0 | Forks: 0

# Azure-SOC 环境 基于微软 Azure 的云端安全运营中心环境,使用 DVWA、ELK Stack、Filebeat、Docker 以及攻击模拟,实现集中式日志分析和威胁监控。 ## 概述 本项目演示了如何在微软 Azure 中部署一个云端安全运营中心,使用了: * DVWA(Damn Vulnerable Web Application) * ELK Stack(Elasticsearch、Kibana) * Filebeat * Azure 虚拟网络分段 * 负载均衡器 * 跳板机架构 * 攻击模拟与日志分析 该项目的目标是模拟真实的攻击流量,集中日志,并使用 Kibana 分析安全事件。 # 拓扑描述 该网络的主要目的是在微软 Azure 内部暴露一个经过负载均衡和监控的 DVWA 实例。 该环境旨在使用分段网络、集中式日志记录和攻击遥测分析,来模拟真实的 SOC 和云安全监控架构。 负载均衡通过在多个 DVWA 虚拟机之间分配流量来确保高可用性。Jumpbox/Bastion 主机作为安全网关,通过基于 SSH 的访问进入私有 Azure 环境。 ELK Stack(Elasticsearch + Kibana)提供集中式日志记录和监控功能,用于观察易受攻击的应用程序活动、系统日志和攻击遥测数据。 Filebeat 用于监控和转发来自 DVWA 服务器的日志,以便在 Kibana 中进行索引和分析。 该拓扑演示了以下概念: * Azure 虚拟网络 * 网络分段 * 跳板机管理 * 负载均衡 * 集中式日志记录 * SIEM 风格的监控 * 攻击模拟与威胁搜寻 * 容器化的易受攻击基础设施 # 架构 ## 组件 | 组件 | 用途 | | ------------------- | -------------------------------- | | Jumpbox VM | 安全的行政访问 | | DVWA VM 1 | 易受攻击的 Web 应用程序节点 | | DVWA VM 2 | 易受攻击的 Web 应用程序节点 | | ELK VM | 集中式日志记录与可视化 | | Filebeat | 日志转发代理 | | Azure Load Balancer | 流量分发 | # Azure 网络设计 ## 虚拟网络 ``` vnet-soc-lab ``` ## 子网 | 子网 | 地址空间 | 用途 | | ------------------- | ------------ | --------- | | frontend-subnet | 10.0.1.0/24 | DVWA 虚拟机 | | backend-subnet | 10.0.2.0/24 | ELK Stack | | management-subnet | 10.0.3.0/24 | 跳板机 | # 安全架构 ## NSG 规则 ### 前端子网 * 允许来自负载均衡器的 HTTP(端口 80) * 仅允许来自管理子网的 SSH(端口 22) ### 后端子网 * 允许来自前端子网的 Elasticsearch(端口 9200) * 允许来自管理子网的 Kibana(端口 5601) * 允许来自管理子网的 SSH(端口 22) ### 管理子网 * 仅允许来自管理员公网 IP 的 SSH 访问 # 基础设施部署 ## 跳板机 * Ubuntu Server 22.04 * 已启用公网 IP * SSH 密钥认证 ## DVWA 部署 使用以下命令部署 Docker 容器: ``` sudo docker run -d -p 80:80 vulnerables/web-dvwa ``` ## ELK 部署 ### Elasticsearch ``` sudo docker run -d \ --name elasticsearch \ --net elk \ -p 9200:9200 \ -e "discovery.type=single-node" \ -e ES_JAVA_OPTS="-Xms1g -Xmx1g" \ docker.elastic.co/elasticsearch/elasticsearch:7.10.2 ``` ### Kibana ``` sudo docker run -d \ --name kibana \ --net elk \ -p 5601:5601 \ -e ELASTICSEARCH_HOSTS=http://elasticsearch:9200 \ docker.elastic.co/kibana/kibana:7.10.2 ``` # 安全的 Kibana 访问 通过跳板机使用 SSH 隧道安全地访问了 Kibana。 ``` ssh -i mykey.pem -L 5601:10.0.2.4:5601 azureuser@ ``` 浏览器访问方式: ``` http://localhost:5601 ``` # Filebeat 配置 ## 已启用 Apache 模块 ``` sudo filebeat modules enable apache ``` ## Docker 容器日志收集 ``` filebeat.inputs: - type: container paths: - /var/lib/docker/containers/*/*.log ``` ## Elasticsearch 输出 ``` output.elasticsearch: hosts: ["http://10.0.2.4:9200"] ``` # 攻击模拟 ## 暴力破解 * 对 DVWA 进行重复登录尝试 * 观察到重复的 POST 请求和 HTTP 302 响应 ## SQL 注入 攻击载荷示例: ``` ' OR 1=1# ``` ## 跨站脚本(XSS) 攻击载荷示例: ``` ``` ## 命令注入 攻击载荷示例: ``` 127.0.0.1 && whoami ``` ## 网络扫描 ``` nmap ``` # SOC 监控工作流 ``` DVWA Attacks ↓ Docker Logs ↓ Filebeat ↓ Elasticsearch ↓ Kibana Dashboards ``` # 展示的关键技能 * Azure 网络 * 网络分段 * NSG 配置 * Docker 容器化 * ELK Stack 部署 * Filebeat 配置 * SSH 隧道 * 安全监控 * SIEM 基础 * 攻击模拟 * 日志分析 * 威胁搜寻 # 经验教训 * 私有网络分段的重要性 * 集中式日志记录架构 * 主机日志与容器日志的区别 * 使用跳板机的安全访问设计 * Elasticsearch 容器问题的故障排除 * 理解 SOC 遥测数据管道 # 未来改进 * 集成 Microsoft Sentinel * 集成 Wazuh * 部署 Suricata IDS * Terraform 自动化 * Ansible 自动化 * 自定义 Kibana 仪表板 * 告警规则和检测 * 威胁情报订阅源 # 结论 这个 SOC 实验室项目通过在微软 Azure 中集成易受攻击的应用程序、集中式日志记录、攻击模拟和基于 SIEM 的监控,展示了实用的云安全工程技能。
标签:CTI, Docker, DVWA, Elasticsearch, ELK Stack, Filebeat, Microsoft Azure, 云基础设施, 威胁监控, 安全运营中心, 安全防御评估, 攻击模拟, 网络安全, 网络映射, 虚拟网络分段, 请求拦截, 负载均衡, 跳板机, 隐私保护, 集中日志管理, 驱动签名利用