Как скрыть логин пользователя WordPress

Посмотрим статистику.
Для начала устанавливаем плагин Activity Log (логгирование действий пользователей), активируем
И видим следующие картину

Как скрыть логин пользователя WordPress

Кто все эти люди и откуда они знают мой логин?

Это не люди мучают клавиатуру с ручным подбором паролей, это боты (зараженные компьютеры). Точнее даже не компьютеры, а устройства типа микроволновки и холодильника. Сейчас везде производители ставят процессоры и выход в интернет, на таких устройствах практически нет никакой защиты, их взламывают и они вливаются в ряды ботов.
Еще есть «банды умных лампочек» – smart-лампы с управлением со смартафона через Wi-Fi. Тоже хорошо взламываются и начинают работать на чужих дядей.

WordPress достаточно легко выдает логин (логины) всем желающим по запросу http://site.ru/?author=1, где site.ru – домен Вашего сайта
Цифра 1 на конце запроса – это ID пользователя, перебирая все цифры, мы получаем список всех логинов пользователей.

Еше одно место, где видно настоящий логин — это архив статей автора. Несмотря на указанный другой ник «ГудВин» —  в адресной строке показывается реальный логин admin для входа в систему.

Как скрыть логин пользователя WordPress

Более того, при авторизации с правильным логином и неправильным паролем – WordPress радостно подтверждает правильность логина, скан ниже.

Как скрыть логин пользователя WordPress

Что можно сделать?

А ) Закрываем возможность выдачи логинов по запросу http://site.ru/?author=1

внесем изменения в файл .htaccess в корне сайта. Добавим в модуль переадресации

#lock info author
RewriteCond %{REQUEST_URI} ^/$
RewriteCond %{QUERY_STRING} ^/?author=([0-9]*)
RewriteRule ^(.*)$ http://site.ru/? [L,R=301]

В качестве адреса можно указать специальную страницу вида no-login.html, по крайней мере Вы будете сразу видеть в Метрике/Аналитики количество попыток подбора. Если указана только главная страница — то сложно сразу понять, какие заходы с поиска/рекламы, а какие с переадресации.

Как скрыть логин пользователя WordPress

ВАЖНО (для файла .htaccess в корневой директории для WordPress):

1. Для WordPress все свои инструкции необходимо указывать ниже пределов модуля
# BEGIN WordPress
# END WordPress
Внутри этой конструкции сам движок WordPress пишет свои инструкции

2. Если Вы по ошибке укажете дополнительные инструкции внутри этого модуля — то WordPress их затрет

B) Закрываем показ логина автора в адресной строке

тут два варианта

1-й вариант = Вы единственный автор и хозяин блога, добавляем одну строку в файл .haccess

#lock info author
RewriteCond %{REQUEST_URI} ^/$
RewriteCond %{QUERY_STRING} ^/?author=([0-9]*)
RewriteRule ^(.*)$ http://site.ru/? [L,R=301]
Redirect 301 /author http://site.ru

2-й вариант = если авторов у блога несколько и надо все-таки показать архив

Устанавливаем плагин Edit Author Slug — на странице настроек пользователей появляется дополнительное поле, меняем там например на goodwin.

Как скрыть логин пользователя WordPress

Бинго, теперь в адресной строке в разделе архивов авторов видно только наш измененный slug автора (логин admin не видно)

Как скрыть логин пользователя WordPress

C) Сменить стандартный логин администратора

Не просто переименовать, а сделать новый логин с новым ID и изменить его отображение. Т.е. отображение пользователя на сайте (как например, автора статей) не должно совпадать с его логином для входа в систему. Изменяется в настройках пользователя.

Как скрыть логин пользователя WordPress

Старый (скомпроментированный) логин можно удалить или временно заблокировать с помощью плагина Lock User Account (в списке Действий помимо Удалить еще появится выбор Lock и UnLock).

Как скрыть логин пользователя WordPress

Плагин Limit Login Attempts Reloaded

Настройки очень простые:

Как скрыть логин пользователя WordPress

Галочку «Отправлять имейл админу после….»  ставим обязательно.

Делает несколько полезных вещей:
— ограничивает число попыток ввода пароля (настраивается)
— прячет информацию о правильном логине, теперь страница входа (после ошибки) выглядит так

Как скрыть логин пользователя WordPress

Также ведется лог попыток (изоляций), видно, что роботы с мобильных устройств (да, да — через вход xmlrpc.php) более тупые. Бьются до исчерпания всех 4-х попыток, установленных в качестве ограничения.

Как скрыть логин пользователя WordPress

Более умные роботы (ботнеты) видят защиту и пробуют вход с одного IP не более 2-х раз, что бы администратору не отсылалась информация о переборе паролей.

После установки логина/пароля на файл xmlrpc.php для нормального пользователя все логично — сначала мобильное приложение запрашивает логин/пароль от WordPress, потом идет запрос пароля от сервера HTTP. Боты пытаются сразу обратиться к файлу xmlrpc.php и получают пинок в виде запроса пароля от сервера HTTP. Соответственно все многократные попытки подбора по XMLRPC из логов исчезают.

Если все сломалось и/или Вы не можете зайти в административную панель (превышено число попыток авторизации). Как разблокировать плагин limit login attempts? Заходите на хостинг по ftp, далее в www/wp-content/plugins, находите там папку с этим плагином и удаляете.