0x01 前言
OSSEC是一款开源的多平台的入侵检测系统,可以运行于Windows, Linux, OpenBSD/FreeBSD, 以及 MacOS等操作系统中。包括了日志分析,全面检测,root-kit检测。网上能找到关于OSSEC的安装教程与详细使用并不多,本人实测,没有一个教程能完整照着文档的步骤安装成功吧。在安装过程中会存在许多坑等你来填。对于Linux并不是那么熟的人来说,OSSEC的安装并不容易,所以就有必要把OSSEC的安装教程重写一遍了。一是自己对OSSEC的安装做一个复习与总结,二也是希望能够帮助大家能快速上手这款功能强大的OSSEC入侵检测系统,毕竟商业版的IDS确定很贵的。大部分个人是无法承受的。
0x02 准备工作
服务端:
准备好:Centos6 64位(必须是Centos6 新机器)。
内存不小于: 1GB以上。
硬盘:20GB以上。
本次安装机器的IP:108.61.119.62
0x03 安装过程
3.1、关闭防火墙,因为ossec通信需要是用udp 514,1514端口等等端口对外,Agent才能上线。为了方便演示,咱们先直接关闭防火墙即可。
Centos 6关闭防火墙方式
- service iptables stop #临时关闭防火墙
- chkconfig iptables off #彻底关闭系统防火墙
- service iptables status #查看防火墙的状态
[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 ~]#
3.2、防火墙关闭好了后,接着安装一些必要的工具
- 如下应用: wget、gcc、make、mysql、mysql-server、mysql-devel、httpd、php、php-mysql、sendmail
使用以下命令一键快速安装::
yum install wget gcc make mysql mysql-server mysql-devel httpd php php-mysql sendmail
3.3、没有报错即相应软件包安装完成:
3.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
3.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的所有表进行插入、查询、修改、插入、删除的操作。
3.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/
3.7、使OSSEC支持Mysql
cd src; make setdb; cd ..
看到如下的信息说明可以正常支持MySQL:
3.8、正式安装OSSEC服务端
执行install.sh脚本,根据提示的选项填写,看我的:
OSSEC HIDS v2.8 安装脚本 - http://www.ossec.net
您将开始 OSSEC HIDS 的安装.
请确认在您的机器上已经正确安装了 C 编译器.
如果您有任何疑问或建议,请给 [email protected] (或 [email protected]) 发邮件.
- 系统类型: 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,
请通过 [email protected] 或邮件列表 [email protected] 联系我们.
( 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
3.9、启用数据库支持:
/var/ossec/bin/ossec-control enable database
3.9.1、然后导入MySQL表结构到MySQL中
mysql -uossec -p ossec < ./src/os_dbd/mysql.schema
3.9.2、修改部分配置文件的权限,否则会启动服务失败:
chmod u+w /var/ossec/etc/ossec.conf
3.9.3、然后我们编辑/var/ossec/etc/ossec.conf文件,在ossec_config中添加如下MySQL配置:
108.61.119.62
ossec
ossec
ossec
mysql
3.9.4、OSSEC支持接受远程机器的syslog,所以还需要对ossec.conf文件中的syslog部分进行配置,修改/var/ossec/etc/ossec.conf文件,按照下面的内容进行修改,把我们的客户端(Agent)的网段可以全添加进去:
syslog
192.168.0.0/16
3.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,用于后面的客户端的连接,需要记录保存。
3.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.