Chapter 45. Configuring session recording by using the CLI
Configure user terminal session recordings using the System Security Services Daemon (SSSD) to audit and monitor user activity. Manage and play back recorded sessions using the tlog command-line utility.
45.1. Session recording overview and components Copy linkLink copied to clipboard!
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.
45.2. Enabling and configuring session recording with SSSD from the CLI Copy linkLink copied to clipboard!
Enable session recording through SSSD in Identity Management (IdM) to capture terminal activity for specific users or groups. Session recording improves security auditing and helps investigate user activity.
When you configure session recording, you use SSSD to define which users or groups to record by setting the scope option to one of the following values:
-
noneto record no sessions -
someto record only specified users and groups -
allto record all users
Prerequisites
-
Commands that start with the
#command prompt require administrative privileges provided bysudoor root user access. For information on how to configuresudoaccess, see Enabling unprivileged users to run certain commands. - You are using SSSD for authentication.
Procedure
Install the
tlogpackage:# dnf install tlogOpen the
sssd-session-recording.confconfiguration file:# vi /etc/sssd/conf.d/sssd-session-recording.confSpecify the scope of session recording and the users and groups to record. For example:
[session_recording] scope = some users = <user_name_1>, <user_name_2> groups = <group_name> exclude_users = <user_name_to_exclude> exclude_groups = <group_name_to_exclude>For more details, see the
sssd-session-recording(5)man page on your system.To enable the SSSD profile, run the following command:
# authselect select sssd with-tlogRestart SSSD to load the configuration changes:
# systemctl restart sssd
45.3. Playing back session recordings Copy linkLink copied to clipboard!
Review terminal session recordings using the tlog-play utility or the web console to audit user activities and investigate security incidents. Session recordings help ensure compliance and identify unauthorized access attempts.
The system journal stores session recordings. By default, it saves them in-memory, so you lose recordings on reboot unless you configure persistent storage.
You can play back recordings directly from the system journal by using the tlog-play utility. Alternatively, you can install the cockpit-session-recording package to manage and play back recordings on the RHEL web console. .Prerequisites * Terminal sessions have been recorded.
Procedure
Optional: List recorded sessions:
$ journalctl COMM=tlog-rec-sessionPlay back a specific session:
# tlog-play --reader=journal --journal-id=<recorded_session_id>For more advanced options, such as changing playback speed or fast-forwarding, see the
tlog-playman page on your system.