ユーザ名とパスワードを使用して認証する方法を Protected Extensible Authentication Protocol (PEAP) と言います。セキュアな認証が無線のみで必要な場合は Meraki 認証で十分ですが、他のサービスのログインも同一のユーザ ID とパスワードで統一したい場合は Radius サーバを設けた方が便利です。その他にも Radius サーバを導入することによって便利なことがあります。Radius サーバではユーザ毎に所属している部署の定義も可能なので、各部署毎のポリシーを定義することができます。セグメンテーションをしっかりと実施したセキュアなネットワークを実現できます。Radius サーバは様々なベンダーが販売しており、代表的なものだと Cisco の Identity Service Engine (ISE)、Aruba の ClearPass、Windows Server の Network Policy Server (NPS) があります。NPS は ISE や ClearPass と比べると実施できることが少ないのですが、Windows Server を持っているのであれば NPS から始めるのがいいと思います。
設定
NPS を利用するためには、Windows Server で様々な設定が必要です。クリーンインストールされた Windows Server 2016 Datacenter で Radius 認証を使用できる環境を構築したいと思います。具体的に下記を設定する必要があります。
- コンピュータ名
- 静的な Internet Protocol アドレス
- Active Directory ドメインサービス
- Active Directory 証明書サービス
- NPS
Meraki 側はダッシュボードで Service Set Identifier (SSID) を設定するだけです。
Windows Server
1. コンピュータ名
スタート > システム > コンピューターの基本的な情報の表示 > 設定の変更 > システムのプロパティ > コンピュータ名にて変更のボタンをクリックし、コンピュータ名を変更します。今回は AD という名前にしました。変更後は再起動が必要になります。
2. 静的な Internet Protocol アドレス
AD の設定にて本サーバをドメインコントローラにしますが、そのためには静的な Internet Protocol (IP) アドレスを設定する必要があります。この Windows Server が認識しているネットワークインターフェイスは、スタート > ネットワーク接続で表示されます。ネットワークインターフェイスを右クリックし、プロパティ > インターネットプロトコルバージョン 4 (TCP/IPv4) > プロパティから IP アドレスを変更します。
3. Active Directory ドメインサービス
Windows Server に新たなサービスを追加するためには、サーバーマネージャーを使用します。スタート > サーバーマネージャー > 役割と機能の追加を選択します。開始する前に、インストールの種類、サーバーの選択では次へのボタンをクリックし、サーバーの役割では Active Directory ドメインサービスを選択します。その後の機能、AD DS でも次へのボタンをクリックし、Active Directory ドメインサービスのインストールを開始します。このステップを終えた後も再起動しなくてはいけません。
再起動後、この Windows Server をドメインコントローラへ昇格させます。サーバーマネージャー > AD DS と遷移し、上に表示されている「AD で Active Directory ドメインサービスの構成が必要です」というメッセージをクリックします。配置構成では新しいフォレストを追加するを選択し、ドメインを入力します。私はドメインとして apicli.com を入力しましたが、ドメインを持っていない場合には xxx.local (xxx は好みで変更) を使用して問題ありません。ドメインコントローラーオプションではパスワードを設定します。他は、次へのボタンをクリックし、インストールします。インストール完了後はサーバが再起動します。
これでやっと、PEAP で使用するユーザを作成することができます。サーバーマネージャ > ツール > Active Directory ユーザーとコンピューターでは、先ほど設定したドメインが左のペインに表示されているはずです。ドメイン > Users を右クリックし、新規作成 > ユーザーからウィザードに従って新規ユーザを作成します。今回は Windows Server を用いて PEAP を試したいだけなので Test というユーザを作成しました。次へのボタンをクリックしパスワードなどの情報を入力します。
4. Active Directory 証明書サービス
Extensible Authentication Protocol (EAP) を使用するためには証明書を発行する必要があります。この手順を踏まないと、PEAP 認証時に下記のエラーが出力されます。
イベント ID: 6273 理由コード: 22 理由: サーバーで拡張認証プロトコル (EAP) の種類を処理できないため、クライアントを認証できませんでした。
Active Directory 証明書サービスをインストールするためには、ステップ 3 でインストールした手順と同様に、サーバマネージャー > 役割と機能の追加からサーバーの役割にて Active Directory 証明書サービスを選択し、ウィザードに従って設定を進めます。AD CS > 役割サービスでは EAP Transport Layer Security (EAP-TLS) のために証明書機関と証明機関 Web 登録の両方を選択してください。
インストールが完了すると、サーバマネージャーにて警告が表示されます。警告メッセージから開きウィザードに従い証明書を発行してください。構成する役割サービスの選択では証明機関と証明機関 Web 登録を選択します。
5. NPS
NPS のインストールもサーバーマネージャーから実施します。特別な設定は必要ないので、ウィザードに従ってインストールを完了させてください。
Radius を使用するためには、どの機器 (MR) から Radius 認証を許可するのかという設定とユーザ認証のポリシーを定義する設定が必要になります。まずは、前者を設定します。サーバーマネージャー > ツール > ネットワークポリシーサーバ の左ペイン > RADIUS クライアントとサーバー > RADIUS クライアント から Radius で許可するデバイスを登録します。RADIUS クライアントを右クリックし、新規を選択すると機器を登録する窓が開かれます。アドレスには特定の MR が使用している IP アドレスを入力することもできますが、下画像のように MR が所属している VLAN のサブネットを登録すれば、そのサブネットに所属している全 MR を一括登録できます。
次に、ユーザを認証させるためのポリシーを作成します。今回は Domain Users 全体のポリシーを作成します。ネットワークポリシーサーバーの左ペイン > ポリシー > ネットワークポリシー を右クリック > 新規からウィザードに従ってポリシーを作成します。
条件の指定では以下の 3 つを追加します。
- Windows グループ > グループの追加 > Domain Users
- 認証の種類 > EAP
- NAS ポートの種類 > ワイヤレス – IEEE 802.11
認証方法の構成では Microsoft: 保護された EAP (PEAP) を追加します。その他は、次へのボタンをクリックし、ポリシーの作成を完了させます。作成したポリシーの処理順序をデフォルトで登録されているポリシーよりも低く設定する必要があるので、作成したポリシーを右クリックし、上へ移動で処理順序を 1 にします。
これで Windows 側の設定は終了です。
Meraki
Meraki 側はダッシュボードにて SSID を作成するのみです。
SSID
ワイヤレス > SSID より Test-EAP という SSID を作成します。
さらに設定の変更をクリックし、接続条件では WPA2 エンタープライズ: マイRADIUS サーバを選択します。
そうすると、下の方に RADIUS サーバという設定が表示されるので、設定したWindows サーバを追加します。シークレットはステップ 5 で設定した共有シークレットを入力します。
Test というボタンをクリックすることによって、その場で動作確認が可能です。
ステップ 3 で作成した Test というユーザ情報を用いて端末を接続させようとすると、接続時に下記のような画面が表示されるかもしれません。これはオレオレ証明書を使用しているので表示されていますが、許可をすると端末が無線に接続されます。
逆に AD に登録しなかったユーザ (Test2) で認証させようとすると接続が失敗するので、PEAP が機能していることが分かります。