Debian 12 : résoudre le problème de mot de passe avec Pure-FTPd MySQL
Avec la mise à jour vers Debian 12, le support pour le hachage MD5 dans Pure-FTPd a été retiré, ce qui peut entraîner des problèmes de connexion pour les utilisateurs existants. Pour remédier à cela, il est essentiel de migrer vers des méthodes de cryptage plus sûres, telles que l'algorithme SHA-512, pour assurer la sécurité des mots de passe.
Instructions préliminaires
Assurez-vous que Pure-FTPd et MySQL sont correctement installés et configurés sur votre serveur Debian 12. Il est crucial d'ajuster la configuration pour accepter les mots de passe hachés de manière plus sécurisée.
1. Installation des bibliothèques nécessaires
Python sera utilisé pour générer des mots de passe hachés. Les bibliothèques nécessaires sys
, crypt
, et getpass
sont généralement incluses dans Python, qui doit être installé sur votre système.
sudo apt-get update
sudo apt-get install python3
2. Génération de mots de passe hachés
Utilisez la commande suivante pour créer un mot de passe haché en utilisant l'algorithme SHA-512 :
python3 -c 'import sys, crypt, getpass; print(crypt.crypt(getpass.getpass("Password: "), crypt.METHOD_SHA512))'
Cette commande demande de saisir un mot de passe et génère ensuite une version hachée conforme à l'algorithme SHA-512. Ce hachage doit être ensuite intégré dans votre base de données MySQL pour Pure-FTPd.
3. Mise à jour des mots de passe dans la base de données
Pour mettre à jour le mot de passe dans la base de données MySQL :
-
Via phpMyAdmin :
- Connectez-vous à phpMyAdmin.
- Accédez à la table contenant les utilisateurs de Pure-FTPd.
- Modifiez le champ de mot de passe pour l'utilisateur concerné en collant le hachage SHA-512 généré.
-
Via une Requête SQL :
- Exécutez la requête suivante, en remplaçant
hashed_password
par le hachage généré etusername
par le nom d'utilisateur concerné :
- Exécutez la requête suivante, en remplaçant
UPDATE users_table SET password = 'hashed_password' WHERE username = 'username';
- Remplacez
users_table
par le nom de votre table d'utilisateurs Pure-FTPd.
Bonus : Script python pour le hachage de mots de passe
Pour une méthode plus personnalisable, voici un script Python :
import sys
from crypt import crypt, METHOD_SHA512
from getpass import getpass
hashed_password = crypt(getpass("Password: "), METHOD_SHA512)
print(hashed_password)
Pour utiliser ce script :
- Copiez le script dans un fichier, par exemple
hash_password.py
. - Sur votre serveur, exécutez le script avec
python3 hash_password.py
. - Suivez les instructions à l'écran pour générer le hachage du mot de passe.