当前位置: 首页 > 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博客

相关文章:

OSSEC搭建与环境配置Ubuntu

尝试使用Ubuntu配置了OSSEC&#xff0c;碰见很多问题并解决了&#xff0c;发表博客让后来者不要踩那么多坑 环境 &#xff1a; server &#xff1a;Ubuntu22.04 64位 内存4GB 处理器4 硬盘60G agent: 1.Windows11 64位 2.Ubuntu22.04 64位 服务端配置 一、配置安装依赖项&…...

【RabbitMQ】消息分发、事务

消息分发 概念 RabbitMQ队列拥有多个消费者时&#xff0c;队列会把收到的消息分派给不同的消费者。每条消息只会发送给订阅该队列订阅列表里的一个消费者。这种方式非常适合扩展&#xff0c;如果现在负载加重&#xff0c;那么只需要创建更多的消费者来消费处理消息即可。 默…...

mysql mha高可用集群搭建

文章目录 mha集群搭建主从从部署基本环境准备安装mysql主从配置 mha部署故障修复 搭建完成 mha集群搭建 在 MySQL 高可用架构中&#xff0c;MHA&#xff08;Master High Availability&#xff09;通常采用一主多从的架构。 MHA 可以提供主从复制架构的自动 master failover 功…...

如何解决“json schema validation error ”错误? -- HarmonyOS自学6

一. 问题描述 DevEco Studio工程关闭后&#xff0c;再重新打开时&#xff0c;出现了如下错误提示&#xff1a; json schema validation error 原因&#xff1a; index.visual或其他visual文件中的left等字段的值为负数时&#xff0c;不能以”-0.x“开头&#xff0c;否则就会…...

基于Jeecg-boot开发系统--后端篇

背景 Jeecg-boot是一个后台管理系统&#xff0c;其提供能很多基础的功能&#xff0c;我希望在不修改jeecg-boot代码的前提下增加自己的功能。经过几天的折腾终于搞定了。 首先是基于jeecg-boot微服务的方式来扩展的&#xff0c;jeecg-boot微服务本身的搭建过程就不讲了&#x…...

Spring Boot实战:使用@Import进行业务模块自动化装配

案例背景&#xff1a; 假设我们正在开发一个电子商务平台&#xff0c;该平台需要处理大量的订单数据。为了简化订单处理服务的配置&#xff0c;我们可以利用Import注解来自动注册一些常用的工具类和服务组件。 业务场景描述&#xff1a; 我们需要一个服务来处理订单的创建、…...

Golang | Leetcode Golang题解之第415题字符串相加

题目&#xff1a; 题解&#xff1a; func addStrings(num1 string, num2 string) string {add : 0ans : ""for i, j : len(num1) - 1, len(num2) - 1; i > 0 || j > 0 || add ! 0; i, j i - 1, j - 1 {var x, y intif i > 0 {x int(num1[i] - 0)}if j &g…...

5. 数字证书与公钥基础设施

5. 数字证书与公钥基础设施 (1) PKI 的定义、组成及应用 PKI(Public Key Infrastructure,公钥基础设施) 是一个使用公钥技术来提供安全服务的框架。它定义了如何管理和维护公钥,以及如何通过证书来验证公钥的真实性。PKI的核心组成部分包括: 证书颁发机构(CA, Certifica…...

Centos中关闭swap分区,关闭内存交换

概述&#xff1a; Swap 分区是 Linux 系统中扩展物理内存的一种机制。Swap的主要功能是当全部的RAM被占用并需要更多内存时&#xff0c;用磁盘空间代理RAM内存。Swap对虚拟化技术资源损耗非常大&#xff0c;一般虚拟化是不允许开启交换空间的&#xff0c;如果不关闭Swap&…...

leetcode练习 二叉树的最大深度

给定一个二叉树 root &#xff0c;返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;3提示&#xff1a; 树中节点的数量在 [0, 104] 区间内。-100 …...

Scrapy爬虫框架 Items 数据项

在数据抓取和网络爬虫的开发中,Scrapy 框架以其强大的功能和灵活性,成为了开发者首选的工具之一。在一个典型的 Scrapy 项目中,数据项(Items)的定义、Spider 的应用,以及如何使用 ItemLoader 来加载和处理数据,都是开发过程中至关重要的环节。 本教程将分为几个主要部分…...

weblogic CVE-2018-2894 靶场攻略

漏洞描述 Weblogic Web Service Test Page中⼀处任意⽂件上传漏洞&#xff0c;Web Service Test Page 在 "⽣产模式"下默认不开启&#xff0c;所以该漏洞有⼀定限制。 漏洞版本 weblogic 10.3.6.0 weblogic 12.1.3.0 weblogic 12.2.1.2 28 weblogic 12.2.1.3 …...

百易云资产管理运营系统 ticket.edit.php SQL注入漏洞复现

0x01 产品简介 百易云资产管理运营系统,是专门针对企业不动产资产管理和运营需求而设计的一套综合解决方案。该系统能够覆盖资产的全生命周期管理,包括资产的登记、盘点、评估、处置等多个环节,同时提供强大的运营分析功能,帮助企业优化资产配置,提升运营效率。 0x02 漏…...

C++(2)进阶语法

C(2)之进阶语法 Author: Once Day Date: 2024年9月20日 一位热衷于Linux学习和开发的菜鸟&#xff0c;试图谱写一场冒险之旅&#xff0c;也许终点只是一场白日梦… 漫漫长路&#xff0c;有人对你微笑过嘛… 全系列文章可参考专栏: 源码分析_Once-Day的博客-CSDN博客 参考文…...

解决Hive乱码问题

在插入数据后&#xff0c;发现hive乱码 原因&#xff1a;Hive默认将存储表结构的元数据列编码设置为latin1&#xff0c;不支持中文 解决方法&#xff1a;在MySQL中修改对应Hive元数据列的编码 先查看mysql的所有字符集编码 1、先修改my.cnf 代码如下&#xff1a; vim /etc/…...

Streamlit:使用 Python 快速开发 Web 应用

一、简单介绍 Streamlit 是一个开源 Python 库&#xff0c;官网地址&#xff1a; https://streamlit.io/http://StreamlitStreamlit 是一个开源的 Python 框架&#xff0c;旨在为数据科学家和 后端工程师们提供只需几行代码即可创建动态数据应用的功能。 让没有任何前端基础…...

C#基础(11)函数重载

前言 前面我们已经完成了ref和out补充知识点的学习&#xff0c;以及函数参数相关的学习&#xff0c;今天便再次为函数补充一个知识点&#xff1a;函数重载。 函数重载是指在同一个作用域中&#xff0c;可以有多个同名函数&#xff0c;但参数列表不同。它的发展可以追溯到早期…...

堆栈指针寄存器SP的初值是多少?执行PUSH AX命令后,SP的值是多少?执行POP BX后,SP的值是多少?为什么答案给的是200,202,200。

欢迎来到我的技术博客&#xff01; &#x1f389; 这里不仅有满满的编程干货和学习资源&#xff0c;我的某站账号也为你准备了更多实用的技术视频和知识分享。 &#x1f449; 点击关注我的小破站账号&#xff0c;获取更多编程技巧和学习资源&#xff01; 小破站主页 例题 ST…...

python爬虫初体验(二)

在Python中&#xff0c;每个模块都有一个内置的变量 name&#xff0c;用于表示当前模块的名称。当一个Python文件被执行时&#xff0c;Python解释器会首先将该文件作为一个模块导入&#xff0c;并执行其中的代码。此时&#xff0c;__name__的值为模块的名称。 作用 模块可被导…...

细说渗透测试:阶段、流程、工具和自动化开源方案

不知有多少“曾梦想仗剑走天涯”的网络与信息安全从业者&#xff0c;是因为渗透测试的初心而步入这个行业的。不过&#xff0c;您是否对渗透测试及其漏洞扫描的相关概念感到既熟悉又陌生呢&#xff1f;您是否觉得自己还停留在从工作实践中积累的感性认识呢&#xff1f;下面&…...

Vite 双引擎架构 —— Esbuild 概念篇

Vite 底层采用 双引擎架构&#xff0c;核心构建引擎是 Esbuild 和 Rollup&#xff0c;二者在开发和生产环境中分工协作&#xff0c;共同实现高性能构建。不可否认&#xff0c;作为 Vite 的双引擎之一&#xff0c;Esbuild 在很多关键的构建阶段(如依赖预编译、TS 语法转译、代码…...

Redis知识体系

1. 概述 本文总结了Redis基本的核心知识体系&#xff0c;在学习Redis的过程中&#xff0c;可以将其作为学习框架&#xff0c;以此更好的从整体的角度去理解和学习Redis的内容和设计思想。同时知识框架带来的好处是可以帮助我们更好的进行记忆&#xff0c;在大脑中形成相应的知识…...

《校园生活平台从 0 到 1 的搭建》第一篇:创建项目与构建目录结构

在本系列第一篇中&#xff0c;我们将从项目初始化开始&#xff0c;搭建基本的目录结构&#xff0c;并完成四个主页面的创建与 TabBar 设置。 &#xff08;tip&#xff1a;你可能会觉得有点 ai 化&#xff0c;因为这个文案是我自己写了一遍文案之后让 ai 去优化输出的&#xff0…...

【知识扫盲】分布式系统架构或分布式服务中的管理面,数据面和业务面

&#x1f9e9; 一、三大“面”的定义与职责&#xff08;以大模型推理平台为例&#xff09; 层级英文名职责关键组件举例数据面Data Plane处理用户请求、模型推理、输入输出数据转换等核心任务模型服务引擎、Tokenizer/Detokenizer、推理加速器&#xff08;TensorRT、ONNX Runt…...

数学:”度量空间”了解一下?

度量空间是现代数学中一种基本且重要的抽象空间。以下是对它的详细介绍&#xff1a; 定义 相关概念 常见的度量空间举例 度量空间的类型 度量空间的作用 度量空间是拓扑空间的一种特殊情况&#xff0c;它为拓扑空间的研究提供了具体的模型和实例。同时&#xff0c;度量空间在…...

02.管理数据库

管理数据库 1. 创建数据库 mysql> create database db1; Query OK, 1 row affected (0.01 sec)mysql> show databases; -------------------- | Database | -------------------- | db1 | | hellodb | | information_schema | | m…...

Codeforces Educational 179(ABCDE)

前言 byd这组题纯靠感觉是吧…^_^ b题赛时举了无数个例子都没想明白&#xff0c;然后一直卡到结束&#xff0c;后面题都没看到&#xff0c;结果补题的时候c题d题直接秒了…-_-|| A. Energy Crystals #include <bits/stdc.h> using namespace std;typedef long long …...

Orthanc:轻量级PACS服务器与DICOMweb支持的技术详解

🧑 博主简介:CSDN博客专家、CSDN平台优质创作者,高级开发工程师,数学专业,10年以上C/C++, C#, Java等多种编程语言开发经验,拥有高级工程师证书;擅长C/C++、C#等开发语言,熟悉Java常用开发技术,能熟练应用常用数据库SQL server,Oracle,mysql,postgresql等进行开发应用…...

3 个优质的终端 GitHub 开源工具

1、Oh My Zsh Oh My Zsh 是一个帮助你管理和美化 zsh 终端的开源工具。它让你的终端更炫酷、更高效。安装后&#xff0c;你可以快速使用各种插件和主题&#xff0c;比如常见的 git 命令简化、支持多种编程语言工具等&#xff0c;每次打开终端都会有惊喜。无论你是开发者还是普…...

从零开始制作小程序简单概述

以下是结合案例的“从零制作小红书风格小程序”的全流程指南&#xff0c;采用小红书爆款笔记的结构呈现&#xff0c;并附CSDN参考资源&#x1f447;&#xff1a; 一、核心开发步骤&#xff08;附工具推荐&#xff09; 账号与定位 ✅ 注册类型选择&#xff1a;个人店&#xff08…...