In diesem Dokument werden die häufigsten Probleme bei der Fehlerbehebung für SAML auf Cisco ASA- und FTD-Appliances beschrieben.
Cisco empfiehlt, dass Sie über Kenntnisse in folgenden Bereichen verfügen:
Die Best Practice-Leitfäden basieren auf den folgenden Hardware- und Softwareversionen:
Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die möglichen Auswirkungen aller Befehle kennen.
SAML (Security Assertion Markup Language) ist ein XML-basiertes Framework für den Austausch von Authentifizierungs- und Autorisierungsdaten zwischen Sicherheitsdomänen. Es wird ein Vertrauenskreis zwischen dem Benutzer, einem Dienstanbieter (SP) und einem Identitätsanbieter (IdP) erstellt, der es dem Benutzer ermöglicht, sich für mehrere Dienste einmal anzumelden. SAML kann für die VPN-Authentifizierung des Remote-Zugriffs für Cisco Secure Client-Verbindungen zu ASA- und FTD-VPN-Headends verwendet werden, wobei die ASA oder FTD die SP-Einheit im Vertrauenskreis ist.
Die meisten SAML-Probleme können durch Verifizieren der Konfiguration der verwendeten IDp und ASA/FTD behoben werden. In Fällen, in denen die Ursache nicht klar ist, bieten debugs mehr Klarheit, und die Beispiele in diesem Leitfaden leiten sich vom Befehl debug webvpn saml 255 ab.
Dieses Dokument soll als Kurzreferenz für bekannte SAML-Probleme und mögliche Lösungen dienen.
Dies bedeutet im Allgemeinen, dass der Befehl saml idp [entityID] unter der Firewall-Webvpn-Konfiguration nicht mit der IdP-Element-ID übereinstimmt, die in den Metadaten der IdP gefunden wurde, wie im nächsten Beispiel gezeigt.
Debug-Beispiel:
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().
Von IDP:
<EntityDescriptor ID="_7e53f3f3-7c79-444a-b42d-d60ae13f0948" entityID="https://sts.example.net/69c69fff-03f6-4c9c-be73-9ed4f5f894c/">
Von ASA/FTD:
saml idp https://sts.example.net/69c69fff-03f6-4c9c-be73-9ed4f5f894 >>>> The entity ID is missing characters at the end
Überprüfen Sie die Entitäts-ID der Metadatendatei der IdP, und ändern Sie den Befehl saml idp [entity id], um genau dies zu tun. einschließlich Schrägstrichen (/).
Die Firewall kann die von der IdP bereitgestellte Assertion nicht validieren, da die Uhr der Firewall außerhalb der Gültigkeit der Assertion liegt.
Debug-Beispiel:
[SAML] consume_assertion: assertion is expired or not valid
Beispiel:
[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
Im vorherigen Beispiel können Sie sehen, dass die Assertion nur zwischen 09:52:10.759 UTC und 10:57:10.759 UTC gültig ist und dass sich die Zeit auf der Firewall außerhalb des Gültigkeitsfensters befindet.
Anmerkung: Die Gültigkeitsdauer, die in der Assertion angezeigt wird, ist in UTC angegeben. Wenn die Uhr der Firewall in einer anderen Zeitzone konfiguriert ist, wird die Zeit vor der Validierung in UTC konvertiert.
Konfigurieren Sie die korrekte Uhrzeit auf der Firewall manuell oder mithilfe eines NTP-Servers, und überprüfen Sie, ob die aktuelle Uhrzeit der Firewall innerhalb der Gültigkeit der Aussage in UTC liegt. Wenn die Firewall in einer anderen Zeitzone als UTC konfiguriert ist, stellen Sie sicher, dass die Zeit in UTC konvertiert wurde, bevor Sie die Gültigkeit der Aussage überprüfen.
Wenn die Firewall die Signatur der SAML Assertion, die von IdP empfangen wurde, aufgrund einer falschen IdP-Zertifikatkonfiguration unter dem Firewall-Webvpn mit dem Befehl trustpoint idp <trustpoint> nicht verifiziert.
Debug-Beispiel:
[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
Laden Sie das Zertifikat von IdP herunter, installieren Sie es auf der Firewall, und weisen Sie den neuen Vertrauenspunkt unter der Firewall-Webvpn-Konfiguration zu. Das IdP-Signaturzertifikat befindet sich in der Regel in den Metadaten der IdP oder in der decodierten SAML-Antwort.
IdP wird mit der falschen Antwort-URL (Assertion Consumer Service-URL) konfiguriert.
Debug-Beispiel: Nach dem Senden der ursprünglichen Authentifizierungsanforderung werden keine Debugging-Meldungen angezeigt. Der Benutzer kann keine Anmeldeinformationen eingeben, schlägt jedoch nach dieser Verbindung fehl, und es werden keine Debugs ausgegeben.
Von IDP:

Aus FW- oder SP-Metadaten:
<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" />
In diesem Beispiel sehen Sie, dass die "Assertion Consumer Service URL" auf IdP nicht mit dem Speicherort auf den Metadaten von SP übereinstimmt.
Ändern Sie die Assertion Consumer Service-URL für die IdP, wie in den Metadaten des SP angezeigt. Die Metadaten des SP können mit dem Befehl show saml metadaten <tunnel-group-name> abgerufen werden.
Wenn das IdP ein falsches Ziel in der SAML-Antwort sendet, z. B. die falsche Tunnelgruppe.
Debug-Beispiel:
[SAML] consume_assertion: assertion audience is invalid
Von SAML-Ablaufverfolgung:
<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/acvpn</Audience> </AudienceRestriction>
Von Firewall- oder SP-Metadaten:
<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" />
Korrigieren Sie die Konfiguration auf dem IdP als Ziel und Empfänger. Die SAML-Antwort muss mit dem Speicherort übereinstimmen, der in den Firewall-/SP-Metadaten in der Ausgabe von show sam metadates <tunnel-group-name> angezeigt wird.
Nach jeder Änderung der SAML-Konfiguration unter webvpn wird empfohlen, den Befehl saml identity-provider <IDP-Entity-ID> unter der Tunnelgruppe zu entfernen und neu hinzuzufügen.
Entfernen Sie den Befehl saml identity-provider <IDP-Entity-ID> unter der Tunnelgruppe, und fügen Sie ihn erneut hinzu.
Um die SAML-Authentifizierung so zu konfigurieren, dass dieselbe IdP-SSO-Anwendung für mehrere Tunnelgruppen verwendet wird, führen Sie die unten aufgeführten Konfigurationsschritte durch.
Option 1 für ASA 9.16 und frühere Versionen, FDM Managed FTD oder FMC/FTD 7.0 und frühere Versionen:
Option 2 für ASA 9.17.1 und höher oder FTD/FMC 7.1 und höher:
Dies ist in der Secure Client-Software auf dem Client-Gerät aus verschiedenen Gründen zu sehen, darunter:
Debug-Beispiel:
[SAML] relay-state hash mismatch.
Während die meisten SAML-Fehlerbehebungen mit der Ausgabe des WebVPN-SAML-Debugging durchgeführt werden können, gibt es Zeiten, in denen zusätzliche Debugging-Vorgänge hilfreich sein können, um die Ursache eines Problems zu ermitteln.
firepower# debug webvpn saml 255 firepower# debug webvpn 255 firepower# debug webvpn session 255 firepower# debug webvpn request 255
| Überarbeitung | Veröffentlichungsdatum | Kommentare |
|---|---|---|
2.0 |
12-Oct-2026
|
Aktualisierte Rechtschreibung, Grammatik, Abstände, eingefügte horizontale Linien in einzelne Abschnitte, korrigierte CCW-Warnungen. |
1.0 |
01-Aug-2025
|
Erstveröffentlichung |