はじめに
このドキュメントでは、クライアントがNEGOEXTSを使用する場合に、Cisco Webセキュリティアプライアンス(WSA)を介して認証が失敗する問題を解決する方法について説明します。
背景説明
Cisco Webセキュリティアプライアンス(WSA)は、ユーザを認証し、ユーザまたはグループに基づいてポリシーを適用できます。使用できる方法の1つがKerberosです。IDの認証方式としてKerberosを使用する場合、WSAは、401(透過的)または407(明示的)HTTP応答でクライアントのHTTP要求に応答します。この応答には、ヘッダーWWW-Authenticate: Negotiateが含まれています。 この時点で、クライアントはAuthorization: Negotiateヘッダーを含む新しいHTTP要求を送信します。このヘッダーには、Generic Security Service Application Program Interface(GSS-API)とSimple Protected Negotation(SPNEGO)プロトコルが含まれています。SPNEGOでは、ユーザはサポートされているmechTypesを表示します。WSAがサポートするmechTypeは次のとおりです。
- KRB5:Kerberosがクライアントでサポートされ、正しく構成されていて、アクセスされているサービスに対して有効なKerberosチケットが存在する場合に使用されるKerberos認証方法
- NTLMSSP:有効なKerberosチケットが使用できないが、ネゴシエート認証方式がサポートされている場合に使用されるMicrosoft NTLMセキュリティサポートプロバイダー方式
問題:クライアントがNEGOEXTSを使用するとWSAで認証が失敗する
より新しいバージョンのMicrosoft Windowsでは、NegotExtsと呼ばれる新しい認証方式がサポートされています。これは、Negotiate認証プロトコルの拡張です。このmechTypeはNTLMSSPよりも安全であると考えられており、NEGOEXTSとNTLMSSPのみがサポートされている場合は、クライアントによって推奨されます。詳細については、次のリンクを参照してください。
Negotiate認証パッケージへの拡張機能の導入
このシナリオは通常、Negotiate auth方式が選択され、KRB5 mechTypeが存在しない場合(WSAサービスの有効なKerberosチケットが欠落している可能性が高い)に発生します。クライアントがNEGOEXTSを選択すると(WiresharkではNEGOEXとして表示されることがあります)、WSAは認証トランザクションを処理するために無効になり、クライアントの認証が失敗します。これが発生すると、次のログが認証ログに記録されます。
14 Nov 2016 16:06:20 (GMT -0500) Warning: PROX_AUTH : 123858 : [DOMAIN]Failed to parse NTLMSSP packet, could not extract NTLMSSP command14 Nov 2016 16:06:20 (GMT -0500) Info: PROX_AUTH : 123858 : [DOMAIN][000] 4E 45 47 4F 45 58 54 53 00 00 00 00 00 00 00 00 NEGOEXTS ........
認証が失敗すると、次の処理が行われます。
ゲスト特権が有効になっている場合、クライアントは非認証として分類され、Webサイトにリダイレクトされます。
ゲスト権限が無効の場合、クライアントには(プロキシ方式に応じて)別の401または407が表示され、残りの認証方式は応答ヘッダーに表示されます(ネゴシエートは再度表示されません)。NTLMSSPまたは基本認証が設定されている場合、認証プロンプトが発生する可能性があります。他の認証方式がない場合(IDがKerberos専用に設定されている場合)、認証は単に失敗します。
解決方法
この問題のソリューションは、IDからKerberos認証を削除するか、またはWSAサービスの有効なKerberosチケットを取得するようにクライアントを修正することです。