手记

使用开源SIEM工具构建有效安全运营中心(SOC):我的硕士项目之旅

在当今快速发展的数字世界中,组织面临着日益增多的网络安全威胁。为了应对这些威胁,拥有一个安全运营中心(SOC)是必不可少的,这对于保护企业的信息安全至关重要。在这篇文章中,我将向您介绍在我在格林威治大学攻读硕士学位期间开发的一个SOC的设计、实施和测试。

目标是为虚构的金融机构伦敦证券交易所集团(LSEG)创建一个完全功能的SOC系统,专注于提升其检测和应对威胁的能力,同时有效管理安全日志。该项目中,我使用了一系列开源工具,包括Wazuh、The Hive、Cortex、MISP和ELK Stack。以下是一些该项目的关键技术元素和见解。

项目简介

该项目旨在利用开源SIEM工具来构建SOC,从而增强网络安全。重点关注的领域主要包括以下几个方面:

  1. 威胁检测和事件响应:使用Wazuh、Cortex和MISP进行实时威胁检测和事件响应,以支持详细的日志记录和分析。
  2. 高可用性设置:配置了OPNsense防火墙以实现冗余,使用pfsync确保主防火墙和备用防火墙之间的无缝切换以确保连续运行。
  3. 网页过滤和代理配置:设置了Squid Web代理和SSL证书来过滤和控制网页访问,封锁不必要的类别如社交媒体,增强网络安全。
  4. 自定义的网络监控规则:在OPNsense中实施了自定义的网络监控规则,包括检测Nmap SYN隐身扫描的规则。
  5. SIEM工具集成:集成了开源工具Wazuh(监控)、MISP(威胁情报)、Cortex(事件响应)和The Hive(案件管理),构建了强大的、统一的系统。
  6. 测试和模拟:使用Kali Linux进行了各种渗透测试,模拟网络攻击以评估SOC的防御能力。实时分析结果,确保有效的事件响应。
  7. 网络配置:实施了结构化的IP地址系统,为关键组件如防火墙、服务器和客户端机器分配了Class C IP地址,以确保内部通信的顺畅。
  8. Docker部署:项目使用Docker容器部署了MISP、Cortex和The Hive。

总体来说,该项目不仅专注于部署一个功能性的安全运营中心(SOC,Security Operations Center的简称),还强调通过模拟攻击和对SOC组件的全面测试来实现实际应用效果,证明了开源工具在实际环境中是有效的。

SOC架构与设计

SOC是使用安全运营中心(SOC)所包含的防火墙、安全信息和事件管理(SIEM)工具以及虚拟机(VM)构建的。主要组件包括:

  • Wazuh:它作为主要的SIEM工具,收集并分析了网络上的安全事件数据。
  • The Hive:它管理案件和事件,充当安全运营中心的案件管理系统。
  • Cortex:它通过分析威胁和处理观测数据来提供事件响应。
  • MISP:它促进威胁情报的共享和管理。
  • OPNsense防火墙:它提供网络安全性、网页过滤和高可用性,以确保无缝运行。

该架构同时集成了一个主防火墙和一个备防火墙,使用pfsync同步状态表,并在防火墙故障时实现自动故障切换。SOC还部署了一个Windows 10客户端和一个Ubuntu服务器,并由Wazuh代理监控,以检测和应对潜在威胁。

以下是对SOC架构的简要介绍:

技术实现与使用的工具
OPNsense 配置防火墙

为了保证网络安全并提供高可用性,部署了两个OPNsense防火墙:

  • LAN IP 地址: 10.200.200.251/24 (主) 和 10.200.200.252/24 (备)。
  • pfsync 协议: 用于同步主防火墙和备防火墙之间的状态表。
  • 高可用性: 确保主防火墙不可用时两个防火墙之间的无缝故障转移。

高可用性架构图

下面的截图通过断开主要网络适配器以模拟主防火墙故障的情况。左侧面板显示适配器 1 连接到了 NAT 网络,右侧面板显示适配器 2 连接到了内部网络。断开这些网络适配器会触发备份防火墙接管。

在主防火墙上模拟一下故障。

下图展示了当主防火墙被模拟故障时的故障转移过程,与之前断开前两个适配器的电缆步骤相连。在左侧,持续向连接主防火墙和备用防火墙的虚拟交换机发送 ping 请求。当主防火墙故障时,左侧面板显示“请求超时”,表明它已停止接收来自主防火墙的数据包。在右侧,对主防火墙 IP 地址(10.200.200.251)的 ping 请求同样显示“请求超时”,确认它已离线。然而,连接很快恢复,因为备用防火墙接管了控制。左侧面板重新开始接收回复,现在这些回复来自备用防火墙,展示了成功的故障转移并保持了网络的连续运行。

当主防火墙模拟出现故障时的故障切换过程。

如下截图显示,当进行上次测试时,备份防火墙无缝切换。

设置了自定义入侵检测规则来检测可疑行为,例如 Nmap SYN 扫描

对目标进行Nmap扫描

测试入侵检测功能的运行。

网络过滤和代理配置

鱿鱼网页代理软件被配置用于管理并过滤HTTP和HTTPS数据流量:

  • SSL证书:创建并安装以保护HTTPS流量的安全性。
  • 黑名单类别:通过访问控制列表(ACL)来实施,用于阻止访问某些类别,例如社交媒体。
  • 透明代理:配置为过滤网络流量,无需用户手动设置代理。

这些措施通过监控和控制出站的数据流提高了网络的安全性。

网页过滤器警告。

SIEM 工具配置

Wazuh部署

Wazuh, 用作主要的 SIEM(安全信息和事件管理)工具来监控安全事件。其配置方式如下:

  • Wazuh代理软件 安装在Windows和Ubuntu系统上以收集数据。
  • IP配置信息:为Windows虚拟机(10.200.200.10)和Ubuntu服务器(10.200.200.21)分配了静态IP地址。
  • 仪表盘:通过Wazuh web界面来跟踪代理活动和检测到的威胁。

这是Wazuh仪表盘的快照以及我如何在虚拟机上部署代理。

Wazuh控制面板

Ubuntu 服务器 暴力破解攻击警报

登录验证窗口客户端提醒

如何使用Windows PowerShell在Windows虚拟机中部署Wazuh代理

在 Ubuntu Server 虚拟机上部署 Wazuh 代理,使用 PowerShell。

使用Windows PowerShell在Ubuntu服务器上启用Wazuh Agent

MISP、柯路克斯和蜂巢的整合

这些工具 MISP(恶意软件信息共享平台)、Cortex 和 The Hive 使用 Docker 容器技术来搭建一个集成的威胁情报和响应系统。

安装 Docker 服务。

创建 (Docker-compose.yml) 文件

· 该文件配置了在Docker环境中启动多个服务(如MySQL和Redis)。它指定了重要的设置,例如时区、主机名和网络配置等,并为每个服务添加了必要的环境变量和存储卷,以确保所有服务都能顺利运行。

正在部署服务。

· 通过执行 docker-compose up 命令,所需的 Docker 镜像会被拉取,服务也会被启动。此过程会设置由 docker-compose.yml 文件定义的环境,启动各种服务,例如 misp-modules、Redis、misp-mysql、TheHive 等,并确保它们在 Docker 环境中正常运行。

运行 sudo docker ps 命令列出正在运行的容器,确认 TheHive、Cortex、MISP、Cassandra、MinIO、MySQL 和 Elasticsearch 等服务都在运行中。每个服务都映射到了相应的容器。

  • MISP 通过 Docker 部署,用于威胁情报共享,整合来自外部的实时威胁信息。通过 MISP 的 API,安全运营中心 (SOC) 能够自动化导入和导出威胁情报,确保最新的威胁信息不断流入蜂巢以进行案例管理。

创建用于misp的组织。

  • Cortex 负责自动化威胁分析,使用 Docker 来运行各种分析器,例如 VirusTotal 和 MalwareBazaar。通过其 API,Cortex 直接与 The Hive 通信,使得可观察对象(如文件、URL、IP 地址)自动进行分析,并将分析结果自动加入到活跃案件中。这种基于 API 的集成确保了工具间的数据传输无缝衔接。

成立CORTEX组织。

加入VirusTotal Analyzer工具。

正在集成 MalwareBazaar 的分析工具。

  • The Hive 作为安全事件的案管平台。它通过其 API 收集来自 MISP 和 Cortex 的警报和可观测数据,将所有安全事件集中为结构化的案例。Docker 使 The Hive 的部署更加灵活和可扩展,而 API 集成确保了来自 MISP 的威胁数据和 Cortex 的分析可以在 The Hive 的界面中高效地管理和解决。

测试MISP与Hive的整合

测试CORTEX分析器与Hive的集成

将 Cortex 集成进蜂巢

将MISP整合到'Hive'中。

将Docker部署与MISP、Cortex和The Hive之间的API集成相结合,极大地增强了SOC自动收集威胁情报、快速事件分析和案例管理的能力。这种流程的简化使得SOC的事件处理过程更加动态和响应迅速。这使得SOC的操作变得更加快捷和灵活。

从 Windows 10 客户端 VM 测试连接到所有服务的网络。

Windows — OPNsense 防火墙主界面。

Windows 下的 OPNsense 防火墙备份功能

Windows:Wazuh 服务器。

Windows — Ubuntu 服务器版。

我们在Windows 10客户端虚拟机上进行了网络连接测试,以确保能够与不同的服务正常通讯。

· 给OPNsense主防火墙:发送到10.200.200.251的数据包已成功收到,确认连接正常。

· 针对OPNsense备份防火墙: 与10.200.200.252的连接已确认,所有数据包均已被接收。

· Wazuh服务器(10.200.200.5): 所有数据包均成功抵达,无丢失。

· 对于Ubuntu服务器: 成功验证连接到10.200.200.21的Ubuntu服务器,并且数据包传输成功。

在Windows虚拟机上执行网络测试对于确保SOC网络中的正常通信至关重要。这些测试有助于验证Windows系统是否能够跨网络发送和接收数据,并与其他组件(如Wazuh服务器和防火墙)顺畅交互。通过执行网络连通性测试并通过Windows虚拟机监控流量,可以确保Wazuh代理正常工作,实时捕获和记录安全事件。这些测试还确认SOC网络配置得当,Windows机器与其他关键SOC组件之间通信顺畅。

测试从Kali机器上到LSEG主机VM之间的网络连通性。

Kali Linux — 主LAN交换机

Kali Linux 和 OPNsense 防火墙

Kali Linux — OPNsense 防火墙备份

Kali Linux — 在 Windows 10 上的虚拟机

为了完成这个测试,你得把Windows Defender关掉。

Kali Linux — Ubuntu服务器

Kali Linux — Wazuh 服务端

对从 Kali 机器到不同 LSEG 主机 VM 的网络连接进行了测试:

  1. 致主LAN交换机: 发往10.200.200.254的所有数据包均成功接收,确认连通性。
  2. 致OPNsense主防火墙: 已成功将数据包发送至10.200.200.251。
  3. 致OPNsense备份防火墙: 通过接收到的数据包验证了与10.200.200.252的连通性。
  4. 致Windows 10客户端虚拟机: 在禁用Windows Defender后,数据包得以发送到10.200.200.10。
  5. 致Ubuntu服务器: 确认成功连接到10.200.200.21。
  6. 从Kali Linux到Wazuh服务器: 成功发送数据包到Wazuh服务器10.200.200.5,所有响应均及时收到。这确认了从Kali机器可以访问Wazuh服务器。

使用Kali Linux机器进行网络测试对于确保SOC各组件间正常通信至关重要。这些测试验证了防火墙、Wazuh代理及其他SIEM工具是否正确配置以相互配合。通过运行Kali上的网络扫描和其他工具,可以模拟真实世界的攻击,确保SOC能有效检测并响应威胁。此外,这些测试确认网络被正确划分,设备间流量按预期流动,确保没有配置错误妨碍SOC功能。

挑战与教训

在整个项目过程中,我遇到了几次挑战,这些挑战给了我宝贵的学习经验。

其中一个主要的挑战是确保不同虚拟机之间的网络配置和通信正常。在早期阶段,Windows虚拟机、Ubuntu服务器和防火墙在流量路由和连接方面存在一些问题。这需要多次调整IP地址方案和防火墙规则,以确保所有组件能够顺畅沟通。

另一个显著的挑战是集成不同的SIEM工具,特别是这些工具中的MISP、Cortex和The Hive。每个工具都需要特定配置,并确保它们通过API协同运作,并在Docker容器中运行,这耗时很长。调试这些工具之间的集成问题通常需要深入查阅它们的文档并解决Docker容器中的问题。

最后一步,为OPNsense防火墙配置高可用性(HA)非常复杂,尤其是确保主和备防火墙通过pfsync正确同步数据。为了使HA设置能够处理故障转移场景而不打扰网络流量,需要进行大量的测试和微调。

尽管存在这些挑战,最终还是促进了我们对网络安全原则和SIEM工具的部署的理解。克服这些困难有助于提高我在故障排除、集成安全工具和配置网络组件以实现最佳性能方面的技能。

结论与未来的展望

这个项目凸显了像Wazuh、The Hive、Cortex和MISP这样的开源SIEM工具的强大和灵活性,这些工具被证明用于构建一个功能性的安全运营中心。通过着重于威胁检测、事件响应和确保高可用性,我能够创建一个能够应对各种网络威胁的安全运营中心。把Wazuh的实时警报、Cortex的自动化分析和The Hive的案件管理结合起来,形成了一种流畅有效的流程,所有组织都会从中受益。

接下来,我计划提升并扩展SOC的能力,通过引入诸如 SecurityOnion 等额外工具,并进一步自动化响应流程。此外,我们还可以探索基于机器学习的威胁检测等更高级的应用场景,以进一步增强SOC对威胁的狩猎能力。

通过这个项目获得的知识非常宝贵,我真的很兴奋能够继续基于这些洞察,并进一步在网络安全领域发挥作用。

硬件规格参数

为了保证流畅的运行表现并处理项目中的计算负载,我使用了以下配置的ASUS ROG Strix 16 G614JV 16.0" WUXGA 165Hz 游戏本

WUXGA(宽UXGA)和165Hz分别是屏幕分辨率和刷新率的专业术语。

  • 配置如下:
  • 屏幕尺寸:16.0英寸
  • 分辨率:WUXGA(宽UXGA)
  • 刷新率:165Hz

  • CPU:Intel i9–13980HX
  • 独立显卡:NVIDIA GeForce RTX 4060 Laptop GPU
  • 存储容量:1TB PCIe SSD

我对我的SOC系统做了一些改进,以进一步优化性能。

  • 操作系统:从 Windows 11 家庭版(Windows 11 Home)升级到 Windows 11 专业版(Windows 11 Pro)
  • 内存(RAM):升级为 Kingston Fury Impact PnP 32GB (2x16GB) 5600MT/S DDR5-4000 SODIMM
  • 为了增强我的多任务处理能力,更高效地管理多个任务,我还使用了 三星 Galaxy Tab S9 Ultra 作为第二显示器,通过 三星的 Second Screen 应用 进行连接。这种设置让我能够在多个窗口和应用程序间同时工作,提高了我的工作效率,使我能够在整个项目中更好地处理多个窗口和应用程序。

这种配置让我能高效运行多个虚拟机,管理Docker容器,并处理SOC所需的实时数据分析。

0人推荐
随时随地看视频
慕课网APP