远程日志收集
在实际环境中,有一些防火墙、交换机、路由器等设备会生成日志,wazuh管理端如果要收集这些日志的话,按照常理就需要在这些设备按照代理端进行日志收集,但是wazuh可以支持syslog远程收集日志,只需启动syslog端口和在wazuh管理端配置文件配置远程日志接收的信息。
在wazuh管理端的配置文件中找到remote标签,这个标签是设置远程收集日志选项,默认配置如下:
具体子标签如下:
**connection标签:**指定收集什么类型的日志,选项有两个:syslog,secure,可同时使用。
**port标签:**指定监听的端口是多少,如果不填的话,syslog类型默认是514端口,secure类型默认是1515端口。
**protocol标签:**指定监听协议是什么,选项有两个:tcp,udp。只能指定一个协议。
**allowed-ips标签:**指允许什么网段的IP发送日志过来(必填项)。
**denied-ips标签:**指禁止什么网段的IP发送日志过来。
**local_ip标签:**指监听的IP地址,在例子中并没有出现,因为默认的监听所有网卡地址。
**ipv6标签:**监听的IPV6的地址,不能与local_ip标签一起用,目前还是IPV4地址,所以这个选项可以忽略。
**queue_size标签:**接收远程日志容量的队列,默认值是131072,范围是1-262144,其中这个选项是与secure日志类型一起使用的。
配置syslog日志收集
secure类型和syslog类型可以同时使用,所以可以使用多个remote标签定义日志收集端口。
查看日志收集监听端口是否开启
在wazuh管理端服务器安装rsyslog,用来转发日志到wazuh的日志远程收集端口。
先说明一下,在rsyslog配置文件中配置不同协议的远程转发都有区别,使用UDP协议转发日志的话,只需要一个@符号,而使用TCP协议转发日志的话,则需要两个@符号。
修改rsyslog的配置文件(/etc/rsyslog.conf),只需在下面添加一行转发记录就可以。
创建转发规则,主要关注InputFileName变量,将/opt/test.log的日志转发到192.168.1.200的513TCP端口。
重启rsyslog服务
修改wazuh配置文件logall标签为**yes,**记录所有的日志(包括无法解码的日志)。
在wazuh管理端的配置文件的global标签下面有个子标签logall,这个logall的作用就是管理端收集到代理端的日志,会进行解析,如果解析失败,wazuh管理端则不会记录这段日志,如果logall设置为yes,则会记录解析失败的全日志,这样的后果就是日志文件非常大,测试发现,几分钟下来日志文件容量已经到了10M,一旦上生产环境,磁盘容量就会陷入负载。
所以wazuh管理端的配置文件默认不记录全部日志。其日志记录位置在**/var/ossec/logs/archives/archives.log**,logall_all标签则是选择记录json类型格式,json日志记录位置在/var/ossec/logs/archives/archives.json。
往/tmp/test.log丢secure的日志进行测试。
在/var/ossec/logs/archives/archives.log里面发现rsyslog将日志丢到wazuh管理端里面。
最后更新于
这有帮助吗?