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
。