如何在CentOS上安装AIDE 7
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进行高级设置。