如何在Linux中使用AIDE监控文件的完整性
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,简介AIDE(高级入qin检测环境)是文件完整性检查程序和入qin检测程序。特性主要用途是检查文件的完整性,审计计算机上哪些文件被更改过。AIDE根据从/etc/aide.conf配置文件中找到的正则
千家信息网最后更新 2025年12月02日如何在Linux中使用AIDE监控文件的完整性
简介
AIDE(高级入qin检测环境)是文件完整性检查程序和入qin检测程序。
特性
- 主要用途是检查文件的完整性,审计计算机上哪些文件被更改过。
- AIDE根据从/etc/aide.conf配置文件中找到的正则表达式规则创建数据库。初始化该数据库后,就可以用来验证文件的完整性。还可以检查所有通常的文件属性是否存在不一致。它可以读取旧版本或更新版本的数据库。AIDE数据库能够保存文件的各种属性,包括:权限(permission)、索引节点序号(inode number)、所属用户(user)、所属用户组(group)、文件大小、最后修改时间(mtime)、创建时间(ctime)、最后访问时间(atime)、增加的大小以及连接数。AIDE还能够使用下列算法:sha1、md5、rmd160、tiger,以密文形式建立每个文件的校验码或散列号。
- 这个数据库不应该保存那些经常变动的文件信息,例如:日志文件、邮件、/proc文件系统、用户其实目录以及临时目录。
背景
当一个入qin者进入了你的系统并且种植了木ma,通常会想办法来隐蔽这个木ma(除了木ma自身的一些隐蔽特性外,他会尽量给你检查系统的过程设置障碍),通常入qin者会修改一些文件,比如管理员通常用ps aux来查看系统进程,那么入qin者很可能用自己经过修改的ps程序来替换掉你系统上的ps程序,以使用ps命令查不到正在运行的木ma程序。如果入qin者发现管理员正在运行crontab作业,也有可能替换掉crontab程序等等。所以由此可以看出对于系统文件或是关键文件的检查是很必要的。目前就系统完整性检查的工具用的比较多的有两款:Tripwire和AIDE,前者是一款商业软件,后者是一款免费的但功能也很强大的工具。
操作步骤
安装
[root@CentOS7 ~]# yum -y install aide修改配置文件
/etc/aide.conf
/etc/aide.conf 默认配置文件路径/usr/sbin/aide 默认二进制可执行文件路径/var/lib/aide 默认数据库文件路径/var/log/aide 默认日志文件路径初始化默认的AIDE的库:
`which aide` --init执行完这步操作后会在默认数据库路径/var/lib/aide下产生一个名为"aide.db.new.gz"的数据库文件,/etc/aide.conf中定义的规则都写入到了该数据库文件中。生成检查数据库(建议初始化数据库存放到安全的地方)
mv /var/lib/aide/aide.db{.new,}.gz因为aide默认是从aide.db.gz数据库文件中读取/etc/aide.conf文件中定义的规则来检测文件完整性的,所以需要重命名初始化的库文件。检测
`which aide` --check更新数据库
`which aide` --update检测完需要更新文件数据库,否则下次检测还是从旧的文件数据库中读取规则来检测文件的完整性。同时需要重命名数据库文件AIDE默认规则
##p: permissions#i: inode:#n: number of links#u: user#g: group#s: size#b: block count#m: mtime#a: atime#c: ctime#S: check for growing size#acl: Access Control Lists#selinux SELinux security context#xattrs: Extended file attributes#md5: md5 checksum#sha1: sha1 checksum#sha256: sha256 checksum#sha512: sha512 checksum#rmd160: rmd160 checksum#tiger: tiger checksum#haval: haval checksum (MHASH only)#gost: gost checksum (MHASH only)#crc32: crc32 checksum (MHASH only)#whirlpool: whirlpool checksum (MHASH only)AIDE规则定义及使用
规则定义格式:规则名 = 具体规则【例】:TEST = a+m+c规则使用格式:文件/目录 规则名【例】:/dir1 TEST注:如果在文件或目录前面加了"!",则表示忽略检测AIDE规则验证
在/etc/aide.conf文件中定义如下规则,这里的/dir1目录刚开始是空的。
TEST = a+c+m/dir1 TES测试1:
在该目录下创建一个新的文件file1,并写入"hello aide"[root@CentOS7 ~]# aide --checkAIDE, version 0.15.1### All files match AIDE database. Looks okay![root@CentOS7 ~]# echo "hello aide" > /dir1/file1[root@CentOS7 ~]# aide --checkAIDE 0.15.1 found differences between database and filesystem!!Start timestamp: 2019-11-10 19:12:57Summary: Total number of files: 3 Added files: 1 Removed files: 0 Changed files: 1---------------------------------------------------Added files:---------------------------------------------------added: /dir1/file1---------------------------------------------------Changed files:---------------------------------------------------changed: /dir1---------------------------------------------------Detailed information about changes:---------------------------------------------------Directory: /dir1 Mtime : 2019-11-10 19:12:00 , 2019-11-10 19:12:55 Ctime : 2019-11-10 19:12:00 , 2019-11-10 19:12:55以上输出表示在/dir1目录下添加了file1文件,并且修改了/dir1目录的Ctime和Mtime属性测试2:
将/dir1/file1文件的内容由"hello aide"修改为"hello world"[root@CentOS7 ~]# sed -i '/hello/c hello world' /dir1/file1 ; cat /dir1/file1hello world[root@CentOS7 ~]# aide --checkAIDE 0.15.1 found differences between database and filesystem!!Start timestamp: 2019-11-10 19:14:34Summary: Total number of files: 3 Added files: 1 Removed files: 0 Changed files: 1---------------------------------------------------Added files:---------------------------------------------------added: /dir1/file1---------------------------------------------------Changed files:---------------------------------------------------changed: /dir1---------------------------------------------------Detailed information about changes:---------------------------------------------------Directory: /dir1 Atime : 2019-11-10 19:12:02 , 2019-11-10 19:12:57 Mtime : 2019-11-10 19:12:00 , 2019-11-10 19:14:31 Ctime : 2019-11-10 19:12:00 , 2019-11-10 19:14:31这时候/dir1目录的Atime,Mtime,Ctime都被修改了。
文件
数据
数据库
规则
目录
检测
系统
检查
完整性
程序
路径
属性
时间
用户
更新
配置
大小
工具
所属
日志
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
山东医院数显钟服务器
网络安全监督策划
网络安全 酒店
数据库 访问 中间件
空间服务器指的是什么
郑州软件开发云双
司法鉴定所有dna数据库吗
进服务器raid步骤
c绑定数据库数据
深圳能耗管理软件开发哪家好
网络技术公司最新招聘
2k20主机连接服务器
达内科技 重庆软件开发
南方电网网络安全建设16字方针
电视显示无法解析服务器怎么解决
第三届丝绸之路网络安全
软件开发需求分析阶段的产物
班马网络技术有限公司
网络安全主题黑板报部队
信息化时代的网络安全
长龙服务器区
广西时代网络技术分类创新服务
学it软件开发培训哪家好
沈阳软件开发人员工资
广州程序软件开发哪家便宜
郑州伏牛路小学网络安全
网络安全法规一万至五万
weka分类的数据库
网络安全工程师有必要出差吗
网络安全总监cio