このドキュメントでは、Cisco ASAおよびFTDアプライアンスでSAMLのトラブルシューティングを行う際に発生する最も一般的な問題について説明します。
次の項目に関する知識があることが推奨されます。
ベストプラクティスガイドは、次のハードウェアとソフトウェアのバージョンに基づいています。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期(デフォルト)設定の状態から起動しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
SAML(Security Assertion Markup Language)は、セキュリティドメイン間で認証および許可データを交換するためのXMLベースのフレームワークです。これにより、ユーザ、サービスプロバイダー(SP)、およびアイデンティティプロバイダー(IdP)の間に信頼の輪が作成され、ユーザは複数のサービスに対して一度にサインインできます。SAMLは、ASAおよびFTD VPNヘッドエンドへのCisco Secure Client接続のリモートアクセスVPN認証に使用できます。ここで、ASAまたはFTDは、トラストサークル内のSPエンティティです。
ほとんどのSAML問題は、使用されているIdPおよびASA/FTDの設定を確認することで解決できます。原因が不明な場合は、デバッグでより明確に示します。このガイドの例はdebug webvpn saml 255コマンドから派生したものです。
このドキュメントの目的は、既知のSAMLの問題と可能なソリューションのクイックリファレンスを提供することです。
これは一般に、次の例に示すように、ファイアウォールwebvpn設定でのsaml idp [entityID]コマンドがIdPのメタデータ内で見つかったIdPエンティティIDと一致しないことを意味します。
デバッグ例:
Sep 05 23:54:02 [SAML] consume_assertion: The identifier of a provider is unknown to #LassoServer. To register a provider in a #LassoServer object, you must use the methods lasso_server_add_provider() or lasso_server_add_provider_from_buffer().
IDPから:
<EntityDescriptor ID="_7e53f3f3-7c79-444a-b42d-d60ae13f0948" entityID="https://sts.example.net/69c69fff-03f6-4c9c-be73-9ed4f5f894c/">
ASA/FTDから:
saml idp https://sts.example.net/69c69fff-03f6-4c9c-be73-9ed4f5f894 >>>> The entity ID is missing characters at the end
IdPのメタデータファイルのエンティティIDを確認し、saml idp [entity id]コマンドを変更して、バックスラッシュ(/)文字を含め、このIDと完全に一致するようにします。
ファイアウォールのクロックがアサーションの有効範囲外であるため、ファイアウォールはIdPによって提供されるアサーションを検証できません。
デバッグ例:
[SAML] consume_assertion: assertion is expired or not valid
例:
[SAML] NotBefore:2022-06-21T09:52:10.759Z NotOnOrAfter:2022-06-21T10:57:10.759Z timeout: 0 >>>>> Validity of the saml assertion provided by the IDP
Jun 21 15:20:46 [SAML] consume_assertion: assertion is expired or not valid
firepower# show clock
15:26:49.240 UTC Tue Jun 21 2022 >>>> Current time on the firewall
前述の例では、アサーションが有効なのは09:52:10.759 UTCから10:57:10.759 UTCの間だけで、ファイアウォールの時刻は有効時間枠の外であることがわかります。
注:アサーションに表示される有効期間はUTCです。ファイアウォールのクロックが異なるタイムゾーンで設定されている場合は、検証前にUTCで時刻が変換されます。
ファイアウォールで正しい時刻を手動またはNTPサーバを使用して設定し、ファイアウォールの現在の時刻がUTCのアサーションの有効期間内であることを確認します。ファイアウォールがUTC以外のタイムゾーンで設定されている場合は、アサーションの有効性を確認する前に、時刻がUTCに変換されていることを確認します。
trustpoint idp <trustpoint>コマンドを使用したファイアウォールwebvpn下でのIdP証明書の設定が正しくないことが原因で、ファイアウォールがIdPから受信したSAMLアサーションの署名の検証に失敗する場合。
デバッグ例:
[Lasso] func=xmlSecOpenSSLEvpSignatureVerify:file=evp_signatures.c:line=372:obj=rsa-sha256:subj=unknown:error=18:data do not match:details=EVP_VerifyFinal: signature does not verify
IdPからファイアウォールに証明書をダウンロードしてインストールし、ファイアウォールwebvpn設定で新しいトラストポイントを割り当てます。通常、IdP署名証明書は、IdPのメタデータまたはデコードされたSAML応答に含まれています。
IdP(Assertion Consumer Service)に誤った応答URL(Assertion Consumer Service URL)が設定されています。
デバッグの例:初期認証要求の送信後にデバッグが表示されません。ユーザはクレデンシャルを入力できませんが、その接続が失敗し、デバッグは出力されません。
IDPから:

FWまたはSPメタデータから:
<AssertionConsumerService index="0" isDefault="true" Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://ac-vpn.local/+CSCOE+/saml/sp/acs?tgname=acvpn" />
この例では、IdPの「Assertion Consumer Service URL」がSPのメタデータの場所と一致しないことがわかります。
SPのメタデータに示されているように、IdPのAssertion Consumer Service URLを変更します。SPのメタデータは、show saml metadata <tunnel-group-name>コマンドを使用して取得できます。
IdPが誤ったトンネルグループなど、SAML応答で誤った宛先を送信した場合。
デバッグ例:
[SAML] consume_assertion: assertion audience is invalid
SAMLトレース:
<samlp:Response ID="_36585f72-f813-471b-b4fd-3663fd24ffe8"
Version="2.0"
IssueInstant="2022-06-21T11:36:26.664Z"
Destination="https://ac-vpn.local/+CSCOE+/saml/sp/acs?tgname=acvpn1"
Recipient="https://ac-vpn.local/+CSCOE+/saml/sp/acs?tgname=acvpn1"
<AudienceRestriction> <Audience>https://ac-vpn.local/saml/sp/metadata/acvpnAudience> AudienceRestriction>
ファイアウォールまたはSPメタデータから:
<AssertionConsumerService index="0" isDefault="true" Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://ac-vpn.local/+CSCOE+/saml/sp/acs?tgname=acvpn" />
宛先および受信者としてIdPの設定を修正します。SAML応答は、show saml metadata <tunnel-group-name>出力のファイアウォール/SPメタデータに示されている場所と一致する必要があります。
webvpnでSAML設定を変更した後は、tunnel-groupの下でsaml identity-provider <IDP-Entity-ID>コマンドを削除し、再度追加することをお勧めします。
tunnel-groupの下にあるsaml identity-provider <IDP-Entity-ID>コマンドを削除してから再度追加します。
複数のトンネルグループで同じIdP SSOアプリケーションを使用するようにSAML認証を設定するには、次の設定手順を確認してください。
ASA 9.16以前、FDM管理対象FTDまたはFMC/FTD 7.0以前のオプション1:
ASA 9.17.1以降またはFTD/FMC 7.1以降の場合はオプション2:
この問題は、クライアントデバイスのセキュアクライアントソフトウェアで発生する可能性があります。これには、次のような複数の原因が考えられます。
デバッグ例:
[SAML] relay-state hash mismatch.
ほとんどのSAMLトラブルシューティングはwebvpn SAMLデバッグの出力で実行できますが、問題の原因を特定するために追加のデバッグが役立つ場合があります。
firepower# debug webvpn saml 255 firepower# debug webvpn 255 firepower# debug webvpn session 255 firepower# debug webvpn request 255
| 改定 | 発行日 | コメント |
|---|---|---|
2.0 |
12-Oct-2026
|
スペル、文法、間隔、区切りセクションへの水平線の挿入、CCWアラートの修正を更新。 |
1.0 |
01-Aug-2025
|
初版 |