Partilhar via


Conectar-se ao mecanismo de banco de dados com a Proteção Estendida

Aplica-se:SQL Server

O SQL Server dá suporte à Proteção Estendida a partir do SQL Server 2008 R2 (10.50.x).

Proteção Estendida ajuda a evitar ataques de retransmissão de autenticação, garantindo que o cliente conheça o serviço que está acessando.

Extended Protection é um recurso dos componentes de rede implementados 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.

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 disfarçar de cliente e autenticar em um serviço (por exemplo, uma instância do Mecanismo de Banco de Dados.

Há duas variações deste ataque:

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

  • Em um ataque de falsificação, o cliente pretende se conectar a um serviço válido, mas não sabe que um ou tanto o DNS quanto o roteamento IP são envenenados para redirecionar a conexão ao 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.

Vinculaçã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, o cliente incluirá o SPN assinado pelo invasor. O invasor não pode retransmitir o pacote para autenticar no serviço real do SQL Server como o cliente porque ele 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 Vinculaçã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, ele incorre em um custo de runtime maior porque requer a criptografia TLS (Transport Layer Security) de todo o tráfego de 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 ao 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 configuradas usando o SQL Server Configuration Manager ou o WMI e exibidas usando a faceta Configurações de Protocolo do 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 Ativa e todos os clientes deverão criptografar. Se estiver Desativada, apenas 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 aceita conexões de qualquer cliente, independentemente de o cliente ser protegido ou não. Off é compatível com sistemas operacionais mais antigos e não corrigidos, mas é menos seguro. Use essa configuração quando os sistemas operacionais cliente não dão suporte à 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. Proteção Estendida é ignorada para conexões de sistemas operacionais que não dão suporte para Proteção Estendida. As conexões de aplicativos cliente desprotegidos em execução em sistemas operacionais cliente protegidos são rejeitadas. Essa configuração é mais segura do que Desativada, mas não é a mais segura. Use essa configuração em ambientes mistos; alguns sistemas operacionais dão suporte de 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, mas as conexões de sistemas operacionais ou aplicativos que não dão suporte a Proteção Estendida não poderão se conectar ao SQL Server.

SPNs NTLM aceitos

A variável SPNs NTLM aceitos é necessária quando mais de um SPN está associado a um servidor. Quando um cliente tenta se conectar ao servidor usando um SPN válido que o servidor não conhece, a associação de serviço falha. Para evitar esse problema, os usuários podem especificar vários SPNs que representam o servidor usando os SPNs NTLM aceitos . SPNs NTLM aceitos é uma série de SPNs separados por ponto e vírgula. 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 de Proteção Estendida, o servidor e o cliente devem ter um sistema operacional compatível com de Proteção Estendida e que deve estar habilitado 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.

Embora de Proteção Estendida e NTLMv2 estejam habilitados por padrão em todas as versões com suporte do Windows, de Proteção Estendida não está habilitada por padrão para conexões do SQL Server. Os usuários devem habilitá-lo manualmente no do SQL Server Configuration Manager.

Para habilitar de Proteção Estendida para conexões do SQL Server, os administradores devem definir as configurações em do SQL Server Configuration Manager. Isso inclui opções de associação de serviço e associação de canal para atenuar vários tipos de ataques de retransmissão de autenticação. Para obter instruções detalhadas, consulte a documentação do SQL Server sobre como configurar de Proteção Estendida.

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 selecione 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 _<_NomeDaInstancia*>* e selecione Propriedades.

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

  4. Como alternativa, quando há mais de um SPN associado a um servidor, na guia Avançado, configure o campo SPNs de 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).