前言
OSSEC是一款开源的多平台的入侵检测系统,可以运行于windows, linux, OpenBSD/FreeBSD, 以及 macOS等操作系统中。包括了日志分析,全面检测,root-kit检测。网上能找到关于OSSEC的安装教程与详细使用并不多,本人实测,没有一个教程能完整照着文档的步骤安装成功吧。在安装过程中会存在许多坑等你来填。对于Linux并不是那么熟的人来说,OSSEC的安装并不容易,所以就有必要把OSSEC的安装教程重写一遍了。一是自己对OSSEC的安装做一个复习与总结,二也是希望能够帮助大家能快速上手这款功能强大的OSSEC入侵检测系统,毕竟商业版的IDS确定很贵的。大部分个人是无法承受的。
一、准备工作
服务端:
准备好:centos6 64位(必须是Centos6 新机器)。
内存不小于: 1GB以上。
硬盘:20GB以上。
本次安装机器的IP:108.61.119.62
二、安装过程
2.1、关闭防火墙,因为ossec通信需要是用udp 514,1514端口等等端口对外,Agent才能上线。为了方便演示,咱们先直接关闭防火墙即可。
Centos 6关闭防火墙方式
[root@vultr ~]# service iptables stop iptables: Setting chains to policy ACCEPT: filter [ OK ] iptables: Flushing firewall rules: [ OK ] iptables: Unloading modules: [ OK ] [root@vultr ~]# chkconfig iptables off [root@vultr ~]#
2.2、防火墙关闭好了后,我们来接着安装一些必要的工具:
使用以下命令一键快速安装::
yum install wget gcc make mysql mysql-server mysql-devel httpd php php-mysql sendmail
2.3、没有报错即相应软件包安装完成:
OSSEC
2.4、启动httpd、mysql、sendmail这三个服务:
命令:
[root@ossec-server ~] /etc/init.d/httpd start [root@ossec-server ~] /etc/init.d/mysqld start [root@ossec-server ~] /etc/init.d/sendmail start
2.5、创建OSSEC数据库
命令:
[root@ossec-server ~] mysql -uroot -p mysql> create database ossec; mysql> grant INSERT,SELECT,UPDATE,CREATE,DELETE,EXECUTE on ossec.* to ossec@localhost; mysql> set password for ossec@localhost =PASSWORD('ossec'); mysql> flush privileges; mysql> exit
上面SQL的语句意思是新建一个ossec的用户,密码为:ossec,只可以在localhost上登录,ossec用户可以对ossec的所有表进行插入、查询、修改、插入、删除的操作。
2.6、下载OSSEC服务端
wget https://github.com/ossec/ossec-hids/archive/2.8.1.tar.gz tar zxf 2.8.1.tar.gz cd ossec-hids-2.8.1/
2.7、使OSSEC支持Mysql
cd src; make setdb; cd ..
看到如下的信息说明可以正常支持MySQL:
2.8、正式安装OSSEC服务端
执行install.sh脚本,根据提示的选项填写,看我的:
OSSEC HIDS v2.8 安装脚本 - http://www.ossec.net 您将开始 OSSEC HIDS 的安装. 请确认在您的机器上已经正确安装了 C 编译器. 如果您有任何疑问或建议,请给 dcid@ossec.net (或 daniel.cid@gmail.com) 发邮件. - 系统类型: Linux vultr.guest 2.6.32-754.6.3.el6.x86_64 - 用户: root - 主机: vultr.guest -- 按 ENTER 继续或 Ctrl-C 退出. -- 1- 您希望哪一种安装 (server, agent, local or help)? server - 选择了 Server 类型的安装. 2- 正在初始化安装环境. - 请选择 OSSEC HIDS 的安装路径 [/var/ossec]: /var/ossec - OSSEC HIDS 将安装在 /var/ossec . 3- 正在配置 OSSEC HIDS. 3.1- 您希望收到e-mail告警吗? (y/n) [y]: n --- Email告警没有启用 . 3.2- 您希望运行系统完整性检测模块吗? (y/n) [y]: y - 系统完整性检测模块将被部署. 3.3- 您希望运行 rootkit检测吗? (y/n) [y]: y - rootkit检测将被部署. 3.4- 关联响应允许您在分析已接收事件的基础上执行一个 已定义的命令. 例如,你可以阻止某个IP地址的访问或禁止某个用户的访问权限. 更多的信息,您可以访问: http://www.ossec.net/en/manual.html#active-response - 您希望开启联动(active response)功能吗? (y/n) [y]: n - 联动功能(Active response)被关闭. 3.5- 您希望接收远程机器syslog吗 (port 514 udp)? (y/n) [y]: y - 远程机器syslog将被接收. 3.6- 设置配置文件以分析一下日志: -- /var/log/messages -- /var/log/secure -- /var/log/maillog -- /var/log/httpd/error_log (Apache log) -- /var/log/httpd/access_log (apache log) -如果你希望监控其他文件, 只需要在配置文件ossec.conf中 添加新的一项. 任何关于配置的疑问您都可以在 http://www.ossec.net 找到答案. --- 按 ENTER 以继续 --- 回车
…………省略编译输出…………
安装完成将会输出以下:
- 系统类型是 Redhat Linux. - 修改启动脚本使 OSSEC HIDS 在系统启动时自动运行 - 已正确完成系统配置. - 要启动 OSSEC HIDS: /var/ossec/bin/ossec-control start - 要停止 OSSEC HIDS: /var/ossec/bin/ossec-control stop - 要查看或修改系统配置,请编辑 /var/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 结束安装 (下面可能有更多信息). --- - 为使代理能够联接服务器端, 您需要将每个代理添加到服务器. 允许'manage_agents'来添加活删除代理: /var/ossec/bin/manage_agents 详细信息请参考: http://www.ossec.net/en/manual.html#ma
2.9、启用数据库支持:
/var/ossec/bin/ossec-control enable database
2.9.1、然后导入MySQL表结构到MySQL中
mysql -uossec -p ossec < ./src/os_dbd/mysql.schema
2.9.2、修改部分配置文件的权限,否则会启动服务失败:
chmod u+w /var/ossec/etc/ossec.conf
2.9.3、然后我们编辑/var/ossec/etc/ossec.conf文件,在ossec_config中添加如下MySQL配置:
<database_output> <hostname>108.61.119.62</hostname> <username>ossec</username> <password>ossec</password> <database>ossec</database> <type>mysql</type> </database_output>
2.9.4、OSSEC支持接受远程机器的syslog,所以还需要对ossec.conf文件中的syslog部分进行配置,修改/var/ossec/etc/ossec.conf文件,按照下面的内容进行修改,把我们的客户端(Agent)的网段可以全添加进去:
<remote> <connection>syslog</connection> <allowed-ips>192.168.0.0/16</allowed-ips> </remote>
2.9.5、 服务器上添加客户端,创建客户端Key
执行如下命令:
[root@vultr etc]# /var/ossec/bin/manage_agents **************************************** * OSSEC HIDS v2.8 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: ossec-agent * The IP Address of the new agent: 192.168.80.32 * An ID for the new agent[001]: 001 Agent information: ID:001 Name:ossec-agent IP Address:192.168.80.32 Confirm adding it?(y/n): Y Agent added. **************************************** * OSSEC HIDS v2.8 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: ossec-agent, IP: 192.168.80.32 Provide the ID of the agent to extract the key (or 'q' to quit): 001 Agent key information for '001' is: MDAxIG9zc2VjLWFnZW50IDE5Mi4xNjguODAuMzIgZTU4ZThhMWU3YTZjYzhhMzVlYmQwNDg1YWQxZjhkMGU2YTIxM2QyZGZjYjE3NTdmZDczMWJhYjEwM2FkZmUyNw== ** Press ENTER to return to the main menu.
客户的Key,用于后面的客户端的连接,需要记录保存。
2.9.6、 启动ossec服务端,到此安装完成
[root@vultr etc]# /var/ossec/bin/ossec-control start Starting OSSEC HIDS v2.8 (by Trend Micro Inc.)... Started ossec-dbd... 2019/04/05 19:59:01 ossec-maild: INFO: E-Mail notification disabled. Clean Exit. Started ossec-maild... Started ossec-execd... Started ossec-analysisd... Started ossec-logcollector... Started ossec-remoted... Started ossec-syscheckd... Started ossec-monitord... Completed.