ossec

为了学习入基于主机的侵检测系统的监控策略和监控内容,所以想自己部署一个HIDS来学习学习。在Google上一顿乱搞之后,点进了ossec的官网,看到映入眼帘的这几个大字,当即决定就是它了,出来吧ossec!!!

部署环境

docker+windowsR2

  • 服务端部署在docker内
  • 客户端部署在windows2008R2中

部署过程

在这里只记录一下部署ossec遇到的坑(以备日后查看),不讲部署的过程,部署过程我参考的:

  1. OSSEC安全监控环境搭建(docker+yum)安装
  2. 全网最详细的最新稳定OSSEC搭建部署(ossec-server(CentOS6.X /
    7.X)和ossec-agent(Windows7 / 8 / 10))(图文详解)
  3. OSSEC文件监控(SYSCHECK)
    教程1中所采用的镜像是docker pull xetusoss/ossec-server,是2.83版本的ossec镜像,我第一次安装也是采用了这个镜像,问题不断,后面换成docker pull atomicorp/ossec-docker,这个镜像的版本是最新的,但是是无法启用数据库。

踩坑

报错的日志信息在删除容器时,我顺便也给删除了(后悔了),只能口述报错了

(1)数据库报错

  1. ossec新旧版本数据库发生了变化,ossec3.0以上的版本比2.8的版本少了一张data表,我用3.0版本提供的数据库表时一直会报错,少一个数据表。此外,我第一次用的是mysql8.0版本,也会报错因为认证方式变了,怕麻烦我又拉取了一个5.7的镜像,这是第一个小坑,接下来的坑才让我痛苦。

    #data表的结构
    CREATE TABLE IF NOT EXISTS data
    (
    id MEDIUMINT UNSIGNED NOT NULL,
    server_id SMALLINT UNSIGNED NOT NULL,
    user TEXT NOT NULL,
    full_log TEXT NOT NULL,
    PRIMARY KEY (id, server_id)
    );
    


2. 当我换成5.7的版本后,当我在mysql容器中创建完数据库,导入完数据表后,把mysql容器提交为新镜像时问题又出现了。当我利用新的镜像创建容器是我新创建的表和数据库竟然没有了。。我一度以为是我提交镜像时除了问题,我又新建库,导入表然后提交为镜像,然而新容器还是啥都没有。
此时我才意识到是mysql容器的原因,Google了一下发现也有人跟我遇到了同样的问题。究其原因竟然是mysql的Dockerfile中把/var/lib/mysql目录给挂载了出来。
解决办法:
Docker之mysql容器数据库更改不生效的解决方法
3. 第二个问题解决后,又出现了新的问题。alert表中的user需要指定一个默认值不然就会报错,但是user是text类型不能设置默认值。这个问题仍未解决让我放弃使用数据库,转而把报警信息转化为json输出(2.9版本以上才可以)。

#sql中给user设置默认值的报错信息
101 - BLOB, TEXT, GEOMETRY or JSON column 'user' can't have a default value

解决办法:
Mysql :: Error:BLOB / TEXT列不能具有默认值

mysql_query("SET @@global.sql_mode='MYSQL40'");

对我却不管用。。。。崩溃


然后我就换成了这个镜像atomicorp/ossec-docker,并放弃了使用mysql数据库(在这个镜像中无法开启mysql数据库服务),转而把日志信息存储成json格式,利用logstash发送给es数据库。
以下是利用ossec-docker镜像所出现的错误及解决办法。

(2)重复计数错误

报错信息如下所示:

2019/12/24 03:47:05 ossec-remoted: WARN: Duplicate error:  global: 0, local: 31, saved global: 0, saved local:3686
2019/12/24 03:47:05 ossec-remoted(1407): ERROR: Duplicated counter for 'eee'.
2019/12/24 03:47:11 ossec-remoted: WARN: Duplicate error:  global: 0, local: 32, saved global: 0, saved local:3686
2019/12/24 03:47:11 ossec-remoted(1407): ERROR: Duplicated counter for 'eee'.
2019/12/24 03:47:15 ossec-remoted: WARN: Duplicate error:  global: 0, local: 33, saved global: 0, saved local:3686
2019/12/24 03:47:15 ossec-remoted(1407): ERROR: Duplicated counter for 'eee'.
2019/12/24 03:47:20 ossec-remoted: WARN: Duplicate error:  global: 0, local: 34, saved global: 0, saved local:3686
2019/12/24 03:47:20 ossec-remoted(1407): ERROR: Duplicated counter for 'eee'.
2019/12/24 03:47:26 ossec-remoted: WARN: Duplicate error:  global: 0, local: 35, saved global: 0, saved local:3686
2019/12/24 03:47:26 ossec-remoted(1407): ERROR: Duplicated counter for 'eee'.
2019/12/24 03:49:16 ossec-remoted: WARN: Duplicate error:  global: 0, local: 36, saved global: 0, saved local:3686
2019/12/24 03:49:16 ossec-remoted(1407): ERROR: Duplicated counter for 'eee'.
2019/12/24 03:49:22 ossec-remoted: WARN: Duplicate error:  global: 0, local: 37, saved global: 0, saved local:3686
2019/12/24 03:49:22 ossec-remoted(1407): ERROR: Duplicated counter for 'eee'.

解决办法:
How to fix Duplicate Counter Error in OSSEC
在服务器端:

  • 执行 /var/ossec/bin/manage_agents
  • 选择 “Extract key for an agent”
  • 把密钥复制下来
  • 关掉ossec服务端

在客户端:

  • 找到 /var/ossec/queue/rids目录
  • 删除rids目录下所有的文件
  • 打开客户端重新输入服务器地址和刚刚拷贝下来的密钥
  • 重新启动客户端

经过以上操作,问题就能解决。

(3)报警日志中的时间戳显示的时间与真实时间不符

这个坑真的是耽误了好一段时间,当时就想不通是什么原因,因为ossec.log中的时间是对的,但是alerts.log内的时间是错误的,一开始以为是邮箱服务器的原因,但是关掉邮箱报警也还是不行,最后发现在ossec /etc文件夹内还有一个localtime文件,ossec用的自己的localtime文件。
解决办法:
替换掉ossec中/etc/localtime

#这是ossec的localtime
$ file localtime
localtime: timezone data, version 2, 1 gmt time flag, 1 std time flag, no leap seconds, no transition times, 1 abbreviation char
#这是主机的localtime,可以看出他们的区别
$ file /etc/localtime
/etc/localtime: symbolic link to /usr/share/zoneinfo/Asia/Shanghai
#把ossec中的localhost替换掉
$ cp /etc/localtime  ./
$ file localtime
localtime: timezone data, version 2, 3 gmt time flags, 3 std time flags, no leap seconds, 27 transition times, 3 abbreviation chars

替换掉之后重新运行ossec,alerts.log 中的timestamp就会恢复正常。

官方文档:

  • OSSEC官网
  • Welcome to OSSEC’s documentation!
  • OSSEC文档

部署ossec所踩过的坑相关推荐

  1. SonarQube的安装部署过程中踩过的坑

    在安装和是用sonarqube踩过如下坑,记录一下: 1.java版本不正确 java版本的问题,主要体现在两个方面, 第一个:是需要安装对应电脑版本的jdk, 具体报如下错误: Unable to ...

  2. 利用Jenkins+蒲公英平台显示二维码 部署Android打包踩过的坑

    本文主要记录踩过的坑及解决方法 配置流程参考:https://blog.51cto.com/14142911/2417133 坑1: 二维码图片没有显示,只显示标签.如图: 解决: 只需要在Jenki ...

  3. 阿里云轻量应用服务器Lamp部署php工程踩过的坑

    转载:https://www.cnblogs.com/gudongcheng/p/7929084.html 使用阿里云的轻量应用服务器Lamp其实非常方便,价格也很便宜,一键购买需要的环境都帮你搭配好 ...

  4. arcgis python 二次开发_我在部署ArcGIS API for Python时踩到的坑

    ArcGIS API for Python相比于其他ESRI产品,还是很年轻.我在部署时踩到了坑,网上也找不到解决方法,很是煞风景,也很打击学习的积极性. 今天回顾一下,做个总结吧.一方面自己备忘,另 ...

  5. VCSA6.7-VCSA7.0部署经常踩中的坑【 两个 】

    VCSA6.7-VCSA7.0部署经常踩中的坑[ 俩! ] 坑1:vcsa[安装80%报错]·无法进入第二阶段 vcsa安装到达80%后,无法进入第二阶段,通过"IP:5480"进 ...

  6. 使用RKNN部署CRNN模型踩坑优化历程

    序言 前段时间使用RKNN部署一个文字识别模型,因为文字识别模型用的是目前最普遍使用的CRNN模型,结构也相对简单:卷积+LSTM+全连接,都是比较元老级别的算子,本来已经部署的过程会很顺利,结果发现 ...

  7. 单服务器部署CTFd+whale踩坑

    单服务器部署CTFd+whale踩坑 环境: os: ubuntu16 Docker: Version: 20.10.7 Docker-compose: version v2.12.1 参考: htt ...

  8. Redis 集群部署及踩过的坑

    本文目标 要在单台机器上搭建Redis集群,方式是通过不同的TCP端口启动多个实例,然后组成集群,同时记录在搭建过程中踩过的坑. 安装准备 centos版本:6.7 redis版本:3.2.3 安装方 ...

  9. git服务器安装位置,Linux服务器安装gitlabe-runner,并部署包到指定目录,还有踩的一些坑~~...

    [TOC] 前言:上篇文章讲解了如何安装一个本地runner,然后用本地runner发布本地包到Linux,但这会有一个问题,在本地runner用scp向Linux发送文件,会造成服务器上的文件越来越 ...

最新文章

  1. 机器视觉学习笔记(4)——单目摄像机标定参数说明
  2. mysql fabric安装使用测试
  3. coolite TreePanel CheckBox联动
  4. 容器学习 之 容器命令(八)
  5. oracle给日期加特定天数,oracle按照日期求连续天数的数据sql
  6. C++_程序注释_以及_认识变量_输出变量_认识常量---C++语言工作笔记009
  7. mysql并发量是多少_如何为 MySQL 选择 CPU?
  8. BZOJ4199 NOI2015品酒大会(后缀树)
  9. 深入理解IIS工作原理
  10. 直播源批量生成小工具.c
  11. U盘强制格式化的解决方案
  12. Ubuntu上完美运行QQ
  13. 分享图片或链接到抖音
  14. picker使用以及注意事项
  15. 基于SpringBoot的个人博客系统设计与实现
  16. CSS的浮动以及清楚浮动的方法
  17. 小程序未来发展趋势怎样?2020最新趋势分析
  18. Android OTA 升级之五:updater
  19. pd.concat用法
  20. 遗传算法求函数最小值(多维)2

热门文章

  1. leetcode-商店促销活动(DP GOOD)
  2. “蝶恋花”Flash实例制作过程深入剖析
  3. Android(ButterKnife)黄油刀使用详解
  4. 安装校园正版matlab
  5. 高中信息技术高考精讲IP协议及域名解析历年考纲真题分布
  6. 【微语】第十周(01.18~01.24)
  7. 三个营销故事看细节打动顾客
  8. 彻底禁止360浏览器桌面右下角弹出广告
  9. idea导入html项目,idea导入web项目教程
  10. 孩子科技特长生学什么比较好?当然是编程课