Ameaça e mitigação de vulnerabilidade (Replicação)
Este tópico descreve técnicas para reduzir ameaças a uma topologia de replicação.
Criptografia
A criptografia é o processo de converter dados em um formato que não pode ser lido sem uma chave especial, de modo que somente o destinatário pode ler os dados. A replicação não criptografa dados armazenados em tabelas ou enviados por conexões de rede. Isso é por projeto, pois a criptografia está disponível em nível de transporte com diversas tecnologias, incluindo as seguintes tecnologias padrão da indústria: VPN (Virtual Private Networks), SSL (Secure Sockets Layer) e IPSEC (IP Security). Recomendamos usar um desses métodos de criptografia para as conexões entre computadores em uma topologia de replicação. Para obter mais informações, consulte Criptografando conexões com o SQL Server. Para obter informações sobre como usar VPN e SSL para replicar dados na Internet, consulte Protegendo a replicação na Internet.
Se você utiliza o SSL para proteger as conexões entre computadores em uma topologia de replicação, especifique um valor de 1 ou 2 para o parâmetro -EncryptionLevel de cada agente de replicação (recomendamos o valor 2). Um valor de 1 especifica que é usada criptografia, porém o agente não verifica se o certificado do servidor SSL está assinado por um emissor confiável; um valor 2 especifica que o certificado é verificado. Os parâmetros de agente podem ser especificados em perfis de agente e na linha de comando. Para obter mais informações, consulte:
Como trabalhar com perfis do Replication Agent (SQL Server Management Studio)
Como trabalhar com perfis do Replication Agent (Programação Transact-SQL de replicação)
A replicação tem o seguinte comportamento em relação a Chaves Mestras de banco de dados, que são usadas para criptografar dados:
Se existir uma Chave Mestra em um banco de dados envolvido em replicação (um banco de dados de publicação, um banco de dados de assinatura ou um banco de dados de distribuição), a replicação criptografa e descriptografa as senhas dos agentes nesse banco de dados usando uma chave simétrica de banco de dados do SQL Server 2008. Se forem usadas Chaves Mestras, deverá ser criada uma Chave Mestra em cada banco de dados envolvido na replicação. Se não existir uma Chave Mestra em um banco de dados envolvido em replicação, a replicação criptografa e descriptografa as senhas do agente nesse banco de dados usando o algoritmo disponível no SQL Server 2000. Para obter mais informações sobre como criar Chaves Mestras, consulte CREATE MASTER KEY (Transact-SQL).
Replicação não replica Chaves Mestras. Caso exija a Chave Mestra no Assinante, você deverá exportá-la do banco de dados de publicação usando BACKUP MASTER KEY e, em seguida, importá-la para o banco de dados de assinatura usando RESTORE MASTER KEY. Para obter mais informações, consulte BACKUP MASTER KEY (Transact-SQL) e RESTORE MASTER KEY (Transact-SQL).
Se uma Chave Mestra for definida para um banco de dados de assinaturas anexável, especifique a senha da Chave Mestra usando o parâmetro @db_master_key_password de sp_attachsubscription (Transact-SQL). Isso permite anexar o banco de dados no Assinante.
Para obter mais informações sobre criptografia e Chaves Mestras, consulte Hierarquia de criptografia.
A replicação permite que você publique dados de coluna criptografados. Para descriptografar e usar esses dados no Assinante, a chave usada para criptografar os dados no Publicador também deve estar presente no Assinante. A replicação não fornece um mecanismo seguro para transportar chaves de criptografia. Você deve recriar a chave de criptografia manualmente no Assinante. Para obter mais informações, consulte Como replicar dados em colunas criptografadas (SQL Server Management Studio).