AIDEとセキュリティ
この記事は、Linuxのセキュリティに関する一連の記事のパート2です。パート1では、Pluggable Authentication Modules(PAM)の概念について、通常のユーザーに強力なパスワード条件を設定してそのユーザーのセキュリティを強化する例を示します。このパートでは、高度な侵入検知環境(AIDE)について説明します。
Linuxのセキュリティでは、データを追跡することが非常に重要です。システム管理者は、ファイルとディレクトリの整合性をチェックする方法を知っている必要があります。これは、AIDEツールを使用して行うことができます。
[次のこともお勧めします:継承されたLinuxシステムの保護]
AIDEツールは、パーミッション、所有権、およびSecurity-Enhanced Linux(SELinux)の観点からファイルを監視するのにも役立ちます。誰かが特定のファイルを変更しようとした場合は、AIDEを使用してそのファイルを確認できます。
AIDEの紹介
高度な侵入検知環境(AIDE) は強力なオープンソースの侵入検知ツールであり、事前定義されたルールを使用して、Linuxオペレーティングシステム内のファイルとディレクトリの整合性をチェックします。 AIDEには、ファイルとディレクトリの整合性をチェックするための独自のデータベースがあります。
AIDEは、最近変更または変更されたファイルを監視するのに役立ちます。誰かがそれらを変更または変更しようとしたときに、ファイルまたはディレクトリを追跡できます。しかし、疑問が生じます。AIDEは安全ですか?
AIDEはSELinuxによって保護されています。 SElinuxは、強制アクセス制御を使用してAIDEプロセスを保護します。システムで実行されている各プロセスのプロセスタイプ(ドメイン)を定義します。 SELinux AIDEポリシーは非常に柔軟性があり、ユーザーはAIDEプロセスを可能な限り安全な方法でセットアップできます。
AIDEのインストール
一部のLinuxディストリビューションでは、AIDEがインストールされていない可能性があります。システムにAIDEをインストールするには、次のコマンドを使用します。
# yum install aide -y
次を使用してAIDEのバージョンを確認できます:
# aide -v
AIDEでは、構成ファイルのパスは/etc/aide.conf
です。 。この構成では、データベースを初期化またはチェックできます。この構成では、PERMS、NORMAL、LSPP、DATAONLYなどの一部のルールがすでに事前定義されています。これらのカスタムルールには、権限、iノード、リンク数、acl
に関連する多くのデフォルトが含まれています 、selinux
、など。カスタムルールの一例は次のとおりです:
$ PERMS= p+i+n+u+g+acl+selinux
場所:
-
p
:許可 -
i
:iノード -
N
:リンクの数 -
g
:グループ -
acl
:アクセス制御リスト -
selinux
:SELinuxセキュリティコンテキスト
これらのルールは、ファイルの追跡と検出に役立ちます。 PERMSルールを任意のディレクトリまたはファイルに配置すると、これらのルールはすべて追跡および監視用に実装されます。これらの宣言されたすべてのルールを使用して、複数のルールを組み合わせたカスタムルールを作成することもできます。
AIDEデータベースを初期化する前に、ディレクトリまたはファイルのルールを設定することが重要です。これは、/etc/aide.conf
で行うことができます ファイル自体。 /etc/passwd
を追跡したいとします。 そのファイルにPERMSなどのルールを設定して、AIDEデータベースを使用してファイルの整合性をチェックできるようにします。
AIDEの実装
システムにAIDEを実装するには、データベースを初期化する必要があります。このAIDEデータベースを使用して、すべてのファイルとディレクトリに対して整合性チェックが実行されます。 AIDEデータベースは/var/lib/aide
に生成されます ディレクトリ。次を使用して、このディレクトリのコンテキストを確認することもできます:
$ ls -ldZ /var/lib/aide
drwx------. 2 root root system_u:object_r:aide_db_t:s0 4096 Jul 31 2019 /var/lib/aide/
このディレクトリにはaide_db_t
があります SELinuxによって設定されたコンテキスト。このコンテキストは、ファイルをAIDEデータベースコンテンツとして扱いたい場合に使用されます。 AIDEログは/var/log/aide
に保存されます ディレクトリとこのディレクトリにもaide_log_t
があります コンテキスト。
AIDEデータベースを初期化するには、次のコマンドを使用します:
$ aide --init
このコマンドは、データベースのgzip圧縮されたファイルを生成します。整合性チェックの目的でzipファイルを使用できます。/etc/hosts
を監視する必要があるとします。 ファイル。そのため、誰かがファイルを入力しようとしたり、不在時にファイルを変更しようとしたりした場合は、AIDEを使用してそのファイルを確認できます。
システムにAIDEをインストールした後、/etc/aide.conf
にエントリを作成します カスタマイズされたルールを持つファイル。権限、グループ、所有権、およびファイルアクセス時間の変更についてファイルを監視する必要があります。次に、これらすべてのポイントを含むカスタマイズされたルールを選択できます。
これらのカスタムルールには最大の通常ルールが含まれているため、ここにFIPSRルールセットを配置します。
FIPSR= p+i+n+u+g+s+m+c+acl+selinux+xattrs+sha256
注 :aide.conf
に何かを書き込む前に ファイル、常にバックアップを作成します。
# cp /etc/aide.conf /etc/aide`date +%F`.conf
/etc/aide.conf
内 ファイルの場合、次のカスタムルールを使用してファイル名を書き込むことができます:
/etc/hosts FIPSR
この後、aide --init
を使用してデータベースを初期化できます 指図。これにより、 gzipが生成されます aide.db.new.gz
という名前のファイル 。このファイルをAIDEデータベースのデフォルトディレクトリ内にaide.db.gz
という名前で移動します
$ mv aide.db.new.gz /var/lib/aide/aide.db.gz
このようにして、データベースを適切な場所に設定できます。
AIDEは、現在のファイルシステムのステータスを認識した後、既知のステータスと比較することにより、ファイルシステムの変更を検出できます。整合性を確認するには、次を使用します:
$ aide --check
このコマンドを使用すると、詳細を出力できます。 /etc/hosts
の場合 ファイルが変更されると、最後に変更されたファイルが表示されます。
aide.conf
で新しいエントリを実行した後、AIDEデータベースを更新する場合 、使用:
$ aide --update
[セキュリティについて考えていますか?ハイブリッドクラウドのセキュリティを強化し、ビジネスを保護するためのこの無料ガイドをご覧ください。 ]
まとめ
この記事では、Advanced Intrusion Detection Environment(AIDE)と、それを使用してLinuxのセキュリティを強化する方法について学習しました。ファイルとディレクトリを監視し、それらの整合性を確認することもできます。 AIDEデータベースは、ファイルやディレクトリで発生した変更を検出するのに役立ちます。