Procedure consigliate per la sicurezza della replicaReplication Security Best Practices

La replica implica lo spostamento di dati in ambienti distribuiti che includono reti Intranet in un singolo dominio, applicazioni che accedono a dati tra domini non attendibili e Internet.Replication moves data in distributed environments ranging from intranets on a single domain to applications that access data between untrusted domains and over the Internet. È importante individuare l'approccio migliore per la protezione delle connessioni di replica in queste diverse circostanze.It is important to understand the best approach for securing replication connections under these different circumstances.

Le informazioni seguenti sono applicabili alla replica in qualsiasi ambiente:The following information is relevant to replication in all environments:

  • Crittografare le connessioni tra computer in una topologia di replica utilizzano un metodo standard, ad esempio le reti private virtuali (VPN, Virtual Private Network), la crittografia SSL (Secure Sockets Layer) o lo standard IPSec (Internet Protocol Security).Encrypt the connections between computers in a replication topology using an industry standard method, such as Virtual Private Networks (VPN), Secure Sockets Layer (SSL), or IP Security (IPSEC). Per altre informazioni, vedere Abilitare le connessioni crittografate al motore di database (Gestione configurazione SQL Server).For more information, see Enable Encrypted Connections to the Database Engine (SQL Server Configuration Manager). Per informazioni sull'utilizzo di reti VPN e del protocollo SSL per la replica di dati su Internet, vedere Securing Replication Over the Internet.For information about using VPN and SSL for replicating data over the Internet, see Securing Replication Over the Internet.

    Se si usa SSL per proteggere le connessioni tra computer in una topologia di replica, specificare un valore pari a 1 o 2 per il parametro -EncryptionLevel di ogni agente di replica. È consigliabile usare un valore pari a 2 .If you use SSL to secure the connections between computers in a replication topology, specify a value of 1 or 2 for the -EncryptionLevel parameter of each replication agent (a value of 2 is recommended). Un valore pari a 1 indica che è utilizzata la crittografia, ma l'agente non verifica che il certificato SSL del server sia firmato da un'autorità emittente attendibile; un valore pari a 2 indica che il certificato viene verificato.A value of 1 specifies that encryption is used, but the agent does not verify that the SSL server certificate is signed by a trusted issuer; a value of 2 specifies that the certificate is verified. I parametri degli agenti possono essere specificati nei profili agente e dalla riga di comando.Agent parameters can be specified in agent profiles and on the command line. Per altre informazioni, vedere:For more information, see:

  • Eseguire ogni agente di replica con un diverso account di Windows e utilizzare l'autenticazione di Windows per tutte le connessioni agli agenti di replica.Run each replication agent under a different Windows account, and use Windows Authentication for all replication agent connections. Per altre informazioni su come specificare gli account, vedere Gestire gli account di accesso e le password nella replica.For more information about specifying accounts, see Manage Logins and Passwords in Replication.

  • Concedere agli agenti solo le autorizzazioni necessarie.Grant only the required permissions to each agent. Per ulteriori informazioni, vedere la sezione relativa alle autorizzazioni necessarie per gli agenti in Replication Agent Security Model.For more information, see the "Permissions Required by Agents" section of Replication Agent Security Model.

  • Verificare che tutti gli account degli agenti di merge e di distribuzione siano inclusi nell'elenco di accesso alla pubblicazione.Ensure all Merge Agent and Distribution Agent accounts are in the publication access list (PAL). Per altre informazioni, vedere Proteggere il server di pubblicazione.For more information, see Secure the Publisher.

  • Attenersi al principio dei privilegi minimi, concedendo agli account nell'elenco di accesso alla pubblicazione solo le autorizzazioni necessarie per eseguire le attività di replica.Follow the principle of least privilege by allowing accounts in the PAL only the permissions they need to perform replication tasks. Non aggiungere gli account di accesso ad alcun ruolo predefinito del server che non sia necessario per la replica.Do not add the logins to any fixed server roles that are not required for replication.

  • Configurare la condivisione snapshot in modo da consentire l'accesso in lettura a tutti gli agenti di merge e di distribuzione.Configure the snapshot share to allow read access by all Merge Agents and Distribution Agents. Se vengono utilizzati snapshot per pubblicazioni con filtri con parametri, verificare che ogni cartella sia configurata per l'accesso in lettura solo per gli account degli agenti di merge appropriati.In the case of snapshots for publications with parameterized filters, ensure that each folder is configured to allow access only to the appropriate Merge Agent accounts.

  • Configurare la condivisione snapshot per consentire l'accesso in scrittura all'agente snapshot.Configure the snapshot share to allow write access by the Snapshot Agent.

  • Se si utilizzano sottoscrizioni pull, inserire la cartella snapshot in una condivisione di rete anziché in un percorso locale.If you use pull subscriptions, use a network share rather than a local path for the snapshot folder.

    Se nella topologia di replica sono inclusi computer di domini diversi o di domini che non hanno relazioni di trust, è possibile utilizzare l'autenticazione di Windows o l'autenticazione di SQL ServerSQL Server per le connessioni eseguite dagli agenti. Per ulteriori informazioni sui domini, vedere la documentazione di Windows.If your replication topology includes computers that are not in the same domain or are in domains that do not have trust relationships with each other, you can use Windows Authentication or SQL ServerSQL Server Authentication for the connections made by agents (For more information about domains, see the Windows documentation). È consigliabile, dal punto di vista della sicurezza, utilizzare l'autenticazione di Windows.It is recommended as a security best practice that you use Windows Authentication.

  • Per utilizzare l'autenticazione di Windows:To use Windows Authentication:

    • Aggiungere un account di Windows locale (non un account di dominio) per ogni agente nei nodi appropriati, utilizzando lo stesso nome e password per ogni nodo.Add a local Windows account (not a domain account) for each agent at the appropriate nodes (use the same name and password at each node). Ad esempio, l'agente di distribuzione per una sottoscrizione push viene eseguito nel server di distribuzione e stabilisce connessioni al server di distribuzione e al Sottoscrittore.For example, the Distribution Agent for a push subscription runs at the Distributor and makes connections to the Distributor and Subscriber. L'account di Windows per l'agente di distribuzione deve essere aggiunto al server di distribuzione e al Sottoscrittore.The Windows account for the Distribution Agent should be added to the Distributor and Subscriber.

    • Verificare che un determinato agente, ad esempio l'agente di distribuzione per una sottoscrizione, venga eseguito con lo stesso account in ogni computer.Ensure that a given agent (for example the Distribution Agent for a subscription) runs under the same account at each computer.

  • Per utilizzare l'autenticazione di SQL ServerSQL Server :To use SQL ServerSQL Server Authentication:

    • Aggiungere un account di SQL ServerSQL Server per ogni agente nei nodi appropriati, utilizzando lo stesso nome e password per ogni nodo.Add a SQL ServerSQL Server account for each agent at the appropriate nodes (use the same account name and password at each node). Ad esempio, l'agente di distribuzione per una sottoscrizione push viene eseguito nel server di distribuzione e stabilisce connessioni al server di distribuzione e al Sottoscrittore.For example, the Distribution Agent for a push subscription runs at the Distributor and makes connections to the Distributor and Subscriber. L'account di SQL ServerSQL Server per l'agente di distribuzione deve essere aggiunto al server di distribuzione e al Sottoscrittore.The SQL ServerSQL Server account for the Distribution Agent should be added to the Distributor and Subscriber.

    • Verificare che un determinato agente, ad esempio l'agente di distribuzione per una sottoscrizione, stabilisca connessioni utilizzando lo stesso account in ogni computer.Ensure that a given agent (for example the Distribution Agent for a subscription) makes connections under the same account at each computer.

    • Nei casi in cui è necessaria l'autenticazione di SQL ServerSQL Server , l'accesso alle condivisioni snapshot UNC spesso non è disponibile, ad esempio, può essere bloccato da un firewall.In situations that require SQL ServerSQL Server Authentication, access to UNC snapshot shares is often not available (for example access might be blocked by a firewall). In tal caso, è possibile trasferire lo snapshot ai Sottoscrittori tramite FTP.In this case, you can transfer the snapshot to Subscribers through file transfer protocol (FTP). Per altre informazioni, vedere Trasferire snapshot tramite FTP.For more information, see Transfer Snapshots Through FTP.

Vedere ancheSee Also

Abilitare connessioni crittografate al motore di database (Gestione configurazione SQL Server) Enable Encrypted Connections to the Database Engine (SQL Server Configuration Manager)
Replica su Internet Replication over the Internet
Proteggere il sottoscrittore Secure the Subscriber
Proteggere il database di distribuzione Secure the Distributor
Proteggere il server di pubblicazione Secure the Publisher
Sicurezza e protezione (replica) Security and Protection (Replication)