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

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

巴扎黑
巴扎黑original
2017-04-28 16:55:001542parcourir

Parlez de la façon d'améliorer la sécurité de la base de données MySQL du point de vue des autorisations des utilisateurs

Comme le dit le proverbe, la connaissance, c'est le pouvoir. Veuillez vous assurer de bien comprendre le système d'autorisations de MySQL et les conséquences de l'octroi d'autorisations spécifiques. Veuillez ne pas accorder d'autorisations inutiles à aucun utilisateur. Le tableau Garnt doit être consulté pour le confirmer.

Spécialement, si cela n'est pas absolument nécessaire, veuillez n'accorder des autorisations telles que PROCESS, FILE, SHUTDOWN et RELOAD à aucun utilisateur non-administrateur. L'autorisation PROCESS vous permet d'observer ce que font et tapent les autres utilisateurs, y compris les mots de passe qu'ils ont saisis. L'autorisation FILE peut être utilisée pour lire et écrire des fichiers dans le système d'exploitation, par exemple, y compris /etc/password dans les systèmes UNIX.

Les autorisations GRANT doivent également être accordées très soigneusement car elles permettent aux utilisateurs de partager leurs autorisations avec d'autres utilisateurs.

Veuillez vous assurer que lors de la création d'utilisateurs, vous leur accordez uniquement l'accès à la base de données à partir de l'hôte auquel ils sont actuellement connectés. Il y a un utilisateur nommé jane@localhost, ce qui est bien, mais il est très courant qu'une simple jane soit connectée de n'importe où - cette jane n'est peut-être pas celle à laquelle vous pensez. Pour la même raison, nous devrions éviter d’utiliser des caractères génériques dans les noms d’hôtes.

Les performances de sécurité peuvent être améliorées en utilisant des adresses IP au lieu de noms de domaine dans la table des hôtes. Cela peut éviter les problèmes d'erreur ou les pirates informatiques dans l'emplacement DNS. Il peut être amélioré en démarrant le démon MySQL avec l'option --skip-name-resolve, ce qui signifie que les valeurs de toutes les colonnes hôte doivent être des adresses IP ou localhost.

De plus, les utilisateurs non-administrateurs ne doivent pas pouvoir accéder au programme mysqladmin sur le serveur Web. Comme cela est exécuté à partir de la ligne de commande, il s'agit d'un problème avec les autorisations du système d'exploitation.


Restreindre l'accès à distance au serveur MySQL

Pour la plupart des utilisateurs, il n'est pas nécessaire de passer par Non sécurisé Un réseau ouvert pour accéder au serveur MySQL. Vous pouvez limiter les hôtes en configurant des pare-feu ou du matériel, ou en forçant MySQL à écouter uniquement localhost. De plus, un tunnel SSH est requis pour l'accès à distance.

Si vous souhaitez empêcher les utilisateurs d'établir des connexions uniquement à partir de localhost, vous devez ajouter bind-address=127.0.0.1 dans le fichier de configuration.

[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 (4)


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