Problemas de criptografia com Database Mirror

Aproveitando que hoje passei por uma situação chata ao configurar um Database Mirror, vou escrever esse post para quem sabe ajudar alguém que passe pela mesma situação.

Ao configurar um Mirror, vocês devem saber que podemos criptografar o tráfego entre as instâncias, por motivos de segurança, o que é bastante recomendado. O que acontece é que caso você utilize uma instância como witness, essa instância pode ser instalada inclusive utilizando o SQL Express em uma máquina Windows Cliente (XP, Vista, 7, 8).

Nessa situação precisamos lembrar que os algoritmos de criptografia na conexão do database mirror na verdade são “fornecidos” pelo Sistema Operacional. Então o que pode acontecer é você utilizar um algoritmo de criptografia disponível em uma edição do Windows Server, 2008 por exemplo, e esse algoritmo não estar disponível no Windows Client do witness.

Nessa situação será exibida no log da instância do witness a seguinte mensagem de erro “Connection handshake failed. There is no compatible encryption algorithm. State 22” ou algo similar.

Nesse caso precisamos alterar os endpoints para ou utilizar um algoritmo que exista no Windows Client utilizado pelo witness ou então desativar a criptografia. Para isso, use os comandos abaixo:

Mude a criptografia do endpoint do mirror para SUPPORTED

ALTER ENDPOINT MIRRORING
FOR DATABASE_MIRRORING (ENCRYPTION = SUPPORTED)

Mude a criptografia do endpoint do principal para DISABLED

ALTER ENDPOINT MIRRORING
FOR DATABASE_MIRRORING (ENCRYPTION = DISABLED)

Mude a criptografia do endpoint do mirror para DISABLED

ALTER ENDPOINT MIRRORING
FOR DATABASE_MIRRORING (ENCRYPTION = DISABLED)

Verifique se as conexões agora estão sem criptografia

SELECT encryption_algorithm
FROM sys.dm_db_mirroring_connections

Agora você poderá adicionar o witness ao seu mirror sem problemas.

Obs: tentei encontrar a tabela de algoritmos de criptografia disponíveis por versões do Windows Client (no meu caso era Windows XP), mas não encontrei alguma fonte confiável. Se alguém tiver essa informação, por favor coloque ai nos comentários.

Para quem quiser mais informações vale a pena uma olhada nesses links

Esse post foi publicado em Artigos, Virtual PASS BR. Bookmark o link permanente.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s