12

Je cherche des conseils sur le cryptage des champs (et/ou des tables si possible) pour MySQL. Je vais me contenter d'un tutoriel décent, mais j'aimerais vraiment des conseils spécifiques sur la gestion de la transition d'un schéma non crypté à un utilisant des champs cryptés. Merci!Meilleures pratiques pour le chiffrement MySQL?

Répondre

8

Avec AES_ENCRYPT pour la champs, si vous stockez des informations sensibles, mieux enable SSL sur le fil aussi. Considérez également la séparation de réseau (vlan) des machines de base de données sensibles et d'autres pratiques de sécurité standard. Le stockage des clés est important (où se trouve cette clé partagée, certainement pas sur le (s) serveur (s) web!) Et son impact sur les index/requêtes puisque la recherche ou la jonction de données de table ne sera plus aussi simple qu'autrefois.

+0

Merci, quelques bonnes considérations ici –

3

Il existe (au moins) deux approches actuellement. Vous pouvez chiffrer les données stockées dans vos tableaux (en utilisant EAS/fonctions DES par exemple http://dev.mysql.com/doc/refman/5.1/en/encryption-functions.html)

Ou vous pouvez utiliser une partition de disque dur crypté pour stocker vos dossiers de données (par exemple avec TrueCrypt)

1

Pensez à ce que vous essayez d'accomplir avec le cryptage? Il n'y a malheureusement pas de solution sécurisée simple. N'oubliez pas que la clé que vous utilisez pour le cryptage peut être récupérée à partir de votre code. Du point de vue des hackers, contourner ce cryptage est assez facile. Vous devez penser à votre architecture et infra aussi.

+2

Dans le cas d'une webapp le code peut ne pas être accessible, en fonction de l'architecture. Un attacher devrait compromettre à la fois la base de données et le serveur/conteneur web. – edoloughlin

3

Quelle est la valeur du chiffrement de la base de données au niveau du champ? Est-ce ce que vous voulez vraiment, ou sera-t-il suffisant pour crypter au niveau de l'OS ou du SAN? Avez-vous l'intention de passer les clés ou de garder la même clé de chiffrement pour l'éternité? Le chiffrement va-t-il casser les index, les références ou les types de champs? Comment allez-vous partager la clé de chiffrement à travers un cluster de base de données?

Je ne soulève ces questions parce que le cryptage de base de données est généralement la gestion quelque chose veut, mais personne ne peut vraiment expliquer la valeur ajoutée ou comment il sera mis en œuvre ...

+2

la valeur ajoutée est la conformité HIPAA, au moins pour certains. –

0

Tout d'abord, seules les données le cryptage n'est pas la réponse.

Vous devez savoir et contrôler "Qui peut accéder et accéder aux données".

Bien que vous chiffriez des données, l'attaquant peut obtenir les données cryptées. Pour l'empêcher, vous devez contrôler le privilège ou l'autorité d'accès. En outre, vous devez savoir qui a accédé aux données cryptées. Parce que ces jours-ci, les données peuvent être volées non seulement par les utilisateurs externes, mais aussi par les utilisateurs internes.

Vous devez crypter les données, contrôler les privilèges et vérifier qui a accédé.

En ces jours, ces trois (3) technologies ont été développées dans chaque sens. La plupart des entreprises ont acheté chaque solution.

Mais pour un utilisateur personnel, il est difficile de l'acheter et de construire lui-même cet environnement. En outre, la fonction de chiffrement de MySQL ne fournit pas ces fonctions.

Je voudrais que vous passiez en revue ce link qui fournit ces trois (3) fonctions. Dans mon expérience, il peut fournir une certaine sécurité. (Je suis CISO de SME.