OSSEC的log文件监控(LIDS,log-based intrusion detection),能检测攻击、误用、系统错误等。
agent端不产生alerts,全部由server集中分析处理。
具体参考官方文档:Log monitoring/analysis
ossec-logcollector
进程负责监控log文件和事件,有新的日志消息时就转发到server。
配置文件为ossec.conf,通过配置
标签指定监控的log文件。具体参考:localfile syntax page
agent默认localfile设置如下:
<localfile>
<log_format>sysloglog_format>
<location>/var/log/auth.loglocation>
localfile>
<localfile>
<log_format>sysloglog_format>
<location>/var/log/sysloglocation>
localfile>
<localfile>
<log_format>sysloglog_format>
<location>/var/log/dpkg.loglocation>
localfile>
<localfile>
<log_format>commandlog_format>
<command>df -Pcommand>
localfile>
<localfile>
<log_format>full_commandlog_format>
<command>netstat -tan |grep LISTEN |egrep -v '(127.0.0.1| ::1)' | sortcommand>
localfile>
<localfile>
<log_format>full_commandlog_format>
<command>last -n 5command>
localfile>
标签用来设置格式,默认是syslog(只要格式是每行一条的纯文本,都可以用syslog)。另外还有snort-full、snort-fast、squid、iis、mysql_log、nmapg、apache、command等类型。
当
是command时,表示命令监控。
OSSEC善于处理log,但有些信息在log中没有,于是额外增加了监控命令输出的功能,将其也视为log处理,比如:
df -h
),磁盘满时会报警;uptime
),值超过2时会报警;netstat -tan |grep LISTEN
,若有新端口开启监听模式时就会报警;具体参考:Process Monitoring
在Agent端新建文件:
sudo vim /var/test.log
打开ossec.conf文件:
sudo vim /var/ossec/etc/ossec.conf
在
标签内添加:
<localfile>
<location>/var/test.loglocation>
<log_format>sysloglog_format>
localfile>
保存退出。
重启agent:
sudo /var/ossec/bin/ossec-control restart
agent的日志中应该会有:
ossec-logcollector(1950): INFO: Analyzing file: '/var/test.log'.