Considerazioni relative alla sicurezza per SQL Server in Macchine virtuali di Azure

Questo argomento include linee guida di sicurezza generali che consentono di stabilire l'accesso sicuro alle istanze di SQL Server in una macchina virtuale (VM) di Azure.

Azure è conforme a molteplici normative e standard di settore che possono favorire la compilazione di una soluzione compatibile con SQL Server in esecuzione in una macchina virtuale. Per informazioni sulla conformità alle normative con Azure, vedere il Centro protezione di Azure.

Nota

Azure offre due modelli di distribuzione per creare e usare le risorse: Gestione risorse e la distribuzione classica. In questo articolo viene illustrato l'utilizzo di entrambi i modelli, ma Microsoft indica che le distribuzioni più nuove utilizzano il modello di gestione delle risorse.

Controllare l'accesso alla VM SQL

Quando si crea la macchina virtuale SQL Server, è importante controllare attentamente chi ha accesso al computer e a SQL Server. Come prassi generale è consigliabile eseguire le operazioni seguenti:

  • Limitare l'accesso a SQL Server solo alle applicazioni e ai client che ne hanno necessità.
  • Seguire le procedure consigliate per la gestione di account utente e password.

Le sezioni seguenti offrono alcuni suggerimenti e alcune considerazioni su questi punti.

Connessioni sicure

Quando si crea una macchina virtuale di SQL Server con un'immagine della raccolta, l'opzione SQL Server Connectivity (Connettività SQL Server) offre la possibilità di scegliere tra Locale (all'interno della macchina virtuale), Privata (solo all'interno della rete virtuale) o Pubblico (Internet).

Connettività di SQL Server

Per ottimizzare la sicurezza, scegliere l'opzione più restrittiva per lo scenario in uso. Se ad esempio si esegue un'applicazione che accede a SQL Server nella stessa VM, Locale è la scelta più sicura. Se si esegue un'applicazione Azure che richiede l'accesso a SQL Server, l'opzione Privata consente di proteggere la comunicazione a SQL Server solo all'interno della rete virtuale di Azure specificata. Se è richiesto l'accesso Pubblico (Internet) alla VM di SQL Server, assicurarsi di seguire le altre procedure consigliate in questo argomento per ridurre la superficie di attacco.

Le opzioni selezionate nel portale usano le regole di sicurezza in ingresso nel Gruppo di sicurezza di rete (NSG) di VM per consentire o negare il traffico di rete alla macchina virtuale. È possibile modificare o creare nuove regole NSG in ingresso per consentire il traffico verso la porta SQL Server (porta predefinita 1433). È anche possibile specificare indirizzi IP specifici che sono autorizzati a comunicare tramite questa porta.

Regole dei gruppi di sicurezza di rete

Oltre alle regole NSG per limitare il traffico di rete, è anche possibile usare Windows Firewall nella macchina virtuale.

Se si usano gli endpoint con un modello di distribuzione classico, rimuovere tutti gli endpoint nella macchina virtuale che non vengono usati. Per istruzioni sull'uso di ACL con gli endpoint, vedere Gestire l'elenco di controllo di accesso su un endpoint. Questa operazione non è necessaria per le VM che usano Resource Manager.

Occorre infine considerare di abilitare le connessioni crittografate per l'istanza del motore di database SQL Server nella macchina virtuale di Azure. Configurare l'istanza di SQL server con un certificato firmato. Per altre informazioni, vedere Abilitazione di connessioni crittografate al Motore di database e Sintassi della stringa di connessione.

Usare una porta diversa da quella predefinita

Per impostazione predefinita, SQL Server è in ascolto sulla porta 1433 che tutti conoscono. Per una maggiore sicurezza, configurare SQL Server per l'ascolto su una porta non predefinita, ad esempio la porta 1401. Se si esegue il provisioning di un'immagine della raccolta di SQL Server nel portale di Azure, è possibile specificare questa porta nel pannello Impostazioni di SQL Server.

Per configurare questa porta dopo il provisioning, sono disponibili due opzioni:

  • Per le macchine virtuali di Resource Manager, è possibile selezionare Configurazione di SQL Server dal pannello di panoramica della macchina virtuale. Da qui è possibile modificare la porta.

    Modificare la porta TCP nel portale

  • Per le VM classiche o per le VM di SQL Server di cui non è stato eseguito il provisioning con il portale, è possibile configurare la porta manualmente tramite connessione remota alla VM. Per i passaggi di configurazione, vedere Configure a Server to Listen on a Specific TCP Port (Configurare un server per l'ascolto su una porta TCP specifica). Se si usa questa tecnica manuale, è necessario anche aggiungere una regola di Windows Firewall per consentire il traffico in ingresso su tale porta TCP.

Importante

Specificare una porta non predefinita è una buona idea se la porta di SQL Server è aperta a connessioni Internet pubbliche.

Quando SQL Server è in ascolto su una porta non predefinita, è necessario specificare la porta quando si esegue la connessione. Si consideri ad esempio uno scenario in cui l'indirizzo IP del server è 13.55.255.255 e SQL Server è in ascolto sulla porta 1401. Per connettersi a SQL Server, è necessario specificare 13.55.255.255,1401 nella stringa di connessione.

Gestisci account

È necessario fare in modo che gli utenti malintenzionati non indovinino facilmente i nomi di account o le password. Usare a tal fine i suggerimenti seguenti:

  • Creare un account amministratore locale univoco non denominato Amministratore.

  • Usare password complesse per tutti gli account. Per altre informazioni sulla creazione di password complesse, vedere l'articolo Crea una password complessa.

  • Per impostazione predefinita, in Azure viene selezionata l'autenticazione di Windows durante l'installazione della macchina virtuale SQL Server. L'account di accesso SA è pertanto disabilitato e viene assegnata una password tramite il programma di installazione. È consigliabile non usare o abilitare l'account di accesso SA. Se è necessario avere un account di accesso SQL, usare una delle strategie seguenti:

    • Creare un account SQL con un nome univoco che abbia appartenenza sysadmin. È possibile creare questo account dal portale attivando Autenticazione di SQL Server durante il provisioning.

      Suggerimento

      Se non si attiva l'autenticazione di SQL Server durante il provisioning, è necessario modificare manualmente la modalità di autenticazione in Autenticazione di SQL Server e di Windows. Per altre informazioni, vedere Modifica della modalità di autenticazione del server.

    • Se è necessario usare l'account di accesso SA, attivarlo dopo il provisioning e assegnare una nuova password complessa.

Seguire le procedure consigliate locali

Oltre alle procedure descritte in questo argomento, è consigliabile rivedere e implementare le procedure di sicurezza locali tradizionali, ove applicabili. Per altre informazioni, vedere Considerazioni sulla sicurezza per un'installazione di SQL Server.

Passaggi successivi

Se si è interessati anche alle procedure consigliate relative alle prestazioni, vedere Procedure consigliate per le prestazioni per SQL Server in Macchine virtuali di Azure.

Per altri argomenti relativi all'esecuzione di SQL Server nelle macchine virtuali di Azure, vedere Panoramica di SQL Server in Macchine virtuali di Azure.