OSSEC是一款开源的多平台的入侵检测系统,可以运行于Windows, Linux, OpenBSD/FreeBSD,
以及 MacOS等操作系统中。主要功能有日志分析、完整性检查、rootkit检测、基于时间的警报和主动响应。
除了具有入侵检测系统功能外,它还一般被用在SEM/SIM(安全事件管理(SEM: Security Event Management)/
安全信息管理(SIM:SecurityInformation Management))解决方案中。因其强大的日志分析引擎,
ISP(Internet service provider)(网络服务提供商)、大学和数据中心用其监控和分析他们的防火墙、
入侵检测系统、网页服务和验证等产生的日志。
一、环境准备
》OSSEC服务器端:VMware下CentOS7系统
》OSSEC客户端:VMware下KaliLinux 2.0系统
二、工具准备
》安装ossec 安装过程中所需要用到的管理库以及软件等
》下载最新版的ossec即ossec-hids-2.8.3.tar.gz
》下载图形分析工具analogi
三、开始安装
1. 安装管理库及软件 -->mysql服务。
需要注意的是ossec需要用到mysql数据库,而直接yum install mysql的话会报错,原因在于yum安装库里
没有直接可以用的安装包,此时需要用到MariaDB了,MariaDB是MySQL社区开发的分支,也是一个增强型的替代品。
具体安装步骤请参考另一篇文章CentOS7安装mysql-server
2. 安装管理库及软件 -->wget gcc make httpd php php-mysql服务
[root@localhost ~]# yum install wget gcc make httpd php php-mysql sendmail
3. 启动httpd、mysql、sendmail服务,详细启动、查看过程请参考Ossec常用命令
》 启动httpd服务并查看状态
[root@localhost ~]# systemctl start httpd
[root@localhost ~]# systemctl status httpd.service
》 启动mysql服务并查看状态
[root@localhost ~]# systemctl start mariadb
[root@localhost ~]# systemctl status mariadb.service
》 启动sendmail服务并查看状态
[root@localhost ~]# systemctl start sendmail.service
[root@localhost ~]# systemctl status sendmail.service
4. 创建数据库以方便我们下面的安装配置,连接到本机的MySQ
[root@localhost ~]# mysql -uroot -p Enter password: Welcome to the MariaDB monitor. Commands end with ; or g. Your MariaDB connection id is 13 Server version: 5.5.47-MariaDB MariaDB Server Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others. Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. MariaDB [(none)]> create database ossec; Query OK, 1 row affected (0.00 sec) MariaDB [(none)]> grant INSERT,SELECT,UPDATE,CREATE,DELETE,EXECUTE on ossec.* to ossec@localhost; Query OK, 0 rows affected (0.04 sec) MariaDB [(none)]> set password for ossec@localhost=PASSWORD('ossec'); Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> flush privileges; Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> exit Bye [root@localhost ~]#
5. 安装ossec服务器端
》官网下载最新版ossec即ossec-hids-2.8.3.tar.gz并解压
wget https://bintray.com/artifact/download/ossec/ossec-hids/ossec-hids-2.8.3.tar.gz tar zxf ossec-hids-2.8.3.tar.gz cd ossec-hids-2.8.3/
》为了使OSSEC支持MySQL,安装前执行make setdb命令
看到最后一行[Info: Compiled with MySQL support.]的信息时说明可以正常支持MySQL
[root@localhost ossec-hids-2.8.3]# cd src; make setdb; cd .. Error: PostgreSQL client libraries not installed. Info: Compiled with MySQL support.
》执行install.sh脚本
具体安装的信息可以参考另一篇文章OSSEC 安装执行./install.sh详细信息,当看到如下信息时
说明安装服务器端已经成功。
- 系统类型是 Redhat Linux. - 修改启动脚本使 OSSEC HIDS 在系统启动时自动运行 - 已正确完成系统配置. - 要启动 OSSEC HIDS: /opt/ossec/bin/ossec-control start - 要停止 OSSEC HIDS: /opt/ossec/bin/ossec-control stop - 要查看或修改系统配置,请编辑 /opt/ossec/etc/ossec.conf 感谢使用 OSSEC HIDS. 如果您有任何疑问,建议或您找到任何bug, 请通过 contact@ossec.net 或邮件列表 ossec-list@ossec.net 联系我们. ( http://www.ossec.net/en/mailing_lists.html ). 您可以在 http://www.ossec.net 获得更多信息 --- 请按 ENTER 结束安装 (下面可能有更多信息). ---
6. 配置ossec服务端
》执行下面命令启用数据库支持
[root@localhost ossec-hids-2.8.3]# /opt/ossec/bin/ossec-control enable database
》导入MySQL表结构到MySQL中
[root@localhost ossec-hids-2.8.3]# mysql -uossec -p ossec < ./src/os_dbd/mysql.schema
》修改部分配置文件的权限
[root@localhost ossec-hids-2.8.3]# chmod u+w /opt/ossec/etc/ossec.conf
》编辑ossec.conf文件,在ossec_config中添加MySQL配置
编辑ossec.conf文件,在ossec_config标签内部添加如下MySQL配置
<database_output> <hostname>192.168.218.136</hostname> <username>ossec</username> <password>ossec</password> <database>ossec</database> <type>mysql</type> </database_output>
》由于服务端安装过程中设置了支持接受远程机器的syslog,所以需要对ossec.conf文件中的
syslog部分进行配置,修改ossec.conf文件,将需要收集的网段全添加进去。(配置后的ossec.conf)
<remote> <connection>syslog</connection> <allowed-ips>192.168.0.0/16</allowed-ips> </remote>
7. 添加ossec客户端并导出Key
[root@localhost ~]# /opt/ossec/bin/manage_agents **************************************** * OSSEC HIDS v2.8.3 Agent manager. * * The following options are available: * **************************************** (A)dd an agent (A). (E)xtract key for an agent (E). (L)ist already added agents (L). (R)emove an agent (R). (Q)uit. Choose your action: A,E,L,R or Q: A - Adding a new agent (use 'q' to return to the main menu). Please provide the following: * A name for the new agent: agent-kali * The IP Address of the new agent: 192.168.218.137 * An ID for the new agent[001]: Agent information: ID:001 Name:agent-kali IP Address:192.168.218.137 Confirm adding it?(y/n): y Agent added.
客户端Name为agent-kali,ip地址为192.168.218.137的记录已经添加完毕,但是需要导出一个Key,
这个Key的作用是在客户端中导入并使得服务端与客户端达到联动的效果。导出Key步骤如下
**************************************** * OSSEC HIDS v2.8.3 Agent manager. * * The following options are available: * **************************************** (A)dd an agent (A). (E)xtract key for an agent (E). (L)ist already added agents (L). (R)emove an agent (R). (Q)uit. Choose your action: A,E,L,R or Q: E Available agents: ID: 001, Name: agent-kali, IP: 192.168.218.137 Provide the ID of the agent to extract the key (or 'q' to quit): 001 Agent key information for '001' is: MDAxIGFnZW50LWthbGkgMTkyLjE2OC4yMTguMTM3IDQ0NTg0MTQ5ZjMzODc2YzA4MDA0MTdlY2JkYWQ5ODc1NDRhZjc1ZmEyYWY0ZmFkMzU4OTBmMDYxMjE0ODA2ZTE= ** Press ENTER to return to the main menu.
导出的Key值:
MDAxIGFnZW50LWthbGkgMTkyLjE2OC4yMTguMTM3IDQ0NTg0MTQ5ZjMzODc2YzA4MDA0MTdlY2JkYWQ5ODc1NDRhZjc1ZmEyYWY0ZmFkMzU4OTBmMDYxMjE0ODA2ZTE=
至此,OSSEC服务端已经安装结束并且导出了客户端的Key,但是不安装客户端的情况下直接启动服务端会报错,
客户端的安装请参考文章开源入侵检测系统OSSEC搭建之二:客户端安装