TeamViewer ポリシーを使用すると、リモート コントロール セッションの記録をセルフホストまたはクラウド ホストの SFTP ストレージに自動的にアップロードできます。後で確認するために記録を保存しておくと、品質評価、トレーニング、監査に役立ちます。この記事では、これを実現するために必要な TeamViewer ポリシー ルールを設定する方法について説明します。リモート コントロール セッションの記録を開始する方法の詳細については、こちらの記事を参照してください 。
この記事は TeamViewer Tensor ライセンス保持者に適用されます。Windows では着信および発信セッション録画の両方をサポートし、Linux では発信セッションの録画のみをサポートします。
TeamViewer は、個別のポリシー ルールを使用して、着信および発信リモートコントロールセッションの録画とアップロードをサポートしています。録画およびアップロードの機能は、セッションの方向やオペレーティングシステムによって異なります。
.
TeamViewer ポリシーの設定
リモート コントロール セッションの記録を自動アップロードするように設定するには、新しい TeamViewer ポリシーを作成するか、既存のポリシーを更新して、次のポリシー ルールを追加する必要があります。ポリシー内で複数のポリシー ルールを組み合わせて、特定の目的を達成することができます。ポリシーが目的のデバイスに適用されると、設定が有効になります。
ポリシーの作成/更新と適用方法、またポリシールールの詳細について確認してください。
TeamViewer は、2 つの個別のポリシー ルールを使用して、着信および発信セッション録画の両方を記録、またアップロードできます。サポート内容はオペレーティングシステムによって異なります。以下のセクションでは、それぞれのポリシー ルールの設定方法を説明します。両方のルールは、サポートされている環境では組み合わせて使用でき、着信および発信録画両方のアップロードを可能にします。
発信セッション
発信セッションを録画するための主要なポリシールールは「発信セッション録画をカスタムストレージにアップロード」であり、録画を SFTP サーバーにアップロードする機能を提供します。このポリシー ルールの設定方法については、次のセクションで説明します。さらに、録画の開始と停止をより細かく制御できる 2 つのルールも検討する必要があります。
ポリシー ルール「発信したりリモートコントロール セッションの自動録画を強制」は、ポリシーが適用されたデバイスから発信接続が行われると同時に録画を自動的に開始します。ユーザーがリモートコントロール セッション終了前に録画を停止または一時停止するのを防ぎたい場合は、「セッション記録の停止と一時停止を無効化」ポリシー ルールを追加することもできます。これらのルールは追加して有効化するだけで、追加の設定は不要です。
着信セッション
着信セッションを録画したい場合は、「着信したりリモート コントロール セッションを自動的に録画」ポリシー ルールが必要です。このルールは、ポリシーが適用されたデバイスに接続が行われると同時に録画を自動的に開始します。
これらの録画を SFTP サーバーにアップロードするには、「着信セッション録画をカスタム ストレージにアップロード」ポリシー ルールを追加する必要があります。このポリシー ルールの設定方法についても、次のセクションで説明します。
自動録画アップロード ポリシー ルールの設定方法
「発信セッション録画をカスタムストレージにアップロード」または「着信セッション録画をカスタム ストレージにアップロード」ルールをポリシーに追加すると、設定が必要な必須項目と任意項目がいくつかあります。これらについては、以下の段落で詳しく説明します。
必須フィールド
現在、サービスタイプとしてサポートされているのは SFTP サーバーのみです。これらはオンプレミスのデータセンターや、Azure や Amazon Web Services などのクラウド環境にホストすることができます。
利用できる認証タイプは 2 つあります:
- パスワード認証
- 公開鍵認証
希望するオプションを選択し、それが SFTP サーバーまたはサービスでサポートされていることを確認してください。次の段落ではパスワードまたは秘密鍵が必要になるため、続行する前に新しいアカウントとその認証を設定する必要があります。
サーバーで認証して録画をアップロードするために使用するアカウントのユーザー名を入力してください。宛先 URL を指定してください。宛先 URL は、リモートコントロール セッションの録画をアップロードするフォルダーへのパスを含む、サーバーをターゲットとする SFTP URL である必要があります。選択したアカウントの権限を最小限に抑え、録画のアップロード用に指定された特定のフォルダーへの書き込みアクセスのみを許可することをお勧めします。
暗号化されたパスワードまたは暗号化された秘密鍵フィールド
SFTP アカウントの資格情報に安全にアクセスできるのは、あなたとアップロードするデバイスのみであり、SFTP アカウントの資格情報を安全に提供するには、パスワードまたは秘密キーをユーザー定義の証明書を使用して暗号化する必要があります。暗号化された資格情報は、暗号化されたパスワードまたは暗号化された秘密鍵としてポリシー ルールに追加されます。暗号化に証明書が必要な理由は、後で複数のデバイスに展開して復号化するためです。TeamViewer アプリケーションが事前に暗号化を復号化するため、SFTP サーバーは暗号化された資格情報を処理しません。次のドキュメントは、OpenSSL がシステムにインストールされていることを前提としています。
証明書を生成する方法は、オペレーティング システムと使用するツールに応じて多数あります。x509 証明書に必要な重要なパラメータが正しく指定されていれば、どの方法も実行可能です:
-
キーの使用: KeyEncipherment, DataEncipherment, KeyAgreement
-
タイプ/拡張キーの使用: DocumentEncryptionCert 別名 1.3.6.1.4.1.311.80.1
自己署名証明書を使用する場合は、openssl req コマンド (ドキュメントはこちらを参照) を使用し、<CertificateAndKeyName> を任意の名前に置き換えます:
openssl req -x509 \
-newkey rsa:2048 \
-keyout <CertificateAndKeyName>.pem \
-out <CertificateAndKeyName>.crt \
-addext keyUsage='keyEncipherment, dataEncipherment, keyAgreement' \
-addext extendedKeyUsage='1.3.6.1.4.1.311.80.1'
このコマンドは、データの暗号化と復号化が可能な証明書 CRT と秘密キー PEM ファイルを生成します。これらのファイルは、Windows デバイスに展開する前に PFX に変換する必要があります。これについては、後の段落で説明します。
証明書ファイルを入手したら、次のコマンドを実行してキー パラメータを確認し、<CertificateAndKeyName> を実際の証明書に置き換えて互換性があるかどうかを確認します。これは、既存の証明書またはサード パーティの証明書が使用できるかどうかを確認する場合に特に重要です:
openssl x509 -text -in <CertificateAndKeyName>.crt
キーの生成が成功した場合、ターミナルの出力に次の行が表示されます。これらの行が存在しない場合は、資格情報の暗号化と復号化は失敗します。
X509v3 Key Usage: critical
Key Encipherment, Data Encipherment, Key Agreement
X509v3 Extended Key Usage:
1.3.6.1.4.1.311.80.1
選択した資格情報は、証明書を使用して暗号化メッセージ構文 (CMS、詳細は RFC 5652 を参照) に暗号化する必要があります。これは、openssl cms コマンドを実行することで実行できます (ドキュメントはこちらを参照)。次のコマンドでは、-out <FileName> を指定して、ターミナルからの出力をファイルにリダイレクトすることもできます。
暗号化されたパスワードを生成するには、<Password> を SFTP サーバー アカウントのパスワードに、<CertificateAndKeyName> を証明書ファイルの名前に置き換える必要があります。パスワードの末尾に改行文字が追加されないようにするには、Linux で echo -n を使用してください:
echo "<Password>" | openssl cms -encrypt -outform PEM <CertificateAndKeyName>.crt
代わりに暗号化された秘密キーを使用する場合は、<PathToPrivateKey> を SFTP サーバー アカウントの秘密キーへの相対パスまたは絶対パスに置き換える必要があります。
openssl cms -encrypt -in <PathToPrivateKey> -outform PEM <CertificateAndKeyName>.crt
資格情報が正常に暗号化されると、結果の出力は次の例のようになります:
-----BEGIN CMS-----
MIIBwgYJKoZIhvcNAQcDoIIBszCCAa8CAQAxggFqMIIBZgIBADBOMDoxCzAJBgNVBAYTAkRFMSsw
(...)
hvcNAQcBMB0GCWCGSAFlAwQBKgQQddXx6ufF4KafytY5RKIZqYAQtpGNqX/eU+Oz+lxUnYUTJQ==
-----END CMS-----
選択したコマンドのそれぞれの出力を取得し、メッセージの始まりと終わりを示す出力のヘッダーとフッターを含めて、ルール フィールドにコピーします。
この証明書を使用するポリシー ルールの準備は完了していますが、証明書をデバイスに展開するときに、生成された PEM ファイルと CRT ファイルが引き続き必要になります。ポリシー ルールには追加のオプション フィールドがあり、次の段落で説明します。
オプションフィールド
Download prefix URL はオプションのフィールドで、サーバーから録画を直接ダウンロードできるように指定できます。この情報は、Web API (詳細はこちら) または Salesforce および ServiceNowとの統合で利用できます。このフィールドには、録画が含まれるパスを含む Web URL が必要です。TeamViewer はストレージにアクセスできないため、パスを有効に保つには、録画はアップロード時の元の名前を維持する必要があります。
TeamViewer は最初の接続時に SFTP サーバーの公開ホストキーをキャッシュしてサーバーの ID を確認し、中間者攻撃を防ぎますが、オプションの SSH 公開ホストキー設定で明示的に指定することもできます。これは、代わりにサーバー ID を検証するために使用されます。これは、ある時点で SFTP サーバーのホスト キーを置き換える必要があり、最初にキャッシュしたものとは異なるホスト キーを予期するようにデバイスに指示する必要がある場合に特に便利です。
ほとんどの場合、SFTP サーバーのセットアップ時に公開ホスト キーを指定するか、SFTP サーバーの構成ファイルまたはダッシュボードで検索できます。これらの値にアクセスできない場合は、現在のデバイスから取得することもできます。
以前に SSH を使用してそのサーバーに接続したことがある場合は、.ssh フォルダー内の known_hosts ファイルから取得できます。または、<SftpServerDomain> をサーバーに置き換えて、次のコマンドを使用することもできます:
ssh-keyscan <SftpServerDomain>
ホスト キーを設定フィールドにコピーするときは、サーバーの名前、IP アドレス、キーの種類、コメントではなく、ホスト キーのフィンガープリントのみをコピーするようにしてください。
これでポリシー設定のセットアップは完了です。さらに設定を追加してポリシーを拡張することも、今すぐ保存することもできます。
証明書の準備と展開
TeamViewer アプリケーションがリモート コントロール セッションの記録を SFTP サーバーにアップロードできるようにするには、資格情報を復号化できる必要があります。そのためには、作成された証明書を、ロールアウトする前に受信デバイスのオペレーティング システムの形式に変換する必要があります。同じ発信セッションのアップロードポリシーは、基盤となるキーが同一であれば、Windows および Linux の両方のマシンに適用できます。一方、着信セッション用のポリシーは Windows オペレーティングシステムでのみサポートされています。
証明書の展開
Windows デバイスに展開する場合は、以下のコマンドを使用して PEM および CRT ファイルを PFX 形式に変換する必要があります。<CertificateAndKeyName> および <CertificateName> は、それぞれのファイル名に置き換えてください。
openssl pkcs12 \
-inkey <CertificateAndKeyName>.pem \
-in <CertificateAndKeyName>.crt \
-export \
-out <CertificateName>.pfx
生成された PFX 証明書は、エンドポイント管理ソリューションを使用して、対象デバイスのローカルマシン証明書ストレージに展開できます。展開後、証明書はローカルコンピューターの証明書マネージャー(「コンピューターの証明書の管理」で検索)内の「個人 ➜ 証明書」フォルダーに表示されるはずです。
PowerShell ではこの場所を次のように呼びます:
cert:\LocalMachine\My
秘密鍵へのアクセスを最小限に抑えるために、システム アカウントおよび必要な管理者アカウントのみに権限を制限してください。ローカルコンピューターの証明書マネージャーで、証明書を右クリックし、「すべてのタスク」そして「秘密キーの管理…」を選択することで、必要なアカウントのみがアクセス権を持っていることを確認できます。
Linux デバイスにこれを展開する場合は、特別な変更は不要です。秘密鍵PEMは /etc/teamviewer/ssl/private に、公開証明書CRTは /etc/teamviewer/ssl/certs. に配置する必要があります。公開証明書と対応する秘密鍵の両方に同じベース ファイル名 (<CertificateAndKeyName>.pem と <CertificateAndKeyName>.crt など) があることを確認してください。ルートが秘密鍵ファイルの所有者であることを確認してください。ルート自体へのアクセスは最小限に抑えることをお勧めします。
ポリシーのテストと適用
この機能のセットアップ プロセスは複雑なため、他のデバイスに完全に展開する前に、このセットアップをテストする必要があります。このテストは、証明書をローカルデバイスにインストールし、同じデバイスにポリシーを適用することで実行できます。
発信セッションの録画をアップロードするには、デバイスからリモートコントロール セッションを開始し、その後に録画を開始します。着信セッションの録画をアップロードするには、デバイスへの接続を開始し、録画が自動的に開始されることを確認してください。その後、録画が停止した後に、ファイルが SFTP サーバーへ正常にアップロードされたことを確認します。これにより、暗号化・復号化・SFTP の設定、ならびにアップロード元デバイスからサーバーへの接続が正しく機能していることが確認できます。
アップロードが失敗した場合、アップロードは短時間後に再試行され、その後試行が失敗するたびに最大 1 時間増加します。タイムアウトにより、SFTP サーバーに対する誤ったリクエストの数が減ります。特にテスト中は、構成がまだアクティブに調整されているため、次の再試行は記録が停止した直後ではない可能性があります。すぐに別のアップロードを試行するには、TeamViewer を完全に再起動します (たとえば、コンピューターを再起動します)。
テストが成功したら、まずエンドポイント管理ソリューションを使用してすべての対象デバイスに証明書を展開し、次にそれらのデバイスにポリシーを適用します。これらのデバイスがリモート コントロール セッションを記録すると、これらのデバイスからのすべての記録が自動的にサーバーにアップロードされます。