如何在CentOS上安装AIDE 7

时间:2020-03-05 15:27:44  来源:igfitidea点击:

acide否则称为高级入侵检测环境。
AIDE是监视基于Linux系统中服务器更改的最流行的工具之一。
它用作文件/文件夹完整性检查器。
这个软件的安装很简单。
这最初由Rami Lehti和PabloVirolainen于1999年编写。
系统检查由数据库初始化。
此数据库是从配置文件中的常规Expresssion规则创建的。
初始化数据库后,可以进一步用于验证服务器完整性。
结合了几种摘要算法以提供此目的。
它也可以用于检查文件属性以进行不一致。

在本文中,我正在讨论在CentOS 7服务器上安装和配置当前稳定版本的0.15.1版本。

第1步:安装

我们可以使用yum命令安装AIDE软件。

[root@server1 ~]# yum install aide
Loaded plugins: fastestmirror
Dependencies Resolved
===============================================================================================================================================
Package Arch Version Repository Size
===============================================================================================================================================
Installing:
aide x86_64 0.15.1-9.el7 base 129 k
Transaction Summary
===============================================================================================================================================
Install 1 Package
Total download size: 129 k
Installed size: 304 k

第2步:检查并验证AIDE版本

我们可以运行此命令以确认AIDE版本并找到配置文件。

[root@server1 ~]# aide -v
Aide 0.15.1
Compiled with the following options:
WITH_MMAP
WITH_POSIX_ACL
WITH_SELINUX
WITH_PRELINK
WITH_XATTR
WITH_E2FSATTRS
WITH_LSTAT64
WITH_READDIR64
WITH_ZLIB
WITH_GCRYPT
WITH_AUDIT
CONFIG_FILE = "/etc/aide.conf"

第3步:创建数据库

完成辅助安装后,我们需要创建从配置文件中的规则/表达式初始化的主数据库。

[root@[root@server1 ~]# aide --init
AIDE, version 0.15.1
### AIDE database at /var/lib/aide/aide.db.new.gz initialized.
server1 ~]# aide --init
AIDE, version 0.15.1
### AIDE database at /var/lib/aide/aide.db.new.gz initialized.

创建数据库后,我们可以通过重新命名它来使其成为辅助工作来将其移动到orginal。

root@server1 ~]# mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
[root@server1 ~]# cd /var/lib/aide
[root@server1 aide]# ls
aide.db.gz
[root@server1 aide]#
[root@server1 aide]#
[root@server1 aide]# ls -lt
total 2136
-rw------- 1 root root 2186673 Apr 1 04:09 aide.db.gz

第4步:运行AIDE检查

[root@server1 aide]# aide --check
AIDE, version 0.15.1
### All files match AIDE database. Looks okay!

第5步:确认其功能并创建更新的AIDE数据库

手动创建二进制文件并检查AIDE是否检测到该文件。

root@server1 aide]# touch /usr/sbin/testbinary
[root@server1 aide]#
[root@server1 aide]#
[root@server1 aide]# aide --check
AIDE 0.15.1 found differences between database and filesystem!!
Start timestamp: 2015-04-01 04:14:10
Summary:
Total number of files: 23028
Added files: 1
Removed files: 0
Changed files: 1
--------------------------------------------------
Added files:
--------------------------------------------------
added: /usr/sbin/testbinary
--------------------------------------------------
Changed files:
--------------------------------------------------
changed: /usr/sbin
--------------------------------------------------
Detailed information about changes:
--------------------------------------------------
Directory: /usr/sbin
Mtime : 2015-04-01 03:42:47 , 2015-04-01 04:14:03
Ctime : 2015-04-01 03:42:47 , 2015-04-01 04:14:03

我们可以从AIDE检查报告中验证新文件是否存在。
我们甚至可以从这些检查中识别任何文件属性更改。
一旦我们审查了这些更改,更好地更新AIDe数据库总是最好在下一个AIDE检查中再次报告。

[root@server1 aide]# aide --update
AIDE 0.15.1 found differences between database and filesystem!!
Start timestamp: 2015-04-01 04:15:21
Summary:
Total number of files: 23028
Added files: 1
Removed files: 0
Changed files: 1
--------------------------------------------------
Added files:
--------------------------------------------------
added: /usr/sbin/testbinary
--------------------------------------------------
Changed files:
--------------------------------------------------
changed: /usr/sbin
--------------------------------------------------
Detailed information about changes:
--------------------------------------------------

始终建议将旧的辅助数据库保持未缓解并在日常基础上重新命名更新的数据库以跟踪。

[root@server1 tmp]# cd /var/lib/aide/
root@server1 aide]# ls
aide.db.gz aide.db.new.gz
[root@server1 aide]# mv aide.db.gz aide.db.gz-Apr012015
[root@server1 aide]# mv aide.db.new.gz aide.db.gz

这些过程对每次进行检查相当繁琐,并重新命名数据库,我们可以使用一些脚本来更新这些设置。

第6步:将CronJob设置为自动运行AIDE检查并报告

我创建一个cron,自动启动助手检查以确认我的服务器完整性并每天报告我。
请参阅下面的脚本详细信息:

[root@server1 cron]# crontab -l
00 01 * * 0-6 /var/log/aide/aidechk.sh
[root@server1 cron]# systemctl restart crond.service
[root@server1 cron]#
[root@server1 cron]# systemctl status crond.service
crond.service - Command Scheduler
Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled)
Active: active (running) since Fri 2015-04-01 04:28:22 UTC; 8s ago
Main PID: 12378 (crond)
CGroup: /system.slice/crond.service
└─12378 /usr/sbin/crond -n
Apr 01 04:28:22 server1.centos7-test.com systemd[1]: Started Command Scheduler.
Apr 01 04:28:22 server1.centos7-test.com crond[12378]: (CRON) INFO (RANDOM_DELAY will be scaled with factor 98% if used.)
Apr 01 04:28:22 server1.centos7-test.com crond[12378]: (CRON) INFO (running with inotify support)
Apr 01 04:28:22 server1.centos7-test.com crond[12378]: (CRON) INFO (@reboot jobs will be run at computer's startup.)
[root@server1 cron]#
root@server1 tmp]# cat /var/log/aide/aidechk.sh
#!/bin/sh
#aide check - SShameer
DATE=`date +%Y-%m-%d`
echo $DATE
REPORT="Aide-"$DATE.txt
echo $REPORT
echo "System check !! `date`" > /tmp/$REPORT
aide --check > /tmp/aidecheck.txt
cat /tmp/aidecheck.txt|/bin/grep -v failed >> /tmp/$REPORT
echo "**" >> /tmp/$REPORT
tail -20 /tmp/aidecheck.txt >> /tmp/$REPORT
echo "DONE**" >> /tmp/$REPORT
mail -s "$REPORT `date`" [email protected] < /tmp/$REPORT

安装MailX命令或者邮件实用程序以增强电子邮件,如果不存在。
根据我们的脚本,该报告将在/TMP上重新生成/TMP,并将每天通过电子邮件发送给我们。
请参阅下面的我的示例报告格式之一:

root@server1 tmp]# cat Aide-2015-04-01.txt
System check !! Fri Apr 1 05:04:40 UTC 2015
AIDE 0.15.1 found differences between database and filesystem!!
Start timestamp: 2015-04-01 05:04:40
Summary:
Total number of files: 23043
Added files: 15
Removed files: 0
Changed files: 4
--------------------------------------------------
Added files:
--------------------------------------------------
added: /etc/mail.rc
added: /usr/bin/Mail
added: /usr/bin/mail
added: /usr/bin/mailx
added: /usr/bin/nail
added: /usr/share/doc/mailx-12.5
added: /usr/share/doc/mailx-12.5/AUTHORS
added: /usr/share/doc/mailx-12.5/COPYING
added: /usr/share/doc/mailx-12.5/README
added: /usr/share/man/man1/Mail.1.gz
added: /usr/share/man/man1/mail.1.gz
added: /usr/share/man/man1/mailx.1.gz
added: /usr/share/man/man1/nail.1.gz
added: /var/log/aide/aidechk.sh
added: /var/spool/cron/root
--------------------------------------------------
Changed files:
--------------------------------------------------
changed: /root
changed: /usr/bin
changed: /usr/share/doc
changed: /usr/share/man/man1
--------------------------------------------------
Detailed information about changes:
--------------------------------------------------
Directory: /root
Mtime : 2014-07-07 21:41:51 , 2015-04-01 05:02:57
Ctime : 2014-07-07 21:41:51 , 2015-04-01 05:02:57
Directory: /usr/bin
Mtime : 2014-10-21 14:33:45 , 2015-04-01 05:04:29
Ctime : 2014-10-21 14:33:45 , 2015-04-01 05:04:29
Directory: /usr/share/doc
Mtime : 2015-04-01 03:42:47 , 2015-04-01 05:04:29
Ctime : 2015-04-01 03:42:47 , 2015-04-01 05:04:29
Linkcount: 240 , 241
Directory: /usr/share/man/man1
Mtime : 2015-04-01 03:42:47 , 2015-04-01 05:04:29
Ctime : 2015-04-01 03:42:47 , 2015-04-01 05:04:29
**
Detailed information about changes:
--------------------------------------------------
Directory: /root
Mtime : 2014-07-07 21:41:51 , 2015-04-01 05:02:57
Ctime : 2014-07-07 21:41:51 , 2015-04-01 05:02:57
Directory: /usr/bin
Mtime : 2014-10-21 14:33:45 , 2015-04-01 05:04:29
Ctime : 2014-10-21 14:33:45 , 2015-04-01 05:04:29
Directory: /usr/share/doc
Mtime : 2015-04-01 03:42:47 , 2015-04-01 05:04:29
Ctime : 2015-04-01 03:42:47 , 2015-04-01 05:04:29
Linkcount: 240 , 241
Directory: /usr/share/man/man1
Mtime : 2015-04-01 03:42:47 , 2015-04-01 05:04:29
Ctime : 2015-04-01 03:42:47 , 2015-04-01 05:04:29
DONE**

我们还可以修改AIDE配置文件/etc/aide.conf进行高级设置。