Eseguire la migrazione di MySQL in locale a Database di Azure per MySQL: Sicurezza
Garantire una sicurezza affidabile è fondamentale quando si esegue la migrazione di database MySQL da ambienti locali a Database di Azure per MySQL. Questo articolo illustra le considerazioni critiche sulla sicurezza e le procedure consigliate per proteggere i dati durante la migrazione. Usando le funzionalità di sicurezza complete di Azure, ad esempio advanced threat protection, crittografia e controlli di accesso, è possibile proteggere i database da potenziali vulnerabilità e minacce. Questa guida fornisce le informazioni dettagliate necessarie per implementare una strategia di migrazione sicura, risolvendo aspetti critici come la crittografia dei dati, la sicurezza di rete e la conformità. Sia che si desideri migliorare la protezione dei dati, soddisfare i requisiti normativi o garantire l'integrità dei database, questo articolo fornisce le conoscenze necessarie per ottenere una migrazione sicura e corretta.
Prerequisiti
Panoramica
Il passaggio a un servizio basato sul cloud non significa che l'intero Internet abbia sempre accesso. Azure offre una sicurezza ottimale di classe che garantisce che i carichi di lavoro dei dati siano continuamente protetti da attori malintenzionati e programmi rossi.
Autenticazione
Database di Azure per MySQL supporta i meccanismi di autenticazione di base per la connettività utente MySQL, ma supporta anche l'integrazione con Microsoft Entra ID. Questa integrazione di sicurezza funziona eseguendo token che agiscono come password durante il processo di accesso di MySQL. La configurazione dell'integrazione di Active Directory è incredibilmente semplice da eseguire e supporta non solo gli utenti, ma anche i gruppi di Microsoft Entra.
Questa stretta integrazione consente agli amministratori e alle applicazioni di sfruttare le funzionalità di sicurezza avanzate di Azure Identity Protection per risolvere eventuali problemi di identità.
Nota
Questa funzionalità di sicurezza è supportata da MySQL 5.7 e versioni successive. La maggior parte dei driver dell'applicazione è supportata purché sia disponibile l'opzione clear-text
.
Protezione dalle minacce
Se un utente o le credenziali dell'applicazione sono compromesse, è probabile che i log riflettano eventuali tentativi di accesso non riusciti. Le credenziali compromesse possono consentire agli attori malintenzionati di accedere e scaricare i dati. Azure Threat Protection può controllare le anomalie negli account di accesso (ad esempio posizioni insolite, rari utenti o attacchi di forza bruta) e altre attività sospette. Gli amministratori possono ricevere una notifica nel caso in cui qualcosa non look
sia corretto.
Registrazione di controllo
MySQL offre una funzionalità affidabile del log di controllo predefinito. Per impostazione predefinita, questa funzionalità del log di controllo è disabilitata in Database di Azure per MySQL. La registrazione a livello di server può essere abilitata modificando il parametro del audit\_log\_enabled
server. Dopo l'abilitazione, è possibile accedere ai log tramite Monitoraggio di Azure e Log Analytics attivando la registrazione diagnostica.
Per eseguire una query per gli eventi correlati alla connessione utente, eseguire la query KQL seguente:
AzureDiagnostics
| where ResourceProvider =="MICROSOFT.DBFORMYSQL"
| where Category == 'MySqlAuditLogs' and event\_class\_s == "connection\_log"
| project TimeGenerated, LogicalServerName\_s, event\_class\_s, event\_subclass\_s
, event\_time\_t, user\_s , ip\_s , sql\_text\_s
| order by TimeGenerated asc
Crittografia
I dati nell'istanza di MySQL vengono crittografati inattivi per impostazione predefinita. Tutti i backup automatizzati vengono crittografati anche per evitare potenziali perdite di dati a parti non autorizzate. Questa crittografia viene in genere eseguita con una chiave creata al momento della creazione dell'istanza. Oltre a questa chiave di crittografia predefinita, gli amministratori hanno la possibilità di usare la propria chiave (BYOK).
Quando si usa una strategia chiave gestita dal cliente, è fondamentale comprendere le responsabilità relative alla gestione del ciclo di vita chiave. Le chiavi del cliente vengono archiviate in un insieme di credenziali delle chiavi di Azure e quindi accessibili tramite criteri. È fondamentale seguire tutte le raccomandazioni per la gestione delle chiavi, la perdita della chiave di crittografia equivale alla perdita di accesso ai dati.
Oltre a una chiave gestita dal cliente, usare chiavi a livello di servizio per aggiungere la doppia crittografia. L'implementazione di questa funzionalità può fornire dati inattivi altamente crittografati, ma comporta penali per le prestazioni di crittografia. I test devono essere eseguiti.
I dati possono essere crittografati durante il transito tramite SSL/TLS. Come illustrato in precedenza, potrebbe essere necessario modificare le applicazioni per supportare questa modifica e configurare anche le impostazioni di convalida TLS appropriate.
Firewall
Dopo aver configurato gli utenti e aver crittografato i dati inattivi, il team di migrazione deve esaminare i flussi di dati di rete. Database di Azure per MySQL fornisce diversi meccanismi per proteggere i livelli di rete limitando l'accesso solo a utenti, applicazioni e dispositivi autorizzati.
La difesa iniziale per la protezione dell'istanza di MySQL consiste nell'implementare regole del firewall. Gli indirizzi IP possono essere limitati solo a posizioni valide quando si accede all'istanza tramite indirizzi IP interni o esterni. Se l'istanza di MySQL è destinata solo alle applicazioni interne, limitare l'accesso pubblico.
Quando si sposta un'applicazione in Azure insieme al carico di lavoro MySQL, è probabile che siano state configurate più reti virtuali in un modello hub-spoke che richiede la configurazione del peering Rete virtuale.
Collegamento privato
Per limitare l'accesso al Database di Azure per MySQL alle risorse interne di Azure, abilitare collegamento privato. collegamento privato garantisce che all'istanza di MySQL venga assegnato un indirizzo IP privato anziché un indirizzo IP pubblico.
Nota
Esistono molte altre considerazioni di base sulla rete di Azure che devono essere prese in considerazione che non sono l'obiettivo di questa guida.
Esaminare un set di potenziali attività della baseline di sicurezza che possono essere implementate in tutte le risorse di Azure. Non tutti gli elementi descritti nel collegamento di riferimento si applicano ai carichi di lavoro di dati specifici o alle risorse di Azure.
Elenco di controllo relativo alla sicurezza
Utilizzare l'autenticazione Microsoft Entra, se possibile.
Abilitare Advanced Thread Protection.
Abilitare tutte le funzionalità di controllo.
Si consideri una strategia BYOK (Bring Your Own Key).
Implementare le regole del firewall.
Usare endpoint privati per i carichi di lavoro che non viaggiano su Internet.