
Problemi e Sfide della Sicurezza del Database
Al momento attuale, è difficile immaginare un’organizzazione che non utilizzi database nelle proprie attività quotidiane. Il database è uno dei beni più significativi e preziosi per qualsiasi azienda. Poiché il database può contenere informazioni molto sensibili o confidenziali, la protezione del database è la principale attività del team di supporto al database poiché qualsiasi perdita di informazioni può essere disastrosa.
Esistono diversi metodi di base comunemente utilizzati per rubare dati, ossia:
- Direttamente dai file del database
- Dai file di backup del database
- Intercettando il traffico del database
- Utilizzando accessi non autorizzati
- Vulnerabilità nel nucleo dell’RDBMS
Purtroppo, è impossibile escludere la possibilità di perdita di dati, ma se si seguono semplici regole, si può rendere questo processo molto difficile. Queste regole sono:
- Limitare l’accesso al server del database e al server di backup del database. Non si tratta solo di limitare l’accesso remoto al server del database, ma di limitare anche l’accesso fisico.
- Memorizzare i file del database su un file system criptato. Questo può aiutare nel caso in cui il supporto di memorizzazione fisico venga rubato, poiché sarà molto difficile ottenere dati da un file system criptato.
- Se il database supporta la crittografia dei file, abilitarla. Nel caso in cui i file del database siano stati copiati, questi file non possono essere utilizzati senza essere decriptati.
- Memorizzare i backup del database su un file system criptato. Se i file di backup vengono trasferiti a un altro server, assicurarsi che il traffico di rete sia criptato.
- Se il database supporta la crittografia del backup, attivarla; in caso contrario, utilizzare soluzioni di terze parti per criptare i file di backup.
- Limitare l’accesso alla rete del database. L’accesso dovrebbe essere consentito solo a quelle macchine che comunicano con questo database. Se ad esempio solo il server dell’applicazione utilizza il database, sarebbe una buona idea consentire l’accesso solo dal server dell’applicazione.
- Molte basi di dati supportano la crittografia del traffico tra la macchina client e RDBMS. Se questo è il caso, attivarla.
- Gli utenti del database devono avere il minimo insieme di privilegi necessario. Cercare di evitare di concedere il ruolo amministrativo agli utenti dell’applicazione. Eseguire script su base regolare, che tracciano gli utenti con privilegi amministrativi per future analisi.
- Utilizzando i profili del database, limitare la possibilità di impostare password deboli per l’utente. Configurare il profilo del database in modo che richieda agli utenti di cambiare periodicamente la propria password di accesso.
- Analizzare i log di accesso al database. Analizzare non solo i tentativi di accesso falliti ma anche quelli riusciti. Ci possono essere situazioni in cui un utente accede dal suo posto di lavoro con le credenziali di un altro utente.
- L’applicazione deve essere costruita in modo da memorizzare tutti i dati sensibili in formato criptato. Se un’applicazione memorizza le password degli utenti in testo normale e l’utente, per qualche motivo, accede a questa tabella, ciò può rappresentare un grosso problema per la sicurezza del database.
- Come qualsiasi software, i database possono avere vulnerabilità di sicurezza che permettono ai dati di bypassare le regole specifiche. Aggiornare periodicamente il software del database. Tracciare le patch di sicurezza e applicarle immediatamente non appena vengono pubblicate.
Seguendo queste linee guida, si può proteggere il proprio database e ridurre significativamente le possibilità di perdere o rubare dati.