Maison  >  Article  >  base de données  >  Améliorer la sécurité de la base de données MySQL (4)

Améliorer la sécurité de la base de données MySQL (4)

巴扎黑
巴扎黑original
2017-04-28 16:54:511502parcourir

Expliquez comment améliorer la sécurité de la base de données MySQL d'un point de vue réseau

Lors de la connexion d'une base de données MySQL au réseau, certains problèmes de sécurité particuliers surviennent.

Créer un utilisateur spécifiquement pour les connexions réseau n'est pas une mauvaise idée. Cela leur accordera les autorisations minimales nécessaires, n'accordant ainsi pas à l'utilisateur des autorisations telles que les autorisations DROP, ALTER ou CREATE. Nous pouvons accorder l'autorisation SELECT uniquement dans la table des types et l'autorisation INSERT uniquement dans la table des commandes. De plus, ceci est un exemple de la façon d’appliquer le principe du moindre privilège.

Astuce : dans le contenu précédent, nous avons parlé des fonctions addlashes() et stripslashes() de PHP pour supprimer tous les caractères susceptibles de poser des problèmes. Il est très important de se rappeler de le faire et d'effectuer un nettoyage général des données avant d'envoyer des données à la base de données MySQL. Vous vous souvenez peut-être que nous avons utilisé la fonction doubleval() pour vérifier si les données numériques sont réellement des données numériques. Une erreur que nous faisons souvent est de l'oublier - les gens se souviennent souvent d'utiliser addlashes() mais oublient de vérifier les données numériques.

Toutes les données des utilisateurs doivent être vérifiées fréquemment. Même si un formulaire HTML est constitué de cases d'option et de boutons, quelqu'un peut toujours accéder au script en essayant de modifier l'URL. De plus, la taille des données utilisateur doit être vérifiée.

Si le mot de passe ou les données confidentielles saisies par l'utilisateur doivent être enregistrés dans la base de données, veuillez noter que s'il ne s'agit pas de SSL (Secure Sockets Layer, socket layer crypté), ces données seront transmises depuis le navigateur. au navigateur sur un serveur de texte brut. Concernant l'utilisation du SSL, nous en reparlerons plus tard.


Supprimer les composants à risque

La configuration par défaut de la base de données MySQL contient des composants inutiles, vous pouvez envisager les suggestions suivantes :

1. Désactivez la commande LOAD DATA LOCAL INFILE

Cette commande permet aux utilisateurs de lire des fichiers locaux et même d'accéder à des fichiers sur d'autres systèmes d'exploitation, ce qui peut aider les attaquants à collecter des informations importantes et exploiter les vulnérabilités des applications pour pirater votre base de données. Ce que vous devez faire est d'insérer set-variable=local-infile=0 dans le fichier my.cnf de la base de données MySQL pour désactiver cette directive.

2. Supprimez la base de données de test

Il existe une base de données "test" par défaut à des fins de test. Étant donné que cette base de données présente un risque pour la sécurité et est accessible aux utilisateurs anonymes, vous devez utiliser la commande mysql>

3. Supprimez le fichier historique

Le serveur MySQL possède un fichier historique, qui peut vous aider à trouver le problème en cas d'erreur d'installation. Les fichiers d'historique contiennent des informations sensibles, telles que des mots de passe, si ces informations sont obtenues par un attaquant, cela entraînera d'énormes risques de sécurité pour votre base de données. Une fois l'installation réussie, le fichier historique n'est d'aucune utilité, vous pouvez donc utiliser la commande cat /dev/null > ~/.mysql_history pour supprimer le contenu du fichier.

[Recommandations associées]

Améliorer la sécurité de la base de données MySQL (1)

Améliorer la sécurité de la base de données MySQL (2)

Améliorer la sécurité de Sécurité de la base de données MySQL (3)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn