You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何通过Wazuh监控用户所有命令(含sudo级别)并同步至Kibana

没问题,咱们来把audit日志里的所有用户命令(包括sudo操作)实时同步到Wazuh管理器和Kibana。既然你已经配置好audit规则、日志也生成在audit.logs里了,接下来只需要让Wazuh正确采集、解析这些日志,再确保事件能同步到Kibana就行。下面是具体步骤:

1. 确认Wazuh Agent状态正常

首先得保证服务器上的Wazuh Agent已经安装,并且和管理器保持连接。你可以用以下命令检查:

# 查看Agent运行状态
systemctl status wazuh-agent

# 验证与管理器的连接(替换成你的Agent ID)
/var/ossec/bin/agent_control -i <你的Agent ID>

如果Agent未启动,先启动它:systemctl start wazuh-agent

2. 配置Wazuh Agent采集你的audit日志

Wazuh Agent需要明确监控的日志文件路径。编辑Agent的配置文件/var/ossec/etc/ossec.conf,找到<localfile>区块,添加或修改成如下配置(注意替换成你的audit.logs实际路径):

<localfile>
  <log_format>audit</log_format>
  <location>/path/to/your/audit.logs</location> <!-- 例如默认路径是/var/log/audit/audit.log,按实际情况修改 -->
</localfile>

保存后重启Agent,让配置生效:

systemctl restart wazuh-agent

现在Agent会实时读取你的audit日志,并把数据同步到Wazuh管理器。

3. 优化Audit规则,确保捕获所有命令事件

你已经有Audit规则,但为了完整捕获普通命令和sudo命令,建议在/etc/audit/rules.d/audit.rules里补充以下规则:

# 捕获64位/32位系统的execve调用(命令执行的核心系统调用)
-a always,exit -F arch=b64 -S execve -k command_exec
-a always,exit -F arch=b32 -S execve -k command_exec

# 监控sudo二进制文件,精准捕获sudo操作
-w /usr/bin/sudo -p x -k sudo_command

添加后重启auditd服务:

systemctl restart auditd

这样audit日志就会详细记录每一次命令执行(包括sudo触发的命令)。

4. 配置Wazuh规则,识别命令事件并生成告警

Wazuh需要把audit日志的原始事件转换成可识别的告警,方便Kibana展示。登录Wazuh管理器,编辑自定义规则文件/var/ossec/etc/rules/local_rules.xml,添加以下规则:

<group name="audit_commands,">
  <!-- 普通用户命令执行告警 -->
  <rule id="100001" level="3">
    <if_sid>80700</if_sid> <!-- 关联Wazuh内置的audit基础规则ID -->
    <match>type=EXECVE</match>
    <description>用户 $(user) 执行了命令: $(audit.argc) $(audit.argv)</description>
    <group>command_execution,</group>
  </rule>

  <!-- sudo命令执行告警(级别更高,方便区分权限操作) -->
  <rule id="100002" level="5">
    <if_sid>80700</if_sid>
    <match>type=EXECVE</match>
    <match>/usr/bin/sudo</match>
    <description>用户 $(user) 执行了sudo命令: $(audit.argc) $(audit.argv)</description>
    <group>sudo_command_execution,</group>
  </rule>
</group>

保存后重启Wazuh管理器:

systemctl restart wazuh-manager

现在当有命令执行时,Wazuh会自动生成对应的告警事件。

5. 在Kibana中查看实时命令事件

Wazuh会自动把所有告警同步到Elasticsearch(Kibana的数据源),你可以直接在Kibana中操作:

  • 打开Kibana的Discover页面,选择wazuh-alerts-*索引模式
  • 通过过滤规则ID(100001100002)、告警分组(command_executionsudo_command_execution)来筛选命令事件
  • 如果需要更直观的展示,还可以创建自定义Dashboard,添加命令执行的统计图表、趋势图等
验证效果

执行几条测试命令,比如:

# 普通命令
ls -l /home

# sudo命令
sudo apt update

然后去Wazuh管理器的Alerts页面查看是否生成了对应告警,再到Kibana中搜索,确认能看到实时的命令事件。


内容的提问来源于stack exchange,提问作者Sulaiman

火山引擎 最新活动