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 --check

AIDE, version 0.15.1

### All files match AIDE database. Looks okay!

[root@CentOS7 ~]# echo "hello aide" > /dir1/file1
[root@CentOS7 ~]# aide --check
AIDE 0.15.1 found differences between database and filesystem!!
Start timestamp: 2019-11-10 19:12:57

Summary:
 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/file1
hello world
[root@CentOS7 ~]# aide --check
AIDE 0.15.1 found differences between database and filesystem!!
Start timestamp: 2019-11-10 19:14:34

Summary:
 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都被修改了。

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/221647.html<

(0)
管理的头像管理
上一篇2025-04-15 03:20
下一篇 2025-04-15 03:22

相关推荐

  • 云服务器和云虚拟主机怎么选?云服务器和虚拟主机区别

    云服务器适合业务增长快、需弹性扩展的场景,而云虚拟主机适合预算有限、技术门槛低的小型静态网站或测试环境,二者核心区别在于资源独享性与运维复杂度,核心差异解析:从底层架构到使用体验很多人容易混淆这两者,觉得它们都是“买空间建站”,它们的底层逻辑完全不同,云服务器(ECS)就像是你租了一整栋别墅,水电网络独立,你想……

    2026-06-29
    0
  • 赣州智慧旅游招聘是真的吗?赣州旅游人才招聘信息

    中级岗位(3-5年经验)月薪范围通常在6000-10000元,这类岗位需要独立负责项目模块,如独立运营一个抖音账号,或维护一个景区小程序的功能迭代,具备成功案例的候选人议价能力较强,高级岗位(5年以上经验)月薪范围通常在10000-20000元,部分核心管理岗可达更高,这类人才需要具备战略规划能力,如制定整个景……

    2026-06-29
    0
  • 赣州智能物联网车位锁如何管理?智能车位锁管理系统多少钱

    赣州智能物联网车位锁管理的核心在于通过云端平台实现远程控锁、状态实时监控及自动计费,彻底解决传统车位“被占难管”与“找位难”的痛点,在赣州这样的城市,随着机动车保有量的持续增长,老旧小区、商业综合体以及私人固定车位的资源矛盾日益凸显,传统的机械地锁或简易遥控锁,不仅操作繁琐,更无法实现数据化管理,引入智能物联网……

    2026-06-29
    0
  • 赣州智能消防栓好用吗,智能消防栓多少钱一个

    赣州智能消防栓通过物联网技术实现实时监测与远程报警,能显著降低火灾响应时间并提升城市消防安全管理水平,是目前智慧城市建设中不可或缺的基础设施,赣州智能消防栓的核心价值与应用场景传统消防栓往往存在“看不见、摸不着、用不了”的痛点,在赣州这样地形复杂、老城区与新城区并存的区域,传统设施的管理难度极大,智能消防栓的出……

    2026-06-29
    0
  • 云服务器和物理机到底有啥区别?

    云服务器本质上是虚拟化资源池中的弹性实例,而传统物理服务器是独占的硬件实体,前者胜在弹性与运维便捷,后者强在物理隔离与性能稳定,具体选择取决于业务对成本、扩展性及安全合规的权衡,很多人初次接触服务器时,容易把“云服务器”和“传统物理服务器”混为一谈,觉得它们都是用来跑网站或存数据的盒子,这两者的底层逻辑完全不同……

    2026-06-29
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注