Dit document beschrijft de basisprincipes van Kerberos-verificatie en stappen om problemen met Kerberos-verificatie in Secure Web Appliance (SWA) op te lossen.
Cisco raadt kennis van de volgende onderwerpen aan:
Dit document is niet beperkt tot specifieke software- en hardware-versies.
De informatie in dit document is gebaseerd op de apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als uw netwerk live is, moet u zorgen dat u de potentiële impact van elke opdracht begrijpt.
Afbeelding: Voorbeeld van Kerberos-netwerkstroom
Dit zijn de basisstappen voor verificatie in een gekerberiseerde omgeving:
1. De klant vraagt een TGT aan bij de KDC.
2. De KDC verifieert de gebruikersreferenties van de clientmachine en stuurt een gecodeerde TGT- en sessiesleutel terug.
3. De TGT is versleuteld met de TGS-geheime sleutel.
4. De client slaat de TGT op en vraagt automatisch een nieuwe aan wanneer deze afloopt.
Voor toegang tot een dienst of bron:
1. De klant stuurt de TGT naar de TGS samen met de SPN van de gewenste bron.
2. De KDC verifieert de TGT en controleert de toegangsrechten van de clientcomputer van de gebruiker.
3. De TGS stuurt een servicespecifieke sessiesleutel naar de client.
4. De klant verstrekt de sessiesleutel voor de service om de toegang te bewijzen en de service verleent toegang.

1. Opdrachtgever vraagt via SWA toegang tot www.google.com.
2. SWA reageert met een HTTP 407-status en vraagt om verificatie.
3. De Klant vraagt een serviceticket aan van de AD-server voor de service HTTP/SWA.domain.com met behulp van de TGT die het krijgt tijdens het toetreden tot het domein.
4. De AD-server valideert de client en geeft een serviceticket af. Als dit succesvol is en de SPN van SWA wordt gevonden, gaat deze door naar de volgende stap.
5. Opdrachtgever stuurt dit ticket naar SWA.
6. De SWA decodeert het ticket en controleert de authenticatie.
7. Als de verificatie succesvol is, verifieert SWA het beleid.
8. SWA stuurt een HTTP 200 OK-antwoord naar de klant als de transactie is toegestaan.
Een SPN identificeert op unieke wijze een service-instantie in Kerberos-verificatie. Het koppelt een service-instantie aan een serviceaccount, waardoor klanten verificatie voor de service kunnen aanvragen zonder de accountnaam. Elk account in een KDC-implementatie, zoals AD of OpenLDAP, heeft een SPN. Hoewel de SPN een dienst strikt identificeert, wordt deze soms ten onrechte gebruikt om naar de naam van de klant (UPN) te verwijzen in scenario's waarin de dienst ook als klant fungeert.
In Kerberos identificeert een SPN op unieke wijze een service-instantie binnen een netwerk. Het stelt klanten in staat om authenticatie aan te vragen voor een specifieke service. De SPN koppelt de service-instantie aan zijn account, waardoor Kerberos toegangsverzoeken voor die service naar behoren kan verifiëren en autoriseren.
1. Maak een nieuwe gebruikersaccount aan of kies een bestaande gebruikersaccount om te gebruiken.
2. Registreer de SPN die moet worden gebruikt tegen de gekozen gebruikersaccount.
3. Zorg ervoor dat er geen dubbele SPN's worden geregistreerd.
Tip: Hoe verschilt Kerberos met SWA achter de load balancer of een Traffic Manager/Traffic Shaper?
Best practices voor het implementeren van Kerberos zijn te vinden:
Dit is een lijst met nuttige setspn-opdrachten voor het beheer van SPN's in een Kerberos-omgeving. Deze opdrachten worden meestal uitgevoerd vanaf een opdrachtregelinterface met beheerdersrechten in een Windows-omgeving.
| Lijst van SPN's voor een specifieke account: |
Hier worden alle SPN's weergegeven die voor de opgegeven account zijn geregistreerd. |
| Voeg een SPN toe aan een account: |
Voegt de opgegeven SPN toe aan de opgegeven account. |
| Verwijder een SPN van een account: |
Verwijdert de opgegeven SPN van de opgegeven account. |
| Controleer of een SPN al is geregistreerd: |
Controleert of de opgegeven SPN al in het domein is geregistreerd. |
| Alle SPN's in het domein aanbieden |
Hier vindt u alle SPN's in het domein. |
| Stel een SPN in voor een computeraccount: |
Voegt een SPN toe aan een computeraccount en zorgt ervoor dat er geen dubbele vermeldingen zijn. |
| Reset SPN's voor een specifieke account: |
Hiermee worden de SPN's voor de opgegeven account opnieuw ingesteld, zodat dubbele SPN-problemen kunnen worden opgelost. |
Voorbeelden tonen het gebruik aan:
Controleer of SPN al is gekoppeld aan een gebruikersaccount:
setspn -q <SPN>
setspn -q http/proxyha.localdomain


setspn -s <SPN> <User/computer account>
Voorbeeld:
setspn -s http/proxyha.localdomain vrrpserviceuser

setspn -d <SPN> <User/computer account>
Voorbeeld:
setspn -d http/proxyha.localdomain pod1234-wsa0

Zorg ervoor dat er geen dubbele SPN's zijn voor de virtuele hostnaam HA, omdat fouten later kunnen optreden.
setspn –x
Als gevolg hiervan wordt het Kerberos Service-ticket niet aan de klant verstrekt en mislukt de Kerberos-authenticatie.

Waarschuwing: Als er duplicaten worden gevonden, verwijdert u duplicaten waarop de opdracht setspn –d wordt uitgevoerd.
setspn –l <User/Computer account>
Voorbeeld:
setspn –l vrrpserviceuser

Informatie die Cisco Support nodig heeft bij het oplossen van Kerberos-verificatieproblemen:
server IP address = %k, Client IP address= %a, Auth-Mech = %m, Auth_Type= %m, Auth_group= %g, Authenticated_Username= %A, Date= %L, Transaction_ID= %I Auth response = %:<a, Auth total = %:>a;

Een veel voorkomende foutmelding is dat webverzoeken mislukken met "Server niet gevonden in Kerberos-database":
curl -vx proxyha.local:3128 --proxy-negotiate -u: http://www.cisco.com/
* About to connect() to proxy proxyha.localdomain port 3128 (#0)
* Connected to proxyha.local (10.8.96.30) port 3128 (#0)
< HTTP/1.1 407 Proxy Authentication Required
< Via: 1.1 pod1234-wsa02.local:80 (Cisco-SWA/10.1.2-003)
< Content-Type: text/html
gss_init_sec_context() failed: : Server not found in Kerberos database
< Proxy-Authenticate: Negotiate
< Connection: close
* HTTP/1.1 proxy connection set close!
In dit geval geeft de fout aan dat de naam van de hoofdserviceprovider die overeenkomt met de proxyadreswaarde proxyha.local niet is geregistreerd op de Active Directory-server. Om dit probleem op te lossen, is het noodzakelijk om te bevestigen dat de SPN http/proxyha.local is geregistreerd op AD DC en is toegevoegd aan een juiste serviceaccount.
| Revisie | Publicatiedatum | Opmerkingen |
|---|---|---|
3.0 |
22-Oct-2026
|
Bijgewerkte spelling, grammatica, spatiëring, ingevoegde horizontale lijnen naar afzonderlijke secties voor leesbaarheid, vaste URL's. |
2.0 |
01-Apr-2025
|
Toegevoegd een alt tekst, vaste opmaak en interpunctie, grammatica. |
1.0 |
24-Mar-2025
|
Eerste vrijgave |