Поднимите руку, если вы управляете более чем пятью сайтами WordPress. Держите его поднятым, если число превышает десять. Безопасность WordPress является основной задачей для всех владельцев сайтов, и она становится еще более серьезной, если вам нужно позаботиться о нескольких сайтах. Поскольку вы не можете контролировать все сайты все время, вам нужно быстрое и простое исправление, чтобы защитить ваши сайты от атак методом перебора.
Ключи и соли безопасности WordPress предлагают надежное решение для усиления безопасности вашего сайта. Они играют важную роль в обеспечении безопасности файлов cookie сайта и не позволяют хакерам получить доступ к вашему сайту.
Изменение солей (вручную или через онлайн-генератор ключей ) для каждого отдельного сайта может занять много времени. Так что, если я скажу вам, что вы можете обновить соли WordPress для всех своих сайтов за несколько секунд? Да, это возможно! Сегодня я поделюсь с вами невероятным WP-Salts-Update-CLI , который поможет вам быстро обновить ваши соли.
В этом посте я собираюсь обсудить несколько основ о солях WordPress и о том, как работает этот CLI. Давайте начнем!
Ключи безопасности и соли в WordPress
В 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-Соль-Update-CLI
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 я получил уведомление об обновлении солей следующим образом:
Теперь, если я посмотрю на соли, они полностью изменились.
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 . Запросы на тягу приветствуются.
Вы пробовали это? Дайте мне знать о вашем опыте. Оставьте свой отзыв в разделе комментариев ниже.