arihantdalai/soc-lab-suricata-elk

GitHub: arihantdalai/soc-lab-suricata-elk

基于Suricata IDS与Elastic Stack构建的虚拟SOC实验环境,实现网络入侵检测、日志集中采集与安全事件可视化分析的完整工作流。

Stars: 2 | Forks: 0

# 虚拟 SOC 实验环境 ## Suricata IDS 集成 Elastic SIEM Stack ## 项目摘要 本项目展示了使用开源安全工具设计、部署和验证虚拟安全运营中心 (SOC) 实验环境的过程。 该实验室的目标是: - 部署网络入侵检测系统 (Suricata) - 将其与 SIEM 平台 (Elastic Stack) 集成 - 模拟侦察攻击 - 检测、转发和可视化安全警报 - 验证端到端威胁检测工作流 该实验室成功检测到侦察扫描(例如 Nmap SYN 扫描)并在 Kibana 中可视化警报。 ## 目标 - 配置安全的虚拟网络环境 - 将 Suricata 部署为网络 IDS - 启用和管理威胁检测规则 - 从攻击者 VM 模拟攻击流量 - 使用 Filebeat 将 IDS 日志转发到 Elasticsearch - 在 Kibana 中可视化和分析警报 - 验证实时检测能力 ## 实验架构 ### 架构概述 1. 攻击者 VM 生成恶意或测试网络流量。 2. Suricata IDS 服务器监控流量并写入警报/日志。 3. Filebeat 收集 Suricata 日志并将其传送到 Elasticsearch。 4. Elasticsearch 索引并存储安全事件。 5. Kibana 可视化事件以供调查和监控。 ![实验架构](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/d53edd0340100112.png) ## 组件 ### 攻击机 - OS: Ubuntu 24.04 - 工具: Nmap - 角色: 模拟侦察攻击 ### IDS 服务器 - OS: Ubuntu 24.04 - Suricata - Elasticsearch 8.x - Kibana 8.x - Filebeat ## 环境设置 ### 虚拟化平台 - Oracle VirtualBox - Host-Only Networking 模式 - 网络范围: `192.168.56.0/24` ### 机器配置 #### IDS 服务器 - RAM: 15 GB - OS: Ubuntu 24.04 LTS - 监控接口: `enp0s8` ![IDS 服务器设置](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/a8dc69ef07100122.png) #### 攻击者 VM - RAM: 10 GB - OS: Ubuntu 24.04 LTS ![攻击者 VM 设置](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/a2ddf269de100134.png) ## 网络配置 ### 适配器配置 - 适配器 1: Host-Only Adapter (启用混杂模式) - 适配器 2: NAT (用于软件包下载的互联网访问) ### 分配的 IP 地址 - IDS 服务器: `192.168.56.103` - 攻击者 VM: `192.168.56.102` ### 连接验证 ``` ping 192.168.56.103 tcpdump -i enp0s8 ``` ## Suricata 部署 ### 安装 ``` sudo apt update sudo apt install suricata -y ``` ### 规则管理 启用了 Emerging Threats Open 规则集: ``` sudo suricata-update enable-source et/open sudo suricata-update update-sources sudo suricata-update ``` 加载的规则:~48,000+ 条检测规则。 ### 接口配置 配置 Suricata 以监控 `enp0s8`。 验证: ``` sudo suricata -T -c /etc/suricata/suricata.yaml -i enp0s8 ``` ![Suricata 配置测试](https://raw.githubusercontent.com/arihantdalai/soc-lab-suricata-elk/main/docs/doc-images/image4.png) ### 服务验证 ``` sudo systemctl status suricata ``` ![Suricata 服务状态](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/7ca38c4ade100302.png) 确认处于活动并运行状态。 ## 攻击模拟 从攻击者 VM 生成的攻击流量: ``` nmap -sS 192.168.56.103 nmap -A 192.168.56.103 ``` ![Nmap 攻击模拟](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/2cd4d3d959100317.png) ### 观察到的检测 - ET SCAN NMAP OS Detection Probe - TCP SYN 扫描模式 - 侦察警报 验证警报位于: - `/var/log/suricata/fast.log` - `/var/log/suricata/eve.json` ![Suricata 警报日志](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/491756f15a100337.png) ## Elastic Stack 部署 ### Elasticsearch 配置为单节点集群: ``` discovery.type: single-node ``` 验证集群状态: ``` curl -k -u elastic: https://localhost:9200 ``` ![Elasticsearch 状态](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/146334cf6d100350.png) 集群返回了健康响应。 ### Kibana 使用注册令牌连接到 Elasticsearch。 ![Kibana 注册](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/4a9b34c191100409.png) 通过以下地址验证访问: `http://192.168.56.103:5601` 创建数据视图: `filebeat-*` ![Kibana 数据视图](https://raw.githubusercontent.com/arihantdalai/soc-lab-suricata-elk/main/docs/doc-images/image10.png) ![Kibana 事件](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/749dee582e100444.png) ## Filebeat 配置 ### 模块激活 ``` sudo filebeat modules enable suricata ``` 启用 eve 文件集: ``` enabled: true var.paths: ["/var/log/suricata/eve.json"] ``` ### 设置 ``` sudo filebeat setup ``` ### 启动服务 ``` sudo systemctl enable filebeat sudo systemctl start filebeat ``` ![Filebeat 服务](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/80040511a1100459.png) 验证摄取: ``` sudo filebeat test output ``` ![Filebeat 输出测试](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/e59d84039b100514.png) ## 日志流验证 确认完整管道: 1. 执行 Nmap 扫描 2. Suricata 生成警报 3. `eve.json` 更新 4. Filebeat 转发日志 5. Elasticsearch 索引事件 6. Kibana 显示检测 ![管道验证 1](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/21f1728d23100521.png) ![管道验证 2](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/a7ed1876ca100532.png) ![管道验证 3](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/95503c2765100541.png) ## 检测分析 示例警报: - ET SCAN NMAP OS Detection Probe 映射到 MITRE ATT&CK: - T1595 - Active Scanning - T1046 - Network Service Scanning - 严重性: Medium - 分类: Attempted Information Leak ![检测分析 1](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/34b0f4a849100554.png) ![检测分析 2](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/af62633f29100611.png) ## 故障排除 设置过程中解决的问题: - Suricata 接口不匹配 - 缺少规则集加载 - Elasticsearch 引导错误 - Kibana 认证问题 - Filebeat 模块配置错误 (eve 文件集已禁用) 使用的诊断命令: ``` systemctl status journalctl -u ``` ## 展示的技能 - 网络配置 - IDS 部署和规则管理 - SIEM 集成 - 日志管道故障排除 - 威胁检测验证 - Elastic 安全架构 ## 成果 成功实现了一个可工作的 SOC 实验室,能够: - 检测侦察攻击 - 集中 IDS 日志 - 可视化安全事件 - 执行初步威胁调查 该实验室模拟了企业环境中使用的真实 SOC 基础设施。 ## 未来增强 - 添加 Zeek 用于网络分析 - 添加 Wazuh 用于基于主机的检测 - 在 Kibana 中创建自动检测规则 - 构建自定义仪表板 - 实施警报邮件通知 - 使用 Docker 部署
标签:AMSI绕过, CTI, Elasticsearch, Elastic Stack, ELK, Filebeat, Metaprompt, MIT许可证, Nmap, Suricata, Ubuntu 24.04, VirtualBox, 仿真环境, 入侵检测系统, 威胁检测, 安全告警, 安全数据湖, 安全运营中心, 实验室环境, 密码管理, 对抗机器学习, 扫描检测, 插件系统, 日志可视化, 流量重放, 现代安全运营, 端到端工作流, 网络安全, 网络映射, 虚拟SOC实验室, 虚拟驱动器, 越狱测试, 隐私保护