7.9. Audit 用の PAM 設定

7.9.1. pam_tty_audit の設定

Red Hat Enterprise Linux の監査システムは、pam_tty_audit PAM モジュールを使って、ユーザーが指定した TTY 入力の監査を有効/無効にします。監査対象のユーザーがログインすると、pam_tty_audit はユーザーが /var/log/audit/audit.log ファイルに行ったキー入力をそのまま記録します。このモジュールは auditd デーモンと動作するので、pam_tty_audit を設定する前にこれを有効にしてください。詳細情報は、audit サービスの起動」 を参照してください。
TTY 監査でユーザー名を指定したい場合は、以下の形式で disable および enable オプションを使って、/etc/pam.d/system-auth/etc/pam.d/password-auth の各ファイルを修正します。
 session required pam_tty_audit.so disable=username,username2 enable=username 
オプションでは、ユーザー名はコンマ区切りにします。disable または enable のオプションは、同一のユーザー名に合致するもので反対のオプションを上書きします。TTY 監査が有効になっていると、そのユーザーが開始したプロセスすべてので引き継がれます。特に、あるユーザーが再起動したデーモンは TTY 監査が有効になったままになり、他のユーザーの監査が明示的に無効にされない限り、他のユーザーによる TTY 入力も監査されます。このため、PAM を使用するほとんどのデーモンでは、disable=* を最初のオプションとして使用することが推奨されます。

重要

デフォルトでは、TTY がパスワード入力モードになっている時には、pam_tty_audit はキー入力をログ記録 しません。ログ記録は、以下の方法で他のオプションと一緒に log_passwd オプションを追加することで、再度有効にできます。
 session required pam_tty_audit.so disable=username,username2 enable=username log_passwd 
このモジュールを有効にすると、auditd デーモンが入力を /var/log/audit/audit.log ファイルに書き込みます。TTY 監査では最初にキー入力がバッファに保存され、定期的に記録が書き込まれるか、監査対象のユーザーがログアウトした後に書き込まれるので、入力が直ちにログ記録されるわけではないことに注意してください。audit.log ファイルには、バックスペースや削除、リターンキー、コントロールキーなど、指定されたユーザーによる すべての キー入力が含まれます。audit.log のコンテンツはヒューマンリーダブルですが、aureport ユーティリティーを使うと読みやすい形式の TTY レポートが提供されます。root で以下のコマンドを実行します。
~]# aureport --tty
以下の例では、すべてのターミナルにわたる root ユーザーのアクションを追跡するように pam_tty_audit を設定し、その後に入力を見直します。

例7.8 root のアクションをログ記録する pam_tty_audit の設定

以下の行を /etc/pam.d/system-auth および /etc/pam.d/password-auth の各ファイルの session セクションに加えます。
session    required     pam_tty_audit.so disable=* enable=root
aureport --tty コマンドを使ってログを確認します。root ユーザーが 11 時ごろに TTY コンソールにログインし、pwd コマンドを発行し、その後にそれを削除して代わりに ls を発行していると、レポートは以下のようになります。
~]# aureport --tty -ts today | tail			
40. 08/28/2014 11:00:27 901 0 ? 76 bash "pwd",<backspace>,<backspace><backspace>,"ls",<ret>
41. 08/28/2014 11:00:29 903 0 ? 76 bash <^D>
詳細情報は、pam_tty_audit(8) man ページを参照してください。