13.13. AIDE を使用した侵入検知
AIDE (Advanced Intrusion Detection Environment) は、ファイルとディレクトリーの整合性チェッカーです。これは、承認されていないファイルの改ざんまたは変更のインシデントを検出するために使用されます。たとえば、AIDE は、システムパスワードファイルが変更された場合に警告を出すことができます。
AIDE はシステムファイルを分析し、ファイルハッシュの整合性データベースをコンパイルします。このデータベースは、ファイルとディレクトリーの整合性を検証し、変更を検出するために使用されます。詳細は、AIDE サービスで サポートされるレポートオプション および AIDE サービス が どのようにシステムアップグレードに影響を 与えるか を参照してください。
手順
director には、AIDE サービスが含まれています。AIDE ルールを追加して、AIDE サービスが整合性データベースの作成に使用するディレクトリーを追加または除外できます。たとえば、次のファイルを作成できます。
注記この例では積極的には保守やベンチマークが行われていないため、要件に合わせて AIDE の値を選択する必要があります。
resource_registry: OS::TripleO::Services::Aide: /usr/share/openstack-tripleo-heat-templates/deployment/aide/aide-baremetal-ansible.yaml parameter_defaults: AideRules: 'TripleORules': content: 'TripleORules = p+sha256' order: 1 'etc': content: '/etc/ TripleORules' order: 2 'boot': content: '/boot/ TripleORules' order: 3 'sbin': content: '/sbin/ TripleORules' order: 4 'var': content: '/var/ TripleORules' order: 5 'not var/log': content: '!/var/log.*' order: 6 'not var/spool': content: '!/var/spool.*' order: 7 'not nova instances': content: '!/var/lib/nova/instances.*' order: 8この例では、最初の AIDE ルールは
TripleORulesという名前のエイリアスで、ディレクトリーが使用するすべてのルールで使用する共通の属性を指定します。このエイリアスを作成して使用すると、ルールごとにこれらの属性を繰り返す必要がなくなります。p+sha256で指定した属性は、次の AIDE 命令を表します。sha256の整合性チェックサムですべてのファイルパーミッションpを監視する。複雑な AIDE ルールの作成の詳細は 複雑な AIDE ルールの 作成 を参照し てください。AIDE 属性の完全なリストは、AIDE MAN ページ( https://aide.github.io/ )を参照してください。
-
/home/stack/templates/ディレクトリーにaide.yamlという環境ファイルとして設定を保存します。 ご自分の環境に固有のその他すべての heat テンプレートおよび環境ファイルと共に、この
/home/stack/templates/aide.yaml環境ファイルをopenstack overcloud deployコマンドに追加します。openstack overcloud deploy --templates ... -e /home/stack/templates/aide.yaml
13.13.1. 複雑な AIDE ルールの作成 リンクのコピーリンクがクリップボードにコピーされました!
AIDE ルールの複雑さを高めるために、複雑な AIDE エイリアスを実装するか、サポートされている AIDE 値を使用できます。
複雑な AIDE エイリアスを実装して、作成するすべての AIDE ルールに AIDE 命令のセットを組み込むことができます。以下を実行できます
たとえば、以下のエイリアスは、次の AIDE 命令として解釈されます。チェックサムの生成に sha512 を使用して、パーミッション、inode、リンクの数、ユーザー、グループ、サイズ、ブロック数、mtime、ctime をモニターします。
MyAlias = p+i+n+u+g+s+b+m+c+sha512
エイリアスは、これを実装する関連するルールに再帰的に適用されるため、作成する最初の AIDE ルールである必要があります。
エイリアスの後に、AIDE サービスが包含および除外するディレクトリーを指定するルールを指定する必要があります。正規表現を使用できます。たとえば、! 演算子を使用して、!/var/ log.* および 。
!/var/spool.* の特定のサブディレクトリーを除外します
AIDE ルールでは、以下の AIDE 値を使用できます。
-
AideConfPath: aide 設定ファイルへの完全な POSIX パス。デフォルトは/etc/aide.confです。ファイルの場所を変更する要件がない場合は、デフォルトのパスのままにすることが推奨されます。 -
AideDBPath: AIDE 整合性データベースへの完全な POSIX パス。この値は設定が可能で、オペレーターが独自のフルパスを宣言できます。多くの場合、AIDE データベースファイルはノード外に保管されるためです (読み取り専用のファイルマウント)。 -
AideDBTempPath: AIDE 整合性一時データベースへの完全な POSIX パス。この一時ファイルは、AIDE が新規データベースを初期化する際に作成されます。 -
AideHour: この値は、AIDE cron 設定の一部として hour 属性を設定します。 -
AideMinute: この値は、AIDE cron 設定の一部として minute 属性を設定します。 -
AideCronUser: この値は、AIDE cron 設定の一部として linux ユーザーを設定します。 -
AideEmail: この値は、cron が実行されるたびに AIDE レポートを受信するメールアドレスを設定します。 -
AideMuaPath: この値は、AideEmailで設定したメールアドレスに AIDE レポートを送信するために使用される Mail User Agent へのパスを設定します。
13.13.2. AIDE サービスでサポートされるレポートオプション リンクのコピーリンクがクリップボードにコピーされました!
AIDE director サービスにより、cron ジョブ を設定できます。デフォルトでは、レポートを /var/log/audit/ に送信します。
電子メールアラートを使用する場合は、AideEmail パラメーターを有効にして、設定された電子メールアドレスにアラートを送信します。
重大なアラートにメールに依存する場合、このレポート方法は、システム停止や意図しないメッセージフィルタリングに対して脆弱になる可能性があります。
13.13.3. AIDE サービスがシステムのアップグレードに与える影響 リンクのコピーリンクがクリップボードにコピーされました!
アップグレードが実行されると、AIDE サービスが新しい整合性データベースを自動的に再生成し、アップグレードされたすべてのファイルが正しく再計算され、更新されたチェックサムが作成されるようにします。
openstack overcloud deploy が初期デプロイメントに対して後続の実行として呼び出され、AIDE 設定ルールが変更されると、director AIDE サービスはデータベースを再構築して、新しい設定属性が整合性データベースにカプセル化されるようにします。