第 13 章 配置系统以使用 tlog RHEL 系统角色记录会话记录

使用 tlog RHEL 系统角色,您可以使用 Red Hat Ansible Automation Platform 为 RHEL 上的终端会话记录配置系统。

13.1. tlog 系统角色

您可以使用 RHEL 系统角色为 RHEL 中的终端会话记录配置 tlog RHEL 系统。tlog 软件包及其关联的 web 控制台会话播放器为您提供记录和回溯用户终端会话的功能。

您可以将录制配置为通过 SSSD 服务在每个用户或用户组中进行。所有终端输入和输出都会捕获并保存在系统日志中的文本格式。

其它资源

  • 有关 RHEL 中会话记录的详情,请参阅 记录会话

13.2. tlog 系统角色的组件和参数

Session Recording 的解决方案由以下组件组成:

  • tlog 工具
  • 系统安全性服务守护进程(SSSD)
  • 可选: Web 控制台界面

用于 tlog RHEL 系统角色的参数有:

角色变量描述

tlog_use_sssd (default: yes)

使用 SSSD 配置会话记录,这是管理记录的用户或组的首选方法

tlog_scope_sssd (default: none)

配置 SSSD 记录范围 - all / some / none

tlog_users_sssd (default: [])

要记录的用户的 YAML 列表

tlog_groups_sssd (default: [])

要记录的组的 YAML 列表

  • 有关使用的参数 tlog 以及 tlog 系统角色的附加信息,请参考 /usr/share/ansible/roles/rhel-system-roles.tlog/README.md 文件。

13.3. 部署 tlog RHEL 系统角色

按照以下步骤准备并应用 Ansible playbook 以配置 RHEL 系统将数据记录到 systemd 日志中。

先决条件

  • 您已设置了从控制节点访问系统角色的目标系统(tlog 系统角色在其中配置的系统)的 SSH 密钥。
  • 您有一个控制节点,这是 Ansible Engine 配置其他系统的系统。
  • 您已在控制节点上安装了 Red Hat Ansible Engine,您要从该节点上运行 playbook。
  • 已在要从其中运行 playbook 的控制节点上安装了 rhel-system-roles 软件包。
  • 您至少有一个要配置 tlog 系统角色的系统。您不必在要部署 tlog 解决方案的系统中安装 Red Hat Ansible Automation Platform。

流程

  1. 使用以下内容 playbook.yml 创建新文件:

    ---
    - name: Deploy session recording
      hosts: all
      vars:
        tlog_scope_sssd: some
        tlog_users_sssd:
          - recordeduser
    
      roles:
        - rhel-system-roles.tlog

    其中,

    • tlog_scope_sssd:

      • some 指定您只记录某些用户和组群,不是 allnone
    • tlog_users_sssd:

      • recordeduser 指定要记录会话的用户。请注意,这不会为您添加用户。您必须自行设置该用户。
  2. 另外,还可以验证 playbook 语法。

    # ansible-playbook --syntax-check playbook.yml
  3. 在清单文件上运行 playbook:

    # ansible-playbook -i IP_Address /path/to/file/playbook.yml -v

playbook 会在您指定的系统中安装 tlog 角色。它还会创建一个 SSSD 配置丢弃文件,可供您定义的用户和组使用。SSSD 解析并读取这些用户和组以 shell 用户的身份覆盖 tlog 会话。另外,如果 cockpit 软件包安装在系统中,playbook 也会安装 cockpit-session-recording 软件包,它是一个 Cockpit 模块,供您在 web 控制台界面中查看和播放记录。

验证步骤

要验证 SSSD 配置文件是否在系统中创建了,请执行以下步骤:

  1. 进入创建 SSSD 配置丢弃文件的文件夹:

    # cd /etc/sssd/conf.d
  2. 检查文件内容:

    # cat /etc/sssd/conf.d/sssd-session-recording.conf

您可以看到该文件包含您在 playbook 中设置的参数。

13.4. 使用在 CLI 中部署的 tlog 系统角色记录会话

当您在指定的系统中部署了 tlog 系统角色,就可以使用命令行界面(CLI)记录用户终端会话。

先决条件

  • 您已在目标系统中部署了 tlog 系统角色。
  • SSSD 配置丢弃文件在文件 /etc/sssd/conf.d 中创建。

流程

  1. 创建一个用户并为这个用户分配密码:

    # useradd recordeduser
    # passwd recordeduser 
  2. 以您刚刚创建的用户身份登录到该系统:

    # ssh recordeduser@localhost
  3. 当系统提示您输入 yes 或 no 进行身份验证时请输入 "yes"。
  4. 插入 recorduser 的密码。

    系统提示一条信息通知您的会话被记录。

    ATTENTION! Your session is being recorded!
  5. 记录完会话后,请键入:

    # exit

    系统从用户注销并关闭与本地主机的连接。

用户会话会被记录,并被保存,您可以使用 journal 进行播放。

验证步骤

要在日志中查看您记录的会话,请执行以下步骤:

  1. 运行以下命令:

    # journalctl -o verbose -r
  2. 搜索 tlog-rec 记录日志条目中的 MESSAGE 字段。

13.5. 使用 CLI 监视记录的会话

您可以使用命令行界面(CLI)从日志中执行用户会话记录。

先决条件

流程

  1. 在 CLI 终端中,播放用户会话记录:

    # journalctl -o verbose -r
  2. 搜索 tlog 记录:

    $ /tlog-rec

    您可以查看详情,例如:

    • 用户会话记录的用户名
    • out_txt 字段是记录的会话的原始输出编码
    • 标识符号 TLOG_REC=ID_number
  3. 复制标识符号 TLOG_REC=ID_number
  4. 使用标识符号 TLOG_REC=ID_number 回放记录。

    # tlog-play -r journal -M TLOG_REC=ID_number

您可以看到记录的用户会话被回放。


为了尽快向用户提供最新的信息,本文档可能会包括由机器自动从英文原文翻译的内容。如需更多信息,请参阅此说明。