问题描述
我正在尝试分析OSSEC代理上生成的MysqL错误日志,并使用OSSEC服务器发出警报。
下面是在代理端添加到/var/ossec/etc/ossec.conf的代码块,以从代理读取MysqL的错误日志:
<localfile>
<log_format>MysqL_log</log_format>
<location>/var/log/MysqL/error.log</location>
</localfile>
这样做之后,我重新启动了代理和服务器,但是无法测试在代理端生成的任何错误日志,例如:
2020-09-15T04:09:24.164859Z 12 [Note] Access denied for user 'root'@'localhost' (using password: YES)
根据注意事项下的文档https://ossec-docs.readthedocs.io/en/latest/docs/programs/ossec-logtest.html,我们需要将MysqL log:添加到为ossec-logtest生成的日志中。
当我们将这些日志发送到OSSEC服务器以从代理进行分析时,它将自动添加。
ossec-logtest result for MySQL error log
在开始添加MysqL log:之后,ossec-logtest可以正常工作,但是它们不能实时工作。
任何人都可以帮助我解决这个问题。
解决方法
ossec-logtest触发警报的事实意味着mysql解码器和规则运行正常
检查代理
-
MySql正在运行。
systemctl status mysqld.service
-
MySql配置(日志级别和输出文件)允许记录此类事件。参见here
如果该值大于1,则中止的连接将写入到 错误日志,以及新连接尝试的拒绝访问错误
- MySql正在有效地记录“访问被拒绝”:
grep "Access denied" /var/log/mysql/error.log
- Ossec及其进程运行正常:
/var/ossec/bin/ossec-control status
检查Manager
-
/var/ossec/etc/ossec.conf中的
-
log_alert_level
字段小于或等于9(在ossec-logtest中显示的日志级别)