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
Kazuo Moriwaka
September 30, 2019
Technology
0
5.5k
端末のセッション記録
Red Hat Enterprise Linux 8に追加された端末のセッション記録ソフトウェアであるtlog の基本的な使い方と、現状の制限を紹介するスライドです
Kazuo Moriwaka
September 30, 2019
Tweet
Share
More Decks by Kazuo Moriwaka
See All by Kazuo Moriwaka
システム全体の暗号化ポリシーをカスタマイズ
moriwaka
0
2.1k
Red Hat Enterprise Linux 9のリリースノートを読む前に知りたい最近のキーワードをまとめて復習
moriwaka
0
1.6k
odpからmp4を作る / odp2mp4
moriwaka
0
310
Red Hat Enterprise Linux Web Console を使う / cockpit-rhel8
moriwaka
0
810
systemdエッセンシャル / systemd-intro
moriwaka
46
12k
flatpak
moriwaka
0
2.5k
Red Hat Enterprise Linux 8 の セキュリティトピック
moriwaka
2
1.3k
システム全体の暗号化ポリシー設定
moriwaka
0
1.1k
Application Streamsと、yumのmodule
moriwaka
0
1.3k
Other Decks in Technology
See All in Technology
2024年活動報告会(人材育成推進WG・ビジネスサブWG) / 20250114-OIDF-J-EduWG-BizSWG
oidfj
0
130
OPENLOGI Company Profile for engineer
hr01
1
18k
Oracle Exadata Database Service(Dedicated Infrastructure):サービス概要のご紹介
oracle4engineer
PRO
0
12k
あなたの人生も変わるかも?AWS認定2つで始まったウソみたいな話
iwamot
3
820
AWS re:Invent 2024 re:Cap Taipei (for Developer): New Launches that facilitate Developer Workflow and Continuous Innovation
dwchiang
0
160
Copilotの力を実感!3ヶ月間の生成AI研修の試行錯誤&成功事例をご紹介。果たして得たものとは・・?
ktc_shiori
0
340
新しいスケーリング則と学習理論
taiji_suzuki
10
3.8k
re:Invent2024 KeynoteのAmazon Q Developer考察
yusukeshimizu
1
130
AWS Community Builderのススメ - みんなもCommunity Builderに応募しよう! -
smt7174
0
170
The future we create with our own MVV
matsukurou
0
2k
アジャイルチームが変化し続けるための組織文化とマネジメント・アプローチ / Agile management that enables ever-changing teams
kakehashi
3
3.3k
2025年に挑戦したいこと
molmolken
0
150
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
33
3k
Agile that works and the tools we love
rasmusluckow
328
21k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.8k
Designing for humans not robots
tammielis
250
25k
It's Worth the Effort
3n
183
28k
Producing Creativity
orderedlist
PRO
343
39k
Adopting Sorbet at Scale
ufuk
74
9.2k
KATA
mclloyd
29
14k
Java REST API Framework Comparison - PWX 2021
mraible
28
8.3k
BBQ
matthewcrist
85
9.4k
Done Done
chrislema
182
16k
Why Our Code Smells
bkeepers
PRO
335
57k
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