Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:SQL Server
La sicurezza del trasporto implica l'utilizzo dell'autenticazione e, facoltativamente, della crittografia dei messaggi scambiati tra i database. Per il mirroring del database e i gruppi di disponibilità Always On, l'autenticazione e la crittografia devono essere configurate nell'endpoint del mirroring del database. Per un'introduzione agli endpoint del mirroring del database, vedi Endpoint del mirroring del database (SQL Server).
Autenticazione
L'autenticazione è il processo di verifica che un utente sia effettivamente colui che dichiara di essere. Per le connessioni tra endpoint del mirroring del database è necessaria l'autenticazione. Le richieste di connessione da parte di un partner o di un witness, se presenti, devono essere autenticate.
Il tipo di autenticazione utilizzata da un'istanza del server per il mirroring del database o i gruppi di disponibilità Always On è una proprietà dell'endpoint del mirroring del database. Per gli endpoint per il mirroring del database sono disponibili due tipi di sicurezza del livello di trasporto: l'autenticazione di Windows (Security Support Provider Interface, SSPI) e l'autenticazione basata su certificati.
Autenticazione di Windows
Con l'autenticazione di Windows, ogni istanza del server accede all'altra parte utilizzando le credenziali di Windows dell'account utente di Windows in cui è in esecuzione il processo. L'autenticazione di Windows potrebbe richiedere una configurazione manuale degli account di accesso, ad esempio:
Se le istanze di SQL Server sono in esecuzione come servizi nello stesso account di dominio, non è richiesta alcuna configurazione aggiuntiva.
Se le istanze di SQL Server vengono eseguite come servizi con account di dominio diversi (negli stessi domini o attendibili), l'account di accesso di ogni account deve essere creato in
masterognuna delle altre istanze del server e a tale account di accesso devono essere concesseCONNECTle autorizzazioni per l'endpoint.Se le istanze di SQL Server vengono eseguite con l'account Servizio di rete, l'account di accesso di ogni computer host (
<domain-name>\<computer-name>$) deve essere creato inmasterin ciascuno degli altri server e a tale account devono essere concesse le autorizzazioniCONNECTsull'endpoint. Ciò avviene in quanto un'istanza del server che è in esecuzione con l'account del servizio di rete esegue l'autenticazione utilizzando l'account di dominio del computer host.
Nota
Per un esempio di configurazione di una sessione di mirroring del database tramite Windows Authentication, vedere Esempio: Configurare il mirroring del database tramite autenticazione di Windows.
Certificati
In alcune situazioni, ad esempio quando le istanze del server non si trovano in domini attendibili o quando SQL Server è in esecuzione come servizio locale, Windows l'autenticazione non è disponibile. In tali casi al posto delle credenziali utente per l'autenticazione delle richieste di connessione sono necessari certificati. L'endpoint del mirroring di ogni istanza del server deve essere configurato con il proprio certificato creato localmente.
Il metodo di crittografia viene stabilito al momento della creazione del certificato. Per ulteriori informazioni, vedere Mirroring di database - Utilizzare certificati per le connessioni in uscita. Prestare attenzione nella gestione dei certificati utilizzati.
In un'istanza del server viene utilizzata la chiave privata del proprio certificato per stabilire la propria identità durante la configurazione di una connessione. Nell'istanza del server che riceve la richiesta di connessione viene utilizzata la chiave pubblica del certificato del mittente per autenticare l'identità del mittente. Si considerino, ad esempio, due istanze di server, Server_A e Server_B.
Server_A usa la chiave privata per crittografare l'intestazione di connessione prima di inviare una richiesta di connessione a Server_B.
Server_B usa la chiave pubblica del certificato di Server_A per decifrare l'intestazione della connessione. Se l'intestazione decrittografata è corretta, Server_B sa che l'intestazione è stata crittografata da Server_Ae che la connessione è autenticata. Se l'intestazione decrittografata non è corretta, Server_B sa che la richiesta di connessione è inautentica e rifiuta la connessione.
Crittografia dei dati
Per impostazione predefinita, un endpoint del mirroring del database richiede la crittografia dei dati inviati tramite le connessioni di mirroring. In questo caso, l'endpoint può connettersi solo a endpoint che utilizzano la crittografia. A meno che non si sia assolutamente certi della sicurezza della rete, per le connessioni per il mirroring del database è consigliabile richiedere la crittografia. È tuttavia possibile disabilitare la crittografia oppure fare in modo che sia supportata ma non necessaria. Se la crittografia è disabilitata, i dati non vengono mai crittografati e l'endpoint non può connettersi a un endpoint che richiede la crittografia. Se la crittografia è supportata, i dati vengono crittografati solo se l'endpoint opposto supporta o richiede la crittografia.
Nota
Gli endpoint del mirroring creati da SQL Server Management Studio vengono creati con la crittografia impostata come obbligatoria o disabilitata. Per modificare l'impostazione di crittografia su SUPPORTED, usare l'istruzione ALTER ENDPOINT Transact-SQL. Per altre informazioni, vedere ALTER ENDPOINT.
Facoltativamente, è possibile controllare gli algoritmi di crittografia che possono essere usati da un endpoint specificando uno dei valori seguenti per l'opzione ALGORITHM in un'istruzione CREATE ENDPOINT o ALTER ENDPOINT un'istruzione:
Valore della proprietà ALGORITHM |
Descrizione |
|---|---|
| RC4 (impostazione predefinita) | Specifica che l'endpoint deve utilizzare l'algoritmo RC4. Avviso: l'algoritmo RC4 è deprecato. Questa funzionalità verrà rimossa nelle versioni future di SQL Server. Evitare di usare questa funzionalità in un nuovo progetto di sviluppo e prevedere interventi di modifica nelle applicazioni in cui è attualmente implementata. È consigliabile utilizzare AES. |
| AES (scelta consigliata) | Specifica che l'endpoint deve utilizzare l'algoritmo AES. |
| AES RC4 | Specifica che i due endpoint negoziano per un algoritmo di crittografia con questo endpoint che assegna la preferenza all'algoritmo AES. |
| RC4 AES | Specifica che i due endpoint negoziano un algoritmo di crittografia, con questo endpoint che dà la preferenza all'algoritmo RC4. |
Se gli endpoint che stabiliscono la connessione specificano entrambi gli algoritmi ma in ordine diverso, avrà la priorità l'endpoint che accetta la connessione.
Caution
Sebbene notevolmente più veloce rispetto all'algoritmo AES, RC4 è relativamente vulnerabile, mentre AES è relativamente avanzato. Pertanto, è consigliabile usare l'algoritmo AES.
L'algoritmo RC4 è supportato solo per motivi di compatibilità con le versioni precedenti. I dati possono essere crittografati solo usando RC4 o RC4_128 quando il database si trova nel livello di compatibilità 90 o 100 (scelta non consigliata). Usare un algoritmo più recente, ad esempio uno degli algoritmi AES. In SQL Server 2012 (11.x) e versioni successive i dati crittografati con RC4 o RC4_128 possono essere decrittografati in qualsiasi livello di compatibilità.
Per informazioni sulla sintassi Transact-SQL per specificare la crittografia, vedere CREATE ENDPOINT.
Configurare la sicurezza del trasporto per gli endpoint del mirroring del database
- Creare un endpoint di mirroring del database per l'autenticazione di Windows
- Stabilire una sessione di mirroring del database - Autenticazione di Windows
- Creare un endpoint di mirroring del database per l'autenticazione di Windows
- Mirroring del database - Utilizzare i certificati per le connessioni in uscita
Contenuti correlati
- Scegliere un algoritmo di crittografia
- ALTER ENDPOINT (Transact-SQL)
- DROP ENDPOINT (Transact-SQL)
- Sicurezza per il motore di Database di SQL Server e il Database SQL di Azure
- Gestire i metadati quando si rende disponibile un database in un altro server
- Endpoint del mirroring di database (SQL Server)
- sys.database_mirroring_endpoints (Transact-SQL)
- sys.dm_db_mirroring_connections (Transact-SQL)
- Risolvere i problemi relativi alla configurazione del mirroring del database (SQL Server)
- Risolvere i problemi relativi alla configurazione di Gruppi di disponibilità Always On (SQL Server)