第38章 CLI を使用したセッション記録の設定
System Security Services Daemon (SSSD) を使用してユーザーターミナルセッションの記録を設定する方法と、tlog コマンドラインユーティリティーを使用してこの記録を管理および再生する方法を学習します。
38.1. セッション記録の概要とコンポーネント リンクのコピーリンクがクリップボードにコピーされました!
セッション記録は、ユーザーのターミナルアクティビティーをキャプチャーして保存します。これにより、すべてのコマンド、出力、エラーメッセージの詳細かつ変更不可能な記録が得られます。この記録は、監査、トラブルシューティング、セキュリティーインシデントの調査に使用できます。
ユーザーが定義した記録ポリシーは、SSSD によって適用されます。実際の記録と再生は、tlog ユーティリティーによって処理されます。
セッション記録のコンポーネント
- tlog ユーティリティー
-
tlogユーティリティーは、ターミナルの I/O を記録および再生するためのツールを提供します。tlog-rec-sessionは、中間ログインシェルとして機能し、ユーザーのターミナルとシェル間のすべてのデータをキャプチャーします。tlogの記録はすべて JSON 形式です。記録されたセッションは、tlog-playを使用して再生できます。デフォルトでは、セキュリティー上の理由から、ターミナル入力の記録は無効になっていることに注意してください。設定オプションの詳細は、システム上の/etc/tlog/tlog-rec-session.confファイルとtlog-rec-session.conf(5)man ページを参照してください。 - SSSD
-
SSSD は、リモートディレクトリーと認証メカニズムへのアクセスを管理するデーモンのセットを提供します。セッション記録を設定すると、SSSD がユーザーのデフォルトシェルを
tlog-rec-sessionプログラムでオーバーレイします。
セッション記録の制限
- root ユーザーのセッション記録を設定することはできますが、root ユーザーには記録プロセスを無効化または回避する特権があります。そのため、監査目的でのセッション記録の信頼性が低下します。
-
GNOME グラフィカルセッションのターミナルセッションは記録されません。これは、グラフィカルセッション内のすべてのターミナルが 1 つの監査セッション ID を共有しているために、
tlogがターミナルを区別できず、記録を正しくキャプチャーできないためです。 ジャーナルを表示するときにログのループが発生する可能性があります。記録されたユーザーがシステムジャーナルまたは
/var/log/messagesを表示すると、新しいログが生成され、それが記録されて表示されるため、大量の出力のループが発生します。ログのループを防ぐには、ジャーナルをリアルタイムで表示し、ループを発生させているログエントリーを除外します。
journalctl -f | grep -v 'tlog-rec-session'出力を制限するように
tlogを設定することもできます。詳細は、tlog-rec-session.confman ページを参照してください。-
リモートで実行する場合は、ターゲットホスト上でセッション記録を設定する必要があります。たとえば、ユーザーが
sshを使用してリモートシステムに接続するときにユーザーのセッションを記録する場合は、接続先のリモートシステムで記録を設定します。 -
systemd-journaldサービスがデフォルト設定を使用してジャーナルをメモリー内に保存する場合、再起動時にすべての記録が失われます。