O que é Kerberos?
Kerberos é um protocolo projetado para autenticar solicitações de serviço entre hosts confiáveis que operam em uma rede não confiável. Ele oferece um método seguro de verificar as identidades de usuários e serviços em um ambiente de rede. O suporte ao Kerberos é integrado aos principais sistemas operacionais de computadores, incluindo Microsoft Windows, Apple macOS, FreeBSD e Linux, garantindo ampla adoção e compatibilidade.
O que o protocolo de autenticação Kerberos faz?
Se você precisa de uma maneira mais segura de armazenar seus dados de usuário e proteger seu sistema, o Kerberos pode ser apenas uma solução para você. O Kerberos funciona como uma porta automática entre os usuários e a internet. Devido ao seu design, ele ajuda a garantir que os usuários certos entrem, mas evita que os invasores passem por ele.
Como ele foi projetado como um sistema de autenticação e autorização, é isso que o Kerberos faz melhor. Ele garante que os usuários na rede são quem eles dizem ser. Ele também ajuda com a autorização que concede acesso a um serviço. Veremos como o Kerberos funciona na próxima parte.
Como funciona o protocolo de autenticação Kerberos?
Em sua essência, o Kerberos usa criptografia forte para proteger o processo de autenticação do cliente e a comunicação subsequente, bem como usa autorização de terceiros para confirmar identidades de usuários.
O centro de distribuição de chaves (KDC), que inclui o servidor de autenticação (AS) e o servidor de concessão de tíquete (TGS), é o servidor de autenticação central no sistema Kerberos. O AS verifica a identidade do cliente verificando o nome de usuário do cliente em seu banco de dados Kerberos, e o TGS concede um tíquete que prova a identidade do cliente e é usado para solicitar tíquetes de serviço do TGS.
Veja como funciona:
- O cliente no endereço de rede do cliente inicia o processo de autenticação enviando uma solicitação de autenticação para o KDC.
- O AS verifica o nome de usuário do cliente em seu banco de dados e envia um Ticket de Concessão de Ticket (TGT) e uma chave de sessão criptografada com a chave privada do cliente.
- O cliente solicita um ticket de serviço da TGS, incluindo a TGT recebida da AS.
- O TGS verifica a identidade do cliente usando o TGT e gera um ticket de serviço criptografado com uma chave de sessão de serviço específica para o usuário e serviço solicitado.
- O cliente apresenta o tíquete de serviço ao servidor de aplicativos, solicitando acesso ao serviço desejado.
- O servidor de aplicativos valida o tíquete de serviço, confirma a identidade do cliente e concede acesso ao serviço solicitado.
Onde o Kerberos é usado?
O Kerberos é amplamente usado para autenticar usuários que buscam acesso a recursos de rede, muitas vezes em grandes redes de empresas como AWS, Google Cloud e Microsoft Azure para facilitar o SSO. O Kerberos é suportado pelo Windows, macOS, Linux, FreeBSD, Active Directory da Microsoft e vários navegadores e sistemas de banco de dados.
Vantagens da autenticação Kerberos
Apesar de ter sido criado há 40+ anos, o Kerberos ainda tem muitas vantagens que os administradores de rede podem se beneficiar:
- Forte segurança. A criptografia que o Kerberos usa fornece mecanismos de autenticação fortes e garante que apenas usuários confiáveis possam acessar a rede.
- Autenticação mútua. A autenticação mútua significa que o cliente e o servidor se autenticam. A verificação bidirecional ajuda a estabelecer confiança entre ambas as partes e reduz o risco de ataques man-in-the-middle.
- Controle de acesso. Ele fornece uma maneira fácil de controlar quem pode e quem não pode entrar na rede e registrar suas ações dentro dela.
- Tíquetes sensíveis ao tempo. Os tickets emitidos pelo KDC têm um carimbo de data/hora criptografado, permitindo permissões de acesso refinadas e minimizando a exposição de credenciais confidenciais.
- SSO. Os usuários não precisam reinserir suas credenciais depois de autenticar uma vez. Como resultado, eles podem trabalhar de forma eficiente e acessar perfeitamente vários recursos em toda a rede.
Desvantagens da autenticação Kerberos
Apesar de suas inúmeras vantagens, Kerberos também tem algumas falhas:
- Complexidade. O processo de configuração do Kerberos requer conhecimento técnico avançado e requer um tempo significativo para ser concluído. Ao mesmo tempo, pequenos detalhes ausentes no processo podem criar vulnerabilidades adicionais do sistema.
- Autenticação centralizada. O Kerberos funciona por meio de um servidor centralizado. Como tal, a centralização pode levar a um único ponto de falha e a um potencial gargalo de desempenho.
- Autenticação baseada em token. Devido aos rígidos requisitos de limite de tempo baseados no sistema de tickets do Kerberos, a configuração inadequada pode levar a desconexões e interrupções frequentes.
Kerberos versus outros protocolos de autenticação de rede
O Kerberos é provavelmente o protocolo de autenticação mais popular, mas não é o único. Vejamos as principais diferenças entre o Kerberos e outros protocolos de autenticação de rede.
Kerberos vs. Microsoft New Technology LAN Manager (NTLM)
O NTLM da Microsoft é considerado menos seguro e oferece menos recursos do que o Kerberos. No entanto, ainda há suporte para manter serviços SSO em domínios do Active Directory. Enquanto o Kerberos depende de um sistema de tickets, o NTLM usa uma abordagem de desafio-resposta para autenticação, um protocolo em que uma entidade faz uma pergunta e a outra fornece uma resposta para validar sua identidade.
Kerberos vs. LDAP (Lightweight Directory Access Protocol)
LDAP é um protocolo usado para acessar e gerenciar serviços de diretório, como leitura, gravação e modificação de dados de diretório. Ele não lida com a autenticação diretamente como o Kerberos. Para ser usado na autenticação, o LDAP precisa contar com outros mecanismos de autenticação. O Kerberos e o LDAP podem funcionar em conjunto com o primeiro tratamento de acesso, enquanto o último ajuda a armazenar contas de usuário e informações de diretório.
Kerberos vs. Serviço de Usuário de Discagem de Autenticação Remota (RADIUS)
A principal função do RADIUS é fornecer autenticação, autorização e contabilidade em casos de acesso remoto à rede, como redes dial-up, VPN e sem fio. Ele fornece um mecanismo centralizado de autenticação e controle de acesso para usuários remotos que se conectam à rede, ao contrário do Kerberos, que é usado em ambientes corporativos para estabelecer autenticação segura. Além disso, enquanto o Kerberos usa criptografia de chave simétrica, o RADIUS depende do modelo cliente-servidor.
O Kerberos é seguro e pode ser hackeado?
Devido à sua popularidade, as vulnerabilidades Kerberos são mais fáceis de descobrir por hackers e pesquisadores. É por isso que é importante manter os sistemas Kerberos atualizados. Alguns dos ataques mais comuns contra o Kerberos são:
- Kerberoasting. Esse ataque se aproveita de senhas fracas e facilmente adivinháveis.
- Passe o bilhete. Este ataque cibernético envolve hackers interceptando um tíquete Kerberos válido e passando-o para obter acesso ao sistema.
- Enchimento de credenciais. Embora o Kerberos use autenticação baseada em tíquete, ele não é imune a certos tipos de ataques de preenchimento de credenciais que exploram senhas fracas ou reutilizadas.
- Bilhete dourado. Um invasor obtém acesso à chave secreta de longo prazo do controlador de domínio. Com essa chave, eles podem forjar um ticket e obter amplo controle e acesso em toda a rede.
- Bilhete prata. Um invasor obtém um tíquete para um serviço específico forjando uma solicitação de servidor válida. Esse tíquete permite que hackers se passem pelo serviço de destino e obtenham acesso não autorizado a recursos associados a esse serviço.
O Kerberos está desatualizado?
O Kerberos não está desatualizado. Embora tenha sido desenvolvido na década de 1980, as maiores empresas do mundo, como Microsoft e Apple, ainda confiam nele em seus maiores projetos. A principal fonte de confiança dessas empresas provavelmente vem da forte criptografia do Kerberos.