本番サーバへのSSHやWindowsのリモートデスクトップを「誰が・いつ・何をしたか」まで残せていますか。踏み台で経路を絞った先の操作証跡・画面録画を、Apache GuacamoleとOSSを軸に、AWS(SSM Session Manager)との使い分けまで実務目線で整理します。

01「誰が・いつ・何をしたか」を、残せていますか

特権アクセス——本番サーバへのSSH、Windowsへのリモートデスクトップ——を「誰が・いつ・何をしたか」まで残せている組織は、意外と多くありません。踏み台(bastion)を置いて経路を絞るところまでは進んでも、その先の操作証跡・画面録画が抜けていると、監査でもインシデント調査でも詰まります。

操作の記録は、特権アクセス管理(PAM)の中核です。"言った言わない"を消し、内部不正の抑止になり、障害時には「直前に誰が何を触ったか」を数分で辿れる。この記事では、その仕組みをApache GuacamoleとOSSを軸に、AWSでの現実解(SSM Session Manager との使い分け)まで整理します。

現場のコツ:先に結論の骨子:①テキスト(キーストローク)と②画面録画(動画)は別物で用途が違う。③AWSならまず SSM Session Manager(テキスト・エージェント型・閉域可)、GUI/RDPの画面録画が要るなら Guacamole、大規模な統合PAMなら Teleport。そして録画は改ざん防止(S3 Object Lock)まで含めて初めて証跡になります。

踏み台そのものの設計はAWSにおける踏み台環境の考え方、特権アクセスをIDでどう束ねるかはマルチ/ハイブリッドクラウドを「ID」で束ねる考え方もあわせてどうぞ。

02記録には3種類ある — テキスト・画面・イベント

「操作を記録する」と一口に言っても、大きく3種類あり、用途も容量もまるで違います。まずここを分けて考えるのが出発点です。

種類記録するもの向き・特徴
テキスト(キーストローク/typescript)端末の入出力をテキストで軽量・検索可・可搬。SSH/CLI向き。パスワードが写り得る
グラフィカル(画面録画)画面の見た目(動画化も可)RDP/VNCなどGUI向き。容量が大きい。認証情報・個人情報が映る
構造化イベント「誰が・いつ・どのコマンド」をイベント化検索・アラート・改ざん検知向き
現場のコツ:テキストは「何を打ったか」、グラフィカルは「何を見て操作したか」を残します。監査要件(GUI操作の証跡まで要るか)で選び、両方を併用することも珍しくありません。

03Apache Guacamole の仕組み — ブラウザだけで踏み台になる

Apache Guacamole は、ブラウザ(HTML5)だけで RDP/VNC/SSH に接続できるクライアントレスのリモートデスクトップゲートウェイです。専用クライアントもプラグインも要りません。構成は3つ。

管理者ブラウザ HTML5・クライアントレス guacamole-client (Tomcat Webアプリ) 認証: LDAP/SAML/OIDC TOTP多要素(MFA) guacd プロキシデーモン 対象サーバ Windows(RDP) Linux(SSH/VNC) HTTPS Guacプロトコル RDP/VNC/SSH 録画 セッション録画 recording-path / typescript guacenc → .m4v 動画 guaclog → キーストローク S3 + Object Lock で保全 録画は guacd が生成 / 動画・キーストロークに変換し、改ざん防止(WORM)・暗号化して保全する
図:Apache Guacamole の構成と録画の流れ。ブラウザだけで RDP/VNC/SSH に接続でき、guacd がセッションを録画。guacenc で動画化、guaclog でキーストローク抽出。

フローは ブラウザ →(HTTP/WebSocketトンネル)→ guacamole-client → guacd → ターゲット。guacd が全プロトコルを抽象化するため、ブラウザもWebアプリも実際のプロトコルを意識しません。

認証は拡張(extension)で差し替え・多段化できます——データベース(JDBC)/LDAP・Active Directory/SAML/OpenID Connect/TOTP多要素/Duo など。「DB+TOTP」で一次認証+MFAを組むのが定番です。

04Guacamole の録画 — 画面もキーストロークも残せる

Guacamole はセッション録画をネイティブに備えています。プロトコルによって方式が分かれます。

現場のコツ:使い分けはシンプルで——RDP/VNCは画像ベースの録画(guacencで動画化・guaclogでキー抽出)、SSHは最初からテキストのtypescript。1.6では履歴・録画の閲覧に専用の AUDIT権限が新設され、「録画を見られる人」を限定できます。

05OSSの選択肢 — 何を記録し、どう再生するか

Guacamole以外にも、記録の仕組みはいくつもあります。「何を記録するか(テキスト/画面/イベント)」で選ぶのが基本です。

ツール記録するもの再生向き・用途
Apache Guacamole画面(RDP/VNC)+SSHのtypescriptブラウザ/guacenc動画/guaclogGUI含む踏み台の録画
AWS SSM Session Manager端末I/O(テキスト)CloudWatch/S3のログAWSネイティブ・エージェント型(後述)
Teleport(OSS)構造化イベント+ストリーム(SSH/K8s/DB/Web/デスクトップ)Web UI/tsh playゼロトラストの統合PAM
tlog端末I/O(JSON)tlog-playRHEL標準のセッション録画基盤
script/scriptreplay端末I/O+タイミングscriptreplay単一端末の記録(監査は限定的)
sudo I/Oログsudo実行の入出力sudoreplay特権コマンド実行の監査
auditd/pam_tty_auditTTY入力(キーストローク)のみaureport --ttyキーストローク監査・コンプラ
asciinema端末出力(.cast)asciinema playerデモ・手順共有(監査向けではない)
テキスト記録の限界(と対策):パスワード露出——キー入力の記録は避け出力主体に、sudoは log_passwd を付けない、機微操作は録画除外。② 制御文字・端末依存——scriptreplay は記録時と同種の端末でないと正しく再生できない(tlog/asciinemaは構造化で軽減)。③ 肥大化——vim/less/top等の制御シーケンスで膨らむ(JSON化で軽減)。④ GUI非対応——画面の証跡が要るなら Guacamole/Teleportデスクトップ録画。⑤ 改ざん耐性——ローカルファイルは本人が改変可能。集中転送(rsyslog→Elasticsearch、sudo_logsrvd)や専用サーバへ。
現場のコツ:GoTTY/WettyのようなブラウザSSHは"画面共有"であって"録画"ではありません。監査が目的なら、録画機能を持つもの(Guacamole/Teleport/tlog/SSM Session Manager)を選びます。

06AWSでの現実解 — Session Manager を軸に

AWSで踏み台の録画を組むなら、まず押さえるべきは「AWSはGUI録画不可」がもう正確ではないことです。2026年時点の役割分担はこうなります。

観点SSM Session ManagerGuacamole(自ホスト)Teleport
記録形式ターミナルテキスト(GUI動画は本体外/RDPはGUI Connect)GUI動画+SSHのtypescriptテキスト+RDP画面動画
GUI/RDP対応Linux CLI中心/WindowsはGUI ConnectRDP/VNC/SSHをHTML5化SSH/RDP/K8s/DB/Web
MFAIdP側で強制(Just-in-timeで都度承認)TOTP/Duo拡張・LDAPper-session MFA・SSO
閉域VPCエンドポイントで完全閉域VPC内自前配置VPC内自前配置
運用負荷(マネージド)中〜高(guacd/DB/変換を自前)中(統合PAM運用)
位置づけAWSネイティブの接続+監査軽量ブラウザ型リモートデスクトップ統合PAM(RBAC/録画暗号化)
現場のコツ:判断軸:Linux/CLI中心・低運用・閉域重視なら Session Manager(+Windows GUI録画が要れば GUI Connect)。マルチプロトコルのブラウザ型を安く自前構築なら Guacamole。RBAC・per-session MFA・多リソース横断の統合PAMと堅牢な録画が要件なら Teleport。閉域との相性は前記事の§07もどうぞ。

07「録画がある」と「証跡になっている」は違う

録画は残すだけでは証跡になりません。改ざん防止・暗号化・権限分離・保存期間まで設計して、初めて監査やインシデントで使えます。

そして、混同されがちな"誤解"を最後に。

現場のコツ:録画基盤は「証跡の完全性」まで込みで設計します。Object Lock(Compliance)+KMS+バージョニング+ログ専用アカウント集約——ここまでやって、監査・コンプラ・インシデント調査で本当に使える証跡になります。

08まとめ — 経路を絞った、その先まで

踏み台は"経路を絞る"だけでは半分です。その先の操作証跡・画面録画まで設計して、初めて特権アクセス統制になります。テキストと画面は用途が違い、AWSなら SSM Session Manager(テキスト・閉域)+必要なら GUI Connect(RDP録画)、GUI含む自前なら Guacamole、統合PAMなら Teleport。そして改ざん防止まで含めて初めて証跡です。

EMWは踏み台・特権アクセス・監査基盤の設計を実務で扱ってきました。要件(監査・コンプラ・GUI要否・保存期間)の整理から、過剰でも過少でもない構成を一緒に描きます。

あわせて、踏み台そのものの考え方はAWSにおける踏み台環境の考え方、IDでの束ね方はマルチ/ハイブリッドクラウドを「ID」で束ねる考え方もどうぞ。

09よくある質問(FAQ)

SSM Session Managerで画面録画はできますか?

ターミナルのテキスト(コマンドと出力)は記録できますが、GUIの画面録画は本体の対象外です。Windows RDPの画面録画は2025年からFleet Manager/GUI Connect(Just-in-time node access)でS3に録画できます。Linux GUIのネイティブ録画はなく、自ホストのGuacamole/Teleport等が必要です。

CloudTrailがあれば操作証跡は足りますか?

足りません。CloudTrailはStartSessionなどのAPI呼び出し(誰が・いつ・どのノードへ接続したか)を記録しますが、セッション内で打ったコマンドや出力は含みません。それはS3/CloudWatchのセッションログでしか残りません。

録画にパスワードが写ってしまいます。

キー入力の記録は避け出力主体にする、sudoのlog_passwdを付けない、機微操作時は録画から除外する、stty -echo等で入力を隠す、が基本です。録画自体もKMSで暗号化しアクセスを制御します。

Guacamoleとtlog、どちらを使うべきですか?

GUI(RDP/VNC)の画面録画が要るならGuacamole、Linux CLIの端末I/Oを集中監査したいならtlog(RHEL標準)です。AWSならまずSSM Session Managerで足りることも多く、要件(GUI要否・閉域・運用負荷)で選びます。

踏み台の操作証跡・画面録画・特権アクセス統制の設計でお困りなら、要件(監査・コンプラ・GUI要否・保全)の整理からお手伝いします。

相談する
← ブログ一覧へ戻る