Усиление безопасности WordPress с помощью WP Cerber и NGINX
Работая вместе, эти два фактора могут значительно улучшить защиту любого объекта.
English version: Hardening WordPress with WP Cerber and NGINX
NGINX — это бесплатный высокопроизводительный HTTP-сервер с открытым исходным кодом. WP Cerber — это бесплатный плагин безопасности с открытым исходным кодом, который защищает сайты на WordPress от злоумышленников и хакеров.
Как повысить безопасность WordPress с помощью WP Cerber и NGINX одновременно.
Прежде всего, вам необходимо настроить пользовательский URL-адрес для входа и установить флажок «Блокировать прямой доступ к wp-login.php и возвращать ошибку HTTP 404 Not Found» . Подробности здесь: Как переименовать wp-login.php . В целях безопасности не используйте в качестве пользовательского URL-адреса для входа слова типа «login» или «wp-admin».
В этом случае необходимо заблокировать доступ к файлу wp-login.php в конфигурационном файле NGINX. По умолчанию этот файл находится в каталоге /etc/nginx, /usr/local/nginx/conf или /usr/local/etc/nginx.
Добавьте эту строку в раздел server файла конфигурации NGINX для вашего сайта:
location /wp-login.php { return 404; }
Если на вашем сайте не используется XML RPC, я настоятельно рекомендую добавить также следующую строку:
location /xmlrpc.php { return 404; }
Наконец, мы защищаем наш сайт и сервер от перегрузки со стороны злоумышленников или автоматизированных атак глупых ботов. Давайте сделаем это, используя возможность NGINX ограничивать скорость входящих запросов. Ограничение скорости позволяет замедлить скорость входящих запросов сверх определенного порога.
Откройте основной конфигурационный файл nginx.conf и найдите раздел http . Добавьте в него следующую строку:
limit_req_zone $binary_remote_addr zone=main:10m rate=60r/m;
Затем вернитесь в раздел сервера вашего сайта и найдите строку
расположение / {
Добавьте эту строку после открывающих фигурных скобок:
limit_req zone=main burst=10 nodelay;
Изменения, внесенные в конфигурационный файл, не будут применены до тех пор, пока в nginx не будет отправлена команда на перезагрузку конфигурации или пока сервер не будет перезапущен. Чтобы загрузить новую конфигурацию, выполните в командной строке вашего сервера следующую команду:
перезагрузка службы nginx
Сделанный!
Теперь вы и ваш бэкэнд-сервер (возможно, работающий на Apache) можете расслабиться. Эти несколько простых шагов позволят вам очистить входящий трафик от «некорректных запросов» и позволить ресурсам сервера обрабатывать «правильные запросы».