4 choses que vous ne devriez jamais stocker dans votre base de données
Feb 6, 2017
Les bases de données sont principalement utilisées pour soutenir diverses applications critiques pour l'entreprise. Elles peuvent stocker de nombreux types de données. Cependant, il y a certaines choses que vous ne devriez jamais conserver dans une base de données.
Ces techniques de base de la sécurité des bases de données aideront à protéger vos données :
Identifiants non sécurisés
C'est probablement une évidence, mais ce n'est pas une bonne idée de stocker des mots de passe en texte clair dans votre base de données.
Si un pirate obtient l'accès aux données de ce tableau, il ou elle dispose d'une liste de tous les mots de passe pour tous les utilisateurs. Ces mots de passe sont en texte clair, lisible, qui peut être utilisé pour se connecter au système comme si le pirate était cet utilisateur. Cela peut ne pas sembler grave : si le pirate a déjà accédé au système, pourquoi aurait-il ou elle besoin d'un identifiant ? Le problème est que les gens utilisent souvent le même mot de passe pour plusieurs comptes. Si un pirate a des noms d'utilisateur et des mots de passe, il ou elle peut utiliser ces informations sur d'autres sites. Alors, comment contourner ce problème ? Chiffrez le mot de passe avant de le stocker. Ce processus est souvent appelé « hachage » et peut également être combiné avec « salage ».
Le hachage consiste à appliquer un algorithme à un mot de passe saisi, ce qui le chiffre. Il peut ensuite être stocké dans la base de données. Pour vérifier ce mot de passe, le système peut effectuer le même processus de hachage sur la valeur saisie par l’utilisateur et comparer le résultat avec la valeur hachée précédemment enregistrée (le mot de passe correct). De nombreux langages de programmation disposent d’une fonctionnalité intégrée pour effectuer cette opération. En résumé : ne stockez jamais de mots de passe en texte clair dans une base de données.
Données en double
Stocker des données en double dans votre base de données n'est pas une bonne idée. Cela occupe plus d'espace dans votre base de données, ce qui peut représenter une quantité considérable si vous avez une grande base de données. De plus, cela peut poser des problèmes lorsque vous devez mettre à jour les données, car vous devez les mettre à jour à plusieurs endroits. La seule exception à cela est lorsque vous créez un entrepôt de données. Ces types de bases de données sont optimisés pour des requêtes rapides, plutôt que pour des mises à jour, et contiennent généralement des données en double.
L'un des avantages de l'utilisation d'une base de données relationnelle pour stocker des données est la capacité de stocker des données dans plusieurs tables, chaque table représentant une entité, qui est ensuite liée aux autres. Cela est désigné par le terme de « normalisation ». Cela vous permet d'avoir une table unique pour chaque entité et d'utiliser des numéros d'identification (ou d'autres valeurs clés) pour créer des liens entre les tables.
Cela signifie qu'il est plus facile de mettre à jour les données si vous avez besoin de modifier certaines valeurs. Cela permet également d'économiser de l'espace et peut souvent améliorer les performances lors de la modification des données.
Des fichiers tels que des images
Les bases de données vous permettent de stocker des fichiers dans des tables de la base de données, telles que des images.
Maintenant, bien que vous puissiez créer des tables et des colonnes pour stocker des fichiers (comme le type de données BLOB d'Oracle), cela ne signifie pas que vous devriez le faire. Stocker un fichier dans une table de base de données signifie que vous devez utiliser la logique de base de données (et éventuellement la logique d'application) pour accéder au fichier. Cela augmente la taille de votre base de données et dégrade ses performances. Cela rend également les sauvegardes et la corruption des données plus difficiles à gérer. Une meilleure approche pour stocker des fichiers et des images consiste à utiliser les serveurs de fichiers. C'est à cela qu'ils sont destinés. Ce faisant, vous permettez un accès aux fichiers plus rapide, un accès plus facile aux métadonnées des fichiers, ainsi qu'une fonctionnalité de sauvegarde et de restauration plus aisée.
Données de carte de crédit
Enfin, vous ne devriez pas stocker les informations de carte de crédit dans votre base de données à moins que cela soit absolument nécessaire.
Cela inclut les noms des titulaires de carte de crédit, les numéros, les numéros CVV et les dates d'expiration. Il y a beaucoup trop de risques impliqués. Si un pirate accède aux données de carte de crédit de votre système, cela a un grand impact sur votre entreprise et vos clients. Vous devez également être audité externe pour vous assurer que vous respectez des normes strictes, à savoir PCI DSS, si vous stockez des numéros de carte de crédit. Cela crée plus de problèmes pour votre département informatique et signifie des dépenses supplémentaires. Une meilleure approche est d'utiliser une solution existante, telle que Authorize.net ou PayPal. Ces organisations ont déjà développé le logiciel, prouvé leur conformité et de nombreuses autres entreprises utilisent et font confiance à ces entreprises. Il est préférable d'éviter de stocker des données de carte de crédit à tout prix. Ce n'est pas la peine de prendre le risque, et d'autres entreprises le font mieux.
Partager sur
En savoir plus
À propos de l'auteur
Ben Brumm
Développeur de logiciels & Analyste d'affaires
Ben est développeur de logiciels et analyste d'affaires avec plus de 11 ans d'expérience. Basé à Melbourne, en Australie, il a travaillé avec des bases de données et SQL aussi bien pendant son emploi à temps plein que en tant que fondateur du site DatabaseStar.com où il enseigne des sujets sur les bases de données Oracle. Sa passion pour les logiciels et les bases de données a commencé lorsqu'il a commencé les cours d'informatique au lycée à la fin des années 1990 et n'a cessé de croître depuis.
En savoir plus sur ce sujet
Les cinq prochaines minutes de conformité : construire une sécurité des données axée sur l'identité à travers l'APAC
Lois sur la confidentialité des données par État : Différentes approches de la protection de la vie privée
Le Triangle CIA et son application dans le monde réel
Qu'est-ce que la gestion des documents électroniques ?
Expressions régulières pour débutants : Comment commencer à découvrir des données sensibles