当前位置: 首页 > news >正文

OSSEC搭建与环境配置Ubuntu

        尝试使用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

2. 安装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"

 3. 安装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 trapSetting up ossec ui...Username: adminNew password: <ENTER PASSWORD>Re-type new password:<CONFIRM PASSWORD>Adding password for user admin@123Enter your web server user name (e.g. apache, www, nobody, www-data, ...)www-dataYou 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

# 在出现的选择中选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博客

http://www.lryc.cn/news/443049.html

相关文章:

  • 【RabbitMQ】消息分发、事务
  • mysql mha高可用集群搭建
  • 如何解决“json schema validation error ”错误? -- HarmonyOS自学6
  • 基于Jeecg-boot开发系统--后端篇
  • Spring Boot实战:使用@Import进行业务模块自动化装配
  • Golang | Leetcode Golang题解之第415题字符串相加
  • 5. 数字证书与公钥基础设施
  • Centos中关闭swap分区,关闭内存交换
  • leetcode练习 二叉树的最大深度
  • Scrapy爬虫框架 Items 数据项
  • weblogic CVE-2018-2894 靶场攻略
  • 百易云资产管理运营系统 ticket.edit.php SQL注入漏洞复现
  • C++(2)进阶语法
  • 解决Hive乱码问题
  • Streamlit:使用 Python 快速开发 Web 应用
  • C#基础(11)函数重载
  • 堆栈指针寄存器SP的初值是多少?执行PUSH AX命令后,SP的值是多少?执行POP BX后,SP的值是多少?为什么答案给的是200,202,200。
  • python爬虫初体验(二)
  • 细说渗透测试:阶段、流程、工具和自动化开源方案
  • redis 十大应用场景
  • 信息安全数学基础(15)欧拉定理
  • sar(1) command
  • 掌握 JavaScript 中的函数表达式
  • OpenGL 原生库6 坐标系统
  • LabVIEW提高开发效率技巧----VI服务器和动态调用
  • 求1000以内所有恰好能分解成10组两个素数之和
  • Webpack 和 Vite 的区别
  • C++——初步认识C++和namespace的用法
  • LeetCode118:杨辉三角
  • 介绍一下大模型或者多模态?