欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

入侵检测系统ossec配置文件详解

程序员文章站 2024-01-19 08:06:40
OSSEC是一款开源的多平台的入侵检测系统,可以运行于Windows, Linux, OpenBSD/FreeBSD, 以及 MacOS等操作系统中。包括了日志分析,全面检测,ro...
OSSEC是一款开源的多平台的入侵检测系统,可以运行于Windows, Linux, OpenBSD/FreeBSD, 以及 MacOS等操作系统中。包括了日志分析,全面检测,root-kit检测。本文由FB会员Rozero带来的OSSEC系列文章第一篇,以下为原文:

之前看过@lion_00 关于ossec的连载,我个人对ossec也小有研究,之前用过很长一段时间,ossec难点主要在于其配置文件复杂,不好配置,另外ossec基本没有国内的文章也给学习造成了不便,使得ossec知道的人很有限,只有少数几家互联网公司在使用。趁着周末有空,翻译了下ossec文档里的部分比较常用的配置选项,希望可以给大家一些帮助。
在unix,linux或者bsd上安装ossec hids,默认安装路径是/var/ossec,在启动过程中ossec hids会将目录chroot,并且配置文件和规则也从该目录读取,下边科普下,ossec下目录结构及各个模块都有啥用:
#核心配置文件:
ossec.conf #ossec hids主要配置文件
internal_options.conf: #额外配置选项文件
decoders.xml: #文件解码器,各种规则都在这里写来调用
client.keys: #用于客户端与服务器认证通信
/var/ossec/bin #目录包含ossec hids使用的二进制文件。
/var/ossec/etc #目录包含所有ossec hids使用的配置文件
#日志文件:
/var/ossec/logs: #包含有关ossec hids所有的日志目录
ossec.log: #包含osse hids所有日志(error,warn,info和其他)
alerts/alerts.log #ossec hids报警日志
active-responses.log #ossec hids响应日志

#队列:
/var/ossec/queue #目录包含ossec hids队列文件
agent-info #目录包含操作系统版本、ossec hids版本等信息
syscheck #目录包含每个agent的数据校验日志
rootcheck #目录包含每个agent,rootkit检查数据和监控规则。
rids #目录包含agent ids信息

#规则
/var/log/rules #目录包含所有osse hids规则
/var/log/stats #目录包含每秒统计数据等文件
 
了解ossec hids配置文件:
我们将开始了解如何在unix,linux和bsd上本地/服务器进行配置。ossec hids主要配置文件名叫ossec.conf,该文件使用xml表记语言编写,ossec hids配置文件选择位于<ossec_config>中,该配置文件包含如下段落:

<global>                             #全局配置配置
<alerts>                             #邮件和日志报警选项
<email_alerts>                  #细力度邮件配置文件
<remote>                          #该选项只允许在server端配置
<database_output>         #数据库输出选项
<rules>                            #包含规则列表
<client>                           #agent有关配置文件选项
<localfile>                       #日志文件监控配置选项
<syscheck>                    #系统检查配置文件选项
<rootcheck>                   #rootki发现和规则监控选项
<command>                   #主机响应配置选项
<active-response>         #恶意主机响应配置选项
配置报警级别及收集所有日志:
每个报警都有一个严重级别报警等级,ossec的等级是这样分配的,0到15,15是最高等级,0是最低等级,默认情况下每个警报是从1到15,在ossec hids配置文件选项中报警级别7以上的都会发送邮件报警,如果修改ossec.conf中的报警配置选项,可以修改如下配置:

<ossec_config>
<alerts>
<log_alert_level>2</log_alert_level>
<email_alert_level>8</email_alert_level>
</alerts>
</ossec_config>
上边的配置文件,只记录2以上的报警级别日志,并且报警级别高于8以上的报警都会发送邮件。
 
收集日志:
除了记录每一条报警和每一个事件记录外你可以配置ossec hids接收所有日志,配置文件如下:

<ossec_config>
<global>
<logall>yes</logall>
</global>
</ossec_config>
<ossec_config>
配置邮件:
默认情况下,在安装ossec hids server的时候会提示你配置邮件发信,但这个发信里默认只写入一条收件人,假如我有多个收件人是不是没办法了呢?答案当然不是,ossec hids里可以这样配置多个收件人,这里以gmail为例子:

<ossec_config>
<email_notification>yes</ email_notification >
<email_to>root@gmail.com< email_to >
<smtp_server>smtp@gmail.com< smtp_server >
<email_from>webmaster@gmail.com</email_from>
<email_maxperhour>20</email_maxperhour>
</global>
</ossec_config>
默认的配置文件是这样,如添加其他人可以这样,<email_to>lost@gmail.com</email_to>即可添加lost这个用户加入收件人列表。如果不需要配置文件怎么办呢?ossec hids也可以关闭掉邮件选项,设置配置如下:

<ossec_config>
<global>
<email_notifi cation>no</email_notification>
</global>
</ossec_config>
也可以让某个邮箱只接受特定级别的邮件,配置文件可以这样写:

<ossec_config>
<email_alerts>
<email_to>oncall@fakeinc.com</email_to>
<level>10</level>
<format>sms</format>
</email_alerts>
</ossec_config>
安全选项配置:
众所周知,ossec收集日志的服务也是采用syslog,只不过它会开启个1514的udp端口来接收数据,这其实和514端口并无差别不是吗,但为了安全考虑,需要允许指定的机器来连接我们的syslog服务,配置文件可以这样写:

<ossec_config>
<remote>
<connection>secure</connection>
<allowed-ips>192.168.10.0/24</allowed-ips>
</remote>
</ossec_config>
上边的意思就是允许这个网段来连接syslog服务接收数据。
监控文件变化:
ossec还可以做为文件监控来监视网站目录下的变动情况,ossec检测文件的时候分为几个部分:check_all、check_sum、check_size、check_onwer、check_group、check_perm,如果是检测网站变动的话,可以在ossec.conf里写入如下配置:

<ossec_config>
<syscheck>
<directories check_all=“yes”>/var/www/htdocs</directories>
</syscheck>
</ossec_config>
上边的配置是检查网站的任何变动,包括文件大小发生变化,权限变化等。