Статьи

Автоматическое обновление ваших WordPress Salts с помощью WP-Salts-Update-CLI

Поднимите руку, если вы управляете более чем пятью сайтами WordPress. Держите его поднятым, если число превышает десять. Безопасность WordPress является основной задачей для всех владельцев сайтов, и она становится еще более серьезной, если вам нужно позаботиться о нескольких сайтах. Поскольку вы не можете контролировать все сайты все время, вам нужно быстрое и простое исправление, чтобы защитить ваши сайты от атак методом перебора.

Ключи и соли безопасности WordPress предлагают надежное решение для усиления безопасности вашего сайта. Они играют важную роль в обеспечении безопасности файлов cookie сайта и не позволяют хакерам получить доступ к вашему сайту.

Изменение солей (вручную или через онлайн-генератор ключей ) для каждого отдельного сайта может занять много времени. Так что, если я скажу вам, что вы можете обновить соли WordPress для всех своих сайтов за несколько секунд? Да, это возможно! Сегодня я поделюсь с вами невероятным WP-Salts-Update-CLI , который поможет вам быстро обновить ваши соли.

В этом посте я собираюсь обсудить несколько основ о солях WordPress и о том, как работает этот CLI. Давайте начнем!

В WordPress версии 2.6 ключи безопасности и соли были введены в качестве переменных аутентификации для повышения безопасности ваших учетных данных для входа. Они добавляют защиту имени пользователя и паролю вашего сайта, которые хранятся в куки пользователя. Они находятся в wp-config.php каждого веб-сайта прямо под учетными данными базы данных.

В настоящее время существует четыре различных ключа безопасности: AUTH_KEY , SECURE_AUTH_KEY , LOGGED_IN_KEY и NONCE_KEY .

Каждый ключ безопасности также имеет соответствующую соль. Этими солями являются AUTH_SALT , SECURE_AUTH_SALT , LOGGED_IN_SALT и NONCE_SALT .

Вот скриншот wp-config.php с одного из моих демонстрационных сайтов.

WP Security Keys Соли

WP-Salts-Update-CLI ( WPSUCLI )   предоставляет автоматизированное решение для обновления солей WordPress через CLI. WPSUCLI загружает новые соли из WP API и заменяет их солями в файле wp-config.php для каждого сайта на вашем сервере.

Вы можете увидеть полный код в репозитории проекта GitHub. Вот основной цикл:

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# The PWD.
THE_PWD=$(pwd)
 
# Start the loop.
find .
do
    # echo «LINE: $line»
    SITE=»$(basename «$(dirname «$line»)»)»
 
    # Get dir path where wp-config.php file is present.
    DIR=$( cd -P «$( dirname «$line» )» && pwd )/
    # echo «DIR: $DIR»
    cd $DIR
 
    echo «-«
    echo «${wb} ${bf}————— ⏲️ UPDATING SALTS FOR: $SITE… —————${r}»
 
    ## Download the new salts to file cal salts.
    curl «https://api.wordpress.org/secret-key/1.1/salt/» -sSo salts
 
    echo «${wb} ${bf}————— ? SALTS DOWNLOADED… —————${r}»
 
    # Split wp-config.php into 3 on the first and last definition statements.
    csplit wp-config.php ‘/AUTH_KEY/’ ‘/NONCE_SALT/+1’
 
    # Recombine the first part, the new salts and the last part.
    cat xx00 salts xx02 > wp-config.php
 
    # Tidy up.
    rm salts xx00 xx01 xx02
 
    echo «${gb} ${bf}————— ✔︎✔︎✔︎ DONE! SITE: $SITE SALTS UPDATED!!! ? ? ✔✔✔ —————${r}»
    echo «-«
  cd $THE_PWD
done

Это работает, сначала находя каждый файл wp-config.php в поддереве каталога, начиная с текущего рабочего каталога. Затем он загружает новые соли, добавляет их в файл wp-config.php и очищает временные файлы.

Откройте терминал командной строки (я предпочитаю iTerm2) и выполните следующую команду в корне вашего сервера. Я устанавливаю его в моей локальной среде Mac, чтобы обновить соли локальных образов моего сайта, которые я буду синхронизировать через SFTP позже.

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

Эта команда выполнит следующие действия:

  • Используйте разрешения sudo.
  • Используйте wget для загрузки WPSUCLI и переименуйте его в wpsucli .
  • Сделайте wpsucli исполняемым.
  • Установите скрипт.

Последняя часть — && sudo install ./wpsucli /usr/local/bin/wpsucli — предназначена для установки этого скрипта в macOS. Вы можете игнорировать это в других средах. Он устанавливает wpsucli в папку / usr / local / bin / .

  • Просто запустите wpsucli и он обновит соли для каждого файла wp-config.php на вашем сервере или ПК.
  • Если вы запускаете его на своем сервере, запустите его из корневой папки, то есть сначала cd / а затем запустите wpsucli .

Если по какой-то причине скрипт не работает, вы можете проверить вывод команды find . -name wp-config.php -print find . -name wp-config.php -print . Как мы видели выше, это та же команда поиска, которая используется в скрипте. Он должен напечатать пути для всех файлов wp-config.php, присутствующих в вашем текущем каталоге или каталогах в нем. Если он не отображает пути, то вы, вероятно, начинаете не с той папки! Попробуйте перейти в свою пользовательскую папку или в корневой каталог — cd ~ или cd / — и снова запустить wpsucli .

Прежде чем запускать эти команды, чтобы показать, как работает этот CLI, позвольте мне показать текущие соли одного из моих файлов wp-config.php .

1
2
3
4
5
6
7
8
define(‘AUTH_KEY’, ‘~Efg4jcdm9`-]Br?x0HqI6eCJ~*M7rRN?01I(i In1~*clcP6Q>BMtJnvES+$Cv’);
define(‘SECURE_AUTH_KEY’, ‘+Qh(L@4Rh^Rll+R1V1)[]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]uz5C8k{B[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$E<Md%_?caPOA|=~{2|WyPy4u>K6=/+aY,t#{*’);
define(‘SECURE_AUTH_SALT’, ‘3<uyG[T48_KW]d2|wNXK6WYSDgwbZ2Q~VWI:]&?ys%Y2}*hhwGwbr)PUxYe)sZ4b’);
define(‘LOGGED_IN_SALT’, ‘]<hq6?IU>osk?Z+`mux_h</YMwhF%2Gm!b|~caO+z8+Ju{xPz?EgSaJBzWbv_Xn7’);
define(‘NONCE_SALT’, ‘k5h`<*}FBp0#oL-z^.-fLj9J%|wU>H:zT4KEnMrv{r0XJ-Bc+Pf?::N]YP&Rqu$D’);

После запуска команд в моем iTerm я получил уведомление об обновлении солей следующим образом:

WP Salts CLI

Теперь, если я посмотрю на соли, они полностью изменились.

1
2
3
4
5
6
7
8
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*^? <mX2M@t0War7t*k~&B-‘);
define(‘LOGGED_IN_KEY’, ‘f^o(RAd6cs5/#KMu|+p[;u@RE:]-q[Xhp]YWH0i@(s>I/!)i4jr!,Oc 2k`+[JAu’);
define(‘NONCE_KEY’, ‘SN&t[ -2=*YvU<k.?Jnm>U?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}[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*}’);

Это так просто!

Теперь ваша очередь попробовать этот CLI и обновить соли WordPress с помощью WP-Salts-Update-CLI . Если у вас есть какие-либо проблемы, обязательно сообщите о них на GitHub . Запросы на тягу приветствуются.

Вы пробовали это? Дайте мне знать о вашем опыте. Оставьте свой отзыв в разделе комментариев ниже.