第47章 Configuring session recording by using the CLI
Learn how to configure user terminal session recordings using the System Security Services Daemon (SSSD), and how to manage and play back these recordings using the tlog command-line utility.
47.1. Session recording overview and components リンクのコピーリンクがクリップボードにコピーされました!
Session recording captures and saves a user’s terminal activity. This provides a detailed, unchangeable record of all commands, output, and error messages, which you can use for auditing, troubleshooting, and investigating a security incident.
SSSD enforces the recording policies you define, and the tlog utility handles the actual recording and playback.
- Components of the session recording
tlogutilityThe
tlogutility provides tools for recording and playing back terminal I/O.tlog-rec-sessionfunctions as an intermediary login shell and captures all data between the user’s terminal and shell. Alltlogrecordings are in JSON format. You can play back recorded sessions usingtlog-play. Note that by default, terminal input recording is disabled for security reasons. For detailed configuration options, see the/etc/tlog/tlog-rec-session.conffile and thetlog-rec-session.conf(5)man page on your system.SSSD
SSSD provides a set of daemons that manage access to remote directories and authentication mechanisms. When you configure session recording, SSSD overlays the user’s default shell with the
tlog-rec-sessionprogram.
- Limitations of session recording
- You can configure session recording for the root user, but the root user has the privileges to disable or bypass the recording process, which makes the session recording unreliable for auditing purposes.
-
Terminal sessions in a GNOME graphical session are not recorded. This is because all terminals within a graphical session share a single audit session ID, which prevents
tlogfrom distinguishing between them and capturing recordings correctly. A logging loop can occur when viewing the journal. When a recorded user views the system journal or
/var/log/messages, it generates new logs, which are then recorded and displayed, causing a loop of flooded output.To prevent the logging loop, view the journal in real time and filter out the log entries which create the loop:
journalctl -f | grep -v 'tlog-rec-session'You can also configure
tlogto limit the output. For details, seetlog-rec-session.confman pages.-
You must configure session recording on the target host for remote execution. For example, if you want to record a user’s session when they use
sshto connect to a remote system, configure the recording on the remote system they connect to. -
All recordings are lost on reboot if
systemd-journaldservice uses its default configuration to store the journal in-memory.