Wauzh学习笔记(一、初探Wazuh)

1.Wazuh简介

Wazuh是一套免费、开源的安全管控系统,该系统可以帮助用户发现主机面临的威胁并作出反馈。该软件是基于Agent形式对受监控主机进行管控和保护。整个系统主要包含如下图三个部分:

  • Wazuh-Agent:Agent安装于受监控主机中,Agent客户端支持windows、Linux、Mac OS、HP-UX等常见操作系统。Agent主要负责向Server端提供检测信息、对攻击作出响应。注意:Agent不负责对数据进行分析。
  • Wazuh-Server:Server端接收到来自Agent的信息后,会使用它的decodersrules对信息进行处理。Server端主要负责对检测信息进行分析(提取有用的信息、匹配漏洞信息、进行攻击研判等)然后使用filebeat将信息存入ElasticSearch数据库中。一般来说,一台Server可以处理近千台Agent。
  • Elastic Stack:这一部分主要包含ElasticSearchkibana两个软件,主要负责信息存储和展示。

2.Wazuh服务端安装

服务端包括Wauzh-ServerElastic Stack,而这二者都可以集群的方式进行安装部署。因而从原理上来说,Wauzh可以管控几乎无上限数量的主机。官方推荐的安装架构主要包含两种,即ALL-IN-ONE分布式两种,二者的架构图如下:

ALL-IN-ONE架构图:

分布式架构图:

安装过程可以参考官方文档,逐步安装即可:

  • ALL-IN-ONE安装文档链接:https://documentation.wazuh.com/current/installation-guide/open-distro/all-in-one-deployment/all_in_one.html

  • 分布式安装文档链接:https://documentation.wazuh.com/current/installation-guide/open-distro/distributed-deployment/step-by-step-installation/index.html

注意:安装过程中部分配置文件会从raw.githubusercontent.com中下载,该地址由于网络原因有时可能无法访问。请注意配置文件是否下载成功。

3.功能简介

3.1 安装agent

agent安装只需要在操作界面进行如下图所示操作即可获得安装命令:

选择对应的操作系统版本并填入Wazuh server的地址即可获得安装命令。

将命令拷贝至需要安装agent的主机中执行即可完成安装。

注意:linux主机中agent注册时默认以主机的hostname作为Agent name,该名称可能重复导致无法注册,可以使用如下方法手工注册Agent:

/var/ossec/bin/agent-auth -A myAgentName -m 172.16.0.99 -p 1515
service wazuh-agent restart

3.2 Kibana-Wazuh主界面各模块功能简介

3.2.1 Security events

这个模块中列出了所有监控的安全事件告警的相关统计信息。

3.2.2 Integrity monitoring

这个模块主要显示监控的文件和文件夹的变化情况,配置文件位于/var/ossec/etc/ossec.conf。需要添加监控目录时,需要在syscheck中添加directories。

注意:除非专门添加了realtime="yes",否则默认该文件监控属于轮训检测,如上图轮训时间为300秒(默认为12小时)。

3.2.3 Policy monitoring

该模块用于根据自定义的策略对系统进行异常检测(木马检测等),配置文件位于/var/ossec/etc/ossec.conf。这个里面主要对应的配置项为rootchecksyscheck。具体配置项可以参考:

  • rootcheck:https://documentation.wazuh.com/current/user-manual/reference/ossec-conf/rootcheck.html#reference-ossec-rootcheck
  • syscheck:https://documentation.wazuh.com/current/user-manual/reference/ossec-conf/syscheck.html#reference-ossec-syscheck

系统默认配置的rootcheck比较简单,如下:

  <!-- Policy monitoring -->
  <rootcheck>
    <disabled>no</disabled>
    <check_files>yes</check_files>
    <check_trojans>yes</check_trojans>
    <check_dev>yes</check_dev>
    <check_sys>yes</check_sys>
    <check_pids>yes</check_pids>
    <check_ports>yes</check_ports>
    <check_if>yes</check_if>

    <!-- Frequency that rootcheck is executed - every 12 hours -->
    <frequency>300</frequency>

    <rootkit_files>/var/ossec/etc/rootcheck/rootkit_files.txt</rootkit_files>
    <rootkit_trojans>/var/ossec/etc/rootcheck/rootkit_trojans.txt</rootkit_trojans>

    <skip_nfs>yes</skip_nfs>
  </rootcheck>

以rootkit_trojans为例,里面就监控了/etc/hosts来判断是否系统中存在某些后门。

3.2.4 System auditing

这个模块提供了针对某个目录下的文件监控以及操作命令。这个模块需要在agent主机中安装auditd

apt-get install auditd

然后在agent主机的/var/ossec/etc/ossec.conf中添加如下内容:

<localfile>
  <log_format>audit</log_format>
  <location>/var/log/audit/audit.log</location>
</localfile>

重启agent

systemctl restart wazuh-agent

需要监控agent主机里的哪个目录,则需要执行auditctl命令,如下为监控/home/test目录的示例:

auditctl -w /home/test -p w -k audit-wazuh-w
auditctl -w /home/test -p a -k audit-wazuh-a
auditctl -w /home/test -p r -k audit-wazuh-r
auditctl -w /home/test -p x -k audit-wazuh-x

3.2.5 Security configuration assessment

这个模块是基线检查模块,可以自动对系统进行基线检查,也是一个轮训检测的。

3.2.6 Vulnerabilities

该模块主要用于进行漏洞扫描,它会将agent中安装的软件、以及操作系统版本信息都收集起来,然后根据CVE库里面的版本信息进行比对。

这个每次检测之前会对数据库进行更新,数据库都是国外的因此可能时间比较慢。

3.2.7 MITRE ATT&CK

这个就是基于ATT&CK模型的安全事件分析。

3.2.8 REGULATORY COMPLIANCE

这个模块主要是根据某些安全标准,对安全事件进行的分类。系统中默认带了PCI DSSNIST 800-53TSCGDPRHIPAA