Replication Security Best Practices
Aplica-se a: SQL Server
A replicação move dados em ambientes distribuídos variando deste intranets em um único domínio até aplicativos que acessam dados entre domínios não confiáveis e na internet. É importante para entender a melhor abordagem para proteger as conexões de replicação sob essas diversas circunstâncias.
As informações abaixo são relevantes para a replicação em todos os ambientes:
Criptografar as conexões entre computadores em uma topologia de replicação que usa um método padrão do setor, como VPN (redes virtuais privadas), protocolo TLS, conhecido anteriormente como protocolo SSL, ou IPSEC (Segurança de IP). Para obter mais informações, confira Habilitar conexões criptografadas para o mecanismo de banco de dados (SQL Server Configuration Manager). Para obter informações sobre como usar VPN e TLS para replicar dados na Internet, confira Proteger a replicação na Internet.
Se você usar TLS para proteger as conexões entre computadores em uma topologia de replicação, especifique o valor 1 ou 2 para o parâmetro -EncryptionLevel de cada agente de replicação (o valor 2 é recomendado). O valor 1 especifica que é usada criptografia, mas o agente não verifica se o certificado do servidor TLS/SSL está assinado por um emissor confiável; o 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 saber mais, veja:
Execute cada agente de replicação em uma conta diferente do Windows e use a Autenticação do Windows para todas as conexões de agente de replicação. Para obter mais informações sobre como especificar contas, confira Controle de acesso e identidade para replicação.
Conceda somente as permissões exigidas para cada agente. Para obter mais informações, consulte a seção "Permissões necessárias para agentes" em Replication Agent Security Model.
Certifique-se de que todas as contas Agente de Mesclagem e Agente de Distribuição estão na lista de acesso à publicação (PAL). Para obter mais informações, consulte Secure the Publisher (Proteger o publicador).
Siga o princípio de menos privilégios concedendo às contas na PAL somente as permissões que necessitam para executar tarefas de replicação. Não adicione os logons a qualquer função de servidor fixa que não seja necessária para replicação.
Configure o compartilhamento de instantâneo para permitir acesso de leitura a todos os Agente de Mesclagems e Agente de Distribuiçãos. No caso de instantâneos para publicação com filtros com parâmetros, assegure que cada pasta está configurada para permitir acesso somente às contas do Agente de Mesclagem adequadas.
Configure o compartilhamento de instantâneo para permitir acesso de gravação pelo Agente de Instantâneo.
Se você usar assinaturas pull, use um compartilhamento de rede ao invés de um caminho local para a pasta de instantâneo.
Se a sua topologia de replicação incluir computadores que não estejam no mesmo domínio ou que estejam em domínios que não possuam relação segura um com o outro, você poderá usar a Autenticação do Windows ou a Autenticação do SQL Server para as conexões feitas por agentes (para obter mais informações sobre domínios, consulte a documentação do Windows). Sugerimos como prática recomendada de segurança que você use a Autenticação do Windows.
Para usar a Autenticação do Windows:
Adicione uma conta local do Windows (não uma conta de domínio) para cada agente nos nós adequados (use o mesmo nome e senha em cada nó). Por exemplo, o Agente de Distribuição para uma assinatura push executa no Distribuidor e faz conexões para o Distribuidor e para o Assinante. A conta do Windows para o Agente de Distribuição deve ser adicionada ao Distribuidor e ao Assinante.
Certifique-se que um determinado agente (por exemplo, o Agente de Distribuição para uma assinatura) é executado na mesma conta em cada computador.
Para usar a Autenticação do SQL Server
Adicione uma conta do SQL Server para cada agente nos nós adequados (use o mesmo nome e senha em cada nó). Por exemplo, o Agente de Distribuição para uma assinatura push executa no Distribuidor e faz conexões para o Distribuidor e para o Assinante. A conta do SQL Server para o Agente de Distribuição deve ser adicionada ao Distribuidor e ao Assinante.
Certifique-se que um determinado agente (por exemplo, o Agente de Distribuição para uma assinatura) faz conexões na mesma conta em cada computador.
Quando for necessária a Autenticação do SQL Server, normalmente o acesso ao compartilhamento de instantâneo UNC não estará disponível (por exemplo, o acesso poderá ser bloqueado por um firewall). Neste caso, você pode transferir o instantâneo aos Assinantes por FTP (File Transfer Protocol). Para obter mais informações, consulte Transferir instantâneos pelo FTP.
Confira também
Habilitar conexões criptografadas no Mecanismo de Banco de Dados (SQL Server Configuration Manager)
Replicação na Internet
Proteger o Assinante
Proteger o Distribuidor
Proteger o Publicador
Exibir e modificar configurações de segurança de replicação