OSSEC搭建与环境配置Ubuntu

news/2024/9/18 13:35:37/ 标签: ubuntu, linux, 运维

        尝试使用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.ppmy.cn/news/1525841.html

相关文章

计算机网络 第三章: 封装成桢和透明传输

文章目录 封装成帧透明传输习题解析 封装成帧 封装成帧是指数据链路层给上层交付下来的协议数据单元PDU添加一个首部和一个尾部&#xff0c;使之成为帧。 帧的首部和尾部中包含有一些 重要的控制信息。帧首部和尾部的作用之一就是帧定界。 接收方的数据链路层如何从物理层交付…

基于人工智能的智能家居语音控制系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 随着物联网&#xff08;IoT&#xff09;和人工智能技术的发展&#xff0c;智能家居语音控制系统已经成为现代家庭的一部分。通过语音控…

【自学笔记】支持向量机(1)

一些概念 支持向量机&#xff08;Support Vector Machine&#xff0c;简称SVM&#xff09;是一种广受欢迎的监督学习算法&#xff0c;主要用于分类和回归分析。在分类问题中&#xff0c;SVM的主要目标是在训练数据中找到一个超平面。这个超平面不仅能够准确地区分不同类别的样本…

使用C++实现一个支持基本消息传递的TCP客户端和服务器

使用C实现一个支持基本消息传递的TCP客户端和服务器 在网络编程中&#xff0c;TCP&#xff08;Transmission Control Protocol&#xff09;是一种常用的协议&#xff0c;用于在计算机之间建立可靠的连接。通过实现一个TCP客户端和服务器&#xff0c;可以深入理解TCP协议的工作…

干货 | Selenium+chrome自动批量下载地理空间数据云影像

1.背景介绍 1.1地理空间数据云 由中国科学院计算机网络信息中心科学数据中心成立的地理空间数据云平台是常见的下载空间数据的平台之一。其提供了较为完善的公开数据&#xff0c;如LANDSAT系列数据&#xff0c;MODIS的标准产品及其合成产品&#xff0c;DEM数据&#xff08;SR…

社交媒体的未来:Facebook如何通过AI技术引领潮流

在数字化时代的浪潮中&#xff0c;社交媒体平台不断演变&#xff0c;以适应用户需求和技术发展的变化。作为全球领先的社交媒体平台&#xff0c;Facebook在这一进程中扮演了重要角色。尤其是人工智能&#xff08;AI&#xff09;技术的应用&#xff0c;正在深刻地改变Facebook的…

HTTP反向代理教学:轻松实现代理IP的妙用

在当今互联网时代&#xff0c;代理IP已经成为了很多人上网必不可少的工具。无论是为了保护隐私&#xff0c;还是为了更好地管理网络流量&#xff0c;代理IP都能发挥重要作用。今天&#xff0c;我们就来聊聊HTTP反向代理这个神奇的东西&#xff0c;教你如何轻松实现代理IP的妙用…

[git] MacBook 安装git

文章目录 1.Mac Git 安装2. 开发者工具安装 CommandLineTools安装完成&#xff0c;错误解决 3. git 账户配置账户设置生成秘钥git 或者 gitee 仓库添加公钥查看全局账户命令多账户设置config文件测试连接clone到本地 1.Mac Git 安装 Mac一般自带Git工具&#xff0c;也就是说已…

4K投影仪选购全攻略:全玻璃镜头的当贝F6,画面细节纤毫毕现

在当今的投影市场上&#xff0c;4K投影仪已经成了主流产品&#xff0c;越来越多家庭开始关注如何选择一款性价比高、口碑好的4K投影仪。4K投影仪其实指的是具备3840*2160像素分辨率投影仪&#xff0c;它能够提供更清晰、更细腻、更真实的画面效果。 那么4K投影仪该怎么选&…

uniapp child.onFieldChange is not a function

uni-forms // 所有子组件参与校验,使用 for 可以使用 awiatfor (let i in childrens) {const child childrens[i];let name realName(child.name);if (typeof child.onFieldChange function) {const result await child.onFieldChange(tempFormData[name]);if (result) {…

EasyExcel拿表头(二级表头)爬坑,invokeHeadMap方法

OK&#xff0c;不废话&#xff0c;直接开干!说实话是有些坑&#xff0c;或者是我不会用吧 模板如下&#xff1a; invokeHeadMap 这个方法其实针对第一行就是表头的完全没问题。针对第二行的&#xff0c;我DEBUG拿到的是这样很明显&#xff0c;他拿到了第一行&#xff1b;既然…

python知识点100篇系列(17)-替换requests的python库httpx

Requests 是使用 Apache2 Licensed 许可证的 基于Python开发的HTTP 库,其在Python内置模块的基础上进行了高度的封装,使用Requests可以轻而易举的完成浏览器可有的任何操作。 但是在python3.6之后,出现了一个requests的替代选项; httpx httpx是Python新一代的网络请求库…

【期末复习】软件项目管理

前言&#xff1a; 关于软件项目管理这一科目的重要期末考点&#xff0c;希望对你有帮助。 目录 质量管理可能遇到的问题 软件项目质量管理 软件项目风险管理 进度 题1 题2 题3 成本 题1 题2 题3 质量管理可能遇到的问题 (1)没有制定质量管理计划&#xff1a; (2)…

【STM32】外部中断

当程序正常运行执行main函数&#xff0c;此时如果外部中断来了&#xff0c;执行外部中断函数&#xff0c;实现相应的功能&#xff0c;然后就可以回到main. 一般stm32芯片每个引脚都有自己的外部中断&#xff0c;但是为了限制&#xff0c;会有一个中断线&#xff0c;对应一个中断…

每天五分钟玩转深度学习PyTorch:模型参数优化器torch.optim

本文重点 在机器学习或者深度学习中,我们需要通过修改参数使得损失函数最小化(或最大化),优化算法就是一种调整模型参数更新的策略。在pytorch中定义了优化器optim,我们可以使用它调用封装好的优化算法,然后传递给它神经网络模型参数,就可以对模型进行优化。本文是学习第…

谷歌-BERT-“bert-base-chinese ”

1 需求 2 接口 3 示例 4 参考资料 在Hugging Face上下载并使用Bert-base-Chinese_bert-base-chinese下载-CSDN博客 3 文本分类入门finetune&#xff1a;bert-base-chinese-CSDN博客 4如何对BERT 微调-案例_tokenizer input max length: 1000000000000000019884-CSDN博客 基…

什么是国企和央企

央企和国企是中国经济体系中的两种重要企业类型&#xff0c;它们都是国有企业的一部分&#xff0c;但在管理层级和职能上有所不同。 1. 央企&#xff08;中央企业&#xff09; 央企全称为中央直属企业&#xff0c;是指直接由中国国务院国有资产监督管理委员会&#xff08;国资…

健身管理|基于java的健身管理系统小程序(源码+数据库+文档)

健身管理系统|健身管理系统小程序 目录 基于java的健身管理系统小程序 一、前言 二、系统设计 三、系统功能设计 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 博主介绍&#xff1a;✌️大厂码农|毕设布道师&…

工作流技术(WorkFlow)

什么是工作流 1.使用编程语言完成一套固定的审批流程 例如请假审批流程 订单配送流程 入职&#xff0c;辞职审批流程 2.使用场景 业务类&#xff1a;合同审批流程、订单处理流程、出入库审批流程等。 行政类&#xff1a;请假流程、出差流程、用车流程、办公用品申请流程…

上海亚商投顾:沪指探底回升 华为产业链午后爆发

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 一.市场情绪 沪指昨日探底回升&#xff0c;深成指、创业板指盘中跌逾1%&#xff0c;午后集体拉升翻红。华为产业链午后走强…