Linux安全之AIDE系统入侵检测工具安装和使用

news2024/11/20 22:40:43

一、AIDE 系统入侵检测工具简介

  AIDE,全称为Advanced Intrusion Detection Environment,是一个主要用于检测文件完整性的入侵检测工具。它能够构建一个指定文件的数据库,并使用aide.conf作为其配置文件。AIDE数据库能够保存文件的各种属性,包括权限、索引节点序号、所属用户、所属用户组、文件大小、最后修改时间、创建时间、最后访问时间、增加的大小以及连接数等。此外,AIDE还支持多种算法,如sha1、md5、rmd160、tiger等,以密文形式建立每个文件的校验码或散列号。然而,这个数据库不应保存经常变动的文件信息,例如:日志文件、邮件、/proc文件系统、用户起始目录以及临时目录等。当操作系统被入侵时,可以通过对比基准数据库来获取文档的改变情况。这种方式能够帮助用户快速发现异常情况,从而及时进行应对。博文以centos7环境安装和使用AIDE为例进行介绍,环境说明:

  • 操作系统:centos7.6
  • aide版本:0.15.1

二、AIDE安装及使用示例

1、yum安装aide

  aide工具

[root@s166 ~]# yum install -y aide
Running transaction
正在安装 : aide-0.15.1-13.el7_9.1.x86_64 1/1
验证中 : aide-0.15.1-13.el7_9.1.x86_64 1/1

已安装:
aide.x86_64 0:0.15.1-13.el7_9.1

完毕!

2、检查aide.conf配置文件

  AIDE作为入侵检测工具,本质上是一个文件完整性校验工具,可以监测和校验配置文件指定的重要文件的完整性,通过MD5、SHA值校验文档是否被更新修改,如果发生变动则通过检测后确认是管理者主动修改还是入侵者执行的改动。

[root@s166 ~]# cat /etc/aide.conf |grep -Ev “^#|^$”
@@define DBDIR /var/lib/aide
@@define LOGDIR /var/log/aide
database=file:@@{DBDIR}/aide.db.gz
database_out=file:@@{DBDIR}/aide.db.new.gz
gzip_dbout=yes
verbose=5
report_url=file:@@{LOGDIR}/aide.log
report_url=stdout
FIPSR = p+i+n+u+g+s+m+c+acl+selinux+xattrs+sha256
ALLXTRAHASHES = sha1+rmd160+sha256+sha512+tiger
EVERYTHING = R+ALLXTRAHASHES
NORMAL = sha256
DIR = p+i+n+u+g+acl+selinux+xattrs
PERMS = p+u+g+acl+selinux+xattrs
STATIC = p+u+g+acl+selinux+xattrs+i+n+b+c+ftype
LOG = p+u+g+n+acl+selinux+ftype
CONTENT = sha256+ftype
CONTENT_EX = sha256+ftype+p+u+g+n+acl+selinux+xattrs
DATAONLY = p+n+u+g+s+acl+selinux+xattrs+sha256
/boot/ CONTENT_EX
/bin/ CONTENT_EX

/etc/hosts$ CONTENT_EX
/etc/host.conf$ CONTENT_EX

3、初始化配置数据库

  为了获得系统入侵检测的初始数据,我们需要先对aide数据库进行初始化,使用i参数完成数据库初始化,初始化生成的文件为aide.db.new.gz。使用-i或者–init初始化数据库。

[root@s166 ~]# aide -i

AIDE, version 0.15.1
### AIDE database at /var/lib/aide/aide.db.new.gz initialized.

4、检测配置数据库

  使用-C或者–check参数检查数据库。

[root@s166 aide]# aide --check

5、检测并更新配置数据库

  更新数据库实际上是先检查然后更新,即先检查文件变化,然后更新输出到新的数据库文件。

[root@s166 aide]# aide --update

6、对比配置数据库

  比较数据库配置文件需要在配置文件中指定database和database_new参数。比较结果跟update和check是一样的。

[root@s166 aide]# aide --compare

三、AIDE入侵检测使用简介

  AIDE入侵检测工具的本质就是配置文件中指定文件的哈希值存储到数据库文件中,在进行检测的时候进行再次计算并对比。只能发现有区别,并不能告知区别明细。所以我们需要提前将待监控的文件进行备份,在发现文件有改动更新之后进行对比,以便修复还原。监控策略中包含权限、文件类型、ACL、时间属性等,所以我们检测的内容不仅仅是文件大小的变化,实际上也包括文件属性的相关参数。

1、修改hosts文件测试AIDE

  • 修改/etc/hosts文件

[root@s166 ~]# echo “192.168.0.1 gw” >> /etc/hosts
[root@s166 ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.0.166 s166
192.168.0.167 s167
192.168.0.168 s168
192.168.0.1 gw

  • 重命名数据库初始化文件

[root@s166 aide]# mv aide.db.new.gz aide.db.gz

  • 执行aide数据库检查

[root@s166 aide]# aide --check
Entry /etc/hosts in databases has different attributes: b4020081d a4020081d

在这里插入图片描述

2、增加一个用户测试比较配置数据库

  • 修改配置文件指定数据库文件存储路径参数

[root@s166 aide]# cat /etc/aide.conf |grep database

database=file:@@{DBDIR}/aide.db.gz
database_new=file:///var/lib/aide/aide.db.new
database_out=file:///var/lib/aide/aide.db.new

  • 增加一个用户

[root@s166 aide]# useradd test

  • 执行配置数据库更新

[root@s166 aide]# aide --update
在这里插入图片描述

  • 执行数据库对比
    在这里插入图片描述

3、监控指定配置文件

  • 编写一个针对指定文件监控的配置文件,我可以复制aide.conf文件,删除后面监控文件内容,加入/home/test/a.conf CONTENT_EX这一行就是我们需要监控的配置文件及监控策略。测试后可以发现如果是初始化默认aide.conf配置文件还是需要一些时间的,如果我们初始化自定义配置文件很快,因为我们只自定义监控了1个文件,而默认包含上百个文件。

[root@s166 aide]# cat aidetest.conf |grep -Ev “^$|^#”
@@define DBDIR /var/lib/aide
@@define LOGDIR /var/log/aide
database=file:@@{DBDIR}/aide.db.gz
database_out=file:@@{DBDIR}/aide.db.new.gz
database_new=file:@@{DBDIR}/aide.db.new.gz
gzip_dbout=yes
verbose=5
report_url=file:@@{LOGDIR}/aide.log
report_url=stdout
FIPSR = p+i+n+u+g+s+m+c+acl+selinux+xattrs+sha256
ALLXTRAHASHES = sha1+rmd160+sha256+sha512+tiger
EVERYTHING = R+ALLXTRAHASHES
NORMAL = sha256
DIR = p+i+n+u+g+acl+selinux+xattrs
PERMS = p+u+g+acl+selinux+xattrs
STATIC = p+u+g+acl+selinux+xattrs+i+n+b+c+ftype
LOG = p+u+g+n+acl+selinux+ftype
CONTENT = sha256+ftype
CONTENT_EX = sha256+ftype+p+u+g+n+acl+selinux+xattrs
DATAONLY = p+n+u+g+s+acl+selinux+xattrs+sha256
/home/test/a.conf CONTENT_EX

  • 创建一个空配置文件

[root@s166 test]# touch a.conf

  • 初始化配置数据库

[root@s166 aide]# aide -c aidetest.conf -i
[root@s166 aide]# mv aide.db.new.gz aide.db.gz

  • 更新a.conf文件

[root@s166 test]# echo “This is a change” >> a.conf

  • 检查配置文件是否改动

[root@s166 aide]# aide -c aidetest.conf -C
在这里插入图片描述

  • 修改问权限

[root@s166 test]# chmod -x a.conf

  • 检查配置数据库

[root@s166 aide]# aide -c aidetest.conf -C
在这里插入图片描述

  • 将检查结果写入文件

[root@s166 aide]# aide -c aidetest.conf -C -r file:/tmp/report
#我们可以将检查结果写入文件,这样我们就可以结合定时任务,定期执行检查,通过邮件见结果报告发送到管理者邮箱实现指定配置文件的监控。如果检查结果提示“### All files match AIDE database. Looks okay!”则表示配置文件没有改动,如果包含其他哈希内容则表示文档有改动。

四、常用文件及策略参数说明

1、常用文件说明

  • /etc/aide.conf 服务默认配置文件
  • /var/lib/aide.db.gz 默认aide数据库
  • /var/lib/aide.db.new.gz 默认aide输出数据库

2、策略参数说明

  配置文件中DIR = p+i+n+u+g+acl+selinux+xattrs类似这样的参数配置均为定义的检查策略,配置中默认定义了目录、静态文件、日志等文件类型的检测策略,各参数说明如下,我们参照选择即可。

策略参数参数说明
p启用文件属性检查,包括权限、所有者和组。
u启用用户ID和组ID检查。
g启用组ID检查。
acl启用访问控制列表(ACL)检查。
selinux启用SELinux上下文检查。
xattrs启用扩展属性检查。
i启用索引节点检查。
n启用设备号和节点号检查。
b启用块大小检查。
c启用字符集检查。
ftype启用文件类型检查。
s启用大小检查,包括文件大小和目录大小。
m启用修改时间检查,包括文件修改时间和目录修改时间。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1232722.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

APP外包开发项目验收

应用外包开发的验收是确保项目交付质量和客户满意度的关键阶段。以下是一些建议,帮助你进行有效的APP外包开发验收,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 1.明确验收标准&#xf…

[Android] Amazon 的 android 音视频开发文档

https://developer.amazon.com/zh/docs/fire-tv/audio-video-synchronization.html#22-getplaybackheadposition-api-level-3https://developer.amazon.com/zh/docs/fire-tv/audio-video-synchronization.html#22-getplaybackheadposition-api-level-3

掌握源码,轻松搭建:一站式建站系统源码 附完整搭建步骤与教程

随着互联网的快速发展,网站已成为人们生活中不可或缺的一部分。然而,对于许多初学者或中小企业来说,搭建一个完整的网站系统并非易事。这涉及到前端和后端的开发、数据库管理等多个环节。为了解决这一痛点,我们推出了一站式建站系…

Double 4 VR智能互动系统在轨道交通实训教学中的应用

Double 4 VR智能互动系统是一种集成了虚拟现实技术、人工智能和物联网技术的教学系统。计算机通过模拟真实的轨道交通环境,为学生提供了一个高度仿真的学习环境,帮助他们更好地理解和掌握轨道交通的相关知识和技能。 首先,Double 4 VR智能互动…

第十篇 基于JSP 技术的网上购书系统——管理员后台管理主界面、订单管理、产品管理功能实现(网上商城、仿淘宝、当当、亚马逊)

目录 1.管理员后台管理——主界面 1.1功能说明 1.2界面设计 1.3处理流程 2.订单管理 2.1功能说明 2.2界面设计 2.3处理流程 2.4数据来源和算法 2.4.1数据来源 2.4.2查询条件 2.4.3表间关系 2.4.4相关sql实例 3.产品管理 3.1功能说明 3.2界面设计 3.3处理流程…

第十一篇 基于JSP 技术的网上购书系统——产品类别管理、评论/留言管理、注册用户管理、新闻管理功能实现(网上商城、仿淘宝、当当、亚马逊)

目录 1.产品类别管理 1.1功能说明 1.2界面设计 1.3处理流程 1.4数据来源和算法 1.4.1数据来源 1.4.2 查询条件 1.4.3相关sql实例 2. 评论/留言管理 2.1功能说明 2.2 界面设计 2.3处理流程 2.4数据来源和算法 2.4.1数据来源 2.4.2 查询条件 2.4.3相关sql实例…

【AI】行业消息精选和分析(11月21日 星期二)

技术发展 🔥 OpenAI 员工集体签署信件: - 员工要求董事会辞职并重新任命首席执行官奥特曼。 - 否则可能集体加入微软。 昨天就玩我们领导发言,后面大家接龙收到的那一套了。 😲 奥特曼加入微软引发猜测: - 对于一个公…

RESTful API 设计指南——开篇词

引言 十年后的今天,我终于学会了RESTful API。 以上,就是我最近一个月的心路历程。入职新公司不到2周,自己都还没完全理解RESTful API就要求给校招应届生培训,着实压力山大。培训结束后也感觉收获颇丰,遂总结分享出来&…

JavaSwing实现银行账户交易系统(含教程)可加数据库 Java课程设计

8.银行账户交易系统 视频教程: 【课程设计】银行账户交易系统-Java Swing-你的课程我设计 功能描述: 系统有银行柜员和普通用户两个角色; 银行柜员登录后可查看用户账号信息、开户、修改账户、存钱、取钱、注销账户、查看交易记录; 用户登录…

【旅游行业】Axure旅游社交平台APP端原型图,攻略门票酒店民宿原型案例

作品概况 页面数量:共 110 页 兼容软件:Axure RP 9/10,不支持低版本 应用领域:旅游平台,酒店住宿 作品申明:页面内容仅用于功能演示,无实际功能 作品特色 本作品为「旅游社交平台」移动端…

lenovo联想笔记本ThinkPad P1 Gen5/X1 Extreme Gen5原装出厂Windows11预装OEM系统

链接:https://pan.baidu.com/s/13E97Nwc-0-N7ffPjEeeeOw?pwdep4l 提取码:ep41 原装出厂系统自带所有驱动、出厂主题壁纸、Office办公软件、联想电脑管家等预装程序 所需要工具:32G或以上的U盘 文件格式:ISO 文件大小&#xff…

数据结构中树、森林 与 二叉树的转换

1 树转换为 二叉树 将树转换成二叉树的步骤是: 加线。在所有的兄弟结点之间加一条线。去线。对于树中的每个结点,只保留它与第一个孩子结点的连线,删除该结点其他孩子结点之间的连线。调整。以树的根结点为轴心,将整个树顺时针旋…

微信小程序校园运动场预约系统xuvvt

本论文的内容是关于运动场预约,主要内容不仅包括了小程序的分析和设计还对几个主要模块进行详细阐述与分析。此微信小程序运动场预约分为管理员操作和教师操作、学生操作。学生的操作主要是可以在网页上浏览到场地信息、运动视频、心情动态等功能,用户可…

护眼灯买哪种好?考研必备的护眼台灯推荐

家里顶灯太暗了且高度太高,还是原始的LED灯,晚上用着眼睛都有点难受,还好遇到了儿童护眼灯。下面小编为大家介绍下儿童护眼灯哪个牌子好?什么护眼台灯比较专业 1、色温 台灯的色温也是一个需要考虑的因素,所谓的色温其…

机器学习与计算机视觉 D2

整合为学习笔记!参考阅读了几位大佬的作品,已标注出处~ 机器学习的数学基础 线性与非线性变换 从几何意义上,线性变换表示的是直线的特性,符合两个性质: 变换前后零点不变,变换前后直线还是直线。 线性变换意味着可以…

从字典到 CookieJar 的转换技巧

在使用requests库进行HTTP请求时,经常需要传递cookies参数来实现一些特定的功能,例如保持用户会话状态或者进行身份验证。 在HTTP请求中,Cookie是一种用来在客户端和服务器之间传递状态信息的方式,通常用于记录用户的身份验证信息…

Linux中,查看Tomcat版本、如何查看Tomcat版本

方法 在tomcat的bin目录下,执行version.sh命令即可 结果

XmlElement注解在Java的数组属性上,以产生多个相同的XML元素

例如&#xff0c;下面这段XML数据&#xff0c;有多个data元素&#xff0c;并且它们级别相同: <?xml version"1.0" encoding"UTF-8"?><request><reqtype>05</reqtype><secret>test</secret><body><userid&…

sortablejs拖拽后新增和删除行时顺序错乱

问题描述&#xff1a;如下图所示&#xff0c;使用sortablejs拖拽后&#xff0c;在序号2后新增行会出现新增行跑到第一行的错误顺序。 解决&#xff1a;在进行拖拽后&#xff0c;对表格数据进行清空重新赋值。

Permute3(万能音视频转换器)

Permute是一款Mac平台上的媒体格式转换软件&#xff0c;由Chaotic Software开发。它可以帮助用户快速地将各种音频、视频和图像文件转换成所需格式&#xff0c;并提供了一些常用工具以便于用户进行编辑和处理。 Permute的主要特点包括&#xff1a; - 支持大量格式&#xff1a;支…