Partilhar via


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

Aplica-se a:SQL Server

de Proteção Estendida ajuda a evitar ataques de retransmissão de autenticação, garantindo que o cliente saiba qual é o serviço ao qual está a conectar-se.

Proteção Estendida é uma funcionalidade dos componentes de rede implementados pelo sistema operativo. A Proteção Estendida é suportada no Windows.

O SQL Server é mais seguro quando as conexões são feitas usando de Proteção Estendida .

Descrição da Proteção Estendida

A Proteção Estendida usa a vinculação de serviço e a vinculação de canal para ajudar a prevenir um ataque de retransmissão de autenticação. Em um ataque de retransmissão de autenticação, um cliente que pode executar a 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 autenticar um serviço (por exemplo, uma instância do Mecanismo de Banco de Dados).

Existem 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 está ciente de que um ou ambos os roteamentos DNS e IP estão envenenados para redirecionar a conexão para o invasor.

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

Vinculação de serviço

A associação de serviço aborda ataques indutivos exigindo que um cliente envie um SPN (nome da entidade de serviço) assinado do serviço do SQL Server com o qual o cliente deseja conectar-se. Como parte da resposta de autenticação, o serviço valida se o SPN recebido no pacote corresponde ao 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 incluiria o SPN do invasor. A vinculação de serviço incorre em um custo único e insignificante, mas não resolve 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.

Ligaçã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 token de ligação de canal (CBT) do cliente específico para aquele canal com o seu próprio CBT. A vinculação de canal aborda ataques de sedução e falsificação. No entanto, ele incorre em um custo de tempo de execução maior porque requer criptografia TLS (Transport Layer Security) de todo o tráfego da sessão. A Vinculaçã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.

Advertência

Os provedores de dados SQL Server e Microsoft para SQL Server oferecem suporte a TLS 1.0 e SSL 3.0. Se você impor um protocolo diferente (como TLS 1.1 ou TLS 1.2) fazendo alterações na camada SChannel do sistema operacional, suas conexões com o SQL Server poderão falhar. Verifique se você tem a compilação mais recente do SQL Server para oferecer suporte a TLS 1.1 ou TLS 1.2. Para obter mais informações, consulte Suporte a TLS 1.2 para Microsoft SQL Server.

Suporte ao sistema operacional

Os links a seguir fornecem mais informações sobre como o Windows oferece suporte a de Proteção Estendida :

Configurações

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

Forçar criptografia

Os valores possíveis são On e Off. Para usar a associação de canal, Force Encryption deve ser definido como One todos os clientes devem criptografar. Se for Off, apenas a vinculação de serviço é garantida. Force Encryption está no Protocolos para Propriedades MSSQLSERVER (guia Sinalizadores) no SQL Server Configuration Manager.

Proteção estendida

Os valores possíveis são Desativado, Permitidoe Necessário. A variável Proteção Estendida permite que os utilizadores configurem o nível de Proteção Estendida para cada instância do SQL Server. A Proteção Estendida está nos Protocolos para as Propriedades do MSSQLSERVER (Guia Avançado) no SQL Server Configuration Manager.

Quando definido como Desativado, a Proteção Estendida está desativada. A instância do SQL Server aceita conexões de qualquer cliente, independentemente de o cliente estar protegido ou não. Off é compatível com sistemas operacionais mais antigos e sem patches, mas é menos seguro. Use essa configuração quando os sistemas operacionais cliente não oferecerem suporte à proteção estendida.

Quando configurado para Permitido, a Proteção Estendida é necessária para conexões a partir de sistemas operacionais que suportam a Proteção Estendida . de Proteção Estendida é ignorada para conexões de sistemas operacionais que não suportam de 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 Off, mas não é a mais segura. Use essa configuração em ambientes mistos; alguns sistemas operativos suportam de Proteção Alargada e outros não.

Quando definido como Required, apenas são aceites ligações de aplicações protegidas em sistemas operativos protegidos. Essa configuração é a mais segura, mas as conexões de sistemas operacionais ou aplicativos que não oferecem suporte a de Proteção Estendida não poderão se conectar ao SQL Server.

SPNs NTLM aceitos

A variável SPNs NTLM aceites é necessária quando mais de um SPN é conhecido por um servidor. Quando um cliente tenta se conectar ao servidor usando um SPN válido que o servidor não conhece, a vinculação de serviço falha. Para evitar este problema, os utilizadores podem especificar vários SPNs que representam o servidor usando os SPNs NTLM aceites. Os SPNs NTLM aceites são uma série de SPNs separados por ponto-e-vírgula. Por exemplo, para permitir que 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. A variável tem um comprimento máximo de 2.048 caracteres. SPNs NTLM aceites estão nos protocolos para as propriedades do MSSQLSERVER (separador Avançado) no SQL Server Configuration Manager.

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

Para usar de Proteção Estendida, tanto o servidor quanto o cliente devem ter um sistema operacional que ofereça suporte a de Proteção Estendida e devem estar habilitados no sistema operacional. Para obter mais informações sobre como habilitar de 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 SQL Server Configuration Manager.

Para habilitar de Proteção Estendida para conexões do SQL Server, os administradores devem definir as configurações em SQL Server Configuration Manager. Isso inclui opções de vinculação de serviço e de canal para mitigar 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 Proteção Estendida .

Depois de habilitar a Proteção Estendida no computador servidor, use as seguintes 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, em seguida, clique com o botão direito do rato em Protocolos para _<_InstanceName*>*, e, em seguida, selecione Propriedades.

  3. no separador Avançado, defina Proteção Estendida como a configuração apropriada para vinculação de canal e vinculação de serviço.

  4. Opcionalmente, quando mais de um SPN conhece um servidor, na guia Avançado, configura o campo SPNs NTLM aceitos conforme descrito na seção "Configurações".

  5. Para ligação de canal, na guia Flags, defina Forçar a Criptografia como Ativado.

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

Configurar outros componentes do SQL Server

Para obter mais informações sobre como configurar o Reporting Services, consulte 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 Configurar a Proteção Estendida no IIS 7.5.