Linux怎么使用AIDE工具建立主机完整性基线数据库

陌芳大大_6067

陌芳大大_6067

2026-10-23

893人浏览

原创

必须在系统刚部署、未联网、无可疑进程时执行 aide --init,否则基线不可信;需清空旧文件、用干净配置重建、严格检查 aide.conf 格式、生成后手动重命名并校验 gzip 完整性,且规则须精简、顺序正确、变更需人工确认后重新初始化。

linux怎么使用aide工具建立主机完整性基线数据库

必须在系统刚部署、未联网、无可疑进程时执行 aide --init,否则基线本身就不可信——后续所有比对都白做。

初始化前先清空环境并确认系统干净

AIDE 的数据库不是“扫描一次就自动可信”,它只忠实记录当前状态。如果系统已被植入后门或日志被清理过,aide.db.new.gz 里存的就是篡改后的“正常”快照。

  • 彻底删除旧残留:sudo rm -f /var/lib/aide/aide.db* /etc/aide.conf
  • 用官方干净配置重建:sudo cp /usr/share/doc/aide/examples/aide.conf.sample /etc/aide.conf
  • 检查 /etc/aide.conf:路径行开头不能有空格;每行末尾不能有 Windows 换行符(^M);关键路径如 /bin、/etc、/usr/bin 必须显式列出,不能靠通配继承

生成并手动转正数据库,不能跳过校验

AIDE 不会自动把 aide.db.new.gz 当成基准——它只认 /var/lib/aide/aide.db.gz 这个固定路径名。生成后不重命名,--check 会直接报错找不到数据库。

Obsidian (Linux)
Obsidian (Linux)

操作 Obsidian 库(纯 Markdown 笔记),并通过 notesmd-cli 实现自动化。

下载
  • 运行初始化:sudo aide --init --force-init(加 --force-init 防止因已有文件跳过)
  • 确认生成成功:ls -lh /var/lib/aide/aide.db.new.gz(大小应 >1KB,为空或 0 字节说明扫描失败)
  • 立即重命名:sudo mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
  • 强制校验压缩完整性:sudo gzip -t /var/lib/aide/aide.db.gz(失败则必须重做,别硬凑)
  • 可选但强推:保存指纹防篡改:sudo sha256sum /var/lib/aide/aide.db.gz > /root/aide.db.sha256

规则配置要精简,且顺序决定优先级

默认配置扫全盘,既慢又误报多。生产环境必须聚焦核心路径,并把 ! 排除规则写在监控规则之前——AIDE 按行顺序匹配,先命中者生效。

  • 定义轻量规则别名(例如只校验权限+属主+大小+SHA256):F = p+i+n+u+g+s+sha256
  • 只监控关键目录(一行一个,不加尾部斜杠):/bin F、/etc F、/usr/sbin F
  • 排除干扰项(必须写在上面监控规则之前):!/var/log/.*、!/tmp/、!/run/、!/proc/
  • 改完 /etc/aide.conf 后,必须重新运行 aide --init 才能让新规则生效

最常被忽略的一点:AIDE 没有“自动学习”机制。哪怕你每天 --check 发现 100 个变更,它也不会自己更新基线——必须人工判断是否可信,再手动 --init 覆盖。基线一旦放错位置、没校验、或在污染环境中生成,整个监控链条就断了。

相关专题

更多
数据库三范式
数据库三范式

数据库三范式是一种设计规范,用于规范化关系型数据库中的数据结构,它通过消除冗余数据、提高数据库性能和数据一致性,提供了一种有效的数据库设计方法。本专题提供数据库三范式相关的文章、下载和课程。

2023.06.29

2785

3

如何删除数据库
如何删除数据库

删除数据库是指在MySQL中完全移除一个数据库及其所包含的所有数据和结构,作用包括:1、释放存储空间;2、确保数据的安全性;3、提高数据库的整体性能,加速查询和操作的执行速度。尽管删除数据库具有一些好处,但在执行任何删除操作之前,务必谨慎操作,并备份重要的数据。删除数据库将永久性地删除所有相关数据和结构,无法回滚。

2023.08.14

3981

10

vb怎么连接数据库
vb怎么连接数据库

在VB中,连接数据库通常使用ADO(ActiveX 数据对象)或 DAO(Data Access Objects)这两个技术来实现:1、引入ADO库;2、创建ADO连接对象;3、配置连接字符串;4、打开连接;5、执行SQL语句;6、处理查询结果;7、关闭连接即可。

2023.08.31

3091

3

MySQL恢复数据库
MySQL恢复数据库

MySQL恢复数据库的方法有使用物理备份恢复、使用逻辑备份恢复、使用二进制日志恢复和使用数据库复制进行恢复等。本专题为大家提供MySQL数据库相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.05

987

5

vb中怎么连接access数据库
vb中怎么连接access数据库

vb中连接access数据库的步骤包括引用必要的命名空间、创建连接字符串、创建连接对象、打开连接、执行SQL语句和关闭连接。本专题为大家提供连接access数据库相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

2707

5

数据库对象名无效怎么解决
数据库对象名无效怎么解决

数据库对象名无效解决办法:1、检查使用的对象名是否正确,确保没有拼写错误;2、检查数据库中是否已存在具有相同名称的对象,如果是,请更改对象名为一个不同的名称,然后重新创建;3、确保在连接数据库时使用了正确的用户名、密码和数据库名称;4、尝试重启数据库服务,然后再次尝试创建或使用对象;5、尝试更新驱动程序,然后再次尝试创建或使用对象。

2023.10.16

2707

4

vb连接access数据库的方法
vb连接access数据库的方法

vb连接access数据库方法:1、使用ADO连接,首先导入System.Data.OleDb模块,然后定义一个连接字符串,接着创建一个OleDbConnection对象并使用Open() 方法打开连接;2、使用DAO连接,首先导入 Microsoft.Jet.OLEDB模块,然后定义一个连接字符串,接着创建一个JetConnection对象并使用Open()方法打开连接即可。

2023.10.16

2893

3

vb连接数据库的方法
vb连接数据库的方法

vb连接数据库的方法有使用ADO对象库、使用OLEDB数据提供程序、使用ODBC数据源等。详细介绍:1、使用ADO对象库方法,ADO是一种用于访问数据库的COM组件,可以通过ADO连接数据库并执行SQL语句。可以使用ADODB.Connection对象来建立与数据库的连接,然后使用ADODB.Recordset对象来执行查询和操作数据;2、使用OLEDB数据提供程序方法等等。

2023.10.19

2521

3

mdf文件导入数据库的方法
mdf文件导入数据库的方法

mdf文件导入数据库的方法有使用SQL Server Management Studio、使用SQL Server命令行工具、使用SQL Server Integration Services等方法。想了解更多mdf文件导入数据库的方法的相关内容,可以阅读本专题下面的文章。

2023.10.23

2733

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习