CentOS 8 に AIDE (高度な侵入検知環境) をインストールして使用する方法

コース開始前に 「Linux管理者」 興味深い資料の翻訳を用意しました。

CentOS 8 に AIDE (高度な侵入検知環境) をインストールして使用する方法

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

CentOS 8 に AIDE (高度な侵入検知環境) をインストールして使用する方法

データベースの作成と初期化

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

コメントを追加します