2016-12-12 03:15 PM
こんにちは
ASA5540+OS:9.1(6.11)+AnyConnect 3.13015でVPN接続サービスをエンドユーザーに提供している者です。
エンドユーザーの環境では、AnyConnectあり/なしだけでなく、有線/無線、802.1X認証あり/なしと、いろいろなパターンでNWに接続します。
(ノートPCを持って、別のオフィス・小規模拠点・出張先と移動するためです。)
ただ、エンドユーザーの多くがPC周りに詳しくないため、「いつ、何を使ってNWに接続するか」の判断ができず、混乱することがあります。
そのため、AnyConnectのプラグインであるNAM(Network Access Manager)を追加して、ユーザーのNW接続をなるべく自動判別したいと考えております。
検証機で試しているのですが、802.1X認証(コンピュータ認証)のサプリカントしての機能が、うまくいっていないようです。
原因はおそらく、各NWでのCredentialの設定→machine Identityの設定が正しくないことだと考えていますが、どなたか対処の方法をお知らせいただけますでしょうか。
■環境について補足
・クライアントPCはWindows 7 またはWindows 10(いずれもPrefessiona Edition)
・PCには、NAMと競合するようなアプリケーションはインストールされていないものとします。
・802.1X認証について
・アクセスポイント:Cisco社以外の製品、
・802.1X認証のサプリカント:Windows標準のものを現在使用→これをNAMでの管理としたい
・認証には、Windows2012サーバー上につくったRadiusサーバを使用
---------------------------------------------------------------------------
■■■検証環境での設定■■■
NAMのプロファイル設定は、現在は以下のとおりです。
■■優先順位の設定■■ ←画面キャプチャを添付しています
■有線LAN(優先度の高い順に、以下のように定義)
1. 802.1X認証あり
(スタートアップスクリプト/ログオンスクリプトで、社内サーバへのアクセスが発生するため、
早めにNWに接続できるようにしたい)
2. 認証なし
■無線LAN
1. 802.1X認証あり
(ユーザーが、社外の一般的なNWに接続するためのプロファイル作成を行うことは許可)
---------------------------------------------
■■各ネットワークの設定■■
1 有線LAN(802.1X認証あり)
・Media Type : 有線
・Security Level : Authenticating Network
・Port Authentication Exception Policy : disable
・Connection Type:Machine Connection ← コンピュータ認証
・Machine Auth
・EAP Methods : PEAP
・Credentials
・Machine Identity
・Unprotected Identity Pattern
・Protected Identity Pattern
コンピュータ認証での「Machine Identity」の書き方がわかりません。
[raw]…コンフィグレーションガイドなどによると、ユーザー認証の時に有効な指定のようです。
たしかに、ユーザー認証で、Machine Identityを[raw]にすると認証が通りました。
host/[username]…デフォルトで入っていた設定。試したところ、うまくいきませんでした。
host/[domain]…これもうまくいきませんでした。
その他のNetwork設定(有線LAN:認証なし、無線LAN:802.1X認証あり)については省略します。
2016-12-12 11:04 PM
お世話になります。
一旦 Unprotected Identity Pattern、Protected Identity Pattern ともに host/[username].[domain] か host/[username]@[domain] に変更すると事象に変化が見られるかご確認いただけますでしょうか。うまく動作したら次に、Protected Identity はそのままで、Unprotected Identity Pattern のみデフォルトの host/anonymous としても動作するかどうかご確認ください。
既存の Windows サプリカントで問題なく動作しているようですが、上記変更により Windows サプリカントと同じ Identity 情報になると見込んでいます。もしそれでも認証に失敗するようでしたら、AAAサーバでどのような理由でエラーになっているか等を共有いただければと思います。また、Windows サプリカント利用時と、認証リクエストにどのような差分があるかといった調査も有効な切り分けとなります。
どうぞよろしくお願い申し上げます。
2016-12-17 11:14 PM
Shinpei Kono さん
回答ありがとうございます。
Unprotected Identity Pattern、Protected Identity Patternをhost/[username].[domain] に設定して、
Windows標準のサプリカント同じIdentity 情報をRADIUSサーバに渡していることを
オーセンティケータ(シスコ製品ではない無線LAN AP)でのshowコマンドで確認しました。
(ただ、コマンドの制限により、全ての情報を表示することはできませんでした。)
しかし、コンピュータ認証には失敗してしまいます。
RADIUSサーバ(Windows2008サーバ上のNPS : Network Policy Server)のログを確認したところ、以下のログがありました。
理由コード:1(The connection request failed due to a Network Policy Server error.)内部エラーという表示でした。
参照URL:https://technet.microsoft.com/ja-jp/library/dd197464(v=ws.10).aspx
情報が少なすぎるのですが、これ以上の調べ方が分かりませんでした。
オーセンティケータ、RADIUSサーバ共に、詳細な情報を得ることができなかったため、クライアントPCでWiresharkでパケットキャプチャを試みたのですがうまくいきませんでした。
(サプリカントにWindows標準のものを使用した場合は、802.1X認証の過程をキャプチャできたのですが、 サプリカントにNAMを使用した場合は、キャプチャできませんでした。
キャプチャ画面のスクリーンショットを添付してあります。)
他に調べ方がありましたら、お知らせいただけますでしょうか。
------------------------------------------------------------
なお、LANケーブルの抜き差しをしながら、
・コントロールパネル→ネットワークアダプタ接続でアダプタのステータスを見たり
・NAMの表示を見ていたのですが
ケーブルの抜き差しをすると、前者では「ケーブルが接続されていません」のままですが
後者では「認証中です」「認証に失敗しました」などの表示や、無線LAN接続の試行などの応答があります。
シスコ社の製品紹介で見た記憶があるのですが、NAMはWindows OSより早い段階で動く/高い優先度で動くという考えで良いのでしょうか。
仮にこの考えが正しい場合、Wiresharkでキャプチャできないことと関係はありますでしょうか。
添付の画面キャプチャは以下のとおりです。
・NamSupplicant_MachineAuth_01.png
Network Access Managerでのコンピュータ認証に失敗した時のものです。
EAPでフィルターしても何もヒットしません。
NAM上では、「認証中です」「認証に失敗しました」などのメッセージが表示されますが、キャプチャ上はそのような情報を得ることができません。
・WinSupplicant_MachineAuth_01.png
Windows標準サプリカントでのコンピュータ認証で成功した時のものです。
EAPでフィルターしています。
Aruba~がオーセンティケータ、Toshiba~がクライアントPCです。
・NamSupplicant_MachineAuth_01.png
Network Access Managerでのユーザー認証に成功した時のものです。
EAPでフィルターしても何もヒットしません。
すぐにDHCPサーバからクライアントPCに対して、IPアドレス・デフォルトゲートウェイ・DNSサーバのIPアドレスといった情報がアサインされています。
2016-12-19 10:04 AM
athirano1様
ご認識のとおりクライアントPCでのパケットキャプチャは、NAM を使用すると Wireshark から取得できなくなります。代替手段として、NAM にパケットキャプチャを自動取得するオプションがあります。
[手順]
1.デスクトップのシステムトレイからAnyConnect アイコンにカーソルを置いて、Shift + Alt + L を押します。
2.AnyConnectアイコンを右クリックすると、Extended Logging というメニューが表示されるので、クリックして有効にします。
3.事象を再現させた直後に、以下から自動生成されたキャプチャファイルを取得します。
C:\ProgramData\Cisco\Cisco AnyConnect Secure Mobility Client\Network Access Manager\logs\xxx.cap
接続に使用した Wifi のアダプタ名がついたキャプチャファイルをご確認ください。ユーザログオン前に実行するコンピュータ認証であってもキャプチャ可能です。
まずはこちらから EAPレイヤで差分箇所があるかを、ご確認いただければと思います。もし原因となりそうな違いが見られないようであれば、念のため Radius パケットをキャプチャして、Radius属性から見た差分箇所がないかどうか、NPSの関連ポリシーの設定と照合しながらご確認ください。
どうぞよろしくお願い申し上げます。
2016-12-21 03:54 PM
Shinpei Kono さん、ご回答ありがとうございます。
拡張ロギングにより802.1X認証時のパケットキャプチャができました。
キャプチャファイルをWiresharkで開くこともできました。
Windows標準のサプリカントで802.1X(コンピュータ認証)に成功した時と
Network Access Managerで802.1X(コンピュータ認証)に失敗した時とで比較したところ、下記の違いがありました。
Client Hello、Server Helloの後のApplication Dataのやり取りにおいて、NAM使用時は
1.レスポンスの量が多いように見えます。(1回に2セットのレスポンス。画面ショットを添付します。)
2.そして認証に失敗→Identityを要求/Identityを応答といった最初の方に戻ってぐるぐる繰り返すという感じです。
3.サプリカントからのリプライ時、宛先がオーセンティケータのMACアドレスでなく "Nearest"になっています。
サプリカント: 東芝のWindows10パソコン
オーセンティケータ:アルバネットワークス社の無線LAN AP
この差から、何か原因を推測することは可能でしょうか。
また、キャプチャで他にも見るべき個所はありますでしょうか。
Radiusサーバでの調査は管理上の理由で難しく、なるべくサプリカントとオーセンティケータでの調査で解決したいと考えております。
■Windows標準サプリカント
1.サプリカント →オーセンティケータ EAPOL開始フレーム送信
2.オーセンティケータ→サプリカント Identityを要求
3.サプリカント →オーセンティケータ Identityを応答(host/[username].[domain]形式)
4.オーセンティケータ→サプリカント 要求(EAP-PEAP)
5.サプリカント →オーセンティケータ Client Hello
6.オーセンティケータ→サプリカント Server Hello
7.サプリカント →オーセンティケータ Helloに対する応答(EAP-PEAP)
8.オーセンティケータ→サプリカント Application Data(リクエスト)
9.サプリカント →オーセンティケータ Application Data(レスポンス)
10.オーセンティケータ→サプリカント Application Data(リクエスト)
11.サプリカント →オーセンティケータ Application Data(レスポンス)
12.オーセンティケータ→サプリカント Application Data(リクエスト)
13.サプリカント →オーセンティケータ Application Data(レスポンス)
14. オーセンティケータ→サプリカント 認証成功(Successを返す)
■NAM
1.サプリカント →オーセンティケータ EAPOL開始フレーム送信(なぜか4回も実施)
2.オーセンティケータ→サプリカント Identityを要求(開始フレーム数が多かったせいか、なぜか8回も実施)
3.サプリカント →"Nearest" Identityを応答(host/[username].[domain]形式)
4.オーセンティケータ→"Nearest" 要求(EAP-PEAP)
5.サプリカント →"Nearest" Client Hello
6.オーセンティケータ→サプリカント Server Hello
7.サプリカント →"Nearest" Helloに対する応答(EAP-PEAP)
8.オーセンティケータ→サプリカント Application Data(リクエスト)
9.サプリカント →"Nearest" Application Data(レスポンス)が2セット
10.オーセンティケータ→サプリカント Application Data(リクエスト)
11.サプリカント →"Nearest" Application Data(レスポンス)が2セット
12.オーセンティケータ→サプリカント Application Data(リクエスト)
13.サプリカント →"Nearest" Application Data(レスポンス)が2セット
2に戻ってIdentityを要求から同じことを繰り返す
-------------------------------------
添付ファイルについて
いずれもWiresharkでの画面キャプチャです。
・WinSupplicant_MachineAuth_11.png
Windows標準のサプリカント使用時の、コンピュータ認証成功例(最後がSuccess)
・NamSupplicant_MachineAuth_11.png
NAM使用時の、コンピュータ認証失敗例
・NamSupplicant_MachineAuth_12.png
NAM使用時の、コンピュータ認証失敗例
Client Hello、Server Helloの後のApplication Dataのやり取りにおいて、
レスポンスの量が多く、1回あたり2セットのレスポンスを返しています。
2016-12-21 07:26 PM
athirano1 様
追加情報ありがとうございました。
Aruba AP からの Identity Request が同じタイムスタンプで多数受信している箇所は見えましたが、NAM 利用時に EAPoL Start が複数回発生した箇所は画面キャプチャには含まれていませんでした。EAPoL Start は NAM から秒間をおかずに一気に発生していましたでしょうか?それとも Identity Request を受信しないため再送しているような見え方でしょうか?
NPS が前回お知らせいただいたエラーで、Access-Reject の応答を返しているようであれば、Aruba AP から NAM に対しても EAP Failure が送信されると思われますが、NAM の画面キャプチャでは、途中でやり取りが途絶えて、ご指摘のように Aruba AP が NAM に対して Identity Request を再度やり直す動作を繰り返しています。サプリカントのキャプチャと Aruba AP/NPS 間のキャプチャを照合したり、Aruba AP/NPS で詳細なデバッグログを確認することで、詳しい状況が判明すると考えます。
なお、宛先が Nearest となっている点は、画面キャプチャを拝見するかぎり、Windows、NAMのどちらも同じであるように見受けられました。おそらく 01-80-C2-00-00-03 というマルチキャスト MAC が Wireshark で Nearest という表記になっていると思われます。EAPoL の実装としては特に問題ないと考えますが、認識が一致しない箇所があればご指摘ください。
NAM としては、EAPoL Start が何度も発生するという動作が気になりますが、画面キャプチャからの調査はかなり難しいので、お手数ですが Extended Logging を有効にしたまま事象を再現させて、AnyConnect から DART を取得いただき、TACケースをオープンいただけますでしょうか? DART にはNAM のデバッグログなどのほか、今回取得いただいたパケットキャプチャも含まれます。すでに取得いただいた Windows サプリカント利用時のパケットキャプチャデータも併せて、ケースにて共有いただければと思います。
AnyConenct 3.1 をご利用ですので、ASA のシリアルでケースの受付は可能です。ただ、Authenticator、AAA Server が他社製であることや、AnyConnect 3.1 もすでに開発が終了したバージョンとなり、TAC で調査可能な内容はかなり限定される点についてあらかじめご了承いただきたく思います。
どうぞよろしくお願い申し上げます。
エキスパートの回答、ステップバイステップガイド、最新のトピックなどお気に入りのアイデアを見つけたら、あとで参照できるように保存しましょう。
コミュニティは初めてですか?これらのヒントを活用してスタートしましょう。 コミュニティの活用方法 新メンバーガイド