Как защитить свой сайт на wordpress от взлома способом перебора пароля. Реальный пример.
Друзья, наш сайт пытались взломать, поэтому я и решил написать эту статью. Попытка оказалась не удачной.
Перебор паролей или брутфорс — это «дедушкин» способ получить доступ к административной панели. Мне казалось, что уже давно его никто не использует, но вот вам скриншот из моего емайл-клиента. Это письмо мне пришло на почту сразу, как только была предпринята попытка взлома.
Установить плагин для ограничения попыток ввода пароля.
Нам сообщают что было 9 попыток ввода пароля. Хотя, у меня в настройках стоит «3» и потом блокировка на 48 часов. То есть, наш хакер успел своей программой для бутфорса опробовать 9 вариантов меньше чем за секунду. Как видите, прислал письмо плагин «Limit Login Attempts Reloaded Plugin».
Это простое и бесплатное расширение для сайта, которое блокирует IP адрес атакующего. Можно настроить число попыток не правильного ввода пароля и время блокировки. Поставьте такой или аналогичный плагин себе. Он поможет не только блокировать горе-хакера. но и узнать его айпи.
В нашем случае мы понимаем, что взлом пытались сделать с облачного сервиса Майкрософт. Если посмотреть подробную информацию, то мы увидим почту для писем с абузой. Сервис стоит денег, если предоставить все доказательства, то аккаунт будет как минимум, «заморожен» вместе со всем балансом.
В интернете рекомендуют сделать фильтр на доступ к админ-панели по ip. Это очень хороший способ, если ваш интернет провайдер не меняет его каждые 20 минут. Подойдет такой способ корпоративным клиентам. У них, как правило, айпи дипазон не меняется и строго закреплен в договоре на предоставление связи.
Безопасность администраторов и пользователей в Вордпресс
Теперь давайте, я расскажу, как еще можно защитить свой блог. И первое здесь будет рекомендация по пользователю. Не достаточно поменять банально слово «Admin» на свой вариант и дать ему сложный пароль из много букв, цифр и знаков.
Ни в коем случае, не пишите статьи от его имени.
Для размещения статей должен быть пользователь с правами «Автор». Пользователь с правами «Администратор» нужен для настроек, и использовать его нужно только для этого. Не создавайте, по возможности, несколько админов. А если без этого никак, то следите за сложностью паролей и почаще их меняйте.
WordPress не считает имя администратора уязвимостью, поэтому как бы мы его не изменяли, злоумышленник сможет получить его логин. Однако усложнить его получение можно с помощью закрытия доступа к передору на страничке «author/?». Для этого мы добавим в файл «.htaccess» строчки:
RewriteCond %{REQUEST_URI} ^/$
RewriteCond %{QUERY_STRING} ^/?author=([0-9]*)
RewriteRule ^(.*)$ https://it-otdel.org/? [L,R=301]
Redirect 301 /author https://it-otdel.org
Замените название сайта на свой.
Так мы закроем страничку автора от перебора. С его помощью и узнают имя админа.
После этого я добавляю нового пользователя, даю ему права админа, ставлю ему новый пароль из 16 знаков и меняю права старого на «Пользователь». Для этого нужно войти под созданным админом. Иначе программа не даст это сделать. Логины и пароли я сохраняю в программе 1С, которую специально написал для этого.
Защита от атаки xmlrpc.php.
Запрет доступа к xmlrpc.php нужен, чтобы не дать возможности множественного перебора паролей. Делается это с помощью конфигурационного файла «.htaccess». Находится он в корне вашего сайта.
Откройте его в текстовом редакторе (NotePad++) и добавьте строчки:
<IfModule mod_alias.c>
RedirectMatch 403 (?i)/xmlrpc.php
</IfModule>
После этого проверьте работу сайта и как себя ведут установленные расширения. Некоторые из них могут использовать xmlrpc.php. Этот файл является API для сайта. Если таковые есть, то вы их сразу определите. Вообще-то их в природе не много. Если, что-то не работает — верните все, как было, либо замените не работающий плагин на аналогичный.
Сделайть бекап сайта.
Архивная копия поможет в любой ситуации. Я про это писал во многих статьях про 1С. Но и каждая страничка в глобальной сети также нуждается в том, чтобы в крайнем случае не потерять все данные.
Делать копию сайта нужно каждый раз после добавления новой статьи. Используйте для этого плагины, которые предназначены для переноса сайта. Они обладают максимальным функционалом. Причем, он еще пригодится в случае перезда к другому хостеру.
Что в итоге получилось?
Самым действенным оказался способ спрятать имя пользователя. На картинке с экрана видно, что в начале взломщики знали имя администратора. Но после добавления редиректа они начали выдумывать логин.
Они до сих пор пытаются попасть пальнем в небо. Я вижу как они выдумывают разные не существующие логины. Эту информацию показывает плагин для ограничения попыток ввода пароля.