Обслуживание WordPress Взломали сайт? Плагин безопасности Цены Блог
Главная / Блог / Безопасность сайта
25 октября, 2026

Пароли приложений WordPress: проверьте забытые доступы за 10 минут

Ключ подключения может работать годами, хотя вы уже забыли, в каком кабинете его создавали. 17-18 октября взломали TeamUpdraft - компанию, которая выпускает UpdraftPlus. Украденные ключи UpdraftCentral использовали для отправки команд на подключенные сайты. В том числе - для создания администраторов и установки вредоносных плагинов. А скоро изменения в WooCommerce подтолкнут владельцев магазинов заводить пароли приложений WordPress для AI-инструментов. Я бы проверил оба вида доступа прямо сейчас. Минут десять на это найдется.

Что умеет пароль приложения

Пароли приложений есть в WordPress с версии 5.6. Через них приложение, скрипт или интеграция подключается к REST API или XML-RPC. В обычную форму wp-login.php такой пароль не введешь. И запрос 2FA, который просят при обычном входе, тут не поможет - интеграция вообще не проходит через эту форму.

Каждый пароль привязан к конкретному пользователю WordPress и получает его права. Отдельной настройки «только чтение» для самого пароля нет. Если пароль приложения создан для администратора, он дает доступ в рамках прав администратора. WordPress хранит эти пароли в виде хешей, а сам пароль показывает лишь один раз - при создании. Потом посмотреть или отредактировать его нельзя. Можно только отозвать и выпустить новый.

Неудобный момент: общего списка по всему сайту нет. Придется открывать профили пользователей по одному. Доступ выдали на время проекта, проект закрыли, а подключение осталось. Такое сплошь и рядом, особенно если никто не отвечает за уборку старых доступов. Раз об интеграции давно не говорят, это еще не значит, что ее отключили.

Проверка за 10 минут

  1. Просмотрите пользователей. Откройте Users > All Users. Ищите бывших сотрудников, агентства и фрилансеров. Удалите учетные записи, которым доступ больше не нужен. Если человеку все еще нужно что-то делать на сайте, понизьте роль. Начните с администраторов, потом проверьте остальных - инструменты могли подключать и они.
  2. Откройте нужные профили. Для своего аккаунта зайдите в Users > Profile. Для чужого - в Users > All Users и нажмите Edit. Прокрутите до Application Passwords. У каждой записи есть Name, Created, Last Used и Last IP. Там же кнопка Revoke и возможность отозвать сразу все пароли приложений. Last Used обновляется не чаще раза в 24 часа. Это ориентир по дню, а не точное время входа.
  3. Отзовите непонятные пароли. Сверьте название с приложениями, которыми еще пользуетесь. Если не уверены, спросите у человека который настраивал интеграцию: удалите пароль наугад - и обмен заказами может встать. Точно знаете, что подключение больше не нужно? Отзывайте. Смена обычного пароля пользователя не удаляет его пароли приложений, так что сброс пароля эту проверку не заменит.
  4. Если аккаунтов много, возьмите WP-CLI. Команда wp user application-password list <user> покажет записи пользователя. Команда wp user application-password delete <user> --all удалит их все. Вторую не запускайте ради экономии пары минут, если не готовы к тому, что интеграции этого пользователя перестанут работать.
  5. Проверьте ключи UpdraftCentral. Откройте Settings > UpdraftPlus Backups > Advanced Tools > UpdraftCentral и удалите подключения, которыми не пользуетесь. UpdraftPlus 1.26.13 (бесплатная версия) и 2.26.13 (Premium) отзывают старые ключи, затронутые взломом. Подробности есть в нашем разборе истории с ключами UpdraftCentral.
  6. Посмотрите другие панели удаленного управления. Проверьте плагин Worker от ManageWP, Child от MainWP, Jetpack и любые подключения для бэкапов или управления сайтом. Больше не пользуетесь внешней панелью? Сначала отключите или удалите сайт там, затем деактивируйте и удалите плагин на своем сайте. Не узнаете панель или аккаунт - убирайте подключение.
  7. Разберите ключи магазина. В WooCommerce > Settings > Advanced > REST API посмотрите описание, пользователя, права и Last access каждого ключа. Отзовите ключи, назначение которых не можете объяснить, и те, что давно не использовались. Ключ работает с правами пользователя WordPress, для которого его создали. Удалите этого пользователя - ключ тоже перестанет работать.
  8. Проверьте доступы вне WordPress. Логин старого подрядчика мог исчезнуть из Users, а доступ к хостингу, SFTP или другой панели - остаться. Проверьте их отдельно, заодно с паролями приложений и ключами WooCommerce этого человека. Перед следующим проектом пригодится инструкция о том, как дать разработчику доступ и сохранить контроль.
  9. Разберитесь с подключениями, которые оставляете. Для каждого инструмента заведите отдельный пароль приложения. Если возможно - и отдельного пользователя с минимальной подходящей ролью. Поставьте напоминание раз в квартал пересматривать список. Когда сотрудник уходит или инструмент больше не нужен, отзывайте пароль и если нужно, создавайте новый. Иначе полезное подключение так и будет висеть, пока все не забудут, кто его настроил.

AI-подключению тоже нужны ограниченные права

21 октября команда WooCommerce объявила: в будущей версии 11.3 уберут эндпоинт /wp-json/woocommerce/mcp и вход MCP-клиентов по ключу REST API. Вместо этого MCP-клиентам понадобятся плагин WordPress MCP Adapter и пароль приложения WordPress. На момент написания текста версия 11.3 еще не вышла. Из-за одного анонса переделывать рабочее подключение сегодня не нужно.

Когда дойдет до настройки, не давайте AI-инструменту свой основной аккаунт администратора просто по привычке. Попробуйте отдельную учетную запись Editor или Shop manager и проверьте, каких прав ему хватает. В названии пароля укажите инструмент и месяц создания - потом сами себе спасибо скажете. Один инструмент - один пароль. Тогда можно отключить одно подключение, не задевая остальные. У самого пароля ограничений по правам нет: границу задает роль пользователя.

Если пароли приложений вам не нужны

Функцию можно выключить через add_filter( 'wp_is_application_passwords_available', '__return_false' ); в небольшом плагине или mu-плагине. В functions.php темы я бы этот код не клал: смените тему - и настройка пропадет. Для точечной настройки по пользователям есть фильтр wp_is_application_passwords_available_for_user.

После отключения раздел исчезнет из профилей, а существующие пароли приложений перестанут проходить авторизацию. Сначала проверьте Last Used и выясните, какие сервисы от них зависят. В бесплатных настройках усиления защиты Bearmor Security есть переключатель Disable Application Passwords в разделе Hardening > Access hardening. Он только выключает функцию. Аудит за вас переключатель не проведет - записи все равно надо просмотреть вручную.

Если ключ кажется чужим

Незнакомый ключ, который недавно использовали, - повод разобраться сразу. Не успокаивайте себя тем, что обычный пароль аккаунта уже сменили: на пароли приложений это не влияет. Я бы действовал так:

  • Отозвать пароль приложения или ключ подключения, происхождение которого непонятно.
  • Проверить в Users незнакомых администраторов, а в Plugins - плагины, которые вы не устанавливали.
  • Если есть подозрение, что на сайт вошли посторонние, обратиться за очисткой взломанного WordPress-сайта, а не просто удалить странную запись и забыть.

Сегодня начните со своего профиля: прокрутите до Application Passwords, прочитайте названия и даты Last Used. Не можете сказать, к чему подключен один из паролей? Вот это и выясните первым делом.