Resumo da criptografia do cliente e do SQL Server
Este artigo fornece um resumo de vários cenários e procedimentos associados para habilitar a criptografia para SQL Server e também como verificar se ela está funcionando.
Criptografar todas as conexões com o servidor (criptografia do lado do servidor)
Tipo de certificado | Forçar a criptografia nas propriedades do servidor | Importar certificado do servidor em cada cliente | Configuração Confiar em certificado do servidor | Criptografar propriedade na cadeia de conexão | Comentários |
---|---|---|---|---|---|
Certificado autoassinado – Criado automaticamente pelo SQL Server | Sim | Não pode ser feito | Sim | Ignored | SQL Server 2016 (13.x) e versões anteriores usam o algoritmo SHA1. SQL Server 2017 (14.x) e versões posteriores usam SHA256. Para mais informações, confira Alterações no algoritmo de hash para o certificado autoassinado no SQL Server 2017. Não recomendamos essa abordagem para uso em produção. |
Certificado autoassinado criado usando New-SelfSignedCertificate ou makecert – Opção 1 | Sim | No | Sim | Ignored | Não recomendamos essa abordagem para uso em produção. |
Certificado autoassinado criado usando New-SelfSignedCertificate ou makecert – Opção 2 | Sim | Sim | Opcional | Ignored | Não recomendamos essa abordagem para uso em produção. |
Servidor de certificados da empresa ou de uma AC (Autoridade de Certificação) que não está na Lista de Participantes – Programa Raiz Confiável da Microsoft – Opção 1 | Sim | No | Sim | Ignored | |
Servidor de certificados da empresa ou de uma AC (Autoridade de Certificação) que não está na Lista de Participantes – Programa Raiz Confiável da Microsoft – Opção 2 | Sim | Sim | Opcional | Ignored | |
Autoridades raiz confiável | Sim | Não | Opcional | Ignored | Recomendamos essa abordagem. |
Criptografar conexões de um cliente específico
Tipo de certificado | Forçar a criptografia nas propriedades do servidor | Importar certificado do servidor em cada cliente | Especificar no cliente a configuração Confiar em Certificado do Servidor | Especificar manualmente a propriedade de criptografia como Yes/True no lado do cliente | Comentários |
---|---|---|---|---|---|
Certificado autoassinado – Criado automaticamente pelo SQL Server | Sim | Não pode ser feito | Sim | Ignored | SQL Server 2016 (13.x) e versões anteriores usam o algoritmo SHA1. SQL Server 2017 (14.x) e versões posteriores usam SHA256. Para mais informações, confira Alterações no algoritmo de hash para o certificado autoassinado no SQL Server 2017. Não recomendamos essa abordagem para uso em produção. |
Certificado autoassinado criado usando New-SelfSignedCertificate ou makecert – Opção 1 | No | Não | Sim | Sim | Não recomendamos essa abordagem para uso em produção. |
Certificado autoassinado criado usando New-SelfSignedCertificate ou makecert – Opção 2 | No | Sim | Opcional | Sim | Não recomendamos essa abordagem para uso em produção. |
Servidor de certificados da empresa ou de uma AC que não está na Lista de Participantes – Programa Raiz Confiável da Microsoft – Opção 1 | No | Não | Sim | Sim | |
Servidor de certificados da empresa ou de uma AC que não está na Lista de Participantes – Programa Raiz Confiável da Microsoft – Opção 2 | Não | Sim | Opcional | Sim | |
Autoridades raiz confiável | Não | Não | Opcional | Sim | Recomendamos essa abordagem. |
Como saber se a criptografia está funcionando?
Você pode monitorar a comunicação usando uma ferramenta como o Monitor de Rede da Microsoft ou um sniffer (farejador) de rede e verificar os detalhes dos pacotes capturados na ferramenta para confirmar se o tráfego está criptografado.
Como alternativa, você pode verificar o status de criptografia das conexões do SQL Server usando comandos T-SQL (Transact-SQL). Para fazer isso, siga estas etapas:
- Abra uma nova janela de consulta no SSMS (SQL Server Management Studio) e conecte-se à instância do SQL Server.
- Execute o comando T-SQL a seguir para verificar o valor da coluna
encrypt_option
. Para conexões criptografadas, o valor seráTRUE
.
SELECT * FROM sys.dm_exec_connections