Security Blog
Security Blog
Posted By Gregory

Усиление безопасности 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) можете расслабиться. Эти несколько простых шагов позволят вам очистить входящий трафик от «некорректных запросов» и позволить ресурсам сервера обрабатывать «правильные запросы».


I'm a team lead in Cerber Tech. I'm a software & database architect, WordPress - PHP - SQL - JavaScript developer. I started coding in 1993 on IBM System/370 (yeah, that was amazing days) and today software engineering at Cerber Tech is how I make my living. I've taught to have high standards for myself as well as using them in developing software solutions.

View Comments
There are currently no comments.