Este documento descreve os conceitos básicos da Autenticação Kerberos e as etapas para solucionar problemas da Autenticação Kerberos no Secure Web Appliance (SWA).
A Cisco recomenda que você tenha conhecimento destes tópicos:
Este documento não se restringe a versões de software e hardware específicas.
As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.
Imagem: Exemplo de fluxo de rede Kerberos
Estas são as etapas básicas da autenticação em um ambiente Kerberizado:
1. O cliente solicita um TGT do KDC.
2. O KDC verifica as credenciais do usuário da máquina cliente e envia de volta um TGT criptografado e uma chave de sessão.
3. O TGT é criptografado com a chave secreta TGS.
4. O cliente armazena o TGT e solicita automaticamente um novo quando ele expira.
Para acessar um serviço ou recurso:
1. O cliente envia o TGT ao TGS junto com o SPN do recurso desejado.
2. O KDC verifica o TGT e os direitos de acesso à máquina cliente do usuário.
3. O TGS envia uma chave de sessão específica de serviço ao cliente.
4. O cliente fornece a chave de sessão ao serviço para comprovar o acesso e o serviço concede o acesso.

1. O Cliente solicita acesso a www.google.com através do SWA.
2. O SWA responde com um status HTTP 407, solicitando autenticação.
3. O Cliente solicita um tíquete de serviço do servidor AD para o serviço HTTP/SWA.domain.com usando o TGT obtido durante o ingresso no domínio.
4. O servidor AD valida o Cliente e emite um tíquete de serviço. Se for bem-sucedido e o SPN do SWA for encontrado, ele passará para a próxima etapa.
5. O cliente envia esse tíquete ao SWA.
6. O SWA descriptografa o tíquete e verifica a autenticação.
7. Se a autenticação for bem-sucedida, o SWA verificará as políticas.
8. SWA envia uma resposta HTTP 200 OK ao cliente se a transação for permitida.
Um SPN identifica exclusivamente uma instância de serviço na autenticação Kerberos. Ela vincula uma instância de serviço a uma conta de serviço, permitindo que os clientes solicitem autenticação para o serviço sem o nome da conta. Cada conta em uma implementação KDC, como AD ou OpenLDAP, tem um SPN. Embora o SPN identifique estritamente um serviço, às vezes ele é usado por engano para se referir ao nome do cliente (UPN) em cenários onde o serviço também atua como um cliente.
No Kerberos, um SPN identifica exclusivamente uma instância de serviço dentro de uma rede. Permite que os clientes solicitem autenticação para um serviço específico. O SPN vincula a instância do serviço à sua conta, permitindo que o Kerberos autentique e autorize corretamente as solicitações de acesso a esse serviço.
1. Crie uma nova conta de usuário ou escolha uma conta de usuário existente para usar.
2. Registre o SPN a ser usado na conta de usuário escolhida.
3. Certifique-se de que nenhum SPN duplicado esteja registrado.
Tip: Qual é a diferença entre o Kerberos com SWA por trás do balanceador de carga ou um Traffic Manager/Traffic Shaper?
As Melhores formas de aprendizado para a implementação do Kerberos podem ser encontradas:
Esta é uma lista de comandos setspn úteis para gerenciar SPNs em um ambiente Kerberos. Esses comandos são normalmente executados em uma interface de linha de comando com privilégios administrativos em um ambiente Windows.
| Listar SPNs para uma conta específica: |
Lista todos os SPNs registrados para a conta especificada. |
| Adicionar um SPN a uma conta: |
Adiciona o SPN especificado à conta fornecida. |
| Excluir um SPN de uma conta: |
Remove o SPN especificado da conta fornecida. |
| Verifique se um SPN já está registrado: |
Verifica se o SPN especificado já está registrado no domínio. |
| Listar todos os SPNs no domínio |
Lista todos os SPNs no domínio. |
| Defina um SPN para uma conta de computador: |
Adiciona um SPN a uma conta de computador, garantindo que não haja entradas duplicadas. |
| Redefinir SPNs para uma conta específica: |
Redefine os SPNs da conta especificada, ajudando a resolver problemas de SPN duplicados. |
Os exemplos fornecidos demonstram o uso:
Verifique se o SPN já está associado a uma conta de usuário:
setspn -q <SPN>
setspn -q http/proxyha.localdomain


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

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

Certifique-se de que não haja SPNs duplicados para o nome de host virtual HA, pois as falhas podem ocorrer mais tarde.
setspn –x
Como resultado, o tíquete do Serviço Kerberos não é fornecido ao cliente e a autenticação Kerberos falha.

Caution: Se forem encontradas duplicatas, remova-as executando o comando setspn -d.
setspn –l <User/Computer account>
Por exemplo:
setspn –l vrrpserviceuser

Informações que o Suporte da Cisco exige ao solucionar problemas de autenticação Kerberos:
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;

Um caso de erro comum são solicitações da Web que falham com "Servidor não encontrado no banco de dados Kerberos":
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!
Nesse caso, o erro indica que o Nome da Entidade de Serviço correspondente ao valor do endereço de proxy proxyha.local não está registrado no servidor do Ative Diretory. Para resolver esse problema, é necessário confirmar se o SPN http/proxyha.local está registrado no AD DC e adicionado a uma conta de serviço apropriada.
| Revisão | Data de publicação | Comentários |
|---|---|---|
3.0 |
22-Oct-2026
|
Ortografia, gramática, espaçamento atualizados, linhas horizontais inseridas em seções separadas para legibilidade, URLs fixos. |
2.0 |
01-Apr-2025
|
Adicionado um texto alternativo, formatação e pontuação fixas, gramática. |
1.0 |
24-Mar-2025
|
Versão inicial |