Перечисление пользователей: если вы еще не слышали об этом, сейчас самое время узнать. Этот распространенный эксплойт WordPress сам по себе не очень опасен, но часто служит первым шагом для злоумышленников, чтобы получить несанкционированный доступ к вашему сайту WordPress.
Через уязвимости перечисления пользователей люди могут получить доступ к списку имен пользователей на вашем сайте. Оттуда это часто приводит к атакам методом подбора и другим типам атак. К счастью, есть различные способы отключить перечисление пользователей.
В этой статье вы узнаете все способы остановить подсчет пользователей и обеспечить безопасность своего сайта.
- Что такое перебор пользователей WordPress?
- Влияние перебора пользователей
- Как предотвратить перечисление пользователей WordPress
- Отключить архивы авторов
- Отключить конечные точки пользователя REST API
- Отключить WordPress XML-RPC
- Удалить подсказки для входа
- Изменить URL-адрес входа по умолчанию
- Используйте брандмауэр веб-приложений
- Проверьте свой сайт с помощью WPScan
- Защита от рисков, вызванных подсчетом пользователей
- Остановить перечисление пользователей
Что такое перебор пользователей WordPress?
Перебор пользователей WordPress — это метод, который позволяет злоумышленникам обнаружить имена пользователей учетных записей на вашем сайте. Это может показаться не слишком серьезным — как много можно сделать, имея только имя пользователя?
Оказывается, довольно много, а это значит, что это представляет значительный риск. Атаки методом подбора, атаки социальной инженерии и использование повторного использования паролей для взлома учетных записей — вот лишь некоторые причины, по которым подсчет пользователей может стать большой проблемой.
По умолчанию WordPress имеет несколько уязвимостей, которые позволяют любому человеку получить доступ к именам пользователей на вашем сайте с помощью простой манипуляции URL или злоупотребления формами входа. Благодаря этому любой может узнать имя пользователя ваших учетных записей администратора или получить список всех пользователей на вашем сайте.
Влияние перебора пользователей
Поскольку перечисление пользователей считается довольно несерьезной угрозой (в конце концов, все, что получают злоумышленники, это имена пользователей), у вас может возникнуть соблазн ничего не делать. Но определенно стоит потратить время на снижение риска, тем более, что это довольно легко сделать.
Вот как предоставление доступа к подсчету пользователей злоумышленникам может негативно повлиять на ваш веб-сайт и ваш бренд.
1: Нарушение конфиденциальности пользователей – Позволяя злоумышленникам проводить атаки по перечислению пользователей на вашем сайте, вы оставляете информацию о пользователях и вашу собственную информацию открытой для раскрытия. Даже простое раскрытие имен пользователей может считаться нарушением конфиденциальности, особенно если эти имена пользователей связаны с реальными именами, адресами электронной почты или другой идентифицируемой информацией.
2: Атаки методом подбора — перечисление пользователей является первым шагом в атаке методом подбора. Получив список допустимых имен пользователей, злоумышленники могут систематически пробовать различные комбинации паролей, пока не получат доступ к учетной записи. Этот метод может быть очень эффективным, особенно если пользователи используют слабые или часто используемые пароли. Кража данных — одна из проблем, как и взлом вашей учетной записи администратора.
3: Атаки социальной инженерии – Имея на руках действительные имена пользователей, злоумышленники также могут заниматься атаками социальной инженерии, обманывая пользователей, чтобы они раскрыли конфиденциальную информацию, такую как их пароли. Например, злоумышленники могут отправлять фишинговые письма, которые, как представляется, приходят с вашего сайта, с просьбой к пользователям сбросить свои пароли. Чем более персонализирована атака, тем больше вероятность ее успеха.
4. Атаки с подменой учетных данных. Злоумышленники могут использовать полученные имена пользователей в сочетании с ранее раскрытыми учетными данными пользователей и использовать их для взлома учетных записей, которые повторно используют пароли.
5: Атаки типа «отказ в обслуживании» – Если вы используете плагин безопасности входа, это может быть использовано не по назначению. Злоумышленники могут саботировать учетные записи, намеренно рассылая им спам с неудачными попытками входа, блокируя пользователей от их учетных записей.
6: Поврежденная репутация – Уязвимость открытого перечисления пользователей, особенно если она приводит к нарушениям из-за атак методом подбора и социальной инженерии, может серьезно повредить репутации вашего бренда. Пользователи, которые чувствуют себя небезопасно, будут менее склонны взаимодействовать с вашим сайтом и контентом, а ущерб репутации может быть долгосрочным.
Учитывая все это, становится ясно, почему предотвращение подсчета пользователей должно стать приоритетом.
Перечисление пользователей использует определенные уязвимости платформы WordPress. Давайте подробно рассмотрим, как это работает и как это остановить.
Как предотвратить перечисление пользователей WordPress
Существует множество способов защитить ваш сайт от подсчета пользователей. Поскольку злоумышленники могут использовать различные методы для подсчета пользователей, вам нужно будет предпринять различные действия, чтобы значительно снизить риск.
Отключить архивы авторов
Один из самых простых методов, используемых злоумышленниками для перечисления пользователей, — это использование архивов авторов посредством манипуляции URL. WordPress назначает уникальный URL каждому автору, обычно в формате yoursite.com/author/username. Если они попробуют ввести имя пользователя и страница загрузится, они будут знать, что у них действительное имя пользователя.
Хуже того, есть еще более простой метод. У каждого пользователя на вашем сайте есть номер, связанный с его именем пользователя, и добавление?author=1 в конец URL-адреса перенаправит страницу на связанную учетную запись.
Нет необходимости угадывать имена пользователей; просто введите каждую цифру по одной.
Архивы авторов — это хороший способ увидеть все посты автора для некоторых веб-сайтов, и поэтому их не всегда можно отключить. Однако, это не обязательно для всех из них. Например, блоги с одним автором или сайты WordPress без блога вообще.
Простой, не требующий настройки плагин безопасности может быть использован для предотвращения манипуляций ботами архивов авторов и постоянных ссылок для поиска имен пользователей: Отключить архивы авторов. Просто установите его через Плагины > Добавить новый.
После этого все готово. Теперь, когда кто-либо попытается попасть на страницу архива автора или использовать эксплойт URL?author=1, он увидит страницу 404.
Отключить конечные точки пользователя REST API
REST API — еще одна область беспокойства. WordPress REST API — это мощная функция, которая позволяет разработчикам взаимодействовать с данными вашего сайта с помощью HTTP-запросов. Однако эта функциональность также может быть использована для перечисления пользователей.
Метод прост: просто добавьте /wp-json/wp/v2/users в конец URL вашего сайта. Это вернет ответ JSON, содержащий все зарегистрированные имена пользователей. Это делает сбор информации, необходимой для запуска целевых атак, невероятно простым для злоумышленников.
Благодаря этому любой желающий может увидеть полный список пользователей вашего сайта, и это гораздо быстрее, чем проверять каждое целое число по одному в архивах авторов.
Чтобы исправить это, вы можете установить плагин Stop User Enumeration через Plugins > Add New. В плагин встроено несколько настроек для блокировки перечисления пользователей, включая блокировку конечных точек REST API пользователя.
Это еще один очень простой плагин plug-and-play. Вы можете проверить страницу настроек через Settings > Stop User Enumeration, но все начинается с галочки. Убедитесь, что Stop REST API User calls отмечен.
Теперь, если любой пользователь, не вошедший в систему, попытается получить доступ к конечным точкам пользователя REST API, он увидит ошибку.
Отключить WordPress XML-RPC
XML-RPC — это протокол, встроенный в WordPress, который иногда может использоваться для перечисления пользователей и включения атак методом подбора. Хотя он используется на некоторых сайтах WordPress, многие вообще его не используют, так что он служит только уязвимостью.
Если ваш сайт не использует XML-RPC, рекомендуется отключить его. Самый простой способ сделать это — использовать этот плагин: Отключить XML-RPC.
Этот плагин настолько прост, что у него даже нет интерфейса. Установите его через Плагины > Добавить новый, чтобы отключить XML-RPC, и отключите его, чтобы включить обратно.
Удалить подсказки для входа
Следующий шаг в остановке перечисления пользователей — заблокировать страницу входа. Формы входа WordPress — еще один распространенный вектор атак перечисления пользователей на сайтах WordPress. Злоумышленники могут использовать сообщения об ошибках в этих формах, чтобы определить, существует ли имя пользователя.
Например, если попытка входа с несуществующим именем пользователя возвращает сообщение типа «Неверное имя пользователя», это подтверждает, что имя пользователя отсутствует в системе. И наоборот, если сообщение меняется на «Неверный пароль», злоумышленник знает, что он нашел действительное имя пользователя.
Мы хотим заменить это сообщение более общим, которое не раскрывает, правильно ли они угадали имя пользователя или нет.
Вы можете создать простой код, который удалит подсказки для входа и заменит их общей ошибкой. Перейдите в Tools > Theme File Editor и найдите functions.php вашей темы. Вставьте этот код внизу, но замените его своим собственным сообщением об ошибке, если хотите.
function generic_login_error(){
return 'Вход не удался. Проверьте имя пользователя и пароль.';
}
add_filter('login_errors', 'generic_login_error');
Теперь ваша страница входа защищена от попыток подсчета пользователей.
Изменить URL-адрес входа по умолчанию
Еще одна вещь, которую вы можете сделать, это изменить URL входа, который в WordPress обычно /wp-login.php. Таким образом, никто не сможет попробовать свои трюки с перечислением пользователей. Это также остановит большинство атак методом подбора, которые могут быть следствием перечисления пользователей.
Это можно сделать, установив Melapress Login Security через Плагины > Добавить новый или купив премиум-плагин.
После установки перейдите в раздел Безопасность входа > Защита страницы входа. Найдите URL страницы входа и измените его на новый URL. Постарайтесь сделать его таким, чтобы никто не мог угадать или узнать его, увидев его, поскольку он все еще может отображаться в вашей карте сайта.
Используйте брандмауэр веб-приложений
Другой способ остановить подсчет пользователей — установить брандмауэр веб-приложений, настроенный на блокировку вредоносных ботов.
Многие попытки подсчета пользователей происходят из-за волн ботов, ищущих легкие для взлома веб-сайты, а не из-за целенаправленных попыток людей. WAF изначально не даст этим ботам подсчитывать пользователей, какой бы метод они ни пытались использовать.
Существует множество способов разместить WAF на своем веб-сайте: от специализированных сервисов, таких как Wordfence, до CDN, таких как Cloudflare, которые включают брандмауэры веб-приложений как часть своей платформы.
Проверьте свой сайт с помощью WPScan
Наконец, WPScan — популярный инструмент, используемый профессионалами в области безопасности WordPress и этичными хакерами для сканирования сайтов WordPress на наличие уязвимостей, включая подсчет пользователей.
В WPScan даже есть специальная команда перечисления пользователей –enumerate u, которая попытается составить список имен пользователей с вашего сайта.
Вы можете бесплатно установить WPScan CLI Scanner или использовать упрощенный плагин WPScan.
1: Установите WPScan через Плагины > Добавить новый.
2: Зарегистрируйте учетную запись для получения вашего API-токена. Это позволяет совершать 25 ежедневных вызовов API-запросов ежедневно.
3: Перейдите в WPScan > Настройки и введите свой токен в WPScan API Token. Затем нажмите Сохранить изменения.
4: Перейдите в WPScan > Report и нажмите Run All, чтобы просканировать ваш веб-сайт. Или прокрутите вниз до Security Checks и запустите отдельные сканирования. Страница обновится, и вы увидите отчет об обнаруженных уязвимостях.
WPScan — отличный инструмент для выявления уязвимостей, но хотя его использование таким образом незаконно, его также часто используют хакеры для поиска слабых мест. Если вы можете найти уязвимость с помощью WPScan, то и любой другой сможет.
Защита от рисков, вызванных подсчетом пользователей
Вы можете многое сделать, чтобы остановить подсчет пользователей, особенно от автоматизированных атак, направленных на сайты WordPress, которые не приняли или предприняли незначительные меры предосторожности.
Но целенаправленные атаки может быть трудно остановить, и вам нужно сместить фокус на остановку результирующих атак грубой силы и попыток взлома. Вот что вы можете сделать.
1: Поддерживайте WordPress в актуальном состоянии – Запуск устаревшего ядра WordPress, тем и плагинов – это, по сути, худшее, что вы можете сделать. По мере того, как WordPress получает все больше обновлений, он будет продолжать исправлять уязвимости, включая те, которые приводят к перечислению пользователей.
2: Ограничьте попытки входа в систему – После успешного перечисления пользователей часто вскоре следуют попытки подбора пароля. Melapress Login Security может помочь вам ограничить попытки входа в систему и укрепить вашу страницу входа многими другими способами.
3. Используйте надежные пароли и имена пользователей. Лучший способ защитить своих пользователей — это использовать надежные пароли и имена пользователей, что также может сделать Melapress Login Security.
4. Периодически сбрасывайте пароли – Политика истечения срока действия пароля может предотвратить успешные атаки с использованием подстановки учетных данных. Повторное использование паролей представляет меньшую угрозу, поскольку пользователи вынуждены часто обновлять свои пароли.
5: Установите ограничения по IP и времени – Еще одна функция Melapress Login Security – это возможность блокировать учетные записи. Вы можете установить ограничения по IP, чтобы пользователи могли входить в систему только с доверенных устройств, и ограничения по времени входа, чтобы никто не мог использовать учетную запись вне рабочего времени.
6: Отключите неактивных пользователей – Чем больше у вас пользователей, тем больше векторов атак, особенно если у этих пользователей повышенные привилегии. Может быть хорошей идеей отключить неактивные учетные записи пользователей по истечении определенного периода времени.
7: Включите двухфакторную аутентификацию. WP 2FA может включить двухфакторную аутентификацию, требуя от всех учетных записей пользователей наличия дополнительной точки безопасности и предотвращая большинство нежелательных входов в систему.
8: Реализуйте проверки CAPTCHA. Проверка CAPTCHA, которую можно реализовать с помощью CAPTCHA 4 WP, остановит взлом многих ботов.
9: Защита от социальной инженерии – Остановка фишинговых атак, таких как поддельные письма для сброса пароля, которые являются результатом перечисления пользователей, может быть сложной. Не существует плагина, который вы можете установить, чтобы остановить это; вам нужно обучить себя и всех сотрудников быть осторожными со ссылками, по которым они нажимают, и как определять подозрительные письма.
10: Используйте плагин журнала активности – Никогда не помешает иметь плагин журнала активности. С его помощью вы сможете внимательно следить за тем, чем занимаются ваши пользователи, и выявлять любое подозрительное поведение. Вы даже можете настроить индивидуальные отчеты, которые будут периодически отправляться на вашу электронную почту.
Остановить перечисление пользователей
Перечисление пользователей может показаться незначительной проблемой, но оно может напрямую привести к атакам методом подбора и взлому вашего сайта. Важно сделать все возможное, чтобы остановить перечисление пользователей, от отключения уязвимых конечных точек REST API до сокрытия архивов авторов.
Плагины, такие как Melapress Login Security, WP 2FA и CAPTCHA 4WP, могут остановить ботов, пытающихся использовать перечисление пользователей в ваших формах входа, а также предотвратить последующие атаки методом подбора и попытки входа в систему. Защитите свой веб-сайт от плохих ботов и остановите использование перечисления пользователей, прежде чем оно зайдет слишком далеко.