12

Sto cercando indicazioni per crittografare campi (e/o tabelle se possibile) per MySQL. Mi accontenterò di un tutorial decente, ma mi piacerebbe davvero suggerimenti specifici sulla gestione della transizione da uno schema non criptato a uno che utilizza campi crittografati. Grazie!Best practice per la crittografia MySQL?

risposta

8

Insieme con AES_ENCRYPT per la campi, se si memorizzano informazioni sensibili, meglio enable SSL anche sul filo. Considerare anche la separazione di rete (vlan) delle macchine sensibili per database e altre pratiche di sicurezza standard. La memorizzazione delle chiavi è importante (dove è la chiacchierata di chiavi condivise, sicuramente non sui server Web!) E considera l'impatto sugli indici/query poiché la ricerca o l'unione dei dati della tabella non sarà semplice come una volta.

+0

Grazie, alcune buone considerazioni qui –

3

Ci sono (almeno) due approcci in realtà. È possibile crittografare i dati memorizzati nelle tabelle (usando EAS/funzioni DES ad esempio http://dev.mysql.com/doc/refman/5.1/en/encryption-functions.html)

oppure è possibile utilizzare criptato partizione del disco rigido per memorizzare le cartelle di dati (per esempio con TrueCrypt)

1

Pensa a cosa cerchi di ottenere con la crittografia? Sfortunatamente non esiste una soluzione sicura semplice.

Ricordare che la chiave che si sta utilizzando per la crittografia può essere recuperata dal proprio codice. Quindi, dal punto di vista degli hacker, aggirare la crittografia è abbastanza semplice. Devi pensare anche alla tua architettura e ai tuoi infra.

+2

Nel caso di una webapp il codice potrebbe non essere accessibile, a seconda dell'architettura. Un attaccante dovrebbe compromettere sia il database che il server/contenitore web. – edoloughlin

3

Qual è il valore della crittografia del database a livello di campo? È questo ciò che desideri veramente o sarà sufficiente crittografarlo a livello di sistema operativo o SAN? Hai in programma di ribaltare le chiavi o semplicemente mantenere la stessa chiave di crittografia per l'eternità? Indica indici, riferimenti o tipi di campi di interruzione della crittografia? Come condividi la chiave di crittografia in un cluster di database?

Sono solo sollevando questi punti perché di crittografia del database è di solito qualcosa di gestione vuole, ma nessuno davvero in grado di spiegare il valore aggiunto o come sarà attuato ...

+2

il valore aggiunto è la conformità HIPAA, almeno per alcuni. –

0

Prima di tutto, solo i dati la crittografia non è la risposta.

È necessario conoscere e controllare "Chi può accedere e accedere ai dati".

Sebbene sia possibile crittografare i dati, l'utente malintenzionato può ottenere i dati crittografati. Per impedirlo, è necessario controllare il privilegio o l'autorizzazione di accesso. Inoltre, dovresti sapere chi ha avuto accesso ai dati crittografati. Perché in questi giorni i dati possono essere rubati non solo da utenti esterni, ma anche da utenti interni.

È necessario crittografare i dati, controllare i privilegi e controllare chi ha avuto accesso.

In quei giorni, queste tre (3) tecnologie sono state sviluppate in ogni modo. La maggior parte delle aziende ha acquistato ciascuna soluzione.

Ma per l'utente personale, è difficile acquistarlo e creare l'ambiente stesso. Inoltre, la funzione di crittografia di MySQL non fornisce tali funzioni.

Vorrei rivedere questo link che fornisce queste tre (3) funzioni.

Secondo la mia esperienza, può fornire una certa sicurezza. (Sono CISO delle PMI.)