0


OSSEC搭建与环境配置Ubuntu

OSSEC入侵检测介绍

    OSSEC是一款开源的多平台基于主机的入侵检测系统,可以简称为HIDS。它具备日志分析,文件完整性检查,策略监控,rootkit检测,实时报警以及联动响应等功能。它支持多种操作系统:Linux、Windows、MacOS、Solaris、HP-UX、AIX。可以采用C/S模式来运行。客户机通过客户端程序将数据发回到服务器端进行分析。OSSEC默认具有一个ossec-logtest工具用于测试OSSEC的泛化及告警规则。该工具一般默认安装于目录 /var/ossec 中。

官方文档说明:Supported Systems — OSSEC

OSSEC官方主页:http://www.ossec.net

检测原理:

代理(agent)会使用1514端口发送日志给服务端(server),然后服务端分析这些日志并且整理到alerts.log文件。

尝试使用Ubuntu配置了OSSEC,碰见很多问题并解决了,发表博客让后来者不要踩那么多坑

环境 :

server :Ubuntu22.04 64位 内存4GB 处理器4 硬盘60G

agent: 1.Windows11 64位 2.Ubuntu22.04 64位

服务端配置

一、配置安装依赖项(server)

  1. OSSEC依赖包 & mysql 环境
sudo apt-get install build-essential make zlib1g-dev libpcre2-dev
sudo apt-get install mysql-server libmysqld-dev
sudo apt-get install libevent-dev
sudo apt-get install libsystemd-dev
sudo apt-get install libssl-dev
sudo apt install libsystemd-dev
  1. 安装Apache并配置防火墙
sudo apt update
sudo apt install apache2

确保防火墙允许HTTP和HTTPS流量。 可以检查UFW是否具有Apache的应用程序配置文件,如下所示

sudo ufw app list

查看Apache Full配置文件,它应该显示它启用到端口80和443流量:

sudo ufw app info "Apache Full"

允许此配置文件的传入HTTP和HTTPS流量:

sudo ufw allow in "Apache Full"
  1. 安装PHP
sudo apt install php libapache2-mod-php php-mysql

二、下载安装OSSEC

1、下载最新发行版 or 3.7.0版本

可以选择一个稳定的版本下载,我使用的是 3.7.0版本

git clone https://github.com/ossec/ossec-hids  下载最新版本

wget https://github.com/ossec/ossec-hids/archive/3.7.0.tar.gz  下载3.7.0版本
tar -zxvf 3.7.0.tar.gz

2、进入目录,运行install.sh

cd ossec-hids-3.7.0
sudo ./install.sh

3、开启OSSEC

 sudo /var/ossec/bin/ossec-control start

三、配置OSSEC

默认的OSSEC配置文件位于/var/ossec/etc/ossec.conf。

默认情况下,当一个新文件添加到服务器时,OSSEC不会发送电子邮件警告。

我们需要修改配置文件

nano /var/ossec/etc/ossec.conf

替换以下代码

<syscheck> 
    <!-- Frequency that syscheck is executed - default to every 22 hours --> 
    <frequency>79200</frequency> 

替换为:

<syscheck> 
    <!-- Frequency that syscheck is executed - default to every 60 seconds --> 
    <frequency>60</frequency> 
    <alert_new_files>yes</alert_new_files>

默认情况下,OSSEC不会发送实时警报。要启用此设置,请查找以下行

<!-- Directories to check (perform all possible verifications) --> 
<directories check_all="yes">/etc,/usr/bin,/usr/sbin</directories> 
<directories check_all="yes">/bin,/sbin</directories>

替换为:

<directories report_changes="yes" realtime="yes" check_all="yes">/etc,/usr/bin,/usr/sbin</directories> 
<directories report_changes="yes" realtime="yes" check_all="yes">/var/www,/bin,/sbin</directories>

完成后,保存 Ctrl+S 关闭Ctrl+X文件。

可以需要编辑规则文件local_rules.xml,并为添加到系统中的新文件添加规则。

nano /var/ossec/rules/local_rules.xml

之间添加以下规则部分:

<rule id="554" level="7" overwrite="yes"> 
    <category>ossec</category> 
    <decoded_as>syscheck_new_entry</decoded_as> 
    <description>File added to the system.</description> 
    <group>syscheck,</group> 
</rule>

保存文件。然后,重新启动OSSEC控制服务来应用所有更改

/var/ossec/bin/ossec-control restart

四、安装OSSEC Web UI

OSSEC HIDS有一个简单的WebUI界面,需要下载。这里有一个坑,如果下载原版本的UI在高php版本会出现无法出现控制页面的BUG,因为这个UI界面是在很早之前做的已经不支持高版本的PHP所以需要修改PHP源码或者是降低PHP版本。寻找到了一个修改后的UI版本

git clone https://github.com/ossec/ossec-wui.git   原版本
git clone https://github.com/H3L0Studios/Ossec-WUI-Fixed.git 修改后的版本
cd Ossec-WUI-Fixed
tar -zxvf ossec-wui.tar.gz 解压

把文件复制到Apache的目录

cp -r ossec-wui  /var/www/html/ossec

进入并开始安装

cd /var/www/html/ossec
sudo ./setup.sh

出现如下界面,设置好用户名密码即可:

设置管理员用户名/密码和Web服务器用户名:
trap: SIGHUP: bad trap

Setting up ossec ui...

Username: admin

New password: <ENTER PASSWORD>

Re-type new password:<CONFIRM PASSWORD>

Adding password for user admin@123

Enter your web server user name (e.g. apache, www, nobody, www-data, ...)

www-data

You must restart your web server after this setup is done.

Setup completed successfully.

启用Apache重写模块:

sudo a2enmod rewrite
sudo systemctl restart apache2

查看Apache运行状态:

sudo systemctl status apache2.service

在Web浏览器中打开http://IP/ossec 进入管理面板

(此处是加了agent后的图)

五、服务端添加代理端主机

1.进入配置环境

/var/ossec/bin/manage_agents
****************************************
* OSSEC HIDS v3.8.0 Agent manager.     *
* The following options are available: *
****************************************
   (A)dd an agent (A). 添加agent
   (E)xtract key for an agent (E). 导出agent的key
   (L)ist already added agents (L). 列出存在的已经添加的agent
   (R)emove an agent (R). 删除agent
   (Q)uit. 离开
Choose your action: A,E,L,R or Q: q
# 在出现的选择中选A,添加agent,分别给填写:
test   #自己取的名字
192.168.159.1   #agent服务器的IP
001            #自己规定的ID
/var/ossec/bin/manage_agents
# 在出现的选择中选E,在随后的提示里输入ID号:001
就能得到ID为001的agent主机的KEY

客户端配置

windows 客户端

Download OSSEC - OSSEC

进入官网下载agent客户端

下载安装,以管理员打开

填写服务端的IP和前面获得的key

成功连接

可以去UI界面查看 (截图不太一样因为第一次搞的时候翻车了)

Linux客户端

1.安装依赖包(与上面一样不过不需要安装apche和php

2.下载最新发行版 or 3.7.0版本

可以选择一个稳定的版本下载,我使用的是 3.7.0版本

git clone https://github.com/ossec/ossec-hids  下载最新版本

wget https://github.com/ossec/ossec-hids/archive/3.7.0.tar.gz  下载3.7.0版本
tar -zxvf 3.7.0.tar.gz

3.进入目录,运行install.sh

sudo ./install.sh

4.安装的时候选择agent 后输入服务端IP地址即可

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地址或主机名: 服务器的IP地址

   - 添加服务器IP  服务器的IP地址

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

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

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

   - rootkit检测将被部署.

  3.4 - 您希望开启联动(active response)功能吗? (y/n) [y]: y

开启OSSEC

 sudo /var/ossec/bin/ossec-control start

5.导入生成的KEY

/var/ossec/bin/manage_agents

将服务端生成的KEY,在客户端中导入

6.开启OSSEC

 sudo /var/ossec/bin/ossec-control start

注意要先导入key再启动不然会出现

ossec-syscheckd(1210): ERROR: Queue '/var/ossec/queue/ossec/queue' not accessible: 'Connection refused'.

成功导入Linux agent

问题解决

OSSEC Web UI 出现无法打开管理面板问题

前面已经提到了这里做个总结,下载原版本的UI在高php版本会出现无法出现控制页面的BUG,因为这个UI界面是在很早之前做的已经不支持高版本的PHP所以需要修改PHP源码或者是降低PHP版本。

添加agent连接不上的情况

添加的agent连不上可能的原因是1.网络不通,可以互相ping一下,或者是2.防火墙的问题,也可能是agent设置文件可以参考这篇使用文档

Agent systems behind NAT or with dynamic IPs (DHCP) — OSSEC

解决方法3: agent服务器的IP选择any 设置any表示,所有IP下的agent都可以连接。

# 在出现的选择中选A,添加agent,分别给填写:
test2   #自己取的名字
any     #agent服务器的IP
002            #自己规定的ID
/var/ossec/bin/manage_agents
# 在出现的选择中选E,在随后的提示里输入ID号:001
就能得到ID为002的agent主机的KEY
设置为any都可以连接上

如果都不是可以自行查阅日志发现问题

tail -n 100 /var/ossec/logs/ossec.log

Linux agent 导入KEY报错:manage_agents: ERROR: Cannot unlink /queue/rids/sender: No such file or directory

需要在rids下创建sender 文件

touch /var/ossec/queue/rids/sender

再进行导入KEY

/var/ossec/bin/manage_agents

参考文献

Ubuntu安装OSSEC和OSSEC Web UI_ubuntu安装ossec+-CSDN博客

标签: ubuntu linux 运维

本文转载自: https://blog.csdn.net/m0_62584974/article/details/142253887
版权归原作者 墨言ink 所有, 如有侵权,请联系我们删除。

“OSSEC搭建与环境配置Ubuntu”的评论:

还没有评论