4장. RHEL 시스템 역할을 사용하여 세션 레코딩 시스템 구성
tlog RHEL 시스템 역할을 사용하여 관리 노드의 터미널 세션 활동을 자동으로 기록하고 모니터링합니다. SSSD 서비스를 통해 사용자 또는 사용자 그룹별로 레코딩을 구성할 수 있습니다.
tlog RHEL 시스템 역할의 세션 레코딩 솔루션은 다음 구성 요소로 구성됩니다.
-
tlog유틸리티 - SSSD(System Security Services Daemon)
- 선택 사항: 웹 콘솔 인터페이스
4.1. tlog RHEL 시스템 역할을 사용하여 개별 사용자의 세션 레코딩 구성 링크 복사링크가 클립보드에 복사되었습니다!
세션 레코딩 데이터를 systemd 저널에 기록하도록 RHEL 시스템을 구성하기 위해 Ansible 플레이북을 준비하고 적용합니다.
이를 통해 세션 중에 터미널 출력 및 특정 사용자의 입력을, 사용자가 콘솔에 로그인하거나 SSH를 통해 입력할 수 있습니다.
이 플레이북은 사용자의 로그인 쉘 역할을 하는 터미널 세션 I/O 로깅 프로그램인 tlog-rec-session 을 설치합니다. 이 역할은 SSSD 구성 드롭 파일을 생성하고 이 파일은 로그인 쉘을 사용해야 하는 사용자와 그룹을 정의합니다. 또한 cockpit 패키지가 시스템에 설치된 경우 플레이북은 웹 콘솔 인터페이스에서 레코딩을 보고 재생할 수 있는 Cockpit 모듈인 cockpit-session-recording 패키지도 설치합니다.
사전 요구 사항
- 컨트롤 노드 및 관리형 노드를 준비했습니다.
- 관리 노드에서 플레이북을 실행할 수 있는 사용자로 제어 노드에 로그인되어 있습니다.
-
관리 노드에 연결하는 데 사용하는 계정에는
sudo권한이 있습니다.
절차
다음 콘텐츠를 사용하여 플레이북 파일(예:
~/playbook.yml)을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow tlog_scope_sssd: <value>-
some값은 일부 또는none이 아닌 특정 사용자 및 그룹만 기록하려는 값을 지정합니다. tlog_users_sssd: <list_of_users>- 세션을 기록할 사용자의 YAML 목록입니다. 역할이 없는 경우 사용자를 추가하지 않습니다.
플레이북 구문을 확인합니다.
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 파일에 플레이북에서 설정한 매개변수가 포함되어 있음을 확인할 수 있습니다.
- 세션이 기록될 사용자로 로그인하여 일부 작업을 수행하고 로그아웃합니다.
root사용자로 다음을 수행합니다.기록된 세션 목록을 표시합니다.
journalctl _COMM=tlog-rec-sessio
# 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(기록 ID) 필드 값이 필요합니다._COMM필드의 값은 15자 제한으로 단축됩니다.세션을 다시 재생합니다.
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