OSSEC搭建部署(ossec-server(CentOS7.X)和ossec-agent(CentOS7.X))

2026-05-17 07:38:2081 阅读量

OSSEC是一款开源的基于主机的入侵检测系统,可以简称为HIDS。它具备日志分析,文件完整性检查,策略监控,rootkit检测,实时报警以及联动响应等功能。它支持多种操作系统:Linux、Windows、MacOS、Solaris、HP-UX、AIX。属于企业安全之利器。

相关服务:日本服务器

环境:
两台centos 7虚拟机
服务端:192.168.1.160
客户端:192.168.1.165

第一步: 前提环境准备(在ossec-server端)
关闭selinux,找到SELINUX这一行,修改为disabled

[root@localhost ~]# vim /etc/selinux/config
SELINUX=disabled

关闭防火墙

[root@localhost ~]# systemctl stop firewalld        //关闭防火墙
[root@localhost ~]# systemctl disable firewalld     //关闭开机自启

接着安装需要用到的关联库和软件,由于我们最终是需要把日志导入到MySQL中进行分析,以及需要通过web程序对报警结果进行展示,同时需要把本机当做SMTP,所以需要在本机安装MySQL、Apache和sendmail服务。

[root@localhost ~]# yum install wget gcc make mariadb mariadb-server mysql-devel httpd php php-mysql sendmail

注意:这里我安装的是mariadb,用着跟mysql没有太大区别。

启动httpd,mysqld,sendmail服务

[root@localhost ~]# systemctl start httpd mariadb sendmail
[root@localhost ~]# systemctl enable httpd mariadb sendmail

接着创建数据库以方便我们下面的安装配置,连接到本机的MySQL。

[root@localhost ~]# mysql -uroot -p
MariaDB [(none)]> create database ossec;
MariaDB [(none)]> grant all on ossec.* to ossec@'%' identified by 'ossec';
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit

第二步:服务器ossec-server安装
首先通过官网的链接下载ossec-hids-2.8.1.tar.gz 的服务端源码包,然后将源码包上传到服务器,并进行解压。
在这里插入图片描述

[root@localhost ~]# tar -zxvf ossec-hids-2.8.1.tar.gz
[root@localhost ~]# cd ossec-hids-2.8.1/

为了使OSSEC支持MySQL,需要在安装前执行make setdb命令

[root@localhost ossec-hids-2.8.1]# cd src/
[root@localhost src]# make setdb
[root@localhost src]# cd ..

如果看到如下提示,说明支持mysql
Info: Compiled with MySQL support.

接着进入安装步骤,执行install.sh脚本,根据信息填写,红色部分是我们要输入的。

[root@localhost ossec-hids-2.8.1]# ./install.sh
which: no host in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)

** Para instalação em português, escolha [br].
** 要使用中文进行安装, 请选择 [cn].
** Fur eine deutsche Installation wohlen Sie [de].
** Για εγκατάσταση στα Ελληνικά, επιλέξτε [el].
** For installation in English, choose [en].
** Para instalar en Español , eliga [es].
** Pour une installation en français, choisissez [fr]
** A Magyar nyelvű telepítéshez válassza [hu].
** Per l’installazione in Italiano, scegli [it].
** 日本語でインストールします.選択して下さい.[jp].
** Voor installatie in het Nederlands, kies [nl].
** Aby instalować w języku Polskim, wybierz [pl].
** Для инструкций по установке на русском ,введите [ru].
** Za instalaciju na srpskom, izaberi [sr].
** Türkçe kurulum için seçin [tr].
(en/br/cn/de/el/es/fr/hu/it/jp/nl/pl/ru/sr/tr) [en]:cn

您将开始 OSSEC HIDS 的安装.
请确认在您的机器上已经正确安装了 C 编译器.
如果您有任何疑问或建议,请给 [email protected] (或 [email protected]) 发邮件.
– 按 ENTER 继续或 Ctrl-C 退出. –
我们按ENTER键继续

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]:y

  • 请输入您的 e-mail 地址? **@**.com
  • 请输入您的 SMTP 服务器IP或主机名 ? 127.0.0.1

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]:y

  • 关联响应已开启

  • 默认情况下, 我们开启了主机拒绝和防火墙拒绝两种响应.
    第一种情况将添加一个主机到 /etc/hosts.deny.
    第二种情况将在iptables(linux)或ipfilter(Solaris,
    FreeBSD 或 NetBSD)中拒绝该主机的访问.

  • 该功能可以用以阻止 SSHD 暴力攻击, 端口扫描和其他
    一些形式的攻击. 同样你也可以将他们添加到其他地方,
    例如将他们添加为 snort 的事件.

  • 您希望开启防火墙联动(firewall-drop)功能吗? (y/n) [y]:y

  • 防火墙联动(firewall-drop)当事件级别 >= 6 时被启动

  • 联动功能默认的白名单是:

    • 192.168.64.2
  • 您希望添加更多的IP到白名单吗? (y/n)? [n]:y

  • 请输入IP (用空格进行分隔): 192.168.1.160

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 以继续 —

5- 正在安装系统

  • 正在运行Makefile
    INFO: Little endian set.

*** Making zlib (by Jean-loup Gailly and Mark Adler) ***
make[1]: 进入目录“/root/ossec-hids-2.8.1/src/external”
cd zlib-1.2.8/; ./configure; make libz.a;
…

  • 系统类型是 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 结束安装 (下面可能有更多信息). —

如果出现如上内容,说明ossec-server安装成功.

第三步 : 服务器ossec-server配置
执行下面命令启用数据库支持:

[root@localhost ~]# /var/ossec/bin/ossec-control enable database

然后导入MySQL表结构到MySQL中:

[root@localhost ossec-hids-2.8.1]# mysql -uroot -p ossec < ./src/os_dbd/mysql.schema
Enter password:

修改部分配置文件的权限,否则会启动服务失败:

[root@localhost ossec-hids-2.8.1]# chmod u+w /var/ossec/etc/ossec.conf

然后我们编辑ossec.conf文件,在ossec_config中添加MySQL配置:

[root@localhost ossec-hids-2.8.1]# vim /var/ossec/etc/ossec.conf
<ossec_config>
    <database_output>
        <hostname>192.168.1.160</hostname>
        <username>ossec</username>
        <password>ossec</password>
        <database>ossec</database>
        <type>mysql</type>
    </database_output>
</ossec_config>

由于我们在前面的安装过程中支持接受远程机器的syslog,所以我们还需要对ossec.conf文件中的syslog部分进行配置,修改ossec.conf文件

 <remote>
    <connection>syslog</connection>
    <allowed-ips>192.168.0.0/16</allowed-ips>
  </remote>

配置完成后保存退出

现在可以启动ossec服务端了

[root@localhost ossec-hids-2.8.1]# /var/ossec/bin/ossec-control start
Starting OSSEC HIDS v2.8 (by Trend Micro Inc.)...
Started ossec-dbd...
Started ossec-maild...
Started ossec-execd...
Started ossec-analysisd...
Started ossec-logcollector...
Started ossec-remoted...
Started ossec-syscheckd...
Started ossec-monitord...
Completed.

出现如上信息说明启动成功。

第四步 : 客户端ossec-agent安装
ossec的服务端和客户端是同一个源码包,所以在客户端上上传源码包ossec-hids-2.8.1.tar.gz,并且解压安装,如下。

[root@localhost ~]# tar zxvf ossec-hids-2.8.1.tar.gz
[root@localhost ~]# cd ossec-hids-2.8.1/
[root@localhost ossec-hids-2.8.1]# ./install.sh

which: no host in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)

** Para instalação em português, escolha [br].
** 要使用中文进行安装, 请选择 [cn].
** Fur eine deutsche Installation wohlen Sie [de].
** Για εγκατάσταση στα Ελληνικά, επιλέξτε [el].
** For installation in English, choose [en].
** Para instalar en Español , eliga [es].
** Pour une installation en français, choisissez [fr]
** A Magyar nyelvű telepítéshez válassza [hu].
** Per l’installazione in Italiano, scegli [it].
** 日本語でインストールします.選択して下さい.[jp].
** Voor installatie in het Nederlands, kies [nl].
** Aby instalować w języku Polskim, wybierz [pl].
** Для инструкций по установке на русском ,введите [ru].
** Za instalaciju na srpskom, izaberi [sr].
** Türkçe kurulum için seçin [tr].
(en/br/cn/de/el/es/fr/hu/it/jp/nl/pl/ru/sr/tr) [en]:cn
OSSEC HIDS v2.8 安装脚本 - http://www.ossec.net

您将开始 OSSEC HIDS 的安装.
请确认在您的机器上已经正确安装了 C 编译器.
如果您有任何疑问或建议,请给 [email protected] (或 [email protected]) 发邮件.

  • 系统类型: Linux localhost.localdomain 3.10.0-1160.el7.x86_64
  • 用户: root
  • 主机: localhost.localdomain

– 按 ENTER 继续或 Ctrl-C 退出. –
按ENTER键继续
1- 您希望哪一种安装 (server, agent, local or help)? agent

  • 选择了 Agent(client) 类型的安装.

2- 正在初始化安装环境.

  • 请选择 OSSEC HIDS 的安装路径 [/var/ossec]:/var/ossec
  • OSSEC HIDS 将安装在 /var/ossec .

3- 正在配置 OSSEC HIDS.

3.1- 请输入 OSSEC HIDS 服务器的IP地址或主机名:192.168.1.160

  • 添加服务器IP 192.168.1.160

3.2- 您希望运行系统完整性检测模块吗? (y/n) [y]:y

  • 系统完整性检测模块将被部署.

3.3- 您希望运行 rootkit检测吗? (y/n) [y]:y

  • rootkit检测将被部署.

3.4 - 您希望开启联动(active response)功能吗? (y/n) [y]:y
3.5- 设置配置文件以分析一下日志:
– /var/log/messages
– /var/log/secure
– /var/log/maillog

-如果你希望监控其他文件, 只需要在配置文件ossec.conf中
添加新的一项.
任何关于配置的疑问您都可以在 http://www.ossec.net 找到答案.

— 按 ENTER 以继续 —

按ENTER键继续

5- 正在安装系统

  • 正在运行Makefile
    INFO: Little endian set.
    。。。。。。。。。。。。。。。。。。。。

  • 系统类型是 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 结束安装 (下面可能有更多信息). —

如出现如上信息,说明agent安装成功

第五步:配置ossec-agent客户端
由于
首先在ossec-server端添加一个客户端,执行如下命令。如下命令在ossec-server服务端操作。

[root@localhost ~]# /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).
®emove an agent ®.
(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.1.165
* An ID for the new agent[001]:001
Agent information:
ID:001
Name:ossec-agent
IP Address:192.168.1.165

Confirm adding it?(y/n):y
Agent added.

接着将key记录记下来,等会儿会用到

程序会重新进入到第一次的界面,我们到处刚才添加客户端的key,用于客户端连接到服务端。
****************************************
* 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).
®emove an agent ®.
(Q)uit.
Choose your action: A,E,L,R or Q:E
Available agents:
ID: 001, Name: ossec-agent, IP: 192.168.1.165
Provide the ID of the agent to extract the key (or ‘\q’ to quit):001

Agent key information for ‘001’ is:
MDAxIG9zc2VjLWFnZW50IDE5Mi4xNjguMS4xNjUgYmFiM2VkYmJmMjYzMGY5OThlMTgzNmUwOGVhZDFhZWY5OWU1NGRmN2Q5ZGYzYTdlZjQ0NjMwMjQ3YzE1YmNmZg==

** Press ENTER to return to the main menu.

现在,可以对客户端进行配置了。如下命令在ossec-agent客户端操作。

[root@localhost ~]# /var/ossec/bin/manage_agents

****************************************
* OSSEC HIDS v2.8 Agent manager. *
* The following options are available: *
****************************************
(I)mport key from the server (I).
(Q)uit.
Choose your action: I or Q:I
* Provide the Key generated by the server.
* The best approach is to cut and paste it.
*** OBS: Do not include spaces or new lines.

Paste it here (or ‘\q’ to quit):MDAxIG9zc2VjLWFnZW50IDE5Mi4xNjguMS4xNjUgYmFiM2VkYmJmMjYzMGY5OThlMTgzNmUwOGVhZDFhZWY5OWU1NGRmN2Q5ZGYzYTdlZjQ0NjMwMjQ3YzE1YmNmZg==

Agent information:
ID:001
Name:ossec-agent
IP Address:192.168.1.165

Confirm adding it?(y/n):y
Added.
** Press ENTER to return to the main menu.

最后启动ossec-agent客户端

[root@localhost ~]# /var/ossec/bin/ossec-control start

Starting OSSEC HIDS v2.8 (by Trend Micro Inc.)…
Started ossec-execd…
2022/03/20 19:59:08 ossec-agentd: INFO: Using notify time: 600 and max time to reconnect: 1800
Started ossec-agentd…
Started ossec-logcollector…
Started ossec-syscheckd…
Completed.
出现如上信息说明启动成功

第六步 : 为ossec-server安装第三方的web界面(analogi)

[root@localhost ~]# wget https://github.com/ECSC/analogi/archive/master.zip
下载可能会失败,多尝试几次。
[root@localhost ~]# unzip master.zip
[root@localhost ~]# mv analogi-master/ /var/www/html/analogi
[root@localhost ~]# cd /var/www/html/
[root@localhost html]# chown -R apache:apache analogi/
[root@localhost html]# cd analogi/
[root@localhost analogi]# cp db_ossec.php.new db_ossec.php

编辑db_ossec.php文件,修改MySQL的配置信息:

[root@localhost analogi]# vim db_ossec.php
define ('DB_USER_O', 'root');
define ('DB_PASSWORD_O', 'root');
define ('DB_HOST_O', '127.0.0.1');
define ('DB_NAME_O', 'ossec');

修改 apache 配置,增加虚拟目录

[root@localhost analogi]# vim /etc/httpd/conf.d/analogi.conf

添加如下内容

<Directory /var/www/html/analogi>
    Order deny,allow
    Deny from all
    Allow from 192.168.0.0/16
</Directory>

现在重启apache服务

[root@localhost analogi]# systemctl restart httpd

现在访问http://192.168.1.160/analogi
在这里插入图片描述
第七步 : 为ossec-server安装第三方的web界面(ossec-wui )
https://github.com/ossec/ossec-wui/releases
在这里插入图片描述
下载到本机,然后上传到虚拟机,把它解压到/var/www/html/目录下。

[root@localhost ~]# cd /var/www/html/
[root@localhost html]# cp -rf /root/ossec-wui-0.9 ./
[root@localhost html]# mv ossec-wui-0.9/ ossec
[root@localhost html]# cd ossec/
[root@localhost ossec]# ./setup.sh

红色部分为输入部分

Setting up ossec ui…

Username: ossec
Enter your web server user name (e.g. apache, www, nobody, www-data, …)
apache
You must restart your web server after this setup is done.

Setup completed successfully.
[root@localhost ossec]#

再修改 apache 配置,增加虚拟目录

[root@localhost ossec]# vim /etc/httpd/conf.d/ossec.conf
Alias /ossec/ "/var/www/html/ossec/"

<Directory /var/ www/ html/ossec>
        Order deny,allow
        Deny from all
        Allow from 192.168.0.0/24

        Options FollowSymLinks
        AllowOverride None
        Order deny,allow
        allow from all

        Options -MultiViews
        AuthName "OSSEC AUTH"
        AuthType Basic
        AuthUserFile /var/www/html/ossec/.htpasswd
        Require valid-user
</Directory>
[root@localhost ossec]# cd /etc/httpd/conf.d/
[root@localhost conf.d]# chown apache:apache *
[root@localhost conf.d]# systemctl restart httpd

访问http://192.168.1.160/ossec
在这里插入图片描述
至此,环境已搭建完成。后续可以通过web界面来进行日志分析,流量管理等。

对于安装过程中遇到的一些问题,我后续会更新在这篇博客下面。当然,如果有什么地方写的不清楚的,欢迎在下面留言,我看到了会回复。

问题汇总:
1.由于ossec需要用到mysql数据库,但是直接yum -y install mysql会报错,因为yum源里没有可用的安装包,此时,我们就安装Mariadb,是mysql的替代品。
2.安装好后需要对数据库进行改密码,默认没有密码
改密码mysqladmin -uroot password “new_pass”;
改好密码后进行登陆,并创建一个ossec数据库,给数据库一个权限,等下我们配置ossec时需要用到这里设置的用户和密码。
3.对于一些文件的权限一定要授予,否则会出现访问不了页面等状况,例:出现403错误。
4.apache 配置,这个一定要配置正确,里面的规则和IP要设置正确,否则会出现如上错误。
5.对于某些有错误的,欢迎指正。
已更新。已更新。已更新。

本文地址:https://www.limyvps.com/news/26_41990.html