Security Blog
Security Blog

Ограничить попытки входа без плагина?

Как защитить страницу входа в WordPress без использования плагина


English version: Limit login attempts without a plugin?


В Интернете можно найти множество комментариев и советов по этому поводу. Но так ли это на самом деле?

По умолчанию WordPress допускает неограниченное количество попыток входа через форму входа, отправку специальных куки, использование вызова XML-RPC и вызовов REST API. Это позволяет относительно легко взламывать пароли с помощью атаки методом подбора. В настоящее время хакеры и боты постоянно пытаются войти на ваш сайт WordPress, угадывая ваш пароль администратора и пароли других пользователей, зарегистрированных на сайте. Итак, если вы хотите защитить свой сайт без использования плагина, вам нужно:

  1. Хорошо знаю PHP .
  2. Знайте достаточно о фильтре аутентификации и действии (встроенном в WordPress), чтобы зацепить их. Я рекомендую начать с зацепок вроде 'authenticate' и 'wp_login_failed'.
  3. Отслеживайте форму входа в систему, запросы на авторизацию XML RPC и REST API, и, да, не забывайте о файлах cookie авторизации (действительны ли они?).
  4. Сохраните где-нибудь все попытки со всеми попытками входа и всеми IP-адресами, чтобы вычислить, когда и какой IP нужно заблокировать. Я рекомендую использовать Transient API. Серьёзно. Это самый простой способ. Конечно, вы не можете его контролировать, но его использование позволяет вам что-то делать без знания SQL.
  5. Рассчитайте время между неудачными попытками входа для определенного IP-адреса.
  6. Иметь инструмент или PHP-код для сброса любого из этих счетчиков и заблокированного IP-адреса клиента. Что, если какой-то законный клиент будет заблокирован случайно?

Выглядит безумно? У вас есть второй вариант. Вы можете загуглить и взять несколько фрагментов кода из какого-нибудь блога в Интернете без какой-либо гарантии и поддержки.

Вывод: В Интернете можно найти множество советов о том, как ограничить попытки входа без плагина. Но все советы даются людьми, которые даже не знают, как именно работает алгоритм аутентификации WordPress, включая тех славных ребят из stackoverflow. Но, в любом случае, вы можете это сделать, если вы действительно не беспокоитесь о безопасности своего сайта, потому что нет возможности сделать это правильно без навыков PHP-кодирования и знания механизма аутентификации WordPress.

Если на вашем сайте произойдет что-то странное, кому вы позвоните?


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.