企業環境でWindows Server 2022を運用する上で、リモートデスクトップ接続の制御はセキュリティ面・運用効率の両面から非常に重要です。特にVPN経由で複数台のPCが同時にサーバーへアクセスするシチュエーションでは、不要な端末をブロックし、必要な端末のみからの安全なアクセスを実現することが求められます。
Windows Server 2022で特定のPCのみRDPを許可したい背景
Windows Server 2022は、リモートデスクトップによる管理・操作が行いやすいサーバーOSとして多くの企業で導入されています。しかし、リモートデスクトップは非常に便利な反面、セキュリティリスクも高いため、誰からでもアクセスできる状態は好ましくありません。以下のようなケースでは特に注意が必要です。
- VPNを張っているものの、接続元のPCが社外持ち出し端末や自宅PCの可能性がある
- 一部の社員や部署だけに管理権限を与える必要がある
- 個人情報や機密情報を扱うサーバーなので、アクセスできる端末を厳密に制御したい
このような状況では「ユーザー管理だけでなく、接続元の端末レベルで制限したい」という要望がよく出てきます。実際にはWindows Server側で「どのユーザーがログインできるか」という設定と、「どのPC(IPアドレス)からのアクセスを許可するか」という設定を組み合わせることで実装できます。
特定の端末のみ許可する一般的なアプローチ
リモートデスクトップを制御する場合、大きく分けて次の2つのアプローチが考えられます。
- ユーザーやグループで制限する方法
- Active Directoryやローカルセキュリティポリシーで「Allow log on through Remote Desktop Services」に登録するユーザーやグループを厳選する
- ただし、ユーザー単位の制御なので「どのPCからアクセスしてもOK」という状態になりやすい
- IPアドレス(またはコンピューター名)で制限する方法
- Windows FirewallのカスタムルールでリモートIPを限定
- ただし、Windows Firewallではコンピューター名での指定は原則できずIPアドレスでの指定が基本
特定の端末のみを許可したい場合は、IPアドレスによる制御が最もシンプルかつ確実です。ユーザー名の制御だけでは、たとえ許可ユーザーが正規の資格情報を持っていたとしても、意図しない端末からログインされる可能性を排除しきれません。よって「ユーザー制限+IP制限」の二段構えが非常に有効です。
ユーザー・グループによるアクセス制限の詳細
まずは基本となる「ユーザーやグループによるリモートデスクトップアクセス許可」の設定を確認します。これはWindows Serverをドメイン環境で運用している場合と、スタンドアロンで運用している場合で若干手順が異なりますが、考え方は同じです。
Active Directory環境での手順
Active Directory環境下では、ドメインコントローラーで特定のセキュリティグループを作成し、そのグループに「RDPを許可したいユーザー」を登録します。作成したグループを使ってサーバー側でリモートデスクトップの許可設定を行います。
- セキュリティグループの作成
- ドメインコントローラーで「RDP_Allow_Group」など、わかりやすい名前をつけてグループを作成
- RDPアクセスを許可したいユーザーのみをこのグループに追加
- サーバー側でのローカルセキュリティポリシー設定
- Windows Server 2022上で「secpol.msc」を起動し、「ローカル ポリシー」→「ユーザー権利の割り当て」を開く
- 「Allow log on through Remote Desktop Services」をダブルクリック
- 既定で含まれている「Remote Desktop Users」やAdministratorなど、不要なユーザーやグループを削除し、先ほど作成した「RDP_Allow_Group」だけを追加
- GPOによる自動配布も検討
- ドメインのグループポリシー(GPO)で同様の設定を行い、複数台のサーバーに一括で適用する
- ただし、GPOで「Remote Desktop Users」を追加する設定がすでに存在する場合、それを上書きまたは削除する必要がある
この設定により、RDP_Allow_Groupに所属していないユーザーはRDPでログインできなくなります。あくまで「ユーザー単位」の制御なので、接続元PCの制限をかけるわけではありません。後述のIP制限と合わせることで、より強固な制御を実現します。
スタンドアロン環境での手順
もしサーバーがドメインに属していない場合は、ローカルユーザーを作成し、そのユーザーを「RDP_Allow_Group」のようなローカルセキュリティグループに追加します。あとは同様に「secpol.msc」で「Allow log on through Remote Desktop Services」にそのグループを指定する形でアクセスを許可できます。ただし、スタンドアロン環境だとユーザーアカウントの管理が煩雑になりがちです。セキュリティポリシーもローカルポリシーのみで行うため、ドメイン環境よりは管理が難しい面があります。
ユーザー・グループ制御の限界
ユーザーやグループでの制御だけでは、「同じユーザーが複数の端末から接続する」「意図しない端末でログイン資格情報を盗まれる」などのリスクを防ぎきれません。たとえ正規ユーザーであっても、社外持ち出しPCなどセキュリティが不十分な端末を使ってログインする可能性も否定できないため、「ユーザー・グループ制御」と「接続元端末のIP制限」の合わせ技を使うことがベストプラクティスになります。
Windows FirewallによるIPアドレス制限
最も確実に「特定のPCのみリモートデスクトップを許可」する方法が、Windows Firewallの受信規則でTCP 3389(標準RDPポート)を指定し、リモートIPアドレスを限定するやり方です。この方法では接続元のIPアドレスを明示的に列挙することになります。
Windows Firewallのルール作成手順
- 「Windows Defender ファイアウォールと高度なセキュリティ」を起動
- サーバー上で「wf.msc」を起動するか、コントロールパネルから「Windows Defender ファイアウォール」を開き、「詳細設定」を選択
- 「受信の規則」を新規作成
- 画面左側の「受信の規則」を右クリックして「新しい規則(N)」を選択
- 「カスタム」を選んで次へ進む
- プロトコルとポートの指定
- 「プロトコルの種類」を「TCP」にして、ポート番号には「3389」と入力
- 既定でRDPはTCP 3389を使用するが、ポート変更している場合はそのポート番号を使う
- ローカルアドレスとリモートアドレスを指定
- ローカルIPアドレスは「任意のIPアドレス」で問題ないことが多い
- リモートIPアドレス欄で「次のIPアドレスからの接続を許可する」を選び、15台のクライアントPCのIPアドレスを登録
- ここで登録していないIPからのアクセスはブロックされる
- アクションと適用範囲の設定
- 「接続を許可する」を選択(もしくは「許可する前に安全な接続が必要」などの設定を使うケースもあるが、通常は「接続を許可する」でOK)
- 適用するプロファイル(ドメイン、プライベート、パブリック)を選ぶ
- 最後にわかりやすいルール名をつけて完了
これで新たに作成した受信規則によって、登録IPアドレスのみがRDPポートへアクセス可能になります。なお、Windows Serverの標準規則「リモート デスクトップ (TCP 受信)」はデフォルトで「任意のリモートIPアドレス」を許可している場合があるため、必ず無効化するか削除することを忘れないようにしてください。
DHCP環境での考慮点
IPアドレスで制限する場合、クライアントPC側のIPアドレスが固定になっていなければ、次回接続時に変わってしまう可能性があります。DHCPによるIP割り当てを利用している環境では、固定IP設定やDHCPでMACアドレスを紐づけて同じIPを払い出す(DHCPリース固定)方法を取らないと、ファイアウォールルールが機能しないケースがあります。運用ポリシーに応じて次のいずれかを検討しましょう。
- クライアントPC側のネットワーク設定を固定IPにする
- DHCPサーバーでMACアドレスとIPアドレスをマッピングし、同じIPを必ず割り当てる
- DHCPで割り当てられる可能性のあるIPアドレスの範囲ごと許可する(セキュリティ的にはややリスクが高まる)
コンピューター名による制限は不可
Windows Server 2022のFirewallではコンピューター名(ホスト名)を直接入力してアクセスを制限する機能はサポートされていません。DNS名をファイアウォールレベルで解決する仕組みは標準では提供されていないため、あくまでもIPアドレスをベースとした制限が必要です。「特定のコンピューター名だけ許可」という設定は不可能なので注意しましょう。
VPN経由によるセキュアな運用
Windows Serverを外部からリモートデスクトップで操作する際は、VPNを利用することがセキュリティ上の必須事項ともいえます。インターネット上でRDPポートを直接公開していると、世界中から攻撃を受けるリスクが非常に高まるからです。VPNを介してサーバーに接続することで、通信経路が暗号化され、外部からは基本的にサーバーが見えない状態になります。
VPNのメリット
- 通信の暗号化: インターネット越しの盗聴や改ざんを防止できる
- 安全なリモートアクセス: 企業ネットワークに入ってからRDPを行う形になるので、攻撃対象が減る
- アクセス制御が容易: VPNに接続できるユーザーやデバイスを限定すれば、RDPポート自体をインターネットにさらす必要がない
VPN接続後にサーバーのWindows FirewallでさらにIP制限をかければ、VPNから割り当てられた限定的なIP範囲(または固定IP)だけがRDPにアクセス可能となり、一層のセキュリティ向上が期待できます。
VPN構成例
| 要素 | 設定例 |
|---|---|
| VPNサーバー | Windows ServerのRAS (Routing and Remote Access)機能など |
| 認証方式 | Active Directory連携のユーザー名/パスワード、証明書など |
| クライアントPCの認証 | VPN接続前に証明書をインストール、またはAD認証を使う |
| RDP接続 | VPN接続成功後に10.0.0.xなど内部IPレンジでサーバーにRDP |
| Windows Firewall設定 | 受信ルールをVPN内部IPアドレスのみに限定 |
このような構成にすれば、仮にインターネット側からTCP 3389を狙われても、ファイアウォールとVPNによって外部からは到達不能な形になるため、大幅にリスクを減らせます。
トラブルシューティングと注意点
リモートデスクトップのアクセス制限を行う際に、意図せず自分自身もアクセスできなくなるなどのトラブルは珍しくありません。いくつかの代表的な注意点を挙げておきます。
1. 既存のRDPルールの削除または無効化を忘れない
Windows Serverインストール直後の状態や「Remote Desktop Services」機能を有効化しただけの状態では、「リモート デスクトップ (TCP 受信)」という既定ルールが有効化されている場合があります。これは「任意のIPアドレスからのRDP接続を受信許可する」設定になっていることが多いので、新しいカスタムルールで特定IPだけを許可していても、既定ルールによって結局すべて受け入れられるというケースが起こります。必ず既定ルールを無効化または削除しましょう。
2. サーバー自体のネットワーク疎通を確認
ファイアウォールでRDPを制限していると、管理者自身が誤ってアクセスできない設定をしてしまうことがあります。特にリモート接続で設定を変更すると、設定が有効になった瞬間に自分も切断されてしまう可能性があるため、サーバーに直接コンソール接続(Hyper-VやVMwareなどの仮想環境なら仮想コンソール、物理サーバーならディスプレイ/キーボード)して操作できる環境を用意しておくのがおすすめです。
3. GPOによる競合設定
Active Directory環境下で、グループポリシー(GPO)により「Remote Desktop Users」グループの設定や「Allow log on through Remote Desktop Services」の権限が上書きされるケースがあります。例えば、上位のGPOが定義しているユーザー権限割り当てが下位のサーバーGPOの設定を覆してしまい、意図と異なる状態になることがあるため注意が必要です。設定が反映されているかどうかは「gpresult /R」や「gpresult /H report.html」などで確認できます。
4. ネットワークセグメントの再検討
複数のクライアントが同じネットワークセグメントを使っている場合、すべてのPCのIPアドレスが同じ帯域に属しているため、Windows Firewallのルールで「セグメントごと許可」しかできない場合があります。きめ細やかにクライアント単位でIP固定をするか、セグメントを細かく分割する必要があるかもしれません。
具体的な設定例とポイントまとめ
ここまでの内容を総合し、具体的な設定例をまとめます。以下はドメイン環境を前提とし、15台のPCのみを許可したいケースを想定したものです。
- ドメインコントローラーでグループ作成
- 名前:RDP_Allow_Group
- メンバー:リモートデスクトップ接続を許可するユーザーのみ
- 対象サーバーのローカルセキュリティポリシー
- 「secpol.msc」→「ユーザー権利の割り当て」→「Allow log on through Remote Desktop Services」
- 「Remote Desktop Users」など余計なグループを削除し、RDP_Allow_Groupを追加
- Windows Firewallの受信規則設定
- 既定の「リモート デスクトップ (TCP 受信)」規則は無効化または削除
- カスタムルールを新規に作成し、TCP 3389を許可
- リモートIPアドレスは15台のPCの固定IPを個別に指定(例:192.168.10.101, 192.168.10.102, …)
- クライアント側でIPアドレスを固定化またはDHCPでリース固定
- 管理者が意図しないIPアドレスが割り当てられないようにする
- VPN環境の整備(推奨)
- サーバーに直接アクセスされるリスクを減らすために、必ずVPN経由でのアクセスを前提にする
このように多層的な制御を実施することで、セキュリティリスクを最小化しながら、必要なユーザーだけが必要な端末からRDPを利用できる環境を構築できます。
まとめ
Windows Server 2022で特定のPCのみリモートデスクトップアクセスを許可するには、まずユーザーとグループでの制限を正しく設定しつつ、Windows FirewallでIPアドレスを指定してアクセスを制限することがベストプラクティスです。コンピューター名での制限はServer標準のファイアウォールではサポートされていないため、どうしても名前で管理したい場合はDNSを使った独自の仕組みを組むか、別のネットワーク機器やセキュリティアプライアンスなどで制御する必要があります。加えて、VPNを必ず導入しインターネット上にRDPを直接公開しないようにすることで、サーバーの安全性を大幅に高められます。最終的には「ユーザー+IP+VPN」など、多層防御を徹底し、管理者自身が意図しないアクセスを防止する仕組みを整えることが重要です。

コメント