Active DirectoryとNPSで実現するWi-Fiアクセス制限の徹底解説

多拠点にわたるネットワーク環境でセキュリティを高めたいと考える際に、Active Directoryと連携した認証基盤の整備は大きなポイントになります。特に、Wi-Fiアクセスをグループごとに制限する仕組みを構築することで、不要な接続を防ぎながら効率よく運用できるようになります。

Active DirectoryとNPSを組み合わせる背景

Active Directory環境では、ユーザーやコンピューターの管理を一元化することで、各種認証やアクセス権限の制御を行いやすくなります。一方、社内のWi-Fiを安全に運用するためには、RADIUSサーバーが欠かせません。Microsoft製品のWindows Serverに標準搭載されているNPS(Network Policy Server)は、Active Directoryと連携しやすく、グループ単位のアクセス制御を実現するうえで非常に便利な機能を提供します。

RADIUSとNPSの基本的な役割

RADIUSサーバーは、Wi-FiアクセスポイントなどのRADIUSクライアントから送られてくる認証要求を受け取り、認証・承認・アカウンティングを行います。NPSはこのRADIUSサーバーとして動作し、Active Directory上のユーザーアカウントを利用して安全な認証を実現します。
たとえば、WPA2-EnterpriseやWPA3-EnterpriseのようなEAP認証方式を利用する場合、NPSとActive Directoryとの連携が必須です。こうすることで、ユーザーは各自のドメインアカウントを使ってWi-Fiに接続できるようになります。

なぜグループによる制限が重要か

同じ組織内でも部署や職種によりネットワークに要求されるセキュリティレベルは異なります。たとえば、開発チームには高い権限のアクセスが必要な一方、ゲストユーザーには最低限のインターネット接続だけを提供したいなど、柔軟な制御が求められます。Active Directoryのグループでユーザーを分類すれば、NPS側でグループ単位のポリシーを設定でき、きめ細かいアクセス制御が可能になります。

NPSでのグループ制御の実装方法

ここでは、具体的にNPSを利用して「AlphaグループのユーザーにはAlpha用SSIDのみを許可し、Beeta用SSIDには接続を許可しない」というシナリオを例に、設定手順を詳しく見ていきます。

1. ネットワーク ポリシーの作成とポリシー構造の把握

NPSは「Connection Request Policy(接続要求ポリシー)」と「Network Policy(ネットワーク ポリシー)」の2種類のポリシーで構成されます。一般的なシナリオでは、ほとんどの設定はネットワーク ポリシー側で行います。

  • Connection Request Policy
    Wi-FiアクセスポイントやVPNなどのRADIUSクライアントから受信した接続要求をどのように処理するかを決定
  • Network Policy
    実際に接続要求を許可・拒否する条件や認証方式などを細かく設定

多くの場合、Connection Request Policyは標準設定(デフォルト)のままでも機能します。ここでは主にNetwork Policyを新規作成し、Active Directoryグループを使ったアクセス制御を実装します。

2. NPSコンソールを開く

  1. Windows Serverで「サーバーマネージャー」を起動
  2. 「ツール」メニューから「ネットワーク ポリシー サーバー」を選択
  3. NPSコンソールが立ち上がったら、左ペインから「ポリシー」→「ネットワーク ポリシー」を開く

3. 新しいネットワーク ポリシーの作成

  1. 「ネットワーク ポリシー」を右クリックし、「新規」を選択
  2. ポリシーの名前を入力(例:「Alpha用SSIDポリシー」など分かりやすい名称)
  3. 「次へ」をクリックして条件や制約を設定

下記のように複数SSIDを運用する場合は、SSIDごと(あるいは必要に応じた区分ごと)にポリシーを追加で作成するのがおすすめです。

4. ポリシーの条件設定

最初に「条件(Conditions)」タブで、ユーザーが属するグループを指定します。

  1. 「追加(ADD)」ボタンをクリックし、「Windows グループ(Windows Groups)」を選択
  2. 「追加」を再度クリックして、Active Directoryのグループを検索
  3. ここでは「Alphaグループ」を選択し、「OK」をクリック

条件に「Alphaグループ」が追加されたことで、このポリシーはAlphaグループに所属しているユーザーだけが対象になります。

5. 制約(Constraints)の設定

「制約」タブでは、認証方式やタイムアウト、再認証ポリシーなどを調整します。

  • 認証方法(Authentication Methods)
    例としてPEAP(EAP-MSCHAP v2)やEAP-TLSなどの利用を指定
  • タイムアウトや再認証インターバルの設定
    無線環境のセキュリティ要件に応じて設定値を調整

特にEAP-TLSを利用する場合、証明書の設定や証明機関(CA)の配布が必要になります。Windows環境ではActive Directory証明書サービスを使って構築することも多いです。
また、ユーザー名やグループ以外にNASポートタイプやクライアントIPv4アドレスなど、細かい制約を付与することも可能です。

6. 設定(Settings)の確認とアクセスの許可

最後に「設定(Settings)」タブで、「アクセスを許可する(Grant Access)」を選択し、該当するユーザーにはアクセスを許可します。
必要に応じて、VLANの割り当てやIPフィルターなどの「RADIUS属性」を設定できます。たとえば、ポリシーに合格したユーザーが特定のVLANに振り分けられるようにし、セキュリティセグメントを分割する運用ができます。

SSIDごとの制限を行う場合の注意点

複数のSSIDを同時運用し、それぞれのSSIDを異なるグループに限定したい場合は、それぞれに対応するネットワーク ポリシーを作成し、条件に「NAS識別子(NAS Identifier)」や「NASポート名(NAS Port Name)」を加える方法があります。
Wi-Fiアクセスポイントのベンダーや機種によってSSID名をRADIUSへ渡す方法が異なるため、実際にはアクセスポイント側の設定も確認しながら進める必要があります。

たとえば、以下のような構成で運用するケースを考えてみましょう。

SSID名使用グループNAS識別子 (例)
AlphaAlphaグループalpha-ssid
BeetaBeetaグループbeeta-ssid
Guestゲスト用グループguest-ssid

NPSのネットワーク ポリシー作成時に、以下のような条件を追加します。

条件:
  Windows グループ = Alphaグループ
  NAS 識別子 (NAS Identifier) = alpha-ssid

制約:
  PEAP(EAP-MSCHAP v2)を利用
  認証成功時にアクセス許可

設定:
  VLAN IDの付与 (オプション)
  IPフィルター (必要に応じて)

このように、同じAlphaグループのユーザーでもAlpha用SSID以外(BeetaやGuestなど)には接続要求が通らないように制御できます。

運用上のヒントとトラブルシューティング

イベントビューアとログの活用

NPSの認証エラーやグループ設定の不備を調査する際は、WindowsのイベントビューアやNPS特有のログが役立ちます。特に、イベントビューアの「カスタムビュー」からNPS関連のイベントだけを絞り込むと原因を突き止めやすくなります。
また、大規模環境ではNPSログをRADIUSプロトコルレベルで出力し、別途ログ解析ツールを用いて可視化するケースもあります。

グループポリシーとの混同に注意

Active Directoryには、ユーザーの環境設定などを制御する「グループポリシー(GPO)」がありますが、本稿で扱っているのはNPSにおける「ネットワーク ポリシー」です。両者は名前は似ていますが用途が異なるため、設定箇所や適用タイミングを混同しないように注意しましょう。

複数グループ所属のユーザー

ユーザーが複数のグループに所属する場合、どのネットワーク ポリシーが適用されるかは優先順位によって異なります。NPSコンソールで上にあるポリシーほど優先順位が高いため、運用ポリシーに合わせて適切な順番に並べ替えてください。
また、「アクセスを拒否する」設定のあるポリシーが上位にあると、該当ユーザーがいずれのグループにも属していたとしても、先に拒否ポリシーが適用される可能性があります。

応用例:PowerShellでのグループ設定やNPS構成の自動化

大規模環境や頻繁に構成が変わる環境では、GUI(NPSコンソール)だけでなくPowerShellで一部の設定を自動化すると便利です。
以下は、PowerShellを使ってActive Directoryグループの作成を行う例です。

# Active Directory モジュールのインポート
Import-Module ActiveDirectory

# 新規グループの作成例
New-ADGroup -Name "Alphaグループ" -SamAccountName "AlphaGroup" -GroupScope Global -Path "OU=Groups,DC=example,DC=com"

# ユーザーをグループに追加する例
Add-ADGroupMember -Identity "Alphaグループ" -Members "User1","User2"

NPS自体の詳細設定をPowerShellから直接操作するにはレジストリ変更やスクリプトの利用が必要になる場合がありますが、セットアップやユーザー管理部分をスクリプト化するだけでも管理工数を大幅に削減できます。

まとめ

Active DirectoryとNPSを組み合わせてWi-Fiアクセスをグループ単位で制限することで、セキュリティの向上と運用効率の両立が可能になります。特定グループにのみSSIDへの接続を許可する設定は、ネットワークをセグメント化したい場合に非常に有効です。
また、ポリシーの内容や順番を適切に設計しておくことで、思わぬ競合やトラブルを避けられます。Wi-Fiのセキュリティレベルを引き上げたいと考えている方は、今回紹介した設定手順を参考に、自社の運用に合った形でNPSを活用してみてください。

コメント

コメントする