Mise à jour automatique de vos sels WordPress avec WP-Salts-Update-CLI

Levez la main si vous gérez plus de cinq sites WordPress. Gardez-le élevé si le nombre dépasse dix. La sécurité de WordPress est une préoccupation majeure pour tous les propriétaires de sites, et cela devient encore plus grave si vous devez gérer plusieurs sites. Comme vous ne pouvez pas surveiller tous les sites à tout moment, vous avez besoin d'une solution rapide et simple pour protéger vos sites contre les attaques par force brute..

Les clés et les sels de sécurité WordPress offrent une solution robuste pour renforcer la sécurité de votre site. Ils jouent un rôle important dans la sécurisation des cookies du site et en empêchant les pirates d’accéder à votre site.. 

Changer de sel (manuellement ou via un générateur de clé en ligne) pour chaque site Web peut prendre beaucoup de temps. Et si je vous disais que vous pouvez mettre à jour vos sels WordPress pour tous vos sites en quelques secondes? Oui c'est possible! Aujourd'hui, je vais partager l'incroyable WP-Salts-Update-CLI, qui peut vous aider à mettre à jour vos sels en un tournemain.

Dans cet article, je vais aborder quelques notions de base sur les sels WordPress et le fonctionnement de cette interface de ligne de commande. Commençons!

Clés de sécurité et sels dans WordPress

Dans WordPress version 2.6, les clés de sécurité et les sels ont été introduits en tant que variables d’authentification pour améliorer la sécurité de vos informations de connexion. Ils ajoutent une protection au nom d'utilisateur et au mot de passe de votre site, qui sont stockés dans les cookies de l'utilisateur. Ils se trouvent dans le wp-config.php de chaque site Web juste en dessous des informations d'identification de la base de données.

Il existe actuellement quatre clés de sécurité différentes: CLÉ D'AUTHENTIFICATIONSECURE_AUTH_KEYLOGGED_IN_KEY, et NONCE_KEY

Chaque clé de sécurité a aussi un sel correspondant. Ces sels sont AUTH_SALTSECURE_AUTH_SALTLOGGED_IN_SALT, et NONCE_SALT

Voici une capture d'écran de la wp-config.php depuis l'un de mes sites de démonstration.

WP-Salts-Update-CLI

WP-Salts-Update-CLI (WPSUCLI)fournit une solution automatisée pour mettre à jour WordPress salt via une interface de ligne de commande. WPSUCLI télécharge de nouveaux sels à partir de l’API WP et les remplace par ceux de votre wp-config.php fichier pour chaque site sur votre serveur. 

Vous pouvez voir le code complet dans le référentiel du projet GitHub. Voici la boucle principale:

# La PWD. THE_PWD = $ (pwd) # Commence la boucle. trouver . -nom-wp-config.php -print | pendant la lecture, la ligne # echo "LINE: $ line" SITE = "$ (nom de base" $ (dirname "$ line") ")" # Obtenir le chemin du répertoire où le fichier wp-config.php est présent. DIR = $ (cd -P "$ (dirname" $ ​​line ")" && pwd) / # echo "DIR: $ DIR" cd $ DIR echo "-" echo "$ wb $ bf ---- ----------- ⏲️ MISE A JOUR DES SELS POUR: $ SITE… --------------- $ r "## Téléchargez les nouveaux sels dans un fichier sel de sels . curl "https://api.wordpress.org/secret-key/1.1/salt/" -sSo sels echo "$ wb $ bf --------------- 🎯 SELS TÉLÉCHARGÉS… --------------- $ r "# Divisez wp-config.php en 3 sur les première et dernière instructions de définition. csplit wp-config.php '/ AUTH_KEY / "/ NONCE_SALT / + 1' # Combine la première partie, les nouveaux sels et la dernière partie. cat xx00 sels xx02> wp-config.php # Rangement. rm sels xx00 xx01 xx02 echo "$ fr $ bf --------------- ✔︎✔︎✔︎ FAIT! SITE: $ SELS DU SITE MIS À JOUR !!! 🎉 ✔✔✔ --------------- $ r "echo" - "cd $ THE_PWD terminé 

Cela fonctionne en trouvant d'abord tous les wp-config.php fichier dans la sous-arborescence du répertoire, en commençant par le répertoire de travail actuel. Ensuite, il télécharge les nouveaux sels, les ajoute au wp-config.php fichier, et nettoie les fichiers temporaires.

Commencer!

Ouvrez un terminal en ligne de commande (je préfère iTerm2) et exécutez la commande suivante à la racine de votre serveur. Je l'installe dans mon environnement Mac local pour mettre à jour les sels des images locales de mon site, que je synchroniserai ultérieurement via SFTP..

sudo wget -qO wpsucli https://git.io/vykgu && sudo chmod + x ./wpsucli && sudo installer ./wpsucli / usr / local / bin / wpsucli

Cette commande effectuera les actions suivantes:

  • Utiliser les autorisations sudo.
  • Utilisation wget Télécharger WPSUCLI et le renommer en wpsucli.
  • Faire le wpsucli exécutable.
  • Installer le script.

La dernière partie-&& sudo install ./wpsucli / usr / local / bin / wpsucli-est destiné à installer ce script dans macOS. Vous pouvez l'ignorer dans d'autres environnements. Il installe wpsucli à l'intérieur de / usr / local / bin / dossier.

Usage

  • Juste courir wpsucli et il mettra à jour les sels pour chaque wp-config.php déposer sur votre serveur ou PC.
  • Si vous l’exécutez sur votre serveur, exécutez-le à partir du dossier racine, c’est-à-dire d’abord. cd / puis courir wpsucli.

Si, pour une raison quelconque, le script ne fonctionne pas, vous pouvez vérifier le résultat de la commande. trouver . -name wp-config.php -print. Comme nous l'avons vu ci-dessus, il s'agit de la même commande de recherche que celle utilisée dans le script. Il faut imprimer les chemins pour tous les wp-config.php fichiers présents dans votre répertoire actuel ou dans les répertoires qu’il contient. S'il n'affiche pas les chemins, vous commencez probablement dans le mauvais dossier! Essayez d'aller dans votre dossier utilisateur ou à la racine-cd ~ ou cd /-et courir wpsucli encore.

Résultats finaux

Avant d'exécuter ces commandes pour montrer le fonctionnement de cette interface de ligne de commande, laissez-moi vous montrer les sels actuels de l'un de mes wp-config.php des dossiers.

define ('AUTH_KEY', '~ Efg4jcdm9' -] Br? x0HqI6eCJ ~ * M7rRN? 01I (i In1 ~ * clcP6Q> BMtJnvES + $ Cv '); define (' SECURE_AUTH_KEY ',' + Qh (L @ 4Rh) ) [] d [cvU25 [2% Eg CE (PA /.<.j+oa_L>xi_OWRu'.8E ('); define ('LOGGED_IN_KEY', 'n7 ~ + XV6E [S3%!) h> TmP]<$nX)R]TGL$|;7zl]uz5C8kB[0-JWcvonYwp3X4XG%('); define('NONCE_KEY', '%~cM.TBmgsL8ed7is|(>J GM> b & I3Wl, K; / mSu # | KmUa | = D6 (] MVqBlC & 0txCEH '); define ('AUTH_SALT', '(V> 0C, [] 0g T &] 4AJPD-TEPIaH $ EK6 = / + aY, t # * '); define ('SECURE_AUTH_SALT', '3osk? Z + 'mux_hH: zT4KEnMrv r0XJ-Bc + Pf? :: N] YP & Rqu $ D ');

Après avoir exécuté les commandes de mon iTerm, j'ai été informé de la mise à jour de sels avec les éléments suivants:

Maintenant, si je regarde les sels, ils ont été entièrement modifiés.

define ('AUTH_KEY', '; iCfD K =: j (m | 3D + | 0d | 4e | KqgR |] .A / 4, * RFgIyjf $> ^ f? OI) XI). g> H; Xb7') ; define ('SECURE_AUTH_KEY', 'MK' ^ 4R + @] 1.-aTLVnd / 0Zo6F ~] X… XsvgM> V6hx.g * ^? I /!) I4jr!, Oc 2k '+ [JAu'); define ('NONCE_KEY', 'SN & t [-2 = * YvUU? AC, itu8]) 9eq5b8 @ D + T! E> + m0hC6 ~> H8wR1s * 2 | '); define ('AUTH_SALT', '0y? oq% cIyYkj | /] 9 (UvPj> dte_? s.lV2 # _ + Hk ~ ^ # seF'XD $ MX @ QuAryj0--7tc) k'); define ('SECURE_AUTH_SALT', 'kf + lnL) Ea5; # / CE + ybUH @ t W! [email protected]+NAZn; yg-mzj, ImJ> jk / 2N 9hx & K + @'); define ('LOGGED_IN_SALT', '+ s. & l / ovLDXc;> ~ Ir + gxwlJNze5Ola5tx3-ytgzkbnhm- j & I> di [jB: vfUT9ysQ'); define ('NONCE_SALT', 'Exc8OkW [IOHH = &? _ l /; w $) F9R $ = DR ~ e% | Z & 3p9x | 0U *; GrRq T8x ^ Z ~ # -. & / j *;);

C'est aussi simple!

À ton tour

Maintenant, à vous de jouer à cette CLI et de mettre à jour vos sels WordPress avec WP-Salts-Update-CLI. Si vous rencontrez des problèmes, assurez-vous de les signaler sur GitHub. Les demandes de tirage sont plus que bienvenues.

Avez-vous essayé ceci? Faites-moi savoir sur votre expérience. Ajoutez vos commentaires dans la section commentaires ci-dessous.