Menu Close

Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

7.5.3. /etc/audit/audit.rules ファイルでの永続的な Audit ルールと制御の定義

再起動後も持続するように Audit ルールを定義するには、Audit ルールを /etc/audit/audit.rules ファイルに直接追加するか、/etc/audit/rules.d/ ディレクトリーにあるルールを読み込む augenrules プログラムを使用する必要があります。/etc/audit/audit.rules ファイルは、同じ auditctl コマンドライン構文を使用してルールを指定します。ハッシュ記号 (#) に続く空の行とテキストは無視されます。
また、auditctl コマンドは、以下のように -R オプションを使用して指定したファイルからルールを読み込むのに使用することもできます。
~]# auditctl -R /usr/share/doc/audit/rules/30-stig.rules

制御ルールの定義

ファイルには、Audit システムの動作を変更する制御ルール (-b-D-e-f-r--loginuid-immutable、および --backlog_wait_time) のみを含めることができます。このオプションの詳細は 「制御ルールの定義」 を参照してください。

例7.4 audit.rules の制御ルール

# Delete all previous rules
-D

# Set buffer size
-b 8192

# Make the configuration immutable -- reboot is required to change audit rules
-e 2

# Panic when a failure occurs
-f 2

# Generate at most 100 audit messages per second
-r 100

# Make login UID immutable once it is set (may break containers)
--loginuid-immutable 1

ファイルシステムおよびシステムコールのルールの定義

ファイルシステムおよびシステムコールのルールは、auditctl 構文を使用して定義されます。auditctl で監査ルールの定義」 の例は、以下のルールファイルで表すことができます。

例7.5 audit.rules のファイルシステムとシステムコールのルール

-w /etc/passwd -p wa -k passwd_changes
-w /etc/selinux/ -p wa -k selinux_changes
-w /sbin/insmod -p x -k module_insertion

-a always,exit -F arch=b64 -S adjtimex -S settimeofday -k time_change
-a always,exit -S unlink -S unlinkat -S rename -S renameat -F auid>=1000 -F auid!=4294967295 -k delete

事前設定ルールのファイル

/usr/share/doc/audit/rules/ ディレクトリーには、audit パッケージが各種の証明書規格に従って、事前設定ルールのファイル一式が提供されています。
  • 30-nispom.rules — National Industrial Security Program Operating Manual の Information System Security の章で指定されている要件を満たす Audit ルールの設定。
  • 30-pci-dss-v31.rules — Payment Card Industry Data Security Standard (PCI DSS) v3.1 によって設定された要件を満たす Audit ルールの設定。
  • 30-stig.rules — セキュリティー技術実装ガイド (STIG: Security Technical Implementation Guide) によって設定された要件を満たす Audit ルールの設定
これらの設定ファイルを使用するには、元の /etc/audit/audit.rules ファイルのバックアップを作成し、選択した設定ファイルを /etc/audit/audit.rules ファイルにコピーしてください。
~]# cp /etc/audit/audit.rules /etc/audit/audit.rules_backup
~]# cp /usr/share/doc/audit/rules/30-stig.rules /etc/audit/audit.rules
注記
Audit ルールには、順序付けが可能な番号指定スキームがあります。命名スキームの詳細は、/usr/share/doc/audit/rules/README-rules ファイルを参照してください。

永続ルールを定義する augenrules の使用

augenrules スクリプトは、/etc/audit/rules.d/ ディレクトリーにあるルールを読み込み、audit.rules ファイルにコンパイルします。このスクリプトは、.rules で終わるすべてのファイルを、自然なソート順序に基づく特定の順序で処理します。このディレクトリーのファイルは、以下の意味を持つグループに分類されます。
  • 10 - カーネルおよび auditctl の設定
  • 20 - 一般的なルールに該当してしまう可能性もあるが、ユーザー側で独自ルールを作成することも可能
  • 30 - 主なルール
  • 40 - 任意のルール
  • 50 - サーバー固有のルール
  • 70 - システムのローカルルール
  • 90 - ファイナライズ (不変)
ルールは、すべてを一度に使用することは意図されていません。ルールは考慮すべきポリシーの一部であり、個々のファイルは /etc/audit/rules.d/ にコピーされます。たとえば、STIG 設定でシステムを設定し、10-base-config、30-stig、31-privileged、99-finalize の各ルールをコピーします。
/etc/audit/rules.d/ ディレクトリーにルールを置いたら、--load ディレクティブで augenrules スクリプトを実行することでそれを読み込みます。
~]# augenrules --load
augenrules --load No rules
enabled 1
failure 1
pid 634
rate_limit 0
backlog_limit 8192
lost 0
backlog 0
enabled 1
failure 1
pid 634
rate_limit 0
backlog_limit 8192
lost 0
backlog 1
Audit ルールおよび augenrules スクリプトの詳細は、 audit.rules(8) および augenrules(8) の man ページを参照してください。