Práticas recomendadas em relação à segurança de replicação

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ão entre computadores é uma topologia de replicação que usa um método padrão da indústria, como VPN (Virtual Private Networks), SSL (Secure Sockets Layer) ou IPSEC (IP Security). 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:

  • 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 informações sobre como especificar as contas, consulte Gerenciando logons e senhas na 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 Modelo de segurança do agente de replicação.

  • Certifique-se de que todas as contas Merge Agent e Distribution Agent estão na lista de acesso à publicação (PAL). Para obter mais informações, consulte Protegendo 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 Merge Agents e Distribution Agents. 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 Merge Agent adequadas.

  • Configure o compartilhamento de instantâneo para permitir acesso de gravação pelo Snapshot Agent.

  • 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 Distribution Agent para uma assinatura push executa no Distribuidor e faz conexões para o Distribuidor e para o Assinante. A conta do Windows para o Distribution Agent deve ser adicionada ao Distribuidor e ao Assinante.

    • Certifique-se que um determinado agente (por exemplo, o Distribution Agent para uma assinatura) é executado na mesma conta em cada computador.

  • Para usar a Autenticação do SQL Server:

    • Adicione uma conta SQL Server para cada agente nos nós adequados (use o mesmo nome e senha em cada nó). Por exemplo, o Distribution Agent 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 Distribution Agent deve ser adicionada ao Distribuidor e ao Assinante.

    • Certifique-se que um determinado agente (por exemplo, o Distribution Agent 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 Transferindo instantâneos pelo FTP.