Windows: rdpsignツールを使用して.rdpファイルに署名するための実践ガイド
2026年4月のWindowsアップデートにより、.rdpファイルに関する状況は一変しました。新たなセキュリティ警告によって接続がブロックされ、ユーザーに混乱が生じています。解決策は?ショートカットをrdpsignと証明書で署名することです。 MicrosoftがRDPへの署名を強制する理由 2026年以前は、.rdpファイルは単なるテキストファイルでした。誰でも簡単に改変でき、悪意のあるリンクを仕込むことも可能でしたが、ユーザーは何も疑いませんでした。若い世代は、ファイル形式だから安全だと考えていました。これは大きな間違いでした。 マイクロソフトはついに規制を強化することを決定しました。署名のないファイルから接続を開始しようとすると、厳しい警告が表示されるようになりました。さらに悪いことに、Windowsはクリップボードの設定やネットワークドライブなどのリダイレクト設定を自動的に消去します。ユーザーは毎回すべてを再設定しなければなりません。これは運用環境では管理が困難です。 目的は明確だ。管理者にファイルへの署名を促すことだ。これは革新的なことではなく、Windows 7以降に導入されるべきだった常識的なセキュリティ対策だ。署名がなければ、制御を失い、なりすまし攻撃に晒されることになる。優秀な管理者は、事後対応ではなく、先手を打つものだ。 AD CSから正しい署名証明書を取得してください。 偽の自己署名証明書を使用することは論外です。信頼できる機関、できればご自身が発行した、正規のコード署名証明書が必要です。 AD CS認証局それが基本原則です。 CAサーバーで`certtmpl.msc`を開きます。「コード署名」テンプレートを探し、右クリックして複製します。「RDPファイル署名」など、分かりやすい名前を付けてください。ここが重要なポイントです。 「件名」タブで、 「リクエストに含めてください」そうしないと、証明書にはそれを要求したユーザーの名前が記載されてしまい、共有ファイルの署名としては意味がありません。次に、「セキュリティ」に移動します。 「認証済みユーザー」の「登録」のチェックを外してください。この権限は、限られた管理者グループにのみ付与してください。これは、ドメイン内の誰でも署名証明書を作成できないようにするための基本的な対策です。 テンプレートを公開し、申請書を提出してください。 テンプレートを作成したら、`certsrv.msc` を使って認証局に公開します。次に、管理者マシンで `certmgr.msc` を起動します。「個人」>「証明書」に移動し、右クリックして「新しい証明書を要求する」を選択します。 作成したカスタムテンプレートが表示されます。リンクをクリックして追加情報を入力してください。「件名」タブの「共通名」欄に、発行者の情報を入力します。例えば、私はターゲットサーバー名を入力しました。 SRV-APP-01.domain.localこれはユーザーに表示される名前です。 確認して登録してください。証明書はユーザー ストアに保存されます。秘密鍵はこのマシン上に残ります。複数のワークステーションから署名する必要がある場合は、証明書をエクスポートする必要がありますが、セキュリティ上の理由から、このモデルではデフォルトでは推奨されていません。 指紋を取得し、rdpsign.exeで署名します。 次に、この証明書のフィンガープリントを見つける必要があります。PowerShell ウィンドウを開き、「Get-ChildItem -Path Cert:CurrentUserMy」と入力します。リストから証明書を探し、列の下にある長い文字列を見つけます。 拇印。 表示は次のようになります:BD7E1B118C37043A78E6A2F796D70F3DAB7B0808。これをコピーしてください。この指紋は署名用のキーとして使用されます。安全に保管してください。後でGPOでも必要になります。 最終的な.rdpファイルを準備してください。サーバーアドレス、名前解決、リダイレクトなど、すべての設定を固定する必要があります。署名後にこれらの設定を変更すると、署名が無効になります。コマンドラインツールを使用してください。 rdpsign.exe これはWindowsに標準搭載されているものです。 構文はシンプルですが、覚えておく必要があります。`rdpsign.exe /sha256 YOUR_FINGERTIP “C:FilePath.rdp”`。すべてがうまくいけば、出力は簡潔です。「すべてのrdpファイルが署名されました。」派手な演出はなく、ただ作業するだけです。 .rdpファイルをメモ帳で開いてください。末尾に謎めいた行が追加されているのがわかるでしょう。それが署名です。これは良い兆候です。次に、このファイルをテスト用ワークステーションに移動して、接続を開始してください。 グループポリシーを使用して承認を設定し、警告を非表示にする ファイルに署名することは一つの方法です。しかし、それ以外のことを何もしなければ、たとえ有名な出版社であっても、2026年のセキュリティ警告は依然として表示されます。ほとんどのチュートリアルはそこで終わってしまいますが、それは間違いです。 警告を完全に削除するには、Windows に証明書のフィンガープリントを承認するように指示する必要があります。これは、 グループ戦略GPMCエディタを開き、「コンピュータの構成 > 管理用テンプレート > Windowsコンポーネント > リモートデスクトップサービス > リモートデスクトップ接続クライアント」に移動します。 「信頼できる.rdp発行者を表す証明書のSHA1フィンガープリントを指定する」という設定を探してください。名前にはSHA1とありますが、実際にはSHA256を使用しているのでご安心ください。この設定を有効にしてください。 値フィールドに、先ほどコピーしたフィンガープリントを貼り付けます。異なるサービス用の証明書が複数ある場合は、カンマで区切って複数のフィンガープリントを入力できます。このGPOをクライアントマシンに適用して再起動するか、`gpupdate /force`を実行してください。 未知の脅威を阻止するために政策を強化する 正規の RDP ファイルにすべて署名し、グループ ポリシー オブジェクト (GPO) を適用したら、次のステップに進みます。同じポリシー ノードで、「不明な発行元からの .rdp ファイルを許可する」を探してください。 この設定を無効にしてください。今後は、署名されていない.rdpファイル、または信頼されていない証明書で署名された.rdpファイルはすべてブロックされます。警告もクリック操作も不要になります。これが、一貫したセキュリティを確保する唯一の方法です。ただし、すべての移行が完了してから実行してください。そうしないと、必ず混乱が生じます。 このGPOと署名の組み合わせは強力です。ユーザーにとって不要な情報を排除し、不正なショートカットへのアクセスをロックします。これらの設定に慣れていない新規管理者は苦労するでしょう。一方、あなたは安心して運用できます。 ワークフローへの統合と避けるべき落とし穴 テスト段階では手動でファイルに署名しても問題ありません。しかし、本番環境では自動化が必要です。サーバーのIPアドレスが変更されるたびに何百もの.rdpファイルに署名しなければならない状況を想像してみてください。管理が困難です。 PowerShellスクリプトを作成してください。このスクリプトは、証明書ストアから証明書のフィンガープリントを取得し、.rdpテンプレートファイルのディレクトリを参照して、各ファイルに`rdpsign.exe`を適用できます。デプロイメントパイプラインに組み込むことも可能です。私のラボ環境では問題なく動作しています。 リダイレクトの落とし穴に注意してください。ファイルに署名した後、ユーザーがテキストファイル内の`redirectclipboard`パラメータを手動で変更すると、署名が無効になります。接続はできるかもしれませんが、警告が再び表示され、設定は保存されません。ユーザーへの教育が必要であり、あるいは署名後にファイルを読み取り専用モードでロックするのが最善策です。 もう一つ考慮すべき点は、証明書の有効期間です。コード署名証明書には有効期限があります。証明書の有効期限が2年後の場合、その証明書で署名されたすべてのファイルで再び警告が発生します。更新は余裕をもって計画し、新しい証明書でファイルに再署名してください。古い証明書の有効期限が切れる前に、新しい証明書のフィンガープリントをGPOに追加することを忘れないでください。 証明書をサーバーごとに発行すべきか、グローバルに発行すべきかという疑問を持つ人もいます。小規模なインフラストラクチャでは、「IT-Services」のようなCNを持つグローバル証明書で十分な場合もあります。大規模な環境では、サーバーごと、あるいはサービスごとに証明書を発行することで、より詳細な監査が可能になります。ただし、これによりGPOでのフィンガープリンティング管理が複雑になります。これは、どちらか一方を選択する必要があるトレードオフです。 最後に、サーバー側のことも忘れないでください。クライアントファイルに署名するのは良いことですが、同じ認証局(CA)が発行した有効なTLS証明書をRDPサーバー上に用意しておくと、さらに効果的です。これにより、エンドツーエンドの暗号化チャネルが確保されます。そうでなければ、段ボールのドアに強化された鍵をかけるようなものです。手順を完了するには、サーバー側でRDP証明書を発行する方法に関するチュートリアルを参照してください。…