GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Script mysql_secure_installation

Présentation

MySQL est un système de gestion de base de données relationnelle open source et fait partie de la célèbre pile LAMP. Le mysql_secure_installation script vous permet d'améliorer considérablement la sécurité du serveur MySQL.

Dans ce guide, vous apprendrez à sécuriser un serveur MySQL.

Prérequis

  • Un système Linux avec MySQL installé (vous utilisez un système d'exploitation différent ? Découvrez comment installer et configurer MySQL sur un serveur Windows, CentOS 7 ou CentOS 8).
  • Accès au terminal (Ctrl+Alt+T ).
  • Une connexion réseau.
  • Un compte avec des privilèges d'administrateur.

Commande mysql_secure_installation

Après l'installation, l'instance du serveur MySQL sur votre machine n'est pas sécurisée et susceptible d'être attaquée. mysql_secure_installation est un script shell développé pour sécuriser l'installation du serveur MySQL sur les systèmes Unix. Le script configure les paramètres de sécurité et vous permet de :

  • Définir un mot de passe pour les comptes root (voir comment réinitialiser ou modifier le mot de passe root MySQL)
  • Supprimez les comptes root accessibles depuis l'extérieur de l'hôte local.
  • Supprimez les comptes d'utilisateurs anonymes.
  • Supprimez la base de données de test, accessible aux utilisateurs anonymes.
  • Recharger les tables de privilèges utilisateur.

Le [option] Les arguments sont facultatifs et abordés dans la section suivante.

1. Exécutez le mysql_secure_installation script en utilisant la syntaxe suivante :

sudo mysql_secure_installation [option]

2. Saisissez votre mot de passe et appuyez sur Y pour configurer le VALIDATE PASSWORD composant qui vérifie si le nouveau mot de passe est suffisamment fort.

3. Ensuite, saisissez 0 , 1 , ou 2 en fonction de la force du mot de passe que vous souhaitez définir :

  • 0 - Faible . Le mot de passe est composé d'au moins 8 caractères.
  • 1 - Moyen . Le mot de passe est composé d'au moins 8 caractères (y compris des chiffres, des caractères mixtes et des caractères spéciaux).
  • 2 - Fort . Le mot de passe se compose d'au moins 8 caractères (y compris des caractères numériques, mixtes et spéciaux, et compare le mot de passe à un fichier de dictionnaire).

4. Une fois que vous avez spécifié la force requise, saisissez et ressaisissez le mot de passe.

5. Le programme évalue la force de votre mot de passe et demande une confirmation avec Y continuer.

6. Ensuite, vous devez répondre aux éléments de sécurité suivants :

  • Supprimer les utilisateurs anonymes ?
  • Interdire la connexion root à distance ?
  • Supprimer la base de données de test et y accéder ?
  • Recharger les tables de privilèges maintenant ?

Pour exécuter le script avec le paramètre par défaut, la réponse recommandée à toutes ces questions est Y .

Options mysql_secure_installation

Le mysql_secure_installation Le script accepte certaines options qui personnalisent les configurations de sécurité MySQL. Spécifiez les options dans la ligne de commande ou dans le [client] groupe du fichier d'options.

L'mysql_secure_installation le plus couramment utilisé les options sont --host et --port .

Par exemple, vous pouvez configurer MySQL pour autoriser les connexions IPv6 par les clients qui se connectent au serveur local en utilisant le port 3307. Pour ce faire, vous devez ajouter le ::1 l'adresse de l'hôte local et changez le port par défaut (3306) en 3307.

Par conséquent, lors de l'exécution du script d'installation, vous utiliserez la commande :

mysql_secure_installation --host=::1 --port=3307

Les autres options prises en charge incluent :

--basedir=dir Spécifiez le répertoire de base.
--print-defaults Imprime la liste des arguments du programme et quitte.
--no-defaults Empêche le script de lire les options par défaut à partir de n'importe quel fichier d'options.
--defaults-file=# Instruit le script de lire uniquement le fichier d'options spécifié # .
--defaults-extra-file=# Lit le fichier spécifié # après avoir lu les fichiers d'options habituels.
--defaults-group-suffix=str Lit les groupes d'options usuels, mais aussi les groupes avec les noms usuels et un str suffixe.
--help Affiche un message d'aide et quitte.
--host=host_name Se connecte au serveur MySQL sur l'hôte spécifié.
--no-defaults Empêche le script de lire les fichiers d'options (sauf .mylogin.cnf fichier).
--password Le script accepte cette option mais l'ignore toujours. Par conséquent, le script demande un mot de passe chaque fois qu'il est invoqué.
--port=# Spécifiez le numéro de port TCP/IP auquel se connecter.
--print-defaults Imprime le nom du programme et les options par défaut.
--protocol={#} Spécifier un protocole de transport à utiliser pour se connecter au serveur {TCP | SOCKET | PIPE | MEMORY} .
--socket=path Spécifiez le fichier socket Unix ou Windows named_pipe variable pour se connecter à localhost .
--ssl=[1 | 0] Active ou désactive le cryptage de connexion, respectivement. Les options commençant par --ssl peut également indiquer le chemin d'accès aux clés et certificats SSL.
--ssl-ca=filename Spécifiez le fichier contenant la liste des autorités de certification SSL de confiance.
--ssl-capath=dir Spécifiez le chemin du répertoire contenant les fichiers de certificat de l'autorité de certification SSL de confiance.
--ssl-cert=filename Le chemin d'accès au fichier contenant le certificat de clé publique SSL du client.
--ssl-cipher=list Une liste des chiffrements autorisés pour le chiffrement de connexion.
--ssl-crl=filename Le chemin d'accès au fichier contenant les listes de révocation de certificats.
--ssl-crlpath=dir Le répertoire contenant les fichiers de liste de révocation de certificats.
--ssl-key=filename Le chemin d'accès au fichier contenant le certificat de clé privée SSL du client.
--ssl-mode=mode Spécifiez l'un des états de sécurité de la connexion au serveur, par ordre croissant de rigueur :[DISABLED | PREFERRED | REQUIRED | VERIFY_CA | VERIFY_IDENTITY] .
--ssl-verify-server-cert Demandez au client de vérifier l'identité du nom d'hôte par rapport au certificat du serveur contenant l'identité du nom commun.
--tls-version=list Spécifiez une liste séparée par des virgules des protocoles TLS autorisés pour les connexions chiffrées.
--use-default Le script s'exécute sans interaction.
--user=username Spécifiez le nom d'utilisateur du compte MySQL pour la connexion au serveur.

Ubuntu
  1. Accéder à Mysql à l'aide du terminal dans Ubuntu 13.04 ?

  2. Comment installer MySQL sur Ubuntu 18.04

  3. Comment installer MySQL sur Ubuntu 22.04

  4. Comment installer MySQL sur Linux

  5. Sauvegarde MySQL 1.2 (MySQL 5.5+)

Comment installer MySQL sur Ubuntu 20.04

Comment installer MySQL sur Debian 9

Comment installer MySQL dans Ubuntu Linux

Comment installer MySQL 8.0 sur Ubuntu 18.04

Comment réinitialiser le mot de passe root MySQL

Comment installer MySQL 8.0 sur Ubuntu 18.04