ウェブサイト検索

ロギング シェル ユーザー アクティビティを監査するように PAM を構成する方法


これは Linux 監査に関する継続的なシリーズです。この記事の第 4 部では、Linux TTY 入力 (シェル ユーザー アクティビティのログ記録) を監査するために PAM を構成する方法について説明します。 pam_tty_audit ツールを使用する特定のユーザー向け。

Linux PAM (プラグ可能認証モジュール) は、アプリケーションやさまざまなシステム サービスに認証サービスを実装するための非常に柔軟な方法です。これはオリジナルの Unix PAM から派生したものです。

認証機能は 4 つの主要な管理モジュール、すなわちアカウント モジュール認証モジュールパスワード モジュール、およびセッション モジュールに分割されています。 >。これらの管理グループの詳細な説明は、このチュートリアルの範囲を超えています。

auditd ツールは、pam_tty_audit PAM モジュールを使用して、指定されたユーザーのTTY 入力の監査を有効または無効にします。ユーザーが監査されるように設定されると、pam_tty_auditauditd と連携して端末上でのユーザーのアクションを追跡し、設定されている場合はユーザーが行った正確なキーストロークをキャプチャします。次に、それらを /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

上記の出力から、UID1000 であるユーザー 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

次の役立つ記事をご覧ください。

  1. Linux サーバー上で PuTTY を使用して「パスワードなし SSH キー認証」を構成する
  2. RHEL/CentOS 7 での LDAP ベースの認証のセットアップ
  3. SSH ログイン用の 2 要素認証 (Google Authenticator) を設定する方法
  4. 5 つの簡単なステップで SSH Keygen を使用した SSH パスワードレス ログイン
  5. Linuxでパスワードを入力せずに「sudo」コマンドを実行する方法

この記事では、CentOS/RHEL で特定のユーザーの入力を監査するために PAM を構成する方法について説明しました。質問や共有したい追加のアイデアがある場合は、以下のコメントを使用してください。