搭建家庭SOC实验室
Source: Dev.to
概述
在本项目中,我构建了一个完整的安全运营中心(SOC)家庭实验室,用于模拟真实世界的网络攻击并实时监控。该实验室演示了如何识别攻击者的来源、将行为映射到 MITRE ATT&CK 框架,以及使用 Auditd 实现主动检测。
架构
虚拟环境托管在 Proxmox 上,包含三台主要机器:
| 机器 | 操作系统 | 角色 |
|---|---|---|
| Wazuh Manager | Ubuntu | 负责日志收集与分析的中枢神经系统 |
| Attacker | Kali Linux | 发起自动化暴力破解攻击 |
| Victim | Debian | 被 Wazuh 代理监控的目标系统 |
检测与调查
为了测试检测能力,Kali 机器上的 Hydra 对受害者发起了密码猜测攻击。
- Wazuh 立即在 Threat Management 仪表板上标记了该活动。
- 关键证据:攻击者的 IP 地址 (
data.srcip) 被识别为10.0.0.10,从而可以隔离所有来自该恶意主机的活动。
叙述
“我识别出攻击者的 IP 地址为
10.0.0.10,从而能够隔离所有来源于该恶意主机的活动。”
了解对手的战术是专业事件响应的关键环节。
相关字段
| 字段 | 数据值 | 专业意义 |
|---|---|---|
rule.mitre.id | T1110 | 标识具体的 暴力破解 技术 |
rule.mitre.tactic | Credential Access | 将攻击者的最终目标归类为凭证获取 |
data.srcip | 10.0.0.10 | 为阻断提供攻击者身份信息 |
事件时间线分析
- 基线:午夜前的正常系统活动。
- 异常:事件数量急剧上升(> 500),标志 检测阶段。
- 解决:缓解阶段 – 恶意 IP 被阻断,警报随之消失。
Auditd 集成
标准日志有其价值,但在高安全环境下,我实现了 Linux 审计框架(Auditd)以设置行为陷阱。
/etc/shadow 的 Auditd 示例规则
type=SYSCALL msg=audit(...): exe="/usr/bin/cat" key="shadow_access"
我对敏感系统文件配置了 watch。使用 wazuh-logtest,验证了 Wazuh 能够正确地将这些消息归入(规则 80700)以便进一步告警。
故障排除
在设置过程中,我在 Debian 代理的 ossec.conf 文件中遇到了 “Missing location element” (Error 1902)。解决步骤如下:
- 运行
wazuh-logcollector -t验证 XML 语法。 - 找到缺失的
<location>标签。 - 添加所需标签并重启 Wazuh 代理服务。