先日、検証環境用の無線 LAN として、BUFFALO の WAPS-HP-AM54G54 を購入しました。
# 1 万円チョイで購入できました。
Windows Server 2008 R2 の RADIUS サーバー (NPS : Network Policy Server) と PEAP で連携させてみたのでその時の設定内容をメモとして。
今回は PEAP で PEAP-MS-CHAP v2 を使用した設定となっています。
# 最終的には PEAP-TLS にしたいと思っているのですが。
認証周りはこちらを参考にさせていただいています。
802.1x 認証方式と NAP 対応
Contents
■RADIUS サーバーの役割追加
まずは、Windows Server 2008 R2 に RADIUS サーバーとしての役割を追加します。
今回は AD DS / AD CS が入っているサーバーに対して役割を追加しています。
- サーバーマネージャーを起動し、役割の追加をクリックします。
- [ネットワーク ポリシーとアクセス サービス] を有効にして [次へ] をクリックします。
- [次へ] をクリックします。
- [ネットワーク ポリシー サーバー] を有効にして、[次へ] をクリックします。
- [インストール] をクリックします。
- [閉じる] をクリックします。
■NPS を AD に登録
今回は AD のメンバー (実際には AD DS) に NPS をインストールしているので、サーバーを AD に登録します。
既定のドメインに NPS サーバーを登録する
Active Directory ドメイン サービスに NPS サーバーを登録する
# netsh nps add registeredserver もできるみたいですね。
- 管理ツールから [ネットワーク ポリシー サーバー] をクリックします。
- [NPS (ローカル)] を右クリックして、[Active Directory にサーバーを登録] をクリックします。
- [OK] をクリックします。
- [OK] をクリックします。
Active Directory に登録をすると、[RAS and IAS Servers] に NPS のコンピューターアカウントが登録されます。
■RADIUS クライアントの設定
役割の追加が終わったら WAPS-HP-AM54G54 を RADIUS クライアントとして登録します。
- 管理ツールから [ネットワーク ポリシー サーバー] をクリックします。
- [RADIUS クライアント] を右クリックして [新規] をクリックします。
- フレンドリ名に任意の名称を設定し、アドレスに WAPS-HP-AM54G54 の IP アドレスを入力し、[生成] を選択して共有シークレットを作成して [OK] をクリックします。
共有シークレットは WAPS-HP-AM54G54 に設定する必要がありますのでコピーしておきます。
サーバー側で設定したら次は RADIUS クライアントの設定を行います。
- ブラウザで WAPS-HP-AM54G54 の管理コンソールにアクセスし、[無線LANの暗号化を設定する(RADIUSサーバーを使う)] をクリックします。
- 使用する無線規格をクリックします。今回は共通の暗号化設定を使用するをクリックしています。
- [WEP (IEEE802.1x/EAP)] をクリックします。
- RADIUS サーバーに NPS のサーバーの IP アドレスを指定し、SharedSecret に生成した共有シークレットの設定を行い、RADIUS クライアントを設定します。
■証明書の登録
NPS で使用する証明書を AD CS を使用して作成します。
証明書と NPS
作業としては、[RAS および IAS サーバー] のテンプレートを使用して作成した証明書を NPS にインポートします。
- MMC で [証明書テンプレート] のスナップインを開きます。
- 今回は元となるテンプレートをそのまま使用するのではなくコピーしたテンプレートを使用しようと思いますので、[RAS および IAS サーバー] のテンプレートを右クリックして、[テンプレートの複製] をクリックします。
- [Windows Server 2008 Enterprise] を選択して、[OK] をクリックします。
- テンプレート名や期限を設定します。
有効期限に関しては、Windows Server 2003 または Windows 2000 Server 証明機関により発行される証明書の有効期限を変更する方法 に記載されている ValidityPeriodUnits の変更が必要になるかと思います。 - [セキュリティ] タブをクリックして [RAS and IAS Server] に [読み取り] と [自動登録] を追加し、[OK] をクリックします。
- [管理ツール] から [証明機関] をクリックします。
- [証明書テンプレート] を右クリックして、[新規作成] → [発行する証明書テンプレート] をクリックします。
- 先程追加したテンプレートを選択して[OK] をクリックします。
この状態ではテンプレートを登録し、そのテンプレートを [RAS and IAS Server] グループのコンピューターアカウントがセキュリティとして自動登録を有効にされただけで、自動登録をするための設定は行われていません。
自動登録の設定はグループポリシーで実施することができます。
# Web から証明書テンプレートを使用して証明書を作成し、それをエクスポートしてコンピューターアカウントの個人証明書としてインポートしてもよいかもしれないですね。
- [コンピューターの構成] → [Windows の設定] → [セキュリティの設定] → [公開キーのポリシー] → [証明書 サービス クライアント – 自動登録] を開きます。
- [構成モデル] を有効にして、両方のチェックを有効にし [OK] をクリックします。
- グループポリシーが作成できたら [RAS and IAS Server] グループに適用できるようにグループポリシーをリンクさせます。
# グループポリシーのデフォルトは [Authenticated Users] なので上記のグループも入りますが、テストで NPS だけを適用対象としたい場合には、RAS ~ だけにしておいてもよいかと思います。 - [gpupdate /force] を実行してポリシーを適用させます。
- mmc でコンピューター アカウントの証明書を表示し、[個人] の証明書として作成した証明書テンプレートの証明書が登録されていたら設定は完了です。
# うまく適用されていない場合はログオフ/ログオンして再度 [gpupdate /force] を実行したり、再起動したりと。
■PEAP の設定
基本的な設定が終わったら認証の設定を行います。
- 管理ツールから [ネットワーク ポリシー サーバー] をクリックします。
- [802.1X ~] を選択して、[802.1X を構成するをクリックします。
- [ワイヤレス接続をセキュリティで保護する] を選択して、[次へ] をクリックします。
- [次へ] をクリックします。
- [Microsoft: 保護された EAP (PEAP)] を選択して、[構成] をクリックします。
- GPO で登録された自動登録により登録された [RAS および IAS サーバー] のテンプレート元にした証明書を選択し、[OK] をクリックし、元のウィンドウに戻ったら [次へ] をクリックします。
# 最初、AD CS のルート証明書を選択していてハマりました。。。。
- 今回はグループやユーザーによる制御はしないので[次へ] をクリックします。
- [次へ] をクリックします。
- [完了] をクリックします。
以上でサーバー側の設定は完了です。
■クライアントの設定
ドメインに参加している端末であればドメインユーザーでログインしていれば 無線 LAN の SSID を設定すればシングルサインオンできると思います。
ワークグループ環境の端末を設定した無線 LAN に接続するためには、
- AD CS のルート証明書を MMC を使用してコンピューターアカウントまたはログインしているユーザーの信頼されているルート証明機としてインポート
- セキュリティの種類として [802.1x] を使用したネットワーク接続を作成
# 今回はステルス設定している SSID を利用しています。 - 作成した接続のプロパティのセキュリティタブを開き、[設定] をクリックします。
- 信頼されたルート証明機関からインポートした AD CS のルート証明書を有効にして、[構成] をクリックします。
- [接続のための認証方法] のチェックを外し、[OK] をクリックします。
-
[OK] をクリックしセキュリティタブが開かれた状態にし、[詳細設定] をクリックします。
-
[認証モードを指定する] を有効にし、[ユーザー認証] にして、[OK] をクリックし、プロパティの変更内容をすべて適用します。
信頼されたルート証明機関で AD CS のルート証明書を指定しなかった場合は、以下のようなダイアログが表示されます。
接続をクリックすると資格情報の入力ダイアログが表示されますのでドメインユーザーの情報を入力します。
# 接続をクリックするとプロパティのルート証明機関の有効化と同等の設定がされるようです。
私の環境ではこれで 802.1x の PEAP-MS-CHAP v2 で検証環境に無線 LAN を経由して接続できるようになりました。
■構築中に発生したエラー
構築中に発生したエラーをいくつか書いておきたいと思います。
うまく接続ができなかった場合、
- クライアントのイベントビューアーのアプリケーション
- クライアントのイベントビューアーのシステム
- NPS のイベントビューアーのシステム
- NPS のサーバーマネージャーの [役割] → [ネットワーク ポリシーとアクセス サービス] のイベント
# [C:WindowsSystem32LogFiles] の下の NPS のログファイル (INmmdd.log) と同じ内容のようです。
辺りを確認するとよさそうです。
NPS のイベントビューアーのシステムに
ソース : Schannel イベント ID : 36888 次の致命的な警告が生成されました: 20。内部エラーの状態は 960 です。 |
サーバーマネージャーの NPS のイベントに
ソース : Microsoft Windows security auditing. イベント ID : 6273 ネットワーク ポリシー サーバーの拡張認証プロトコル (EAP) 使用中にエラーが発生しました。EAP エラーについては EAP ログ ファイルを確認してください。 |
が表示される場合は、PEAP の構成で設定している証明書が [RAS および IAS サーバー] のテンプレートを自動登録することで作成された証明書ではなく、AD CS のルート証明書を使用していたためにエラーとなっていました。
クライアントのイベントビューアーのシステムに
ソース : Schannel イベント ID : 36888 次の致命的な警告が生成されました: 48。内部エラーの状態は 552 です。 |
ソース : Schannel イベント ID : 36882 リモート サーバーから受信した証明書は、信頼されていない証明機関によって発行されています。このため、この証明書に含まれているデータはどれも検証できません。SSL 接続の要求に失敗しました。添付されたデータにサーバー証明書が含まれています。 |
が表示された場合は、クライアントの信頼されたルート証明機関として AD CS のルート証明書が含まれていませんでした。
ネットワークはかなり不得手なので少しずつでも勉強しないとまずいなということを痛感しました…