关于 configuring-host-based-intrusion-detection
该技能介绍如何使用 Wazuh、OSSEC 和 AIDE 等系统部署并配置主机入侵检测,指导端点监控文件变更、Rootkit、日志和安全策略,并涵盖与 SIEM 平台的告警集成;不用于网络 IDS 或 EDR 部署。
主要功能
- 01在端点部署 Wazuh Agent
- 02配置文件完整性监控
- 03设置 Rootkit 检测
- 04定义日志分析规则
- 05配置自动主动响应
- 06将告警集成到 SIEM 平台
适用场景
- 01监控关键文件的未授权变更
- 02检测端点上的 Rootkit 和策略违规
- 03在 SIEM 中集中主机告警
- 04配置合规所需的端点监控
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ mukul975/ anthropic-cybersecurity-skills --skill configuring-host-based-intrusion-detection安装后在 Claude Code 中输入/configuring-host-based-intrusion-detection确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
LICENSEassets/template.mdreferences/api-reference.mdstandards.mdworkflows.mdscripts/agent.pyprocess.py详细介绍
配置基于主机的入侵检测
何时使用
在以下情况下使用本技能:
- 跨 Windows 和 Linux 端点部署 HIDS Agent(Wazuh、OSSEC、AIDE)
- 为满足合规要求(PCI DSS 11.5、NIST SI-7)配置文件完整性监控(FIM)
- 监控系统配置变更、Rootkit 检测和安全策略违规
- 将 HIDS 告警与 SIEM 平台集成以实现集中监控
不要将本技能用于基于网络的 IDS(Suricata、Snort)或 EDR 部署。
前提条件
- 已部署 Wazuh 服务(管理器),且端点可访问
- 对目标端点具有管理访问权限
- 网络连接:Agent 到 Wazuh 管理器的 1514(TCP/UDP)和 1515(TCP 注册)端口
- 用于告警可视化的 Wazuh 仪表板(OpenSearch Dashboards)
- 了解各操作系统需监控的关键文件/目录
工作流
步骤 1:安装 Wazuh Agent
Windows:
# Download and install Wazuh agent
Invoke-WebRequest -Uri "https://packages.wazuh.com/4.x/windows/wazuh-agent-4.9.0-1.msi" `
-OutFile "wazuh-agent.msi"
msiexec /i wazuh-agent.msi /q WAZUH_MANAGER="wazuh-manager.corp.com" `
WAZUH_REGISTRATION_SERVER="wazuh-manager.corp.com" WAZUH_AGENT_GROUP="windows-workstations"
net start WazuhSvc
Linux(Debian/Ubuntu):
curl -s https://packages.wazuh.com/key/GPG-KEY-WAZUH | gpg --dearmor -o /usr/share/keyrings/wazuh.gpg
echo "deb [signed-by=/usr/share/keyrings/wazuh.gpg] https://packages.wazuh.com/4.x/apt/ stable main" \
> /etc/apt/sources.list.d/wazuh.list
apt-get update && apt-get install wazuh-agent -y
sed -i 's/MANAGER_IP/wazuh-manager.corp.com/' /var/ossec/etc/ossec.conf
systemctl daemon-reload && systemctl enable --now wazuh-agent
步骤 2:配置文件完整性监控(FIM)
编辑 Agent 配置(/var/ossec/etc/ossec.conf 或 C:\Program Files (x86)\ossec-agent\ossec.conf):
<syscheck>
<frequency>43200</frequency>
<scan_on_start>yes</scan_on_start>
<alert_new_files>yes</alert_new_files>
<directories check_all="yes" realtime="yes">/etc</directories>
<directories check_all="yes" realtime="yes">/usr/bin</directories>
<directories check_all="yes" realtime="yes">/usr/sbin</directories>
<directories check_all="yes" realtime="yes">/bin</directories>
<directories check_all="yes" realtime="yes">/sbin</directories>
<directories check_all="yes">/boot</directories>
<directories check_all="yes" realtime="yes">C:\Windows\System32</directories>
<directories check_all="yes" realtime="yes">C:\Windows\SysWOW64</directories>
<directories check_all="yes" realtime="yes">%PROGRAMFILES%</directories>
<windows_registry>HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run</windows_registry>
<windows_registry>HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce</windows_registry>
<windows_registry>HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services</windows_registry>
<ignore>/etc/mtab</ignore>
<ignore>/etc/resolv.conf</ignore>
<ignore type="sregex">.log$</ignore>
</syscheck>
步骤 3:配置 Rootkit 检测
<rootcheck>
<disabled>no</disabled>
<frequency>43200</frequency>
<rootkit_files>/var/ossec/etc/shared/rootkit_files.txt</rootkit_files>
<rootkit_trojans>/var/ossec/etc/shared/rootkit_trojans.txt</rootkit_trojans>
<system_audit>/var/ossec/etc/shared/system_audit_rcl.txt</system_audit>
<check_dev>yes</check_dev>
<check_files>yes</check_files>
<check_if>yes</check_if>
<check_pids>yes</check_pids>
<check_ports>yes</check_ports>
<check_sys>yes</check_sys>
<check_trojans>yes</check_trojans>
<check_unixaudit>yes</check_unixaudit>
</rootcheck>
步骤 4:配置日志分析规则
<group name="local,syscheck,">
<rule id="100001" level="12">
<if_sid>550</if_sid>
<match>/usr/bin/|/usr/sbin/|/bin/|/sbin/</match>
<description>Critical system binary modified: $(file)</description>
<group>syscheck,pci_dss_11.5,</group>
</rule>
<rule id="100002" level="10">
<if_sid>554</if_sid>
<match>/tmp/|/var/tmp/</match>
<description>New file created in temp directory: $(file)</description>
<group>syscheck,malware,</group>
</rule>
<rule id="100003" level="10">
<if_sid>550</if_sid>
<match>/etc/ssh/sshd_config</match>
<description>SSH configuration modified</description>
<group>syscheck,authentication,</group>
</rule>
</group>
步骤 5:配置主动响应
<active-response>
<command>firewall-drop</command>
<location>local</location>
<rules_id>5712</rules_id>
<timeout>600</timeout>
</active-response>
<active-response>
<disabled>no</disabled>
<command>disable-account</command>
<location>local</location>
<rules_id>100100</rules_id>
<timeout>3600</timeout>
</active-response>
步骤 6:与 SIEM 集成
# Wazuh to Splunk via Filebeat
# Edit /etc/filebeat/filebeat.yml:
filebeat.inputs:
- type: log
paths:
- /var/ossec/logs/alerts/alerts.json
json.keys_under_root: true
output.elasticsearch:
hosts: ["https://splunk-hec:8088"]
# Wazuh to Elastic via direct integration
# Wazuh indexer feeds directly into OpenSearch/Elasticsearch
# Dashboard: https://wazuh-dashboard:5601
关键概念
| 术语 | 定义 |
|---|---|
| HIDS | 基于主机的入侵检测系统;监控各个端点是否存在恶意活动 |
| FIM | 文件完整性监控;通过比较加密哈希值来检测对文件的未授权更改 |
| Syscheck | Wazuh/OSSEC 模块,用于文件完整性监控和注册表监控 |
| Rootcheck | Wazuh/OSSEC 模块,用于 Rootkit 和恶意软件检测 |
| 主动响应 | 由 HIDS 告警触发的自动化防御操作(IP 封锁、账户禁用) |
| CDB 列表 | 用于 Wazuh 规则中自定义查找的常量数据库列表 |
工具与系统
- Wazuh:开源 HIDS 平台(OSSEC 的分支),包含管理器、Agent 和仪表板
- OSSEC:最初的开源 HIDS(Wazuh 的前身)
- AIDE(Advanced Intrusion Detection Environment):适用于 Linux 的独立文件完整性检查器
- Tripwire:商业文件完整性监控解决方案
- Samhain:专注于文件完整性和日志监控的开源 HIDS
常见陷阱
- 监控过多目录:对整个文件系统启用 FIM 会产生过多告警。应重点关注关键系统二进制文件、配置文件和 Web 根目录。
- 未排除嘈杂文件:频繁变更的文件(日志、临时文件、缓存)会产生误报的 FIM 告警。应维护排除列表。
- 忽视基线建立:首次 FIM 扫描会创建基线。在基线稳定之前检测到的变更属于噪声,而非威胁。请为基线预留 48 小时。
- 未经测试的主动响应:自动封锁 IP 或禁用账户可能导致服务中断。请先在非生产环境中测试主动响应规则。
- Agent 注册失败:Agent 必须先成功向管理器注册,监控才会开始。请确认防火墙规则允许 1514 和 1515 端口的流量。
评论
支持 Markdown