AIDEは、高度な侵入検知環境とも呼ばれます。 AIDEは、LINUXベースのシステムでサーバーの変更を監視するための最も一般的なツールの1つです。これは、ファイル/フォルダーの整合性チェッカーとして使用されます。このソフトウェアのインストールは非常に簡単です。これはもともと1999年にRamiLehtiとPabloVirolainenによって書かれました。システムチェックはデータベースによって初期化されます。このデータベースは、構成ファイルの通常の表現ルールから作成されます。データベースが初期化されると、サーバーの整合性を検証するためにさらに使用できます。この目的を果たすために、いくつかのダイジェストアルゴリズムが組み込まれています。また、ファイル属性に不整合がないかどうかを確認するためにも使用できます。
主な機能:
- md5、sha1、rmd160、tiger、crc32、sha256、sha512、whirlpoolなどのいくつかのダイジェストアルゴリズムをサポートします
- ファイルタイプ、権限、iノード、Uid、Gid、リンク名、サイズ、ブロック数、リンク数、Mtime、Ctime、Atimeなどのサポートファイル属性
- Posix ACL、SELinux、XAttrs、および拡張ファイルシステム属性をサポートします
- ファイル/ディレクトリを選択的に含めたり除外したりするための正規表現をサポートします。
- GZIPデータベース圧縮をサポートします。
- クライアント/サーバーの監視構成を容易にするスタンドアロンの静的バイナリ。
この記事では、CentOS7サーバーにAIDEの現在の安定バージョン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:データベースを作成する
AIDEのインストールが完了したら、構成ファイル内の一連のルール/式から初期化されるプライマリデータベースを作成する必要があります。
[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.
データベースが作成されたら、名前を変更してAIDEを機能させることにより、データベースを元のデータベースに移動できます。
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: 2016-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 : 2016-04-01 03:42:47 , 2016-04-01 04:14:03
Ctime : 2016-04-01 03:42:47 , 2016-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: 2016-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:
---------------------------------------------------
古いAIDEデータベースはそのままにして、更新されたデータベースの名前を毎日の基本に変更して追跡することを常にお勧めします。
[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-Apr012016
[root@server1 aide]# mv aide.db.new.gz aide.db.gz
これらのプロセスは、毎回チェックしてデータベースの名前を変更するのがかなり面倒です。いくつかのスクリプトを使用して、これらの設定を更新できます。
ステップ6:AIDEチェックとレポートを自動的に実行するように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 2016-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に再生成され、毎日電子メールで送信されます。以下のサンプルレポート形式の1つをご覧ください:
root@server1 tmp]# cat Aide-2016-04-01.txt
System check !! Fri Apr 1 05:04:40 UTC 2016
AIDE 0.15.1 found differences between database and filesystem!!
Start timestamp: 2016-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 , 2016-04-01 05:02:57
Ctime : 2014-07-07 21:41:51 , 2016-04-01 05:02:57
Directory: /usr/bin
Mtime : 2014-10-21 14:33:45 , 2016-04-01 05:04:29
Ctime : 2014-10-21 14:33:45 , 2016-04-01 05:04:29
Directory: /usr/share/doc
Mtime : 2016-04-01 03:42:47 , 2016-04-01 05:04:29
Ctime : 2016-04-01 03:42:47 , 2016-04-01 05:04:29
Linkcount: 240 , 241
Directory: /usr/share/man/man1
Mtime : 2016-04-01 03:42:47 , 2016-04-01 05:04:29
Ctime : 2016-04-01 03:42:47 , 2016-04-01 05:04:29
**************************************
Detailed information about changes:
---------------------------------------------------
Directory: /root
Mtime : 2014-07-07 21:41:51 , 2016-04-01 05:02:57
Ctime : 2014-07-07 21:41:51 , 2016-04-01 05:02:57
Directory: /usr/bin
Mtime : 2014-10-21 14:33:45 , 2016-04-01 05:04:29
Ctime : 2014-10-21 14:33:45 , 2016-04-01 05:04:29
Directory: /usr/share/doc
Mtime : 2016-04-01 03:42:47 , 2016-04-01 05:04:29
Ctime : 2016-04-01 03:42:47 , 2016-04-01 05:04:29
Linkcount: 240 , 241
Directory: /usr/share/man/man1
Mtime : 2016-04-01 03:42:47 , 2016-04-01 05:04:29
Ctime : 2016-04-01 03:42:47 , 2016-04-01 05:04:29
****************DONE******************
詳細設定のために、AIDE構成ファイル/etc/aide.confを変更することもできます。ただし、デフォルトの構成はほとんど価値があり、実行するのに適しています。
これは、AIDEを使用してサーバーの変更を理解し、悪意のあるコンテンツまたは人間の介入によるサーバーへの不正アクセスを特定する方法です。この記事がお役に立てば幸いです。これに関する貴重な提案や推奨事項をお勧めします。
ありがとうございました!良い一日を:)