MySQL : résoudre le message "Warning: Using a password on the command line interface can be insecure."

J'ai récemment écrit un petit script bash qui me permet de sauvegarder rapidement toutes les bases de données d'un serveur. Le script est lancé par une tâche cron automatiquement, tous les jours.

Si l'on passe l'utilisateur et le mot de passe SQL dans la requête, avec mysql ou mysqldump, vous obtiendrez très certainement le message d'avertissement suivant:

Warning: Using a password on the command line interface can be insecure.

Et pour cause : cela veut dire que n'importe qui ayant accès au serveur pourra voir, dans les logs ou avec un simple ps, vos informations de connexion à vos bases de données. Ce n'est pas ce qui se fait de mieux en matière de sécurité !

Une solution est de passer en argument un fichier qui contiendra vos données de connexion à la base de données.

Donc, au lieu d'écrire :

mysqldump -u $USER -p$PASSWORD --databases $db > $BACKUP_PATH/$date-$db.sql

Il vaut mieux écrire:

mysqldump --defaults-extra-file=/etc/mysql/mysql-backup-script.cnf --databases $db > $BACKUP_PATH/$date-$db.sql

Note: L'argument --defaults-extra-file doit venir en premier, sinon il ne sera pas interprété.

Le fichier /etc/mysql/mysql-backup-script.cnf contient les identifiants de votre utilisateur SQL qui aura les droits sur chacune des bases de données à sauvegarder. Voici à quoi il ressemble:

[client]
user = backup
password = GIGANTIC_SECURE_PASSWORD

Par sécurité, on restreint les droits d'accès au fichier pour qu'il ne soit pas lisible par tout le monde:

chmod 400 /etc/mysql/mysql-backup-script.cnf

Il ne vous reste qu'à créer votre cron avec votre nouvelle commande, sans montrer les identifiants SQL en clair.

BRADAFRAMANADAMADA - Légalité

Vincent Kucholl et Vincent Veillon sont deux humoristes suisses qui oeuvrent dans l'émission 120 minutes, diffusée sur RTS Un (Radio télévision suisse).

En plus de leurs sketchs, ils sont également à l'origine d'un groupe de reggae parodique, BRADAFRAMANADAMADA ("brother from another mother"), que je trouve très drôle.

Voici par exemple la chanson Légalité, qui demande au ministre de la santé suisse de légaliser le cannabis:

La musique est excellente, les paroles toutes autant, avec une bonne dose d'humour. C'est super sympa à écouter et on regrette que ce ne soit pas un "vrai" groupe parce qu'on irait bien le voir en concert !

Postfix : résoudre l'avertissement "Untrusted TLS connection established"

Si vous possédez votre propre serveur email, géré avec Postfix, vous pouvez parfois obtenir l'avertissement suivant, lorsque vous utilisez un certificat SSL/TLS :

postfix/smtp[13461]: Untrusted TLS connection established to gmail-smtp-in.l.google.com[64.233.166.27]:25: TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)

La solution est très simple, il suffit d'éditer le fichier main.cf de Postfix :

nano /etc/postfix/main.cf

Et on y ajoute:

smtp_tls_CApath = /etc/ssl/certs
smtpd_tls_CApath = /etc/ssl/certs

Sauvegardez le fichier puis relancez Postfix :

service postfix restart

Envoyez un mail depuis le serveur, vous devriez maintenant obtenir le graal :

postfix/smtp[7243]: Trusted TLS connection established to gmail-smtp-in.l.google.com[2a00:1450:400c:c08::1a]:25: TLSv1.2 with cipher ECDHE-RSA-CHACHA20-POLY1305 (256/256 bits)

Et voilà, authentifié en TLS pour l'envoi de mail avec Postfix.

Pin It on Pinterest

Spelling error report

The following text will be sent to our editors: