コース開始前に
AIDE は「Advanced Intrusion Detection Environment」の略で、Linux ベースのオペレーティング システムの変更を監視するための最も一般的なシステムの XNUMX つです。 AIDE は、マルウェア、ウイルスから保護し、不正なアクティビティを検出するために使用されます。 ファイルの整合性を検証し、侵入を検出するために、AIDE はファイル情報のデータベースを作成し、システムの現在の状態をこのデータベースと比較します。 AIDE は、変更されたファイルに焦点を当てることで、インシデントの調査時間を短縮します。
AIDE の機能:
- ファイル タイプ、inode、uid、gid、権限、リンク数、mtime、ctime、atime などのさまざまなファイル属性をサポートします。
- Gzip 圧縮、SELinux、XAttrs、Posix ACL、およびファイル システム属性のサポート。
- md5、sha1、sha256、sha512、rmd160、crc32 などのさまざまなアルゴリズムをサポートします。
- 電子メールによる通知の送信。
この記事では、CentOS 8 に侵入検知用の AIDE をインストールして使用する方法を説明します。
前提条件
- CentOS 8 を実行し、少なくとも 2 GB の RAM を搭載したサーバー。
- ルートアクセス
はじめに
最初にシステムをアップデートすることをお勧めします。 これを行うには、次のコマンドを実行します。
dnf update -y
更新後、変更を有効にするためにシステムを再起動します。
AIDEのインストール
AIDE はデフォルトの CentOS 8 リポジトリで利用可能で、次のコマンドを実行することで簡単にインストールできます。
dnf install aide -y
インストールが完了したら、次のコマンドを使用して AIDE のバージョンを表示できます。
aide --version
次の内容が表示されるはずです。
Aide 0.16
Compiled with the following options:
WITH_MMAP
WITH_PCRE
WITH_POSIX_ACL
WITH_SELINUX
WITH_XATTR
WITH_E2FSATTRS
WITH_LSTAT64
WITH_READDIR64
WITH_ZLIB
WITH_CURL
WITH_GCRYPT
WITH_AUDIT
CONFIG_FILE = "/etc/aide.conf"
利用可能なオプション aide
は次のように表示できます。
aide --help
データベースの作成と初期化
AIDE をインストールした後に最初に行う必要があるのは、AIDE を初期化することです。 初期化では、サーバー上のすべてのファイルとディレクトリのデータベース (スナップショット) を作成します。
データベースを初期化するには、次のコマンドを実行します。
aide --init
次の内容が表示されるはずです。
Start timestamp: 2020-01-16 03:03:19 -0500 (AIDE 0.16)
AIDE initialized database at /var/lib/aide/aide.db.new.gz
Number of entries: 49472
---------------------------------------------------
The attributes of the (uncompressed) database(s):
---------------------------------------------------
/var/lib/aide/aide.db.new.gz
MD5 : 4N79P7hPE2uxJJ1o7na9sA==
SHA1 : Ic2XBj50MKiPd1UGrtcUk4LGs0M=
RMD160 : rHMMy5WwHVb9TGUc+TBHFHsPCrk=
TIGER : vkb2bvB1r7DbT3n6d1qYVfDzrNCzTkI0
SHA256 : tW3KmjcDef2gNXYqnOPT1l0gDFd0tBh9
xWXT2iaEHgQ=
SHA512 : VPMRQnz72+JRgNQhL16dxQC9c+GiYB8g
uZp6uZNqTvTdxw+w/IYDSanTtt/fEkiI
nDw6lgDNI/ls2esijukliQ==
End timestamp: 2020-01-16 03:03:44 -0500 (run time: 0m 25s)
上記のコマンドは新しいデータベースを作成します aide.db.new.gz
カタログにある /var/lib/aide
。 次のコマンドを使用して確認できます。
ls -l /var/lib/aide
結果:
total 2800
-rw------- 1 root root 2863809 Jan 16 03:03 aide.db.new.gz
AIDE は、名前が次のように変更されるまで、この新しいデータベース ファイルを使用しません。 aide.db.gz
。 これは次のようにして実行できます。
mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
変更が適切に監視されるように、このデータベースを定期的に更新することをお勧めします。
パラメータを変更することでデータベースの場所を変更できます DBDIR
ファイル内 /etc/aide.conf
.
チェックの実行
AIDE は新しいデータベースを使用する準備ができました。 変更を加えずに最初の AIDE チェックを実行します。
aide --check
ファイル システムのサイズとサーバー上の RAM の量によっては、このコマンドが完了するまでに時間がかかります。 スキャンが完了すると、次のように表示されます。
Start timestamp: 2020-01-16 03:05:07 -0500 (AIDE 0.16)
AIDE found NO differences between database and filesystem. Looks okay!!
上記の出力は、すべてのファイルとディレクトリが AIDE データベースと一致することを示しています。
テスト補助者
デフォルトでは、AIDE はデフォルトの Apache ルート ディレクトリを追跡しません。 /var/www/html.
それを表示できるように AIDE を設定しましょう。 これを行うには、ファイルを変更する必要があります /etc/aide.conf
.
nano /etc/aide.conf
上の行に追加 "/root/CONTENT_EX"
次のとおり
/var/www/html/ CONTENT_EX
次にファイルを作成します aide.txt
カタログにある /var/www/html/
次のコマンドを使用します。
echo "Test AIDE" > /var/www/html/aide.txt
次に、AIDE チェックを実行し、作成されたファイルが検出されることを確認します。
aide --check
次の内容が表示されるはずです。
Start timestamp: 2020-01-16 03:09:40 -0500 (AIDE 0.16)
AIDE found differences between database and filesystem!!
Summary:
Total number of entries: 49475
Added entries: 1
Removed entries: 0
Changed entries: 0
---------------------------------------------------
Added entries:
---------------------------------------------------
f++++++++++++++++: /var/www/html/aide.txt
作成したファイルが検出されたことがわかります aide.txt
.
検出された変更を分析した後、AIDE データベースを更新します。
aide --update
アップデート後は、次のように表示されます。
Start timestamp: 2020-01-16 03:10:41 -0500 (AIDE 0.16)
AIDE found differences between database and filesystem!!
New AIDE database written to /var/lib/aide/aide.db.new.gz
Summary:
Total number of entries: 49475
Added entries: 1
Removed entries: 0
Changed entries: 0
---------------------------------------------------
Added entries:
---------------------------------------------------
f++++++++++++++++: /var/www/html/aide.txt
上記のコマンドは新しいデータベースを作成します aide.db.new.gz
カタログにある
/var/lib/aide/
次のコマンドで確認できます。
ls -l /var/lib/aide/
結果:
total 5600
-rw------- 1 root root 2864012 Jan 16 03:09 aide.db.gz
-rw------- 1 root root 2864100 Jan 16 03:11 aide.db.new.gz
ここで、AIDE がさらなる変更を追跡するために新しいデータベースを使用できるように、新しいデータベースの名前を再度変更します。 次のように名前を変更できます。
mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
チェックを再度実行して、AIDE が新しいデータベースを使用していることを確認します。
aide --check
次の内容が表示されるはずです。
Start timestamp: 2020-01-16 03:12:29 -0500 (AIDE 0.16)
AIDE found NO differences between database and filesystem. Looks okay!!
チェックを自動化します
AIDE チェックを毎日実行し、レポートを郵送することをお勧めします。 このプロセスは cron を使用して自動化できます。
nano /etc/crontab
AIDE チェックを毎日 10:15 に実行するには、ファイルの末尾に次の行を追加します。
15 10 * * * root /usr/sbin/aide --check
AIDE からメールで通知されるようになります。 次のコマンドでメールを確認できます。
tail -f /var/mail/root
AIDE ログは、次のコマンドを使用して表示できます。
tail -f /var/log/aide/aide.log
まとめ
この記事では、AIDE を使用してファイルの変更を検出し、不正なサーバー アクセスを特定する方法を学習しました。 追加の設定については、/etc/aide.conf 構成ファイルを編集できます。 セキュリティ上の理由から、データベースと構成ファイルを読み取り専用メディアに保存することをお勧めします。 詳細については、ドキュメントを参照してください。
出所: habr.com