Salut Ă  tous et bienvenue dans ce nouveau Point SĂ©cu avec Julio.

Julio : Hello!

Alex : Aujourd’hui on va parler de trois mythes, de trois choses qu’on peut croire qu’il est important de faire, mais en fait… ce n’est pas bon !

Allez c’est parti !

Alors du coup voilà, comme je vous le disais, on va voir trois mythes liés à la sécurité WordPress et donc Julio, est-ce que tu peux nous en dire un petit peu plus ?

Julio : Oui ! Ces trois mythes que l’on retrouve dans beaucoup de tutoriels, aussi sur le codex, touchent tous les trois le fichier de configuration : le wp-config.php.

Ce n’est pas forcément mauvais, mais je dirais que c’est une sorte de fausse sécurité. C’est-à-dire que grâce à ça on va penser avoir sécurisé quelque chose, mais en fait non, ça n’aura potentiellement servi à rien.

Avoir la sensation d’être sĂ©curisĂ© c’est relativement dangereux, c’est comme si… je ne sais pas moi… vous mettiez un casque en mousse pour faire du vĂ©lo, ben non ça sert Ă  rien, mais vous avez mis un casque…

Alex : Ou alors juste un sac Ă  dos, au lieu d’avoir son sac avec un parachute dedans…..

Julio : Exactement, très bonne idée ! C’est un peu ce genre de chose ! Comme justement c’est assez technique, quand on n’a pas assez de connaissances, on se dit que l’on fait confiance, normal c’est un tutoriel, il n’y a pas de raisons.

avez vous les bonnes clés de sécurité

Premier mythe : je déplace le fichier de configuration

Le premier dont vous aurez peut-être déjà entendu parler, serait de déplacer le fichier de configuration, donc vous le remontez d’un cran dans l’arborescence au niveau du FTP et ça permet de faire en sorte que le fichier de configuration ne se trouve pas à la racine.

Habituellement, si vous tapez le nom de votre site/wp-config.php, vous aurez une page blanche, ce n’est pas une erreur, c’est juste que le wp-config n’écrit rien, mais au moins il est chargé.

Si on déplace ce fichier, effectivement on aura une 404, puisque ce fichier n’existe plus, donc on va se dire : OK le fichier est sécurisé puisqu’il n’est plus là !

Oui et non… parce que de toute façon la page blanche, je ne peux rien en faire, dĂ©jĂ  première chose. Le fait de le remonter ne va pas retarder une faille qui permet de le trouver.

Je prends l’exemple de Revolution Slider malheureusement qui, il y a quelques annĂ©es, si je ne me trompe pas en 2014/2015, avait une faille qui permettait…

Alex : Revolution Slider c’est un plugin de slider qui était sur ThemeForest.

Julio : Il y est toujours, il a été corrigé depuis de cette faille bien sûr.

Le Rev Slider mettait dans le front de votre site web des images et le lien vers l’image Ă©tait… on voyait en clair d’oĂą elle venait l’image, donc ça, c’Ă©tait un peu le problème.

Quelqu’un s’est dit : qu’est-ce qui se passe si je mets le chemin du wp-config ?

Qu’est-ce qui s’est passĂ©… le fichier wp-config Ă©tait visible et ça, c’est un peu grave quand mĂŞme !

La diffĂ©rence, si on remonte d’un cran, c’est juste que techniquement dans le chemin on va rajouter devant ../ c’est-Ă -dire qu’on va encore remonter d’un cran et normalement un script qui cherche le wp-config va le chercher lĂ  oĂą il est, puis va faire ../ puis recommence, jusqu’Ă  ce qu’il le trouve.

Alex : Il peut remonter différents niveaux.

Julio : Il remontera de toute façon sur le vĂ´tre. Donc en fait, ça fait une 404, mais qui n’Ă©tait de toute façon pas mĂ©chante et le bot, le script, le trouvera de toute façon, il est toujours accessible en fait.

Juste qu’il n’est plus accessible via l’URL, mais on s’en fiche puisque de toute façon il n’Ă©tait pas mĂ©chant !

Alex : Dans le cas oĂą il y a une faille avant, c’est ça ?

Julio : VoilĂ  ! S’il y a une faille, il le trouvera de toute façon et si vous l’avez dĂ©placĂ© et qu’il n’y a pas de faille… ben ça ne sert Ă  rien !

Alex : OK. Alors la deuxième fausse croyance, enfin la deuxième mauvaise pratique.

Deuxième mythe : le “deny from all”

Julio : Eh bien toujours sur ce fichier, il arrive aussi dans des tutoriels de voir que pour “protĂ©ger” ce fichier il suffirait, dans le fichier htaccess, d’ajouter un “deny from all”.

C’est-Ă -dire que si une personne justement tape le nom de votre site /wp-config, au lieu de la page blanche, il n’a pas une 404, mais une 403, c’est un dire un message lui interdisant l’accès Ă  ce fichier : c’est Ă©crit habituellement : “Forbidden vous n’avez pas le droit d’accès Ă  cette page”

Alex : On est tous tombés sur ces pages là un moment donné ou à un autre et là ça fait en sorte de le déclencher.

Julio : C’est ça, c’est un accès interdit Ă  cette page. Encore une fois, ça a le mĂŞme effet que la page blanche. Je n’avais de toute façon pas accès au contenu et de toute façon, mĂŞme si j’ai accès Ă  ce fichier comme je viens de le faire, je ne peux rien en faire.

Donc, est-ce que ça, c’est l’avoir protĂ©gĂ©, lĂ  pour l’instant non ! Maintenant, reprenons le cas prĂ©cĂ©dent : Rev Slider : peut-il accĂ©der Ă  ce fichier pour le tĂ©lĂ©charger ? OUI.

Donc ça ne sert Ă  rien puisqu’il faut bien faire la sĂ©paration de : je suis du cĂ´tĂ© “front” dans le navigateur, j’accède Ă  une URL et du cĂ´tĂ© Rev Slider je suis en PHP, je navigue directement sur le serveur pour aller chercher le fichier.

C’est deux choses diffĂ©rentes !

Penser que faire un “deny from all” cĂ´tĂ© navigateur empĂŞche le PHP d’aller le chercher, ben non en fait, on est sur deux couches diffĂ©rentes et donc ça n’aura pas servi Ă  empĂŞcher l’accès Ă  un script Ă  ce fichier.

Ça aurait Ă©tĂ© bien… bien sĂ»r ! ça ne sert pas Ă  ça !

Alex : Il n’y a pas moyen d’empĂŞcher le tĂ©lĂ©chargement, dès qu’on a l’URL d’un fichier ?

Julio : Non ! Puisque le fichier PHP on en a besoin, WordPress en a besoin… si WordPress peut le lire, tout script va pouvoir le lire.

Alex : ça marche OK

Julio : Ce qu’il faudrait faire ce serait de sĂ©curiser notre fichier config encore plus loin lĂ -dedans, je pense qu’on pourrait peut-ĂŞtre faire ça pour la fois prochaine ?

Alex : OK : Pourquoi pas !

Julio : Très bonne idée !

Alex : ça marche ! Et du coup, troisième mauvaise pratique ?

Troisième mythe : Julio le maître des clés !

Julio : Troisième point, alors lĂ  c’est mĂŞme Ă©crit dans le codex, ça sera recommandĂ© par tout le monde, je pense.

Je vais un peu Ă  l’encontre de ça, c’est Ă  dire que les clĂ©s de sĂ©curitĂ© : vous avez dĂ©jĂ  vu dans votre fichier wp-config, il y a un petit bloc…

Alex : 6 ou 7, je crois

Julio : Oui un bon paquet, je crois, maintenant, 6 ou 8 je crois. Pour vous dire que, je ne sais mĂŞme plus le chiffre parce que je ne les utilise pas ! En fait non je ne les utilise pas, je les supprime de mon fichier de configuration.

Dans les tutoriels vous lisez, il faut les remplir, il faut les remplir, c’est important, il ne faut pas laisser la phrase par dĂ©faut qui est “put your unique phrase here” il faut les changer, il faut en gĂ©nĂ©rer des nouvelles.

Non en vrai, en vrai ça ne sert Ă  rien ! C’est assez bizarre de le dire, mais ça ne sert Ă  rien.

Pourquoi ?

Déjà si vous laissez la phrase par défaut, ou si vous la supprimez, WordPress le sait, il sait si vous laissez la phrase par défaut, il vérifie.

Dans ces cas-lĂ , il se dit, la personne ne l’a pas mis ou a laissĂ© les valeurs par dĂ©faut Ă  la place, je vais en crĂ©er en base de donnĂ©es, dĂ©jĂ  si on fait ça, WordPress ira en base de donnĂ©es.

Le paragraphe qui suit est totalement indépendant de notre volonté, nous vous prions de nous excuser pour la gêne occasionnée.

Quand WordPress va essayer de lire une de ces clĂ©s, il ne va pas lire le fichier wp-config, il va utiliser une fonction qui prendra l’un ou l’autre, s’il le trouve en base de donnĂ©es, il va mettre la prioritĂ© sur la base de donnĂ©es, donc s’il ne le trouve pas dans un fichier, de toute façon ce n’est pas grave, il l’a dĂ©jĂ  en base de donnĂ©es donc il n’y a pas de problèmes, s’il l’a en fichier, OK très bien, il l’a en fichier… euh…. je viens de dire une bĂŞtise ! 

Reprenons notre lecture…

Il donne la prioritĂ© au fichier pardon, il donne la prioritĂ© au ficher et s’il ne le trouve pas en fichier, il le crĂ©e en base ou il le lit en base. Si jamais vous l’ajoutez de nouveau dans vos fichiers, effectivement c’est lĂ  oĂą il va le reprendre en compte avec les nouvelles clĂ©s.

Si vous laissez la phrase par dĂ©faut, il le sait, il crĂ©era des clĂ©s en base de donnĂ©es. Finalement, ça ne sert pas Ă  grand-chose ! On va peut-ĂŞtre rappeler Ă  quoi servent les clĂ©s…

Alex : C’est ce que j’allais te demander : “Ă€ quoi servent ces fameuses clĂ©s ? Julio”

Julio : Les clés, à quoi servent-elles ? Elles servent déjà à faire en sorte que chaque installation de WordPress a des clés différentes.

Ă€ chaque fois qu’on l’installe, ça gĂ©nère 64 caractères diffĂ©rents Ă  chaque fois, pour chaque personne, pour chaque site web. Donc ça dĂ©jĂ  on est certain que les installations ont des clĂ©s diffĂ©rentes et la clĂ© va intervenir dans la crĂ©ation de nos jetons de sĂ©curitĂ©.

Les jetons de sĂ©curitĂ© c’est ce que vous avez peut ĂŞtre dĂ©jĂ  vu : wpnonce, ça veut dire number once, un chiffre qui est utilisĂ© une fois. C’est un jeton de sĂ©curitĂ© et donc si on change un caractère de cette chaĂ®ne, le jeton va en ĂŞtre totalement changĂ©, ça permet de ne pas pouvoir deviner le jeton d’un autre site web.

Alex : D’accord !

Julio : Donc voilĂ  pourquoi il est important d’avoir des clĂ©s, mais le fait de les mettre dans le fichier wp-config ça sert Ă  rien, parce qu’au pire, WordPress les recrĂ©e en base de donnĂ©es.

Après, moi je n’aime pas non plus les mettre en base de donnĂ©es, je me dis : si on peut voler mon fichier wp-config comme Rev SLider, je prĂ©fère les mettre en base ! OK !

Et maintenant si je me dis : et si quelqu’un arrive Ă  lire ma base de donnĂ©es, il a mes clĂ©s, donc je les remets dans un fichier, non je ne veux pas non plus !

Donc, ce que j’ai fait dans SecuPress, j’ai fait en sorte que l’on crĂ©e un mu-plugin, c’est un plugin must use, qui sera toujours chargĂ© par WordPress, qui se trouve dans le dossier /wp-content/mu-plugins par dĂ©faut, et ce script va nous gĂ©nĂ©rer des clĂ©s automatiquement et tous les mois ces clĂ©s vont ĂŞtre modifiĂ©es.

Ça ne les Ă©crit nulle part, ni dans un nouveau fichier ni en base de donnĂ©es, elles sont juste gĂ©nĂ©rĂ©es via le code. C’est-Ă -dire qu’on ne peut pas les lire clairement nulle part, sauf si on a accès Ă  du PHP et qu’on essaye de faire un echo vraiment de cette chaĂ®ne.

[clickToTweet tweet=”Si on a accès au PHP, de toute façon on a tout ce qu’on veut pour tout casser ! #SĂ©curitĂ© #WordPress ” quote=”Si on a accès au PHP, de toute façon on a tout ce qu’on veut pour tout casser ! Donc on s’en fiche de ces clĂ©s finalement !”]

Le fait de gĂ©nĂ©rer de nouvelles clĂ©s alĂ©atoires, tous les mois, qui sont non visibles par un humain, ni dans un fichier, ni en base de donnĂ©es, moi personnellement ça m’a plu !

Alex : OK super ! J’espère qu’on ne vous a pas perdu ! mais en tout cas l’idĂ©e c’est de ne pas forcĂ©ment croire que ces clĂ©s sont super importantes dans le fichier wp-config !

Julio : Pas de panique !

Alex : WordPress peut gĂ©rer et il y a SecuPress en back-up…

Julio : qui permet justement de générer ces clés pour vous !

Formez-vous Ă  WordPress en 3 mois

Apprenez à concevoir des sites WordPress sécurisés, rapides et conformes aux obligations légales avec la formation à distance la plus généreuse du marché (éligible au CPF).

WPChef, la formation WordPress de référence

Conclusion

Alex : OK super ! Merci d’avoir suivi cette vidĂ©o, j’espère que vous en savez maintenant un petit peu plus sur la sĂ©curitĂ©, vous pourrez briller dans les dĂ®ners de dĂ©veloppeurs ou de freelances.

Abonnez-vous à la chaîne YouTube de WPMarmite et bien sûr allez voir sur SecuPress pour sécuriser votre site !

Julio : Et dites-nous dans les commentaires si les vidéos techniques vous intéressent. À plus !

Alex : Salut ! Ciao.

Alors ? Les mythes sont-ils bien démystifiés 🙂