Как предотвратить утечку логинов WordPress/Woocommerce?



@Yuribtr

Здравствуйте, после запуска магазина на Woocommerce через Sucuri Security заметил, что появились попытки подбора пароля к административным аккаунтам и аккаунтам с правами менеджера магазина. Что интересно, к учетным записям обычных пользователей (например клиентов магазина) пароли не подбираются. Причем удаление логина и создание нового с административными правами (естественно со сменой ID) не помогает — через небольшое время хакеры начинают подбирать пароли используя этот новый логин.
Перебор юзеров по ID также запрещен. То есть обращение к сайту site.com/?author=1 приводит к редиректу на главную страницу. В материалах, да и везде в товарах, отсутствует упоминание автора (т.н. byline). В плагине Yoast SEO отключен вывод архивов авторов. Все плагины обновлены. Подозреваю все таки сам WooCommerce — ведь подбор идет не только по администраторам, но и по менеджерам магазинов.
Пока я ограничил подбор паролей через плагин «Limit Login Attempts Reloaded», но хотелось бы все таки понять как вообще можно запретить хакерам получать логины? Какие методы проверки есть чтобы узнать где утекают логины?


Решения вопроса 1



@m0ze

У WordPress есть несколько способов получения списка аккаунтов, как администраторов, так и любых других. Отдельным образом ещё в этом помогает WooCommerce, если установлен и активирован (из «коробки» есть два линка, через которые возможен перебор аккаунтов). Если бы вы указали ссылку на сайт, то можно было бы более конкретно посмотреть, а так — только общие рекомендации вроде IPTables + fail2ban, убрать всякие «Limit Login Attempts» и аналоги, равно как и плагины безопасности, от которых вреда может быть больше, чем пользы.

Немного деталей:

— посмотрите исходный код страниц и поищите в нём

<script type="application/ld+json" class="rank-math-schema">

— внутри, среди прочих данных, может быть и логин автора записи/страницы;

/wp-json/wp/v2/users или /wp-json/wp/v2/users/X, где X — ID пользователя;

/wp-json/wp/v2/posts — записи сайта, среди данных будет ID автора записи;

/wp-json/wp/v2/pages — то же, что и с записями, только применительно к страницам;

/wp-json/wp/v2/media — то же самое, только для файлов в библиотеке;

/wp-json/wp/v2/comments — актуально, если не отключали возможность оставлять комментарии на сайте;

/wp-json/wp/v2/product — актуально для работающего WooCommerce — выводятся все товары (по ID страницы товара можно посмотреть данные по медиа-файлам, где будет ID автора);

/feed/ — [если не отключён фид] среди прочего, там также будет указан автор <dc:creator>автор</dc:creator>.

Брутфорс (процесс автоматизируется, разумеется):

— через форму /wp-login.php — при некорректном логине будет возвращена ошибка с соотв. сообщением;

/author/xxxx/;

/my-account/xxxx/ и /account/xxxx/ [для WooCommerce].

Комментировать

Ответы на вопрос 2



@OtshelnikFm Куратор тега WordPress

Это не хакеры. Это боты. Они уже много десятилетий вордпресс и другие cms на автомате шерстят.
Крепкие пароли и закрытие доступа ip после 3х попыток — усмирят ботов.

p.s. не увлекайся ты этими Sucuri Security best secury — все это нагружает сервак.
Все что нужно знать — «да боты будут долбить всегда». Защита через серверный iptables и нет проблем. А вордпресс навешивать укрепляя безопасность — ну это как дверь стулом подпирать — работает, но не правильно. А врезать правильный замок — вот решение



@sputnickk

в .htaccess пишешь:

# защита wp-config.php
<files wp-config.php>
order allow,deny
deny from all
</files>

# Защищаем собственно .htaccess файл
<Files ~ "^.*.([Hh][Tt][Aa])">
order allow,deny
deny from all
satisfy all
</Files>


<Files wp-login.php>
order deny,allow
deny from all
</Files>

<Files wp-admin.php>
order deny,allow
deny from all
</Files>

<Files wp-signup.php>
order deny,allow
deny from all
</Files>

<Files xmlrpc.php>
order deny,allow
deny from all
</Files>

и меняешь путь на логин, хорош этот плагин — wps hide login
секурные плагины/комбайны — только замедляют сайт, если еще больше хочется защиты, пусти сайт через cloudflire и там создай правило — чтобы блокировало — https://i.imgur.com/OElnkXv.png у меня на посещаемых сайтах до пол тыс блокировок в день

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *