开源入侵检测系统OSSEC搭建之一:服务端安装

时间:2023-03-08 15:19:56
开源入侵检测系统OSSEC搭建之一:服务端安装

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,
请通过 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.]# /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搭建之二:客户端安装