AIDEは「AdvancedIntrusionDetectionEnvironment」の略で、Linuxベースのオペレーティングシステムへの変更を監視するための最も一般的なツールの1つです。マルウェアやウイルスからシステムを保護し、不正な活動を検出するために使用されます。これは、ファイルシステムのデータベースを作成することによって機能し、このデータベースをシステムと照合して、ファイルの整合性を確認し、システムへの侵入を検出します。 AIDEは、変更されたファイルに焦点を当てることにより、インシデント対応中の調査時間を短縮するのに役立ちます。
機能
- ファイルタイプ、iノード、Uid、Gid、権限、リンク数、Mtime、Ctime、Atimeなどのさまざまな属性をサポートします。
- Gzip圧縮、SELinux、XAttrs、Posix ACL、および拡張ファイルシステム属性をサポートします。
- md5、sha1、sha256、sha512、rmd160、crc32などのさまざまなメッセージダイジェストアルゴリズムを作成および比較できます。
- メールで通知できます。
このチュートリアルでは、AIDEをインストールして使用し、CentOS8への侵入を検出する方法を示します。
- 2GB以上のRAMを搭載したCentOS8を実行しているサーバー。
- ルートパスワードはサーバーで構成されています。
開始する前に、システムを更新されたバージョンに更新することをお勧めします。次のコマンドを実行して、システムを更新します。
dnf update -y
システムが更新されたら、システムを再起動して変更を実装します。
デフォルトでは、AIDEはCentOS8のデフォルトリポジトリで利用できます。次のコマンドを実行するだけで簡単にインストールできます:
dnf install aide -y
インストールが完了したら、次のコマンドを使用して、インストールされているAIDEのバージョンを確認できます。
aide --version
次の出力が表示されます。
Aide 0.16次のオプションでコンパイル:WITH_MMAPWITH_PCREWITH_POSIX_ACLWITH_SELINUXWITH_XATTRWITH_E2FSATTRSWITH_LSTAT64WITH_READDIR64WITH_ZLIBWITH_CURLWITH_GCRYPTWITH_AUDITCONFIG_FILE ="/ etc/aide。次のコマンドを使用して、aideコマンドで使用可能なすべてのオプションを確認することもできます。
aide --help次の画面が表示されます。
データベースの作成と初期化 AIDEをインストールした後、最初に行う必要があるのは、セットアップを初期化することです。この初期化により、サーバーのすべてのファイルとディレクトリのデータベース(スナップショット)が作成されます。
次のコマンドを実行して、データベースを初期化します。
aide --init次の出力が表示されます。
開始タイムスタンプ:2020-01-16 03:03:19 -0500(AIDE 0.16)/var/lib/aide/aide.db.new.gzにあるAIDE初期化データベースエントリ数:49472 ------ ---------------------------------------------(の属性非圧縮)データベース:------------------------------------------- --------は/ var / libに/補佐官/ 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 ==終了タイムスタンプ:2020-01-16 03:03:44 -0500(実行時間:0分25秒)上記のコマンドは、/ var / lib/aideディレクトリ内に新しいAIDEデータベースaide.db.new.gzを作成します。次のコマンドを使用して表示できます:
ls -l / var / lib / aid次の出力が表示されます。
合計2800-rw-------1ルートルート28638091月16日03:03aide.db.new.gzAIDEは、名前がaide.db.gzに変更されるまで、新しいデータベースファイルを使用しません。次のコマンドで名前を変更できます:
mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz変更を適切に監視するために、このデータベースを設定された期間に更新することをお勧めします。 /etc/aide.confファイルを編集してDBDIR値を変更することにより、AIDEデータベースの場所を変更することもできます。
チェックエイド この時点で、AIDEは新しいデータベースを使用する準備ができています。次に、変更を加えずに最初のAIDEチェックを実行します。
aide --checkこのコマンドは、ファイルシステムのサイズとサーバーのRAMの量によっては時間がかかります。 AIDEチェックが完了すると、次の出力が表示されます。
開始タイムスタンプ:2020-01-16 03:05:07 -0500(AIDE 0.16)AIDEは、データベースとファイルシステムの間に違いを検出しませんでした。大丈夫そうです!!上記の出力は、すべてのファイルとディレクトリがAIDEデータベースと一致することを示しています。
テストAIDE デフォルトでは、AIDEはApacheのデフォルトのドキュメントルート/ var / www/htmlのファイルとディレクトリを監視するように設定されていません。したがって、ディレクトリ/ var / www/htmlを監視するようにAIDEを構成する必要があります。ファイル/etc/aide.confを編集して設定できます。
nano /etc/aide.conf「/root/ CONTENT_EX」の行の上に次の行を追加します:
/ var / www / html / CONTENT_EX終了したら、ファイルを保存して閉じます。
次に、次のコマンドを使用して、/ var / www /html/ディレクトリ内にaide.txtファイルを作成します。
echo "Test AIDE"> /var/www/html/aide.txt次に、AIDEチェックを実行し、新しく作成されたファイルがAIDEチェックによって検出されることを確認します。
aide --check次の出力が表示されます。
開始タイムスタンプ:2020-01-16 03:09:40 -0500(AIDE 0.16)AIDEがデータベースとファイルシステムの違いを検出しました!!概要:エントリの総数:49475追加されたエントリ:1削除されたエントリ:0変更されたエントリ: 0 ------------------------------------------------- -追加されたエントリ:--------------------------------------------- ------ f ++++++++++++++++:/var/www/html/aide.txt上記の出力は、新しく作成されたファイルaide.txtがaideチェックによって検出されたことを示しています。
次に、aide checkによって検出された変更を確認した後、AIDEデータベースを更新することをお勧めします。次のコマンドを使用して、AIDEデータベースを更新できます。
aide --updateデータベースが更新されると、次の出力が表示されます。
開始タイムスタンプ:2020-01-16 03:10:41 -0500(AIDE 0.16)AIDEがデータベースとファイルシステムの違いを検出しました!!/var/lib/aide/aide.db.new.gzSummaryに書き込まれた新しいAIDEデータベース:エントリの総数:49475追加されたエントリ:1削除されたエントリ:0変更されたエントリ:0 ------------------------------- --------------------追加されたエントリ:--------------------------- ------------------------ f ++++++++++++++++:/var/www/html/aide.txt上記のコマンドは、/ var / lib /aide/ディレクトリにaide.db.new.gzという新しいデータベースを作成します。
次のコマンドを使用して表示できます:
ls -l / var / lib / aid /次の出力が表示されます。
total 5600-rw ------- 1 root root 2864012 Jan 16 03:09 aide.db.gz-rw -------1 root root 2864100 Jan 1603:11aide.db。 new.gzここで、新しいデータベースの名前を再度変更して、AIDEがこの新しいデータベースを使用して新しい変更を追跡できるようにします。次のコマンドを使用して、データベースの名前を変更できます。
mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz次に、AIDEチェックを再度実行して、AIDEが新しいデータベースを使用しているかどうかを確認します。
aide --check次の出力が表示されます。
開始タイムスタンプ:2020-01-16 03:12:29 -0500(AIDE 0.16)AIDEは、データベースとファイルシステムの間に違いを検出しませんでした。大丈夫そうです!!完了したら、次のステップに進むことができます。
AIDEチェックを自動化
AIDEチェックを毎日自動化し、レポートをメールでシステムに送信することをお勧めします。 cronジョブを使用してこのプロセスを自動化できます。
これを行うには、以下に示すようにcronのデフォルト構成ファイルを編集します。
nano / etc / crontabファイルの最後に次の行を追加して、毎日午前10時15分にAIDEチェックを自動化します。
15 10 * * * root / usr / sbin / aid --check終了したら、ファイルを保存して閉じます。
これで、AIDEはシステムメールで通知します。
次のコマンドを使用して、システムメールを確認できます。
tail -f / var / mail / root次のコマンドを使用して、AIDEログを確認することもできます。
tail -f /var/log/aide/aide.log結論 上記のチュートリアルでは、AIDEを使用してサーバーの変更を理解し、サーバーへの不正アクセスを特定する方法を学習しました。 /etc/aide.confファイルを変更して、アプリケーションディレクトリまたは詳細設定を監視できます。セキュリティ上の理由から、AIDEデータベースと構成ファイルを読み取り専用メディアに保存することをお勧めします。詳細については、AIDEDocでAIDEのドキュメントを確認してください。
Cent OS