第 4 章 使用 RHEL 系统角色配置系统以进行会话记录
使用 tlog RHEL 系统角色以自动方式记录和监控受管节点上的终端会话活动。您可以使用 SSSD 服务将记录配置为为每个用户或用户组进行。
tlog RHEL 系统角色中的会话记录解决方案由以下组件组成:
-
tlog工具 - 系统安全性服务守护进程(SSSD)
- 可选: Web 控制台界面
4.1. 使用 tlog RHEL 系统角色为单个用户配置会话记录 复制链接链接已复制到粘贴板!
准备并应用 Ansible playbook,来配置 RHEL 系统,将数据记录到 systemd 日志。
因此,您可以在用户在控制台中登录或 SSH 时,启用记录特定用户的终端输出和输入。
playbook 安装 tlog-rec-session,它是一个终端会话 I/O 日志记录程序,它充当用户的登录 shell。该角色会创建一个 SSSD 配置丢弃文件,此文件定义应使用登录 shell 的用户和组。另外,如果系统上安装了 cockpit 软件包,playbook 也会安装 cockpit-session-recording 软件包,它是一个 Cockpit 模块,供您在 web 控制台界面中查看和播放记录。
先决条件
- 您已准备好控制节点和受管节点
- 以可在受管主机上运行 playbook 的用户登录到控制节点。
-
用于连接到受管节点的帐户具有
sudo权限。
流程
创建一个包含以下内容的 playbook 文件,如
~/playbook.yml:Copy to Clipboard Copied! Toggle word wrap Toggle overflow tlog_scope_sssd: <value>-
some值指定您只想记录某些用户和组,而不是all或none。 tlog_users_sssd: <list_of_users>- 要从其中记录会话的用户的 YAML 列表。请注意,如果角色不存在,则不会添加用户。
验证 playbook 语法:
ansible-playbook --syntax-check ~/playbook.yml
$ ansible-playbook --syntax-check ~/playbook.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 请注意,这个命令只验证语法,不会防止错误但有效的配置。
运行 playbook:
ansible-playbook ~/playbook.yml
$ ansible-playbook ~/playbook.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
检查 SSSD 置入文件的内容:
cd /etc/sssd/conf.d/sssd-session-recording.conf
# cd /etc/sssd/conf.d/sssd-session-recording.confCopy to Clipboard Copied! Toggle word wrap Toggle overflow 您可以看到该文件包含您在 playbook 中设置的参数。
- 以记录会话的用户身份登录,执行某些操作,然后注销。
以
root用户身份:显示记录的会话列表:
journalctl _COMM=tlog-rec-sessio Nov 12 09:17:30 managed-node-01.example.com -tlog-rec-session[1546]: {"ver":"2.3","host":"managed-node-01.example.com","rec":"07418f2b0f334c1696c10cbe6f6f31a6-60a-e4a2","user":"demo-user",... ...# journalctl _COMM=tlog-rec-sessio Nov 12 09:17:30 managed-node-01.example.com -tlog-rec-session[1546]: {"ver":"2.3","host":"managed-node-01.example.com","rec":"07418f2b0f334c1696c10cbe6f6f31a6-60a-e4a2","user":"demo-user",... ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow 下一步需要
rec(recording ID)字段的值。请注意,由于 15 个字符限制,
_COMM字段的值会被缩短。回放会话:
tlog-play -r journal -M TLOG_REC=<recording_id>
# tlog-play -r journal -M TLOG_REC=<recording_id>Copy to Clipboard Copied! Toggle word wrap Toggle overflow