トップ回答者
ネットワークポリシーサーバ、iPadから無線接続について。

質問
-
Wondows2008 Standard 32bitオペレーション付随のNPSサーバとRADIUSサーバを使っております。
このサーバを証明機関と認証局として、WindowsPCからはEAP/TLSで端末証明書とサーバ証明書のやりとりにて無線認証し、AccessPointに接続できております。
ここにiPadを接続させようとするのですが、うまくいきません。
NPSのログを見ると、windowsの方は、認証方式「PEAP」「スマートカード」で処理されているのですが、
iPadは、なぜか「EAP」になってしまっております。
iPadの設定が悪いのか・・・NPSか・・・APか・・全く見当がつかないのです。
どなたか、少しのヒントでも頂ければ・・と思っております。【手順】
1)証明書のエクスポート。
・端末ユーザ証明書 PKCS#12形式にてエクスポート。(*.pfx)・・・秘密鍵をエクスポートする。
■証明書のパスにある証明書を、可能であれば全て含める。
■強力な保護を有効にする。
・信頼されたroot証明書 CA認証局 「DER encoded binaryX509」形式にてエクスポート。
※認証局(NPS)、認証サーバ(RADIUS)ともwin2008R2。
※ユーザ証明書は、ActiveDirectoryのユーザ認証情報含む。2)iPadに上記証明書をインストール。root証明書→ユーザ証明書の順。
※ユーザ証明書に、認証局の情報付加されている。「設定」-「情報」-「プロパティ」で確認。3)iPad、無線の設定。
・「SSID」を設定。
・「セキュリティ;WPA2エンタープライズ」
↓
・「モード;EAP/TLS」
↓
・「ID;登録したユーザ証明書を指定」
↓
「接続」・・・接続失敗。「SSIDへの接続に失敗しました。」と表示。
※ユーザ欄に、クライアント証明書のADユーザ名を指定しても失敗。
※証明書のエクスポート時、プロパティのチェックを入・切して数種作成したが、全て失敗。
※セキュリティを WPAエンタープライズにしても失敗。【NPSのログ】
・正常接続されるものは、次の表示。
AuthenticationType PEAP
EAPType Microsoft: スマート カードまたはその他の証明書
AccountSessionIdentifier -
QuarantineState フル アクセス・iPadは次の表示。
AuthenticationType EAP
EAPType -
AccountSessionIdentifier -
ReasonCode 22
Reason サーバーで拡張認証プロトコル (EAP) の種類を処理できないため、クライアントを認証できませんでした。※オーゼンティケーション(AccessPoint?)、windowsPCの時は「PEAP」で受けて、iPadは「EAP」で処理してます。
↓【対処策施行】
・「NPS」の「ネットワークポリシー」、「持ちこみPC」をコピーし、別のポリシーを作成。
作成したポリシー、「認証方法;スマートカードその他の証明書」に変更し、上位に配置して接続してみる。
※EAP/TLS接続の場合、これを選択する・・と訊いたことがあったので・・。iPadには、PEAPを選択する場所がなかったので。・・・接続できず。
【質問】
・証明書は、iPadに組み込めていると思うのです。しかし、何故「AuthenticationType」を「EAP」にして処理しようとするのでしょうか?
確かにwin端末の時は、「PEAP」を設定する場所があります。が、iPadには「EAP/TLS」しかありません。
「AuthenticationType」絡みなので、AccessPointを触ればよいのでしょうか?
何かご存知であれば、ご教授頂きたく思います。2015年12月11日 8:00
回答
-
チャブーンです。
IEEE802.1x認証で[PEAP-TLS]認証を使う場合、[Windowsユーザ認証](ユーザログオン時に認証)と[コンピュータ認証](コンピュータ起動時に認証)の2通りが使えます。ユーザ認証の場合は[ユーザ証明書]で大丈夫ですが、コンピュータ認証の場合は[コンピュータ証明書]が必要です。[コンピュータ証明書]とは認証の種類に[サーバ認証][クライアント認証]など、コンピュータの認証機能を持つ証明書でユーザ証明書とは異なります。
[EAP-TLS]の場合、コンピュータ認証による証明書しか利用できず、(Windowsの)ユーザ証明書を使うことはできなかったはずです。ただし「応答がない」という事実が「証明書が間違っているから」と決めつけるのは早計かと思います。
状況から、Windowsでは[PEAP-TLS]の[ユーザ認証]を行い、iPadでは[EAP-TLS]の[コンピュータ認証]を行いたい、と理解しましたが、以下の2点を行う必要があります。
- NPS側で[Windowsクライアントが接続した際の接続要求ポリシー/ネットワークポリシー]と[iPadクライアントが接続した際の接続要求ポリシー/ネットワークポリシー]の条件分けの設定を行う
- iPad側で[EAP-TLS]による認証設定と、コンピュータ証明書のインポートを行う
上記のほかに(Windows証明書サービスを使っていると思いますので)Windows証明書サービスで[コンピュータ証明書]を発行するための設定も行わなければなりません。証明書サービスから手動で証明書を作成し、エクスポートしたうえ、iPadに個別でインポートすることになります。
うえの設定は相応に複雑ですので、簡単に説明することは難しいです。もし現在の環境から、この設定を追加しなければならない場合、現在の設定の詳細(NPSのポリシー設定の詳細や、証明書サービスの設定、WIFI用グループポリシーの設定など)を見せていただかないと答えが難しいですが、無償掲示板でこういった対応は不可能です。(これを行った場合情報漏洩問題になる可能性が高いです)
申し訳ないですが、状況からMS有償サポートにご質問いただいた方がよいと思います。
https://www.microsoft.com/ja-jp/services/professional.aspx
フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。
2015年12月18日 6:53
すべての返信
-
チャブーンです。
まず、前提条件としてiPad=Apple製品の仕様情報は、このコミュニティではきわめて得にくい、という部分はご理解ください。
仕方がないので、情報を探したところ、したのようなApple製品のIEEE 802.1x認証に関するドキュメントがありました。
http://training.apple.com/pdf/WP_8021X_Authentication.pdf
うえを見るとiOS製品でサポートしているのは「PEAP」「EAP-TLS」...といった情報がありましたが、このリストに「PEAP-TLS」は含まれていませんでした。「PEAP-TLS」は「EAP-TLS」とよく似ていますが、前提のプロトコルが違います。業界標準の「EAP」に対して、「PEAP (Protected EAP)」はMSが策定した拡張EAPプロトコルです(「NAP」といった検疫機能を実装するための拡張が行われています)。
PEAPは複数の種類があり「PEAP-MSCHAPv2」と「PEAP-TLS」があります。「PEAP-MSCHAPv2」はパスワードによる認証を行うもので、Appleが「PEAP」と呼んでいるのはこのタイプのものです。一方「PEAP-TLS」は証明書による認証を行うもので、MS WindowsのようなネイティブMS製品を中心に実装されています。おそらくiPadでは「PEAP-TLS」はサポートされていないので、永久にPEAPによる証明書認証はできないのでしょう。
したがって対応方針としては、したのような方法になると思います。
- 認証方式を[PEAP-MSCHAPv2]に変更する
Windows サーバ側で[PEAP-MSCHAPv2]で認証するよう、Network Policy Serverの設定を変更します。iPadではPEAP認証を行うようにします。証明書による認証はできなくなりますが、NAP検疫機能をWindows側で使いたい場合、これを選択することになります。 - 認証方式を[EAP-TLS]に変更する
Windows サーバ側で[EAP-TLS]で認証するよう、Network Policy Serverの設定を変更します。iPadでは[EAP-TLS]認証を行うようにします。証明書による認証ができますが、NAP検疫機能は一切使えません。単純にIEEE 802.1x認証の成功/失敗によって、無線クライアントの通信がON/OFFになるだけ、という動作になります。
PEAP-TLSとEAP-TLSの違いについて、MSのブログにあるようですので、参考にしてみてください。
http://blogs.technet.com/b/windowsserverjp/archive/2010/02/16/3313048.aspx
フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。
- 回答の候補に設定 佐伯玲 2015年12月14日 0:42
2015年12月11日 10:03 - 認証方式を[PEAP-MSCHAPv2]に変更する
-
チャブーンさん。「EAP-TLS」と言えども、こちらのNPSのポリシーでは、「PEAP-TLS」でwinクライアントと通信していたようです。
クライアントの設定では「保護されたPEAP」を無線設定で指定しておりました。iOSの通信設定では、「EAP-TLS」でしたので、NPSのポリシーを、「EAP-TLS」通信用のものを追加して接続させようとしましたが、今度はエラーが帰ってこずいつまでも「待ち」の状態のままになります。
証明書に問題があるのか?と思うのですが・・。この証明書はWindowsと共用のもので、個人証明書、アカウントはActiveDirectoryのユーザに対する証明書です。iOSは、ドメイン認証できないと訊いたことがありますが、それゆえにADユーザの証明書は使えないものなのでしょうか?
2015年12月18日 2:22 -
チャブーンです。
IEEE802.1x認証で[PEAP-TLS]認証を使う場合、[Windowsユーザ認証](ユーザログオン時に認証)と[コンピュータ認証](コンピュータ起動時に認証)の2通りが使えます。ユーザ認証の場合は[ユーザ証明書]で大丈夫ですが、コンピュータ認証の場合は[コンピュータ証明書]が必要です。[コンピュータ証明書]とは認証の種類に[サーバ認証][クライアント認証]など、コンピュータの認証機能を持つ証明書でユーザ証明書とは異なります。
[EAP-TLS]の場合、コンピュータ認証による証明書しか利用できず、(Windowsの)ユーザ証明書を使うことはできなかったはずです。ただし「応答がない」という事実が「証明書が間違っているから」と決めつけるのは早計かと思います。
状況から、Windowsでは[PEAP-TLS]の[ユーザ認証]を行い、iPadでは[EAP-TLS]の[コンピュータ認証]を行いたい、と理解しましたが、以下の2点を行う必要があります。
- NPS側で[Windowsクライアントが接続した際の接続要求ポリシー/ネットワークポリシー]と[iPadクライアントが接続した際の接続要求ポリシー/ネットワークポリシー]の条件分けの設定を行う
- iPad側で[EAP-TLS]による認証設定と、コンピュータ証明書のインポートを行う
上記のほかに(Windows証明書サービスを使っていると思いますので)Windows証明書サービスで[コンピュータ証明書]を発行するための設定も行わなければなりません。証明書サービスから手動で証明書を作成し、エクスポートしたうえ、iPadに個別でインポートすることになります。
うえの設定は相応に複雑ですので、簡単に説明することは難しいです。もし現在の環境から、この設定を追加しなければならない場合、現在の設定の詳細(NPSのポリシー設定の詳細や、証明書サービスの設定、WIFI用グループポリシーの設定など)を見せていただかないと答えが難しいですが、無償掲示板でこういった対応は不可能です。(これを行った場合情報漏洩問題になる可能性が高いです)
申し訳ないですが、状況からMS有償サポートにご質問いただいた方がよいと思います。
https://www.microsoft.com/ja-jp/services/professional.aspx
フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。
2015年12月18日 6:53