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
Server version: 5.5.-MariaDB MariaDB Server Copyright (c) , , 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, row affected (0.00 sec) MariaDB [(none)]> grant INSERT,SELECT,UPDATE,CREATE,DELETE,EXECUTE on ossec.* to ossec@localhost;
Query OK, rows affected (0.04 sec) MariaDB [(none)]> set password for ossec@localhost=PASSWORD('ossec');
Query OK, rows affected (0.00 sec) MariaDB [(none)]> flush privileges;
Query OK, 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..tar.gz
cd ossec-hids-2.8.3/
》为了使OSSEC支持MySQL,安装前执行make setdb命令
看到最后一行[Info: Compiled with MySQL support.]的信息时说明可以正常支持MySQL
[root@localhost ossec-hids-2.8.]# 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,
请通过 [email protected] 或邮件列表 [email protected] 联系我们.
( http://www.ossec.net/en/mailing_lists.html ). 您可以在 http://www.ossec.net 获得更多信息 --- 请按 ENTER 结束安装 (下面可能有更多信息). ---
6. 配置ossec服务端
》执行下面命令启用数据库支持
[root@localhost ossec-hids-2.8.]# /opt/ossec/bin/ossec-control enable database
》导入MySQL表结构到MySQL中
[root@localhost ossec-hids-2.8.]# mysql -uossec -p ossec < ./src/os_dbd/mysql.schema
》修改部分配置文件的权限
[root@localhost ossec-hids-2.8.]# 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/</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[]:
Agent information:
ID:
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): Agent key information for '' is:
MDAxIGFnZW50LWthbGkgMTkyLjE2OC4yMTguMTM3IDQ0NTg0MTQ5ZjMzODc2YzA4MDA0MTdlY2JkYWQ5ODc1NDRhZjc1ZmEyYWY0ZmFkMzU4OTBmMDYxMjE0ODA2ZTE= ** Press ENTER to return to the main menu.
导出的Key值:
MDAxIGFnZW50LWthbGkgMTkyLjE2OC4yMTguMTM3IDQ0NTg0MTQ5ZjMzODc2YzA4MDA0MTdlY2JkYWQ5ODc1NDRhZjc1ZmEyYWY0ZmFkMzU4OTBmMDYxMjE0ODA2ZTE=
至此,OSSEC服务端已经安装结束并且导出了客户端的Key,但是不安装客户端的情况下直接启动服务端会报错,
客户端的安装请参考文章开源入侵检测系统OSSEC搭建之二:客户端安装