RDPの2FAは、リモート デスクトップ セッションが開く前に、パスワードに加えて求められる、電話での承認やワンタイムコードなどの第二の本人確認です。Windowsには標準搭載されていません。スマートカードを除けば、RDPのログオン画面で第二要素を必須にするネイティブな方法はなく、この点はMicrosoft自身のQ&A フォーラムで確認されています。RDPに2FAを追加する方法は2つあります。ホストにクレデンシャル プロバイダーをインストールしてログオン時に第二要素を作動させるか、Microsoft Entra MFAで保護された Remote Desktop Gateway を経由して外部接続をルーティングするかです。私は両方を構築しましたが、最適な選択は、単一のPCを保護するのか、ドメイン配下の端末群を保護するのかによって異なります。
RDPは厳重にロックダウンする価値があります。これはランサムウェア集団の初期侵入手段の上位にあり、盗まれた、または総当たりで破られた認証情報が一般的な侵入経路です。Microsoft自身のデータは第二要素の有効性を端的に示しています: MFAは自動化されたアカウント侵害攻撃の99.9%を阻止します。パスワードだけでは、攻撃者とあなたのデスクトップの間には1回の推測しか残りません。
もし真の目的がRDPそのものではなく安全なリモートアクセスであるなら、第三の方法があります。HelpWireは、ポート3389をインターネットに一切公開することなく、有人および無人のリモート制御を提供し、そのアカウントのログインも2FAで保護できます。詳細は以下をご覧ください。
WindowsにはRDP向けの2FAが標準搭載されていますか?
いいえ。Windows には RDP 接続に対するネイティブな二要素認証はありません。ログオン スタックに組み込まれている唯一の第二要素はスマートカードのサポートですが、これはほとんどの家庭や小規模ビジネスの環境では導入されていません。
Windows Hello for Business が反例として挙げられることがありますが、そうではありません。Hello for Business はパスワードレスの利便性機能です。パスワードを PIN または生体認証ジェスチャという単一要素に置き換えるだけであり、Azure ベースのデスクトップに接続する場合を除き、標準の RDP セッションには適用されません。Windows Server 2022 ではドメイン参加済みマシン向けに FIDO2 サインインが追加され、真の MFA に一歩近づきましたが、依然として完全なソリューションに必要な集中管理ポリシー、オフライン対応、RD Gateway への適用範囲が欠けています。その他については、サードパーティ製のクレデンシャル プロバイダーか Entra を基盤とするゲートウェイを追加することになります。
RDP二要素認証の仕組み
RDP 2FA は、パスワードと開始されるセッションの間に 2 番目の本人確認を挿入することで機能します。これを実現するアーキテクチャは 2 つあります。
ホスト上の資格情報プロバイダー。資格情報プロバイダーは、RDP ホストにインストールされる小さなソフトウェア コンポーネントです。ユーザー名とパスワードを入力すると、プロバイダーがログオンを傍受し、最初の要素をローカル アカウントまたは Active Directory に照らして検証し、その後、プッシュ通知、ワンタイム パスコード、ハードウェア キーなどの第 2 要素を要求します。両方が確認されて初めてセッションが開きます。これは単一の PC や少数のマシンに適した方法です。
ネットワークの手前にある RADIUS MFA を備えた RD Gateway。リモート デスクトップ ゲートウェイは、各ホスト上ではなく、それらの前段に配置されます。外部からの RDP トラフィックはゲートウェイに到達し、ゲートウェイは要求を RADIUS 経由で Network Policy Server に転送し、NPS 拡張機能が Microsoft Entra を呼び出して第 2 要素でのチャレンジを実施します。ここではプッシュまたは電話による承認のみが機能します。ゲートウェイにはユーザーがコードを入力する欄がないためです。これは、1 つの入口の背後に多数のホストがあるドメイン環境向けの方法です。
どのRDPの二要素認証方法があなたに合っていますか
単一のPCに2要素認証を追加するにはCisco DuoまたはmultiOTPを使用し、ドメイン内の端末群にはRD GatewayとMicrosoft Entra MFAを用い、HelpWireを使えばRDPの公開を完全に回避できます。以下の表では、各方法をコスト、第2要素、そしてRDPをインターネットに公開したままにするかどうかに対応させています。
比較表
| 方法 | 費用 | 最適 | 第二要素 | スタンドアロンPC(ドメインなし) | RDPをインターネットに公開 |
| Cisco Duo | 10ユーザーまで無料 | 小規模構成、迅速な導入 | プッシュ、OTP、通話、ハードウェアトークン | はい | はい、RDPは公開されたまま |
| multiOTP | 無料、オープンソース | 単体のオフラインPC、ホームラボ | TOTP、HOTP、オフライン | はい | はい、RDPは公開されたまま |
| Entra MFA + NPS + RD Gateway | Entra MFA ライセンス | 単一ゲートウェイ配下のドメイン群 | プッシュ、電話 | いいえ | いいえ、ゲートウェイがRDPの前段に立つ |
| HelpWire | 無料 | 公開RDPを完全に回避 | アカウント2FA、TOTP | はい | いいえ、ポート3389を公開しない |
Cisco Duo を使用して RDP に 2 要素認証を追加(最大 10 ユーザーまで無料)
Cisco Duo は、RDP に 2 要素認証 (2FA) を無料で導入する最速の方法で、永年無料プランでは最大10ユーザーまで無料で利用できます。Duo Authentication for Windows Logon はホストにインストールされ、RDP、ローカルログオン、認証情報の入力を伴う UAC プロンプトに第2要素を追加し、プッシュ、パスコード、電話のコールバック、ハードウェアトークンに対応します。
-
無料の Duo アカウントを作成し、Duo 管理パネルを開きます。Applications に移動し、Protect an Application をクリックして、Microsoft RDP を検索し、Protect をクリックします。統合キー、シークレットキー、API ホスト名を安全な場所にコピーします。
-
ユーザーを登録してください。Users セクションで自分自身を追加し、有効化用 QR コードをスキャンしてお使いのスマートフォンの Duo Mobile アプリを有効化してください。アカウントに Active ステータスが表示されていることを確認してください。
-
RDPホスト上で Duo Authentication for Windows Logon のインストーラーをダウンロードします。管理者として実行し、求められたら統合キー、シークレットキー、APIホスト名を貼り付けます。
-
インストール時に、リモートセッションのときにのみ第2要素を要求し、ローカルのコンソールログインでは要求しない場合は、Only prompt for Duo authentication when logging in via RDP にチェックを入れてください。
-
Microsoft RDP アプリケーションの New User Policy を Deny Access に設定します。これにより、未登録のアカウントがプロンプトを回避してしまうのを防ぎます。
-
再起動してから、RDP で再接続します。パスワード入力後、Duo があなたのスマートフォンにプッシュ通知を送信します。承認すると、セッションが開始されます。
これを強制する前に取るべき安全策が1つあります。Duo には、ホストが Duo のクラウドに接続できない場合の動作を制御するフェイルモード設定があります。フェイルオープンでは障害発生時に第2要素なしでログオンを続行できますが、フェイルセキュアではそれをブロックします。インターネットに面したマシンにはフェイルセキュアを選択し、クラウド障害で完全に締め出されないよう、予備として Duo Bypass アカウントまたはローカルのコンソールアクセスを確保しておいてください。
multiOTPによる1台のPC向けの無料のオフライン2要素認証
multiOTP は、ドメインもクラウド依存もないスタンドアロンPC向けの無料の最良の選択肢です。Apache 2.0 ライセンスの下でオープンソースで、RDP専用モードを備え、TOTP および HOTP コードを完全にオフラインで検証するため、インターネットがダウンしていても動作し続けます。現在のリリースは 5.10.2.2(2026年4月)です。
-
プロジェクトのGitHubリリースページから、multiOTPパッケージとmultiOTP Credential Providerを対象のPCにダウンロードします。
-
multiOTP を C:\multiOTP などの永続的なフォルダーに展開します。管理者権限でそのフォルダー内でコマンド プロンプトを開きます。
-
Windows のユーザー名に紐づいた 2要素認証アカウントを作成してください。multiotp.exe -create yourusername TOTP を実行し、次に multiotp.exe -qrcode yourusername qr.png でプロビジョニング用のQRコードを生成します。
-
Microsoft Authenticator、Google Authenticator、または無料の multiOTP トークンアプリにQRコードを読み込んでください。生成された6桁のコードが、multiotp.exe yourusername 123456 で検証できることを確認してください。
-
multiOTP Credential Provider をインストールします。ウィザードでは、ローカルのみのセットアップにするためサーバー URL を空のままにし、プロンプトがリモート ログオン時にのみ表示されるように RDP-only オプションにチェックを入れます。
-
再起動する前に除外アカウントを設定します。登録が失敗した場合でもアクセス手段を確保できるよう、予備のローカル管理者用に MULTIOTP_EXCLUDED_ACCOUNT を追加します。次に再起動し、RDP 接続をテストします。
multiOTP はクラウドサービスを一切必要としないため、孤立したマシンやホームラボに非常に適しています。トレードオフは手動セットアップです。管理者ダッシュボードもプッシュ通知もなく、登録はコマンドラインでの作業になります。
Microsoft Entra および RD ゲートウェイを使用した RDP の多要素認証
多数の RDP ホストを抱えるドメイン環境では、リモート デスクトップ ゲートウェイの背後に Microsoft Entra MFA を配置するのが、よりネイティブ寄りの方法です。これは、各マシンにプロバイダーをインストールさせるのではなく、1 つのゲートウェイを通過するすべての接続を保護します。この手法は単一 PC の所有者向けではなく IT チーム向けであり、実際に相応のセットアップ負荷を伴います。
必要なものは 4 つあります: 稼働中のリモート デスクトップ ゲートウェイ、MFA 対応ライセンスを備えた Entra ID テナント、ネットワーク ポリシー サーバー、オンプレミスの Active Directory と同期された Entra。構成は次のとおりです:
-
RD ゲートウェイとは別のサーバーに NPS 役割をインストールします。ゲートウェイは、この NPS サーバーを参照する RADIUS クライアントとして動作します。
-
NPS サーバーに Microsoft Entra の多要素認証用 NPS 拡張機能をインストールし、次に、付属の PowerShell スクリプトを実行してテナントにバインドします。
-
RD ゲートウェイ マネージャーで、RD CAP ストアを NPS を実行している中央サーバーに設定し、NPS サーバーのホスト名を追加します。
-
RADIUS の共有シークレットを両端で同一に設定してください。ここでの不一致は、フローがサイレントに失敗する最も一般的な原因です。
-
Entra MFA が有効なアカウントでテストします。パスワード入力後、ユーザーにプッシュ通知または電話が届き、承認するとセッションが開始されます。
計画時に考慮すべきハードリミット: RD Gateway には手入力する検証コード用のフィールドがないため、ユーザーに届く認証要素はプッシュ通知と電話による承認だけです。OTP アプリのコードや SMS の入力はゲートウェイ経由では機能しません。展開前にユーザーの既定の Entra MFA 方法をプッシュに設定しておかないと、最初の接続が進まなくなります。
どの第2要素を使用すべきですか?
一般ユーザーには、プッシュ通知または認証アプリのOTPで十分です。管理者やその他の特権アカウントには、FIDO2パスキーまたはハードウェアセキュリティキーを使用してください。
プッシュ通知やアプリ生成のOTPは便利で、多くの人が懸念する自動化された攻撃を阻止します。SMSはSIMスワップや傍受により脆弱になるため、一般的な認証要素の中で最も弱いといえます。したがって、SMSはデフォルトではなくフォールバックとして扱ってください。
2026年にハードルが上がりました。CISAは、連邦機関全体の特権的なリモートアクセスに対してフィッシングに強いMFAを義務付け、重要インフラに対しても強く推奨し、RDPを高価値標的として名指ししています。プッシュ通知とSMSは、管理者アカウントに対してはもはやこのハードルを越えられません。MFA疲労攻撃が、誤ってタップされるまでユーザーに大量のプロンプトを送りつけるためです。FIDO2パスキーとハードウェアキーは、設計上フィッシングに強く、NIST SP 800-63BのAAL2およびAAL3を満たします。2026年の実用的なルール: 一般ユーザーにはプッシュ通知、権限が高いユーザーにはパスキーまたはハードウェアキー。
HelpWire で公開された RDP を完全に回避
RDP の 2FA による頭痛の種を避ける最もクリーンな方法は、RDP をそもそも公開しないことです。HelpWire は、ポート 3389 を開放したりポート転送を行ったりすることなく、有人/無人のリモート制御を提供し、後付けの第二要素が守ろうとするインターネットに面した攻撃面そのものを取り除きます。公開された RDP エンドポイントがないため、ポート 3389 を狙う総当たり攻撃やクレデンシャルスタッフィングも標的にできるものがありません。
デフォルトでは、HelpWire は間に中継サーバーを置かず、オペレーターとリモートマシンを直接接続するため、ルーティングされた接続よりもセッションの露出が抑えられます。オンデマンドのサポートでは、リモートユーザーがセッションごとにアクセスを許可し、ショートカットまたはアプリ内ボタンからいつでも取り消せます。無人作業の場合は、セットアップ時に一度だけデバイスを承認しておけば、その後は再起動をまたいでも、誰もその場にいなくても再接続できます。HelpWire は Windows、macOS、Linux で動作し、無料プランも提供しています。
HelpWireのセキュリティ機能
アカウントへのアクセスは、Microsoft、AWS、Siemens に信頼されている標準準拠のログインプロバイダーである Auth0 を通じて行われ、どのアカウントにも第2要素を追加できます。二要素認証は 2025 年 12 月にすべてのユーザー向けに一般提供となりました。Web ポータルで有効化し、パスワードに加えて認証アプリの時刻ベースのワンタイムパスコードを使用します。セッションデータは WSS および HTTPS 経由の転送中に暗号化され、TLS/SSL と AES-256 により各セッションが保護されます。接続はデフォルトで中継のないダイレクトなポイントツーポイントで、直接経路が確立できない場合は、暗号化および匿名化された状態で AWS インフラストラクチャ経由にフォールバックします。すべての HelpWire アプリは改ざんを防ぐために DigiCert によって署名されています。オンデマンドセッションでは、リモートマシンへの到達はリモートユーザーの承認に依存し、開放ポートや推測可能なパスワードには依存しません。
よくある質問
無料。Cisco Duo は最大10ユーザーまで無料で利用でき、multiOTP はオープンソースでライセンス料は不要です。Duo は導入がより速く、プッシュ通知にも対応します。multiOTP はオフラインで動作し、クラウドサービスを一切必要としません。
はい、資格情報プロバイダーを通じて可能です。Windows にはそれ用のネイティブなフックがありませんが、ホストにそれらのプロバイダーがインストールされていれば、Duo、multiOTP、Rublon はいずれも Microsoft Authenticator からのコードまたはプッシュを第二要素として受け付けます。
標準ユーザーについては、はい。管理者および特権アカウントについては、2026年時点では、いいえ。プッシュはMFA疲労攻撃にさらされるため、CISAのガイダンスとNIST SP 800-63Bは、特権的なリモートアクセスにおいてフィッシング耐性のある要素であるFIDO2のパスキーまたはハードウェアキーを求めています。
方法によります。Duo のようなクラウドプロバイダーは接続が必要で、障害時には fail-open もしくは fail-secure の設定にフォールバックします。multiOTP は TOTP コードをローカルで検証するため、インターネットがまったくなくても入力を促して検証を続けます。