Autenticação Kerberos e SQL Server

Kerberos é um protocolo de autenticação de rede que oferece um método extremamente seguro para autenticar clientes e servidores (entidades de segurança) de uma rede. Essas entidades de segurança usam uma autenticação baseada em chaves mestras e permissões criptografadas.

No modelo de protocolo Kerberos, todas as conexões de cliente/servidor começam com a autenticação. Por sua vez, cliente e servidor seguem uma seqüência de ações que se destinam a verificar em uma ponta da conexão se a outra ponta é verdadeira. Se a autenticação tiver êxito, a configuração da sessão será concluída e uma sessão cliente/servidor segura será estabelecida.

Entre os principais benefícios da autenticação Kerberos estão:

  • Autenticação mútua. O cliente pode validar a identidade da entidade de servidor e o servidor pode validar o cliente. Com essa documentação, as duas entidades são denominadas "cliente" e "servidor" mesmo que seja possível estabelecer conexões seguras de rede entre servidores.

  • Permissões de autenticação seguras. São utilizadas somente permissões criptografadas, e as senhas nunca são incluídas na permissão.

  • Autenticação integrada. Uma vez que o usuário faça logon, ele não precisa efetuar logon novamente para acessar algum serviço que suporte a autenticação Kerberos pois a permissão do cliente não expira. Todas as permissões têm um prazo de validade determinado pelas diretivas do Kerberos que geram a permissão.

O Kerberos oferece um mecanismo para autenticação mútua entre entidades antes do estabelecimento de uma conexão de rede segura. Kerberos usa terceiros confiáveis, o KDC (Key Distribution Center), para facilitar a geração e a distribuição segura de permissões de autenticação e chaves de sessões simétricas. O KDC é executado como um serviço em um servidor seguro e mantém um banco de dados para todas as entidades de segurança de seu território. No contexto de Kerberos, um território é o equivalente a um domínio do Windows.

ObservaçãoObservação

A segurança de chave mestra é de responsabilidade do cliente e servidor; o KDC apenas oferece o serviço de concessão de permissão.

Em um ambiente Windows, a operação do KDC é assumida pelo controlador de domínio e, normalmente, usa o Active Directory. Todos os usuários de domínio do Windows são efetivamente as entidades do Kerberos e podem usar a autenticação Kerberos.

Kerberos com SQL Server

O SQL Server dá suporte a Kerberos indiretamente por SSPI (Interface do Provedor de Suporte de Segurança do Windows) quando o SQL Server utiliza a Autenticação do Windows. A SSPI permite que um aplicativo use os vários modelos de segurança disponíveis em um computador ou na rede sem alterar a interface do sistema de segurança.

O SQL Server permite que a SSPI negocie qual protocolo de autenticação usar; se não for possível usar Kerberos, o Windows voltará para a autenticação Desafio/Resposta do Windows NT (NTLM).

O SQL Server 2008 dá suporte à autenticação Kerberos nos seguintes protocolos:

  • TCP/IP

  • Pipes nomeados

  • Memória compartilhada

Para obter mais informações sobre esses protocolos, consulte Protocolos de rede e pontos de extremidade TDS.

Como prática recomendada, sugerimos o uso da autenticação de Kerberos sempre que possível para conexões com uma instância do SQL Server.