Funzionalità di sicurezza del database SQL di Azure

Il database SQL di Azure fornisce un servizio di database relazionale in Azure. Per proteggere i dati dei clienti e fornire le funzionalità avanzate di sicurezza che i clienti richiedono da un servizio di database relazionale, il database SQL include set specifici di funzionalità di sicurezza. Queste funzionalità si basano sui controlli ereditati da Azure.

Funzionalità di sicurezza

Utilizzo del protocollo TDS

Il database SQL di Azure supporta solo il protocollo TDS, in base al quale il database deve essere accessibile solo tramite la porta TCP/1433 predefinita.

Firewall del database SQL di Azure

Per proteggere i dati dei clienti, Azure SQL Database include una funzionalità del firewall, che per impostazione predefinita impedisce l'accesso a tutti i database SQL.

firewall del database Azure SQL

Il firewall del gateway consente di limitare gli indirizzi consentendo ai clienti un controllo granulare per specificare intervalli di indirizzi IP accettabili. Il firewall concede l'accesso in base all'indirizzo IP di origine di ogni richiesta.

I clienti possono eseguire la configurazione del firewall tramite un portale di gestione o a livello di codice usando l'API REST di gestione del database SQL di Azure. Per impostazione predefinita, il firewall del gateway di database Azure SQL impedisce l'accesso TDS del cliente a Azure SQL Database. Il clienti devono configurare l'accesso mediante l'elenco di controllo di accesso (ACL) per consentire connessioni al database SQL di Azure per numeri di porta, protocolli e indirizzi Internet di origine e destinazione.

DoSGuard

DosGuard, un servizio gateway database SQL, riduce gli attacchi Denial of Service (DoS). DoSGuard tiene traccia in modo attivo degli accessi non riusciti dagli indirizzi IP. Se sono presenti più account di accesso non riusciti da un indirizzo IP entro un periodo di tempo, l'indirizzo IP viene bloccato dall'accesso a qualsiasi risorsa nel servizio per un periodo di tempo predefinito.

Inoltre, il gateway del database SQL di Azure esegue:

  • Negoziazioni sicure di funzionalità di canale per implementare connessioni TDS FIPS 140-2 crittografate convalidate durante la connessione ai server di database.
  • Ispezione di pacchetti TDS con stato durante l'accettazione di connessioni dai client. Il gateway convalida le informazioni di connessione. Il gateway passa i pacchetti TDS al server fisico appropriato in base al nome del database specificato nella stringa di connessione.

Il principio generale per la sicurezza di rete dell'offerta di database SQL di Azure è quello di consentire solo le connessioni e le comunicazioni necessarie a garantire il funzionamento del servizio. Tutte le altre porte, le connessioni e i protocolli vengono bloccati per impostazione predefinita. VLAN e ACL vengono usati per limitare le comunicazioni di rete per numeri di porta, protocolli, reti di origine e destinazione.

I meccanismi approvati per implementare ACL basati su rete includono gli ACL su router e i servizi di bilanciamento del carico. Questi meccanismi sono gestiti dalla rete di Azure, dal firewall della macchina virtuale guest Azure SQL e dalle regole del firewall del gateway di database configurate dal cliente.

Separazione dei dati e isolamento dei clienti

La rete di produzione di Azure è strutturata in modo che i componenti di sistema accessibili pubblicamente siano separati dalle risorse interne. Esistono limiti fisici e logici tra i server Web che forniscono accesso al portale pubblico di Azure e l'infrastruttura virtuale di Azure sottostante, in cui si trovano le istanze delle applicazioni e i dati dei clienti.

Tutte le informazioni accessibili pubblicamente vengono gestite all'interno della rete di produzione di Azure. La rete di produzione è:

  • Oggetto di autenticazione a due fattori e meccanismi di protezione dei limiti
  • Usa il set di funzionalità di firewall e sicurezza descritto nella sezione precedente
  • Usa le funzioni di isolamento dei dati annotate nelle sezioni successive

Sistemi non autorizzati e isolamento dei controller di infrastruttura

Poiché il controller di infrastruttura è l'agente di orchestrazione centrale dell'infrastruttura di Azure, vengono applicati controlli significativi per mitigare le minacce, specialmente dagli agenti dell'infrastruttura nelle applicazioni dei clienti. Il fc non riconosce alcun hardware le cui informazioni sul dispositivo (ad esempio, l'indirizzo MAC) non vengono precaricati all'interno del fc. I server DHCP nel fc hanno configurato elenchi di indirizzi MAC dei nodi che sono disposti ad avviare. Anche se i sistemi non autorizzati sono connessi, non sono incorporati nell'inventario dell'infrastruttura e pertanto non sono connessi o autorizzati a comunicare con qualsiasi sistema all'interno dell'inventario dell'infrastruttura. In questo modo si riduce il rischio di sistemi non autorizzati che comunicano con il controller di infrastruttura e ottengono l'accesso alla VLAN e ad Azure.

Isolamento VLAN

La rete di produzione di Azure è separata in modo logico in tre VLAN primarie:

  • VLAN principale: crea l'interconnessione tra i nodi non attendibili del cliente.
  • VLAN del controller di infrastruttura: contiene controller di infrastruttura attendibili e sistemi di supporto.
  • VLAN dei dispositivi: contiene dispositivi di rete attendibili e altri dispositivi dell'infrastruttura.

Filtri dei pacchetti

I firewall software e IPFilter implementati nel sistema operativo radice e guest dei nodi applicano restrizioni di connettività e impediscono il traffico non autorizzato tra le VM.

Hypervisor, sistema operativo radice e VM guest

L'hypervisor e il sistema operativo radice gestisce l'isolamento del sistema operativo radice dalle macchine virtuali guest e dalle macchine virtuali guest tra loro.

Tipi di regole nei firewall

Una regola viene definita come mostrato di seguito.

{Src IP, porta Src, IP di destinazione, porta di destinazione, protocollo di destinazione, in/out, timeout del flusso con stato/senza stato}.

I pacchetti SYN (Synchronous idle character) sono consentiti in entrata e in uscita solo se autorizzati da una regola. Per TCP, Azure usa regole senza stato il cui principio è che sono consentiti solo i pacchetti non SYN in entrata e in uscita dalla VM. La sede di sicurezza è che qualsiasi stack host è resiliente di ignorare un non SYN se non è stato visto in precedenza un pacchetto SYN. Il protocollo TCP stesso è con stato e, in combinazione con la regola basata su SYN senza stato, adotta il comportamento generale di un'implementazione con stato.

Per UDP (User Datagram Protocol), Azure usa una regola con stato. Ogni volta che un pacchetto UDP corrisponde a una regola, viene creato un flusso inverso nella direzione opposta. Questo flusso ha un timeout integrato.

I clienti sono tenuti a configurare i propri firewall oltre a quanto fornito da Azure. In questo caso, i clienti possono definire le regole per il traffico in ingresso e in uscita.

Gestione della configurazione di produzione

Configurazioni standard sicure vengono gestite dai rispettivi team delle operazioni in Azure e nel database SQL di Azure. Tutte le modifiche di configurazione apportate ai sistemi di produzione sono documentate e monitorate tramite un sistema centrale. Le modifiche hardware e software vengono monitorate tramite il sistema centrale. Le modifiche di rete relative agli ACL vengono monitorate tramite il relativo servizio di gestione.

Tutte le modifiche di configurazione ad Azure vengono sviluppate e testate nell'ambiente di gestione temporanea e vengono quindi distribuite nell'ambiente di produzione. Le build del software vengono revisionate nell'ambito dei test. I controlli sulla sicurezza e sulla privacy vengono esaminati nell'ambito dei criteri di immissione degli elenchi di controllo. Le modifiche vengono distribuite a intervalli pianificati dal rispettivo team di distribuzione. Le versioni vengono esaminate e firmate dal rispettivo personale del team di distribuzione prima di essere distribuite nell'ambiente di produzione.

Le modifiche vengono monitorate per garantire un esito positivo. In uno scenario con errori, viene ripristinato lo stato precedente della modifica o viene distribuito un hotfix per gestire il problema con l'approvazione del personale designato. Source Depot, Git, TFS, Master Data Services (MDS), strumenti di esecuzione, Azure Security Monitoring, il controller di infrastruttura e la piattaforma WinFabric vengono usati per gestire, applicare e verificare a livello centrale le impostazioni di configurazione nell’ambiente virtuale di Azure.

In modo analogo, le modifiche apportate ad hardware e rete includono passaggi di convalida per valutarne la conformità ai requisiti di compilazione. Le versioni vengono esaminate e autorizzate da un comitato consultivo per le modifiche (CAB) dei rispettivi gruppi nello stack.

Passaggi successivi

Per altre informazioni sulle operazioni eseguite da Microsoft per proteggere l'infrastruttura di Azure, vedere: