ロギング シェル ユーザー アクティビティを監査するように PAM を構成する方法
これは Linux 監査に関する継続的なシリーズです。この記事の第 4 部では、Linux TTY 入力 (シェル ユーザー アクティビティのログ記録) を監査するために PAM を構成する方法について説明します。 pam_tty_audit ツールを使用する特定のユーザー向け。
Linux PAM (プラグ可能認証モジュール) は、アプリケーションやさまざまなシステム サービスに認証サービスを実装するための非常に柔軟な方法です。これはオリジナルの Unix PAM から派生したものです。
認証機能は 4 つの主要な管理モジュール、すなわちアカウント モジュール、認証モジュール、パスワード モジュール、およびセッション モジュールに分割されています。 >。これらの管理グループの詳細な説明は、このチュートリアルの範囲を超えています。
auditd ツールは、pam_tty_audit PAM モジュールを使用して、指定されたユーザーのTTY 入力の監査を有効または無効にします。ユーザーが監査されるように設定されると、pam_tty_audit が auditd と連携して端末上でのユーザーのアクションを追跡し、設定されている場合はユーザーが行った正確なキーストロークをキャプチャします。次に、それらを /var/log/audit/audit.log ファイルに記録します。
Linux でユーザー TTY 入力を監査するための PAM の構成
/etc/pam.d/system-auth および /etc で、特定のユーザーの TTY 入力を監査するように PAM を設定できます。 /pam.d/password-auth ファイル、enable オプションを使用します。一方、予想どおり、無効にすると、次の形式で指定されたユーザーに対して無効になります。
session required pam_tty_audit.so disable=username,username2... enable=username,username2..
実際のユーザー キーストローク (スペース、バックスペース、リターン キー、コントロール キー、削除キーなど) のログを有効にするには、次の形式を使用して、log_passwd オプションを他のオプションとともに追加します。
session required pam_tty_audit.so disable=username,username2... enable=username log_passwd
ただし、構成を実行する前に、次の点に注意してください。
- 上記の構文にあるように、多くのユーザー名を有効または無効のオプションに渡すことができます。
- 無効または有効のオプションは、同じユーザー名に一致する前の反対側のオプションをオーバーライドします。
- TTY 監査を有効にすると、定義されたユーザーによって開始されたすべてのプロセスに継承されます。
- キーストロークの記録が有効になっている場合、TTY 監査は最初にキーストロークをバッファに保存し、指定された間隔で、または監査対象のユーザーがログアウトした後にバッファの内容を/var/log に書き込むため、入力は即時に記録されません。 /audit/audit.log ファイル。
以下の例を見てみましょう。ここでは、すべての端末でキーストロークを含むユーザー tecmint
のアクションを記録するように pam_tty_audit を構成し、その他すべての端末に対して TTY 監査を無効にします。システムユーザー。
次の 2 つの構成ファイルを開きます。
vi /etc/pam.d/system-auth
vi /etc/pam.d/password-auth
設定ファイルに次の行を追加します。
セッションが必要です pam_tty_audit.so disable=*enable=tecmint
ユーザー tecmint が入力したすべてのキーストロークをキャプチャするには、図に示すように log_passwd オプションを追加します。
session required pam_tty_audit.so disable=* enable=tecmint log_passwd
ファイルを保存して閉じます。その後、aureport ユーティリティを使用して、記録された TTY 入力のauditd ログ ファイルを表示します。
aureport --tty
上記の出力から、UID が 1000 であるユーザー tecmint が vi/vim エディタを使用して、 というディレクトリを作成したことがわかります。 binに移動し、ターミナルをクリアするなどです。
特定の時刻以降のタイムスタンプで記録された TTY 入力ログを検索するには、-ts
を使用して開始日時を指定し、-te
を使用して終了日時を設定します。日付時刻。
以下にいくつかの例を示します。
aureport --tty -ts 09/25/2017 00:00:00 -te 09/26/2017 23:00:00
aureport --tty -ts this-week
詳細については、pam_tty_audit のマニュアル ページを参照してください。
man pam_tty_audit
次の役立つ記事をご覧ください。
- Linux サーバー上で PuTTY を使用して「パスワードなし SSH キー認証」を構成する
- RHEL/CentOS 7 での LDAP ベースの認証のセットアップ
- SSH ログイン用の 2 要素認証 (Google Authenticator) を設定する方法
- 5 つの簡単なステップで SSH Keygen を使用した SSH パスワードレス ログイン
- Linuxでパスワードを入力せずに「sudo」コマンドを実行する方法
この記事では、CentOS/RHEL で特定のユーザーの入力を監査するために PAM を構成する方法について説明しました。質問や共有したい追加のアイデアがある場合は、以下のコメントを使用してください。