ГлавнаяПлагиныЗащита WordPress с помощью плагина Limit Login Attempts

Защита WordPress с помощью плагина Limit Login Attempts

Самой частой причиной взлома сайтов на WordPress является слабый пароль, который легко перебрать с помощью словаря или путем полного перебора. Не секрет, что даже сложные и надежные пароли можно перебрать, хотя на это может уйти много времени. Защитить свой сайт на WordPress от полного перебора паролей поможет плагин Limit Login Attempts.

Настройка плагина Limit Login Attempts

Настройка плагина Limit Login Attempts

После активации Limit Login Attempts, при неудачной попытке входа в панель администрирования WordPress, плагин запомнит IP адрес пользователя и через определенное количество попыток заблокирует его на время. Число попыток и время блокировки легко меняется в настройках плагина.

В настройках так же можно увидеть суммарное количество блокировок, и журнал блокировок с указанием IP адреса и имени пользователя. Этот список покажет вам какие имена пользователя лучше не использовать для вашей установки WordPress: admin, administrator, support и т.д.

При блокировки IP адреса злоумышленника, Limit Login Attempts отправит уведомление администратору сайта на электронную почту.

Неудачная попытка авторизации с Limit Login Attempts

Неудачная попытка авторизации с Limit Login Attempts

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

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

Если вы ищите дополнительные средства защиты вашей панели администрирования WordPress, установите двойной фактор аутентификации (например с помощью Google Authenticator). Подробности в нашей статье: Основы безопасности WordPress.

Плагин Limit Login Attempts распространяется бесплатно под свободной лицензией GPL в официальной директории WordPress.org. Скачать и активировать плагин можно не покидая вашу панель администрирования в разделе Плагины → Добавить новый.

Подписаться на рассылку

Подписаться → Подпишитесь на бесплатную рассылку журнала WP Magazine и получайте новости, события, подборки тем и плагинов, уроки, советы и многое другое в мире WordPress!

  • chumachkin_m

    Отличный плагин, но будьте осторожны — если закончится кол-во попыток и администратора заблокирует, разблокировать возможно только через правку значения поля в БД.
    Плагин не совсем корректно работает с плагином Loginza — вина плагина Loginza.
    Рекомендую параметр «кол-во дополнительных попыток» ставить не меньше 10, а время блокировки увеличить и сделать не меньше 30 минут или более.

    • артем

      Разблокировать возможно не только через базу данных, есть и другой вариант. через ftp, зайти в плагины и удалить этот плагин. а потом, когда зайдешь в систему, заново его установить.

  • Считаю, что лучший способ защиты — это когда страница входа доступна по секретному адресу, который знаешь только ты. А при заходе по стандартному адресу (/wp-login.php) редирект на произвольный адрес сайта, например на страницу 404 или на главную.

    Конечно, если на сайте много зарегистрированных пользователей, то такое решение не подходит.

    • Неплохой вариант. А как быть с XML-RPC?

      • Лично я этим никогда не пользовался, поэтому у меня такого вопроса не возникало =) Видимо, никак.

        • То, что вы им не пользуетесь не значит, что он у вас не актинвен. Начиная с WordPress версии 3.5, протокол XML-RPC активен по умолчанию.

          • Ivan Panfilov

            блокировать доступ на файл средствами веб-сервера, а еще лучше удалять xmlrpc.php совсем.

          • Удалить xmlrpc.php плохая идея, ведь он снова появится при следующем же обновлении ядра WordPress. Чтобы отключить XML-RPC, лучше всего воспользоваться плагином, например Disable XML-RPC.

          • Ivan Panfilov

            да можно плагином. можно настройкой сервера…
            лично а стараюсь использовать как можно меньше сторонних плагинов и обходится стандартными средствами CMS и сервера.

          • Посмотрите на исходный код упомянутого плагина, это ведь и есть «стандартное средство» отключения XML-RPC в WordPress :)

            add_filter( ‘xmlrpc_enabled’, ‘__return_false’ );

          • Ivan Panfilov

            странный подход… почему бы просто не сделать галочку в CMS изначально в панели админской.
            в joomla например так сделано.

          • Потому что если для каждой подобной настройке делать галочку в админской панели, то WordPress быстро превратится… ну в Joomla наверное :)

            «Decisions, not options» это философия которой старается придерживаться WordPress, чтобы не получилось так, как во многих других CMS с огромным количеством настроек, которые пользователям не нужны.

            Здесь используется простое правило 80/20. Если 80% пользователям WordPress нужна эта галочка, она может быть в ядре. Если меньше, то это «территория плагинов».

            Именно поэтому в WordPress 3.5 убрали галочку XML-RPC и включили протокол по умолчанию.

          • Ivan Panfilov

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

          • Скачать и активировать плагин в WordPress можно в два клика не выходя из админ-панели, см. раздел Плагины — Добавить новый.

            Ну а если вы считаете, что редактировать файлы с кодом это проще чем активировать плагин, тогда добавьте эту же самую строчку, только не в wp-config.php, а скажем в wp-content/mu-plugins/disable-xmlrpc.php — эффект тот же самый :)

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

          • Ivan Panfilov

            да, но большинство пользователей и не настраивают много сайтов и отключать им скорее всего без надобности xml-rpc.

      • korobochkin

        Могу ошибаться в формулировке, но на хостинге с помощью mod_security2 можно отключить XML-RPC запросы(?). У sweb они как раз по умолчанию выключены и я пару часов недавно пытался выяснить что же не так и почему приложение Вордпресса для iOS не работает.

        • Можно через mod_security, можно через .htaccess, можно с помощью фильтра, но в любом случае лучше защищать, а не отключать, тем более когда есть потребность в мобильном приложении.

      • Tony

        Есть плагин Disable XML-RPC

  • Удобно, но мне кажется, надежней будет прописать защиту в файле /wp-admin/.htaccess
    можно прописать еще один логин пароль от апач или сделать защиту по Ip адресу или диапазону ip адресов

    • Можно и так, но пароли для аутентификации с помощью Basic Auth так же легко перебираются, а IP адрес подменить тоже не проблема, тем более если открыт целый диапазон.

      Кстати, при таком подходе нужно учитывать, что в директории wp-admin находятся некоторые файлы, которые должны исполняться и простыми анонимными пользователями, например admin-ajax.php, или admin-post.php. Заблокировав доступ к этим файлам вы можете сломать очень много плагинов.

  • Анна

    Привет, подскажите, как вы реализовали комментирование (вход с помощью соц. сетей, почты, коментарии с аватарками). Было бы здорово почитать статью

  • Плагин достаточно давно не обновлялся. Как вы думаете, его безопасно использовать?

  • Лев

    а можно ли использовать такой вариант: создать пользователя admin с паролем 123456 и правами подписчика? Или лучше еще как-то защитить сайт?