Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
端末のセッション記録
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Kazuo Moriwaka
September 30, 2019
Technology
6.9k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
端末のセッション記録
Red Hat Enterprise Linux 8に追加された端末のセッション記録ソフトウェアであるtlog の基本的な使い方と、現状の制限を紹介するスライドです
Kazuo Moriwaka
September 30, 2019
More Decks by Kazuo Moriwaka
See All by Kazuo Moriwaka
システム全体の暗号化ポリシーをカスタマイズ
moriwaka
0
2.7k
Red Hat Enterprise Linux 9のリリースノートを読む前に知りたい最近のキーワードをまとめて復習
moriwaka
2
2k
odpからmp4を作る / odp2mp4
moriwaka
0
480
Red Hat Enterprise Linux Web Console を使う / cockpit-rhel8
moriwaka
0
1.1k
systemdエッセンシャル / systemd-intro
moriwaka
47
14k
flatpak
moriwaka
0
2.7k
Red Hat Enterprise Linux 8 の セキュリティトピック
moriwaka
2
1.5k
システム全体の暗号化ポリシー設定
moriwaka
0
1.3k
Application Streamsと、yumのmodule
moriwaka
0
1.7k
Other Decks in Technology
See All in Technology
IaC コードを資産へ:AWS CDK 社内ライブラリと横断展開 / aws-summit-japan-2026
gotok365
10
1.6k
Claude Codeをどのように キャッチアップしているか
oikon48
13
8.8k
iOS アプリの「これって不具合ですか?」を AI に調べてもらう
miichan
0
140
「ビジネスがわかるエンジニア」とは何か?
ryooob
0
290
Comment regagner la souveraineté de vos données tout en étant payé grâce à Nostr !
rlifchitz
0
190
気軽に使える"情報のハブ"としてのNotion活用 〜フロー情報の集積点 と、 Claude Code × Notion AI〜
syucream
1
180
AWS Security Agent といっしょに脅威モデリングをやってみよう
amarelo_n24
1
210
ロボティクスの技術 / Robotics Technology
ks91
PRO
0
130
データレイクの「見えない問題」を可視化する
sansantech
PRO
1
200
AIをフル活用してオンコール機能のプロトタイプを2日で作った話 / Building an AI-Powered On-Call Prototype in Just Two Days
nari_ex
0
110
AIネイティブな開発のサプライチェーンリスク対策 〜激動の開発現場でリスクに立ち向かう〜【ZennFes】
cscengineer
PRO
2
160
【セミナー資料】Claude Code をセキュアに使うための考え方と設定の勘どころ / Claude Code Webinar 20260616
masahirokawahara
2
460
Featured
See All Featured
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
230
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
How to build a perfect <img>
jonoalderson
1
5.7k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.4k
Thoughts on Productivity
jonyablonski
76
5.2k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
Music & Morning Musume
bryan
47
7.2k
We Have a Design System, Now What?
morganepeng
55
8.2k
Fireside Chat
paigeccino
42
4k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
260
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
150
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
Transcript
1 GENERAL Distribution 端末のセッション記録 2019 年 9 月 12 日
レッドハット株式会社 森若 和雄
2 GENERAL Distribution このスライドについて このスライドについて 対象 RHEL8 で端末セッションの記録がしたい人 RHEL8 の新機能として導入された
tlog について知りたい人 目的 tlog の基本的な使い方と、現状の制限を紹介する
3 GENERAL Distribution 概要 概要 • 端末のセッション記録とは何か ? • tlog
で何ができるか ? • tlog 利用時の注意点 • 参考資料
4 GENERAL Distribution 端末のセッション記録 とは何か?
5 GENERAL Distribution 端末のセッション記録 とは 端末のセッション記録 とは 端末への入出力をログなどに保存してあとで見られるように します 利用目的は作業の記録、監査証跡の保存、デモンストレーション
など RHEL 8 では端末のセッション記録機能が含まれます ログイン時に tlog-rec-session ユーティリティが動作して、端末への入出力をログ に記録します 制限 : Gnome 上の仮想端末セッションは自動記録できません Gnome( または任意のグラフィカルセッション ) ではデスクトップ全体で 1 つの セッションを共有するため端末を識別できず、自動的なセッション記録ができませ ん。
6 GENERAL Distribution セッション記録関連コマンドなど セッション記録関連コマンドなど ユーザが利用するコマンド • tlog-rec 端末入出力をログに出力する •
tlog-play ログを端末で再生する セッション開始時に自動で記録を開始する • tlog-rec-session 端末入出力をログに出力し、シェルを起動する • sssd ユーザやグループにより tlog-rec-session の起動有無を 決める Web UI • cockpit-session-recording Web Console(cockpit) にセッション記録の設定機能と 再生機能を提供するプラグイン
7 GENERAL Distribution セッション記録概要図 セッション記録概要図 sssd は条件を満たす ログイン時には tlog- rec-session
をシェルと して返す。 tlog-rec-session sssd login や sshd bash や zsh systemd-journal rsyslog fluentd など tlog-play cockpit tlog-rec-session は端 末入出力をログ出力す るよう接続した上で シェルを起動 login や sshd はユーザ 情報を sssd に問いあわせ ログにはセッション毎の ID がついているので抽出 して再生できる tlog-rec-session は 端末への入出力を json 形式でログへ出力
8 GENERAL Distribution tlog で何ができるか ?
9 GENERAL Distribution tlog でできること tlog でできること 各ユーザによるセッション記録と再生 ユーザが自分のセッション内で端末操作をファイルへ記録し、再生できる。 強制的なセッション記録
あるシステムにログインしたユーザが特定のグループに所属している場合、 端末セッションをログへ記録する。 ( 前述のとおり Gnome 環境では不可 ) ログ形式へ対応 独自ファイル (JSON 形式 ) だけでなく、 systemd-journal と syslog 形式に対応し ている。ログへ記録されたセッションも通常セッションと同様に再生できる。
10 GENERAL Distribution tlog と他のシステムを組み合わせるとできること tlog と他のシステムを組み合わせるとできること Red Hat Identity
Management などと組み合わせる Red Hat Identity Management や LDAP サーバなどでユーザとグループを集中管理す ると、誰のセッションを記録するか集中管理できる ElasticSearch などと組みあわせる tlog は JSON 形式でログを出力するため、 Elasticsearch などと組みあわせやすい。 各システムの tlog のログを Elasticsearch に保存できる。 Auditd と組みあわせる 従来からある auditd によるコマンド実行やファイルアクセスのログと組み合わせると 見るべき範囲を絞り込みやすくなる。
11 GENERAL Distribution tlog の使い方
12 GENERAL Distribution インストールと初期設定 インストールと初期設定 インストール # yum install tlog
cockpit-session-recording 初期設定 セッションの強制的な記録を行う場合は最低限 SSSD の設定が必要 SSSD の設定 /etc/sssd/conf.d/sssd-session-recording.conf scope=none ( 記録しない )/some( 条件により記録する )/all( 全部記録する ) users, groups( 記録対象ユーザ、グループの指定 ) tlog の設定 /etc/tlog/tlog-rec-session.conf tlog-rec-session の子プロセスとして起動する shell の種類 ログ出力先を syslog にするか、 journal にするか、その場合の priority など
13 GENERAL Distribution Cockpit での利用 (1/2) Cockpit での利用 (1/2) 1.
Session Recording を選択 2. Configuration で tlog-rec-session 設定 3. 時刻、文字列検索、ユーザー名で絞り込み
14 GENERAL Distribution Cockpit での利用 (2/2) Cockpit での利用 (2/2) 再生画面
再生、一時停止、再生 速度変更、拡大縮小 ログ検索、ログのメタ データなど
15 GENERAL Distribution SSSD の設定例 SSSD の設定例 /etc/sssd/conf.d/sssd-session-recording.conf 例 :
全て記録する [session_recording] scope=all users= groups= 例 : wheel グループのみ記録する [session_recording] scope=some users= groups=wheel 詳しくは man sssd-session-recording(5)
16 GENERAL Distribution tlog-rec-session の設定例 tlog-rec-session の設定例 /etc/tlog/tlog-rec-session.conf JSON フォーマットで設定をおこないます。
例 : shell として zsh を使う { ”shell”: “/usr/bin/zsh” } 例 : ユーザ入力も保存 ( パスワード打鍵なども記録されるので要注意 ) { ”log”: { ”input”: true } } 詳しくは man tlog-rec-session.conf(5)
17 GENERAL Distribution journal の中から TLOG_REC をみつける journal の中から TLOG_REC
をみつける journal に保存すると TLOG_REC が大事 TLOG_REC という属性でセッション毎に一意な ID が付与される journalctl の検索を利用して絞り込む $ journalctl -o json-pretty --output-fields TLOG_REC 検索条件 | grep TLOG_REC | uniq 検索条件でよく使うもの TLOG_USER=kmoriwak # ユーザ名 -S -20min # 検索範囲の開始時刻。 - で相対的な時刻を指定。 -S 2019-09-03 # 検索範囲の開始時刻。絶対的な時刻を指定。 -U -5min # 検索範囲の終了時刻。 -S と同様。
18 GENERAL Distribution ユーザによる記録・再生 ユーザによる記録・再生 ファイルヘ記録、再生する $ tlog-rec -o foobar.txt
$ tlog-play -i foobar.txt $ tlog-play -i foobar.txt -s 3 # 3 倍速で再生 journal へ記録、再生する $ tlog-rec -w journal journal 内で TLOG_REC の値をみつける $ journalctl -o json-pretty --output-fields TLOG_REC TLOG_USER=kmoriwak | grep TLOG_REC | uniq $ tlog-play -r journal -M TLOG_REC=e93f93c169a04cabbe90fca8a5c86b4f-9bc- 1302f62
19 GENERAL Distribution tlog 利用時の注意点
20 GENERAL Distribution tlog の注意点 tlog の注意点 直前数秒の記録は失われることがあります tlog はデフォルトで
10 秒間入出力をバッファリングします。 tlog を含めて停止す るような操作は記録できない場合があります。 Gnome(GUI 全般 ) のセッションは記録されません 現在の tlog では Gnome や GUI 環境でのセッションは自動的に記録されません。 各ユーザが tlog-rec で記録することはできます。 tlog-play では端末サイズ変更はできません 記録時と再生時の端末サイズや端末エミュレータの種類が違うと表示が崩れます。 記録していることは簡単にわかります tlog-rec-session の子プロセスとして shell が起動されているので pstree などで容 易に記録されていることがわかります。
21 GENERAL Distribution tlog の注意点 tlog の注意点 journald はログが消えることがあります systemd-journald
は logrotate 機能を内蔵しており、設定によりストレージの残容 量などの条件によって rotate された過去のログを自動的に削除します。また root 権限があれば削除することができます。監査証跡として利用したい場合にはログ サーバや Elasticsearch などの外部サーバに保存します。 場合によりログ容量が予測しづらいです たとえば root 権限で journalctl -f とすると「端末にログを表示した」ログが journal に追加されるループになり、簡単に大量のログを発生させられます。一定 レート以上ではログを drop する設定も可能ですが、その場合は記録が失われるた め判断が必要です。
22 GENERAL Distribution まとめ まとめ • Red Hat Enterprise Linux
8 ではセッション記録の機能が追 加されました • 作業記録や監査証跡などに利用できます • 利用はかなり簡単です • 目的により制限と考慮するべき点があります
23 GENERAL Distribution 参考情報 参考情報 • 公式ドキュメント「セッションの録画」 https://red.ht/302GAlm • Scribery
プロジェクトのページ http://scribery.github.io/
24 GENERAL Distribution Thank You