在当今快速发展的数字世界中,组织面临着日益增多的网络安全威胁。为了应对这些威胁,拥有一个安全运营中心(SOC)是必不可少的,这对于保护企业的信息安全至关重要。在这篇文章中,我将向您介绍在我在格林威治大学攻读硕士学位期间开发的一个SOC的设计、实施和测试。
目标是为虚构的金融机构伦敦证券交易所集团(LSEG)创建一个完全功能的SOC系统,专注于提升其检测和应对威胁的能力,同时有效管理安全日志。该项目中,我使用了一系列开源工具,包括Wazuh、The Hive、Cortex、MISP和ELK Stack。以下是一些该项目的关键技术元素和见解。
项目简介该项目旨在利用开源SIEM工具来构建SOC,从而增强网络安全。重点关注的领域主要包括以下几个方面:
- 威胁检测和事件响应:使用Wazuh、Cortex和MISP进行实时威胁检测和事件响应,以支持详细的日志记录和分析。
- 高可用性设置:配置了OPNsense防火墙以实现冗余,使用pfsync确保主防火墙和备用防火墙之间的无缝切换以确保连续运行。
- 网页过滤和代理配置:设置了Squid Web代理和SSL证书来过滤和控制网页访问,封锁不必要的类别如社交媒体,增强网络安全。
- 自定义的网络监控规则:在OPNsense中实施了自定义的网络监控规则,包括检测Nmap SYN隐身扫描的规则。
- SIEM工具集成:集成了开源工具Wazuh(监控)、MISP(威胁情报)、Cortex(事件响应)和The Hive(案件管理),构建了强大的、统一的系统。
- 测试和模拟:使用Kali Linux进行了各种渗透测试,模拟网络攻击以评估SOC的防御能力。实时分析结果,确保有效的事件响应。
- 网络配置:实施了结构化的IP地址系统,为关键组件如防火墙、服务器和客户端机器分配了Class C IP地址,以确保内部通信的顺畅。
- 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 的网络连接进行了测试:
- 致主LAN交换机: 发往10.200.200.254的所有数据包均成功接收,确认连通性。
- 致OPNsense主防火墙: 已成功将数据包发送至10.200.200.251。
- 致OPNsense备份防火墙: 通过接收到的数据包验证了与10.200.200.252的连通性。
- 致Windows 10客户端虚拟机: 在禁用Windows Defender后,数据包得以发送到10.200.200.10。
- 致Ubuntu服务器: 确认成功连接到10.200.200.21。
- 从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所需的实时数据分析。
共同学习,写下你的评论
评论加载中...
作者其他优质文章