Статьи

Предотвращение атак грубой силы на сайты WordPress

Атака входа в систему методом «грубой силы» — это тип атаки на веб-сайт, чтобы получить доступ к сайту путем многократного угадывания имени пользователя и пароля. Другие виды взлома основаны на уязвимостях веб-сайта, в то время как атака методом «грубой силы» — это простой метод удара, который можно попробовать на любом сайте.

В этом руководстве мы рассмотрим некоторые методы и плагины, которые мы можем использовать для предотвращения атак методом перебора на сайты WordPress. WordPress — самая популярная CMS, и поэтому она часто является целью атак такого типа.

В чем разница между атакой грубой силы и DDoS-атакой?

Атака грубой силы выполняется для получения доступа к чужой учетной записи на сайте, в то время как DDoS-атака обычно запускается, чтобы отключить сайт (обычно путем использования ресурсов). Тем не менее, крупномасштабная атака грубой силы также может разрушить сайт.

DDoS-атака обычно выполняется с помощью бота, в то время как атака грубой силой может быть выполнена с помощью бота или человеком. Люди могут проводить более целенаправленные атаки, особенно если они знают имена пользователей или обладают другим интеллектом, чтобы сузить возможные учетные данные.

Ни один из этих видов атак не основывается на уязвимостях веб-сайта и может быть применен к любому веб-сайту.

В WordPress нет встроенных функций, предотвращающих эти два типа атак. Поэтому вы несете ответственность за их предотвращение на своих сайтах.

Этот урок покажет вам, как вы можете предотвратить атаки методом перебора.

Как начинается атака грубой силы на сайт WordPress?

Начинать атаку грубой силой на сайте относительно легче, чем на любые другие виды атак. Чтобы запустить атаку грубой силой на сайт, который входит в учетную запись пользователя, вам просто нужно отправить POST-запросы формы входа в систему с предполагаемым именем пользователя и паролем.

В случае WordPress POST-запрос с предполагаемым именем пользователя и паролем wp-login.phpwp-login.php

Давайте рассмотрим некоторые способы предотвращения атак методом перебора.

Проверка, что вы человек

Большую часть времени атаки грубой силы совершаются с помощью ботов. Мы можем просто проверить, была ли форма отправлена ​​человеком или нет. Если он представлен ботом, то мы просто не обрабатываем его.

Agbonghama Collins написала здесь статью в SitePoint о том, как интегрировать Google CAPTCHA reCAPTCHA в форму входа в WordPress . Нет CAPTCHA reCAPTCHA — это простой и удобный для пользователя способ попросить посетителя сайта подтвердить, являются ли они людьми или нет при отправке формы.

Вот следующие проблемы с использованием этого метода:

  1. WordPress обрабатывает запрос в любом случае, поэтому если атака грубой силы осуществляется крупномасштабными роботами, ресурсы все равно потребляются, что может убить сайт.
  2. Этот метод предотвращает доступ к ботам, но не к людям.

Защита паролем wp-login.php

Вы можете защитить доступ к файлу wp-login.php Это просто добавляет дополнительный уровень безопасности. Несмотря на то, что атака грубой силой может быть запущена против базовой аутентификации HTTP, но взломать оба уровня сложно и сложно.

Чтобы защитить паролем доступ к файлу .htpasswd

  1. Создайте файл .htpasswd с помощью генератора htpasswd .
  2. Поместите этот файл в то же место, что и ваш файл .htaccess
  3. Предполагая, что ваш файл .htpasswdnarayanprusty.htaccess
 ## Stop Apache from serving .htpasswd files
<Files ~ "^\.ht"> Order allow,deny Deny from all </Files>

<Files wp-login.php>
AuthUserFile ~/.htpasswd
AuthName "Private access"
AuthType Basic
require user narayanprusty
</Files>

Вот следующие проблемы с использованием этого метода:

  1. Если ваш сайт WordPress имеет несколько авторов, вы можете не захотеть делиться именем пользователя и паролем базовой аутентификации.
  2. Возможно, что бот или человек могут успешно угадать оба пароля.
  3. Хотя WordPress не загружается во время базовой аутентификации, веб-сервер запускает процесс проверки учетных данных, поэтому он потребляет память и ЦП, которые могут убить сайт, если запросы выполняются в больших масштабах.

Плагин для защиты входа в систему Brute Force

Brute Force Login Protection — это плагин WordPress, который защищает попытки входа в систему методом грубой силы, принимая во внимание несколько факторов.

Вот как работает плагин:

  1. Ограничивает количество разрешенных попыток входа в систему для IP-адреса.
  2. Позволяет вручную заблокировать IP-адрес от входа в WordPress.
  3. Это задерживает выполнение после неудачной попытки входа в систему, чтобы замедлить атаку методом подбора. Это может предотвратить уничтожение сайта.
  4. Он также информирует пользователей о количестве попыток входа в систему, оставшихся до блокировки.

Вот так выглядит страница настроек плагина:

Плагин для защиты входа в систему Brute Force

Вот следующие проблемы с использованием этого плагина:

  1. Он не сможет хорошо справиться с распределенной атакой грубой силы, потому что этот плагин полностью использует IP-адрес. Распределенная атака методом «грубой силы» — это атака с разных компьютеров, т.е. с разных IP-адресов.
  2. Это задерживает выполнение скрипта для IP-адреса, если ранее не удалось войти в систему. Хотя это экономит вычислительное время, память все еще используется, поскольку процесс создается в памяти.

BruteProtect

BruteProtect — это облачный плагин для предотвращения атак Brute Force, цель которого — обеспечить лучшую защиту от атак ботнетов.

Каждый сайт WordPress, на котором установлен BruteProtect, станет частью сети BruteProtect. Когда IP-адрес блокируется из-за злонамеренной активности (например, некоторого количества неудачных попыток входа в систему), он разделяется между всеми сайтами, так что все они могут заблокировать его, прежде чем он начнет вредить любым сайтам.

Вы можете думать о BruteProtect как о расширенной версии вышеупомянутого плагина Brute Force Login Protection, так как он имеет больший список плохих ботов, поэтому, вероятно, преуспевает в случае распределенной атаки методом грубой силы.

Одной из особенностей, которой плагин BruteProtect не имеет, что делает плагин Brute Force Login Protection, является замедление выполнения сценария при неудачных попытках входа в систему. Однако это не имеет большого значения, так как требует дополнительного времени.

Проблема с использованием этого плагина заключается в том, что WordPress загружается при каждом запросе на проверку IP-адреса. Поэтому, если атака грубой силой проводится в достаточно большом масштабе, сайт все равно может оказаться перегруженным и упасть.

CloudFlare

CloudFlare защищает и ускоряет любой веб-сайт онлайн. Как только ваш сайт становится частью CloudFlare, его веб-трафик направляется через их интеллектуальную глобальную сеть. Они автоматически оптимизируют доставку ваших веб-страниц, так что ваши посетители получают самое быстрое время загрузки страницы и лучшую производительность.

Важно то, что он может предотвратить атаки методом грубой силы. У него есть бесплатные и премиальные планы. Свободного плана достаточно, чтобы получить приличную защиту от перебора. Все методы, которые мы видели выше, заставляли наш веб-сервер выполнять работу по предотвращению атаки методом «грубой силы», которая, как мы уже упоминали, все еще может потреблять память и процессор. Но CloudFlare, с другой стороны, может предотвращать вредоносные запросы, даже до того, как они попадут на ваш сервер.

Это изображение ниже показывает, как CloudFlare останавливает вредоносные запросы:

CloudFlare Иллюстрация отражения атаки

Вот следующие проблемы с использованием этого сервиса:
1. Вам необходимо внести изменения в DNS для интеграции CloudFlare с вашим сайтом. Это может быть сложно, если вы не слишком технический.
2. Он не может остановить атаки грубой силы, совершаемые людьми. Это хорошо для выявления злых ботов, но не злых людей.

Вывод

Вам должно быть интересно, какое решение лучше? Это действительно зависит от того, какой из них вы считаете лучшим для ваших нужд. Лично я использую CloudFlare и BruteProtect, чтобы остановить атаки методом «грубой силы» на моем сайте.

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