Faites passer le mot !

Les Pages Perso Chez Free

Par albert, le , dans Éviter les problèmes. / Dernière modification : le par Al (merci à CoolAuMiers, JC_Et, Nan'Art, Coyote mal réveillé).
Tags : Apache, Console de gestion, PHP, MySQL, PostgreSQL, Phishing, Sécurité

Chez Free, l'accès à la messagerie, au FTP et à MySQL/PostgreSQL se fait à l'aide du même identifiant et du même mot de passe. C'est pratique, car il n'y a qu'un mot de passe à se rappeler… Or, Free a récemment rendu possible de choisir trois mots de passe distincts pour ces trois fonctions, et nous vous engageons vivement à en faire usage. L'administrateur du service (Lionel) exige d'ailleurs des mots de passe différenciés (« personnalisés ») pour toute réactivation d'un compte après une suspension et ce, pour chacun des comptes de l'utilisateur.

Pourquoi ?

Les risques d'un mot de passe unique

Encore récemment, donc, Free imposait d'utiliser le même mot de passe pour :

  • la messagerie (accès aux courriers envoyés à monlogin@free.fr, en POP ou IMAP ou par Webmail) ;
  • le FTP que vous utilisez pour mettre à jour votre site ;
  • la base de données MySQL/PostgreSQL qui renferme tout le contenu dynamique de votre site.

Or, ce partage d'un mot de passe unique est assez dangereux pour vous, car cela signifie que tout individu peu scrupuleux et qui arrive, d'une manière ou d'une autre, à trouver ce mot de passe unique peut alors tout à la fois :

  • consulter ou détruire votre courrier personnel et votre carnet d'adresse Webmail ;
  • modifier votre site et s'en servir pour spammer, hameçonner ou diffuser des contenus illicites ;
  • parasiter, voire détruire, vos données SQL ;
  • Accéder à votre console de gestion du compte e-mail, changer votre mot de passe et de là, prendre le contrôle complet de votre compte.

Mais, me direz-vous, comment peut-on découvrir le mot de passe d'un personaute ? La plupart du temps, c'est dû à un module PHP utilisé sur son site et qu'il n'a pas tenu à jour, laissant ainsi subsister des failles par lesquelles l'attaquant arrive à s'introduire sur le site via son navigateur et, de là, arrive à trouver le fichier qui contient le mot de passe SQL nécessaire à l'accès aux bases de données.

En soi, protéger ce fichier de mot de passe mérite son propre billet, qui viendra. :-)

Cependant, une bonne protection ne dépend pas d'un seul facteur – et l'expérience montre que le fichier de mot de passe est souvent mal protégé sur les sites perso. Free a donc (finalement) décidé d'endurcir son service en rendant possible le choix de mots de passe distincts pour la messagerie, le FTP et SQL. Attention : ça ne protège pas de tout, on va le voir maintenant.

Diviser pour régner

Prenons un personaute qui a choisi trois mots de passe distincts. Imaginons que celui-ci, parti en vacances loin de tout accès au Net, n'a pas sauté sur la mise à jour de sécurité de son module PHP préféré et qu'un attaquant a réussi à accéder au fichier sur son site qui contient le mot de passe. Puisque le seul mot de passe découvert est le mot de passe SQL, l'attaquant ne peut plus « que » pourrir ou détruire la base SQL, mais il reste incapable de modifier le site par FTP – bien qu'il le puisse peut-être par une éventuelle faille PHP – et surtout, incapable d'accéder à la console de gestion : le compte Free du personaute est sauf, et avec lui tous ses comptes secondaires.

De là, le personaute a donc conservé le moyen d'aller dans sa console modifier le mot de passe SQL pour isoler sa base de données de l'attaquant, après avoir, bien sûr, renforcé la protection du mot de passe SQL sur son site.

Un sacré progrès de sécurité, donc, même si, il faut insister, ça n'est pas une défense absolue !

Remarques importantes concernant le changement des mots de passe

  1. les mots de passe des comptes/email secondaires peuvent être obtenus sur la messagerie du compte principal (option dans l'interface de gestion du compte principal) ;
  2. tout changement de mot de passe est actif quasi-immédiatement sur les interfaces web, mais nécessite plusieurs heures avant d'être actif « à distance » (via un logiciel de courriel ou un script php, par exemple) ;
  3. le mot de passe du compte principal ne peut être envoyé que par courrier postal.

En conséquence, le mot de passe du compte principal doit être modifié en premier et, si on ne veut pas que les mots de passe des comptes secondaires soient « découverts », il est préférable d'attendre plusieurs heures après la modification du mot de passe du compte principal, avant de modifier les mots de passe des comptes secondaires.

Ainsi, sans connaissance du mot de passe du compte principal, il n'existe aucune possibilité de connaitre les mots de passe des comptes secondaires.

Si vous utilisez simultanément les deux bases SQL, la personnalisation du mot de passe de connexion SQL ne modifie que le mot de passe de la base MySQL. Pour modifier le mot de passe de base PostgreSQL, il faut se connecter sur l'interface de gestion PhpPgAdmin Puis choisir le menu « Compte » et modifier le mot de passe. Vous obtiendrez « Mot de passe modifié. » la modification pour l'accès à phpPgAdmin est immédiat. La prise en compte de la modification sur les serveurs est immédiate, vous pouvez donc modifier immédiatement votre fichier de configuration ou votre fonction de connexion à la base.

Limitations des mots de passe

Le message de la console est : « Le mot de passe doit être composé de 6 à 16 caractères parmi a-z, A-Z, 0-9, #$,;.:*@[]()?+=-_% »

Actuellement, la longueur maximale des mots de passe est de :

  • 16 caractères ASCII pour le compte/email ;
    Attention : si vous devez vous authentifier sur les serveurs Usenet de Free (IP non Free/Proxad), la longueur maximale est de 15 caractères.
  • 16 caractères ASCII pour l'accès FTP.
  • 10 caractères ASCII pour l'accès SQL (16 caractères lorsque la version de php passera à 5.5.x).

Un mot de passe comme « Marion32 » n'est pas un bon mot de passe. Par contre « YytmLha(k7R3UZ]W » est un mot de passe solide. Vous pouvez tester la solidité de vos mots de passe via votre système d'exploitation (via les outils de création/changement de mots de passe) ou en ligne, depuis le site passwordmeter.com.

Il vous est possible de générer rapidement les 3 mots de passe nécessaires à un compte Free via un script de génération de mots de passe écrit en PHP (à utiliser localement, ou dans un répertoire de votre site dont vous seul avez l'accès) : ⬇︎ Script de génération de mots de passe.