Conectar-se ao mecanismo de banco de dados usando proteção estendida

Aplica-se a: SQL Server

O SQL Server dá suporte à Proteção Estendida a partir do SQL Server 2008 R2 (10.50.x). AProteção Estendida para Autenticação é um recurso dos componentes de rede implementado pelo sistema operacional. Há suporte para aProteção Estendida no Windows 7 e no Windows Server 2008 R2. A Proteção Estendida é incluída em service packs em sistemas operacionais Windows mais antigos. O SQL Server é mais seguro quando as conexões são efetuadas usando a Proteção Estendida.

Importante

O Windows não habilita a Proteção Estendida por padrão. Para obter informações sobre como habilitar a Proteção Estendida no Windows, consulte Proteção Estendida para Autenticação.

Descrição da Proteção Estendida

AProteção Estendida usa a associação de serviço e de canal para ajudar a evitar ataques de retransmissão de autenticação. Em um ataque de retransmissão de autenticação, um cliente que pode executar autenticação NTLM (por exemplo, Windows Explorer, Microsoft Outlook, um aplicativo .NET SqlClient etc.), se conecta a um invasor (por exemplo, um servidor de arquivos CIFS mal-intencionado). O invasor usa as credenciais do cliente para se passar pelo cliente e se autenticar em um serviço (por exemplo, uma instância do serviço Mecanismo de Banco de Dados).

Há duas variações deste ataque:

  • Em um ataque de atração, o cliente é atraído para se conectar voluntariamente ao invasor.

  • Em um ataque de falsificação, o cliente pretende se conectar a um serviço válido, mas não sabe que o DNS e/ou o roteamento IP foram adulterados para redirecionar a conexão para o invasor.

O SQL Server dá suporte para a associação de serviço e canal para ajudar a reduzir esses ataques em instâncias do SQL Server.

associação de serviço

A associação de serviço lida com ataques de atração exigindo que um cliente envie um SPN (nome da entidade de serviço) assinado do serviço SQL Server ao qual o cliente pretende se conectar. Como parte da resposta de autenticação, o serviço verifica se o SPN recebido no pacote corresponde a seu próprio SPN. Se um cliente for atraído para se conectar a um invasor, esse cliente incluirá o SPN assinado do invasor. O invasor não pode retransmitir o pacote para autenticação no serviço SQL Server real como o cliente, porque isso incluiria o SPN do invasor. A associação de serviço incorre em um custo único insignificante, mas não lida com ataques de falsificação. A Associação de Serviço ocorre quando um aplicativo cliente não usa criptografia para se conectar ao SQL Server.

associação de canal

A associação de canal estabelece um canal seguro (Schannel) entre um cliente e uma instância do serviço SQL Server. O serviço verifica a autenticidade do cliente comparando o CBT (token da associação de canal) do cliente específico a esse canal com seu próprio CBT. A associação de canal lida com ataques de atração e falsificação. No entanto, ela incorre em um custo de tempo real maior, porque requer a criptografia TLS de todo o tráfego da sessão. A Associação de Canal ocorre quando um aplicativo cliente usa criptografia para se conectar ao SQL Server, independentemente de a criptografia ser imposta pelo cliente ou pelo servidor.

Aviso

Os provedores de dados do SQL Server e da Microsoft somente dão suporte para TLS 1.0 e SSL 3.0. Se você impuser um protocolo diferente (como TLS 1.1 ou TLS 1.2) fazendo alterações na camada SChannel do sistema operacional, suas conexões ao SQL Server poderão falhar. Verifique se você tem o build mais recente do SQL Server para dar suporte ao TLS 1.1 ou 1.2. Para obter mais informações, consulte https://support.microsoft.com/topic/kb3135244-tls-1-2-support-for-microsoft-sql-server-e4472ef8-90a9-13c1-e4d8-44aad198cdbe.

Suporte do sistema operacional

Os seguintes links fornecem mais informações sobre o modo como o Windows dá suporte à Proteção Estendida:

Configurações

Há três configurações de conexão do SQL Server que afetam a associação de serviço e de canal. As configurações podem ser definidas com o uso do SQL Server Configuration Manager ou da WMI e podem ser exibidas usando-se a faceta Configurações de Protocolo de Servidor do Gerenciamento Baseado em Políticas.

  • Forçar criptografia

    Os valores possíveis são Ativa e Inativa. Para usar a associação de canal, a opção Forçar Criptografia deve ser definida como Ativae todos os clientes serão forçados a criptografar. Se for Inativa, somente a associação de serviço será garantida. Forçar Criptografia está localizada em Protocolos para Propriedades MSSQLSERVER (Guia Sinalizadores) no SQL Server Configuration Manager.

  • Proteção estendida

    Os valores possíveis são Ativa, Permitidae Obrigatória. A variável de Proteção Estendida permite que os usuários configurem o nível de Proteção Estendida para cada Instância do SQL Server. A Proteção Estendida está localizada nos Protocolos para Propriedades MSSQLSERVER (Guia Avançado) no SQL Server Configuration Manager.

    • Quando definida como Ativada, a Proteção Estendida está desabilitada. A instância do SQL Server aceitará conexões de qualquer cliente, independentemente de o cliente estar protegido ou não. A opçãoDesativada é compatível com sistemas operacionais mais antigos e sem patches, mas é menos segura. Use essa configuração se você souber que os sistemas operacionais cliente não têm suporte para proteção estendida.

    • Quando definida como Permitida, a Proteção Estendida é necessária para conexões de sistemas operacionais com suporte para a Proteção Estendida. AProteção Estendida é ignorada para conexões de sistemas operacionais que não têm suporte para Proteção Estendida. As conexões de aplicativos cliente desprotegidos que estejam sendo executados em sistemas operacionais cliente protegidos são rejeitadas. Essa configuração é mais segura que Desativada, mas não é a configuração mais segura. Use essa configuração em ambientes mistos, onde alguns sistemas operacionais dão suporte à Proteção Estendida e outros não.

    • Quando definida como Obrigatória, somente conexões de aplicativos protegidos em sistemas operacionais protegidos são aceitas. Essa configuração é a mais segura dentre as três, mas conexões de sistemas operacionais ou aplicativos que não dão suporte à Proteção Estendida não poderão ser estabelecidas com o SQL Server.

  • SPNs NTLM aceitos

    A variável SPNs NTLM Aceitos é necessária quando um servidor é conhecido por mais de um SPN. Quando um cliente tentar se conectar ao servidor usando um SPN válido que o servidor não conhece, a associação de serviço falhará. Para evitar esse problema, os usuários poderão especificar vários SPNs que representam o servidor usando SPNs NTLM Aceitos. A opçãoSPNs NTLM Aceitos corresponde a uma série de SPNs separados por ponto-e-vírgulas. Por exemplo, para permitir os SPNs MSSQLSvc/ HostName1.Contoso.com e MSSQLSvc/ HostName2.Contoso.com, digite MSSQLSvc/HostName1.Contoso.com;MSSQLSvc/HostName2.Contoso.com na caixa SPNs NTLM Aceitos . Essa variável tem um tamanho máximo de 2.048 caracteres. A caixa SPNs da NTLM Aceitos está localizada em Protocolos para Propriedades MSSQLSERVER (Guia Avançado) no SQL Server Configuration Manager.

Habilitando a Proteção Estendida para o mecanismo de banco de dados

Para usar a Proteção Estendida, o servidor e o cliente devem ter um sistema operacional com suporte para Proteção Estendidae a Proteção Estendida deve estar habilitada no sistema operacional. Para obter mais informações sobre como habilitar a Proteção Estendida para o sistema operacional, consulte Proteção Estendida para Autenticação.

O SQL Server dá suporte à Proteção Estendida a partir do SQL Server 2008 R2 (10.50.x). A Proteção Estendida para algumas versões anteriores do SQL Server será disponibilizada em atualizações futuras. Depois de habilitar a Proteção Estendida no computador servidor, siga estas etapas para habilitar a Proteção Estendida:

  1. No menu Iniciar , escolha Todos os Programas, aponte para Microsoft SQL Server e clique em SQL Server Configuration Manager.

  2. Expanda Configuração de Rede do SQL Server e clique com o botão direito do mouse em Protocolos para _<_InstanceName*>* e, em seguida, clique em Propriedades.

  3. Para associação de canal e associação de serviço, na guia Avançado , defina a Proteção Estendida com a configuração apropriada.

  4. Se desejar, quando um servidor for conhecido por mais de um SPN, na guia Avançado , configure o campo SPNs NTLM Aceitos conforme descrito na seção "Configurações".

  5. Para associação de canal, na guia Sinalizadores , defina Forçar Criptografia como Ativa.

  6. Reinicie o serviço Mecanismo de Banco de Dados.

Configurando outros componentes do SQL Server

Para obter mais informações sobre como configurar o Reporting Services, veja Proteção Estendida para Autenticação com o Reporting Services.

Ao usar o IIS para acessar dados do Analysis Services usando uma conexão HTTP ou HTTPS, o Analysis Services pode aproveitar a Proteção Estendida fornecida pelo IIS. Para obter mais informações sobre como configurar o IIS para usar a Proteção Estendida, consulte Configure Extended Protection in IIS 7.5(em inglês).

Consulte Também

Configuração de rede do servidor
Configuração de rede de cliente
Visão geral sobre a Proteção Estendida para Autenticação
Autenticação Integrada do Windows com Proteção Estendida