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

- Wazuh-Agent:Agent安装于受监控主机中,Agent客户端支持windows、Linux、Mac OS、HP-UX等常见操作系统。Agent主要负责向Server端提供检测信息、对攻击作出响应。注意:Agent不负责对数据进行分析。
- Wazuh-Server:Server端接收到来自Agent的信息后,会使用它的
decoders和rules对信息进行处理。Server端主要负责对检测信息进行分析(提取有用的信息、匹配漏洞信息、进行攻击研判等)然后使用filebeat将信息存入ElasticSearch数据库中。一般来说,一台Server可以处理近千台Agent。 - ** Elastic Stack**:这一部分主要包含
ElasticSearch和kibana两个软件,主要负责信息存储和展示。
2.Wazuh服务端安装
服务端包括Wauzh-Server和Elastic 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。这个里面主要对应的配置项为rootcheck和syscheck。具体配置项可以参考:
- 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 DSS、NIST 800-53、TSC、GDPR、HIPAA。