Безопасность
Что делать, если ваш сайт взломан
A compromised website needs three things in order: contain it, find out how they got in, then rebuild it clean. Doing those out of order is how sites get reinfected within a day.
Компрометированный веб-сайт требует трёх действий по порядку: изолировать его, выяснить способ проникновения, а затем восстановить его чистую копию. Выполнение этих действий в неправильном порядке приводит к повторному заражению сайта в течение суток.
Работайте на этой странице сверху вниз. Инструкции не предполагают никаких знаний о способе атаки.
Не просто удаляйте подозрительные файлы и продолжайте работу. Почти любое компрометирование оставляет более одного способа для повторного входа: второй бэкдор, незаконный администраторский аккаунт, запланированное задание или изменённый системный файл. Удаление видимого симптома и остановка на этом, самая частая причина повторной атаки на сайт в течение недели.
Признаки реальной компрометации
- Результаты поиска показывают фармацевтические, игровые или страницы на иностранных языках, которые вы не создавали.
- Посетители перенаправляются на другие сайты, часто только на мобильных устройствах или только из поисковых систем.
- Браузер или поисковая система показывает предупреждение о вашем домене.
- Файлы появляются с именами или датами изменения, которые вы не можете объяснить.
- Ваш сайт рассылает спам, или ваш домен начинает отклоняться почтовыми провайдерами.
- Существует администраторский аккаунт, который никто не создавал.
Не каждый из этих признаков указывает на взлом. Сайт, который просто медленно работает или выдаёт ошибки, часто испытывает конфликт плагинов или достиг лимита ресурсов. Прочитайте Сайт не загружается сначала, если это всё, что у вас есть.
Шаг 1: Изолировать его
Возьмите сайт в автономный режим перед началом расследования. Каждая минута, в течение которой он остаётся в сети, приносит больше вреда вашей репутации, рейтингу в поисковых системах и вашим посетителям.
Самый быстрый способ сделать это без удаления чего-либо, это защита паролем, которая помещает вход перед всем сайтом на уровне веб-сервера:
- Перейдите в Websites и откройте сайт.
- Откройте вкладку Password protect.
- Включите её и установите имя пользователя и пароль.
Теперь сайт выдаёт запрос входа каждому посетителю, включая злоумышленника, при этом вы сохраняете полный доступ через панель, SFTP и SSH.

Если вы знаете IP-адрес злоумышленника, добавьте его также в IP block list на вкладке Security сайта.
Не удаляйте сайт и не восстанавливайте ничего пока. Текущее состояние, единственное ваше свидетельство того, как произошла атака. Сделайте резервную копию компрометированного сайта сейчас, явно обозначьте её как заражённую и сохраните её отдельно. Она может вам понадобиться.
Шаг 2: Выяснить способ проникновения
Существует всего несколько реалистичных ответов, и каждый из них меняет то, что вы делаете дальше.
Проверьте журнал аудита панели. Перейдите в Settings, затем Account, затем View log. Действия, приписанные вашей команде с IP-адреса, который никто из вас не использует, означают, что сам аккаунт Kapsule был скомпрометирован. Это гораздо более серьёзный инцидент: см. Account Security и относитесь к аккаунту как к скомпрометированному. Вкладка Activity сайта охватывает изменения, сделанные через панель.
Проверьте журналы ошибок и доступа на вкладке Logs сайта. Повторяющиеся запросы к одному пути плагина или всплеск POST-запросов к конечной точке загрузки обычно указывают на способ проникновения. См. Reading Error Logs.
Запустите проверку на вредоносный код на вкладке Security сайта. См. Scanning For and Removing Malware, чтобы узнать, как интерпретировать результаты.
Проверьте, что было устаревшим. Устаревший плагин, тема или версия ядра, наиболее частая точка входа. См. Keeping WordPress Updated.
Шаг 3: Восстановить чистую копию
Есть два способа получить чистый сайт, и надёжен только один из них.
Надёжный способ: восстановление из резервной копии, созданной до компрометации
Примерно определите, когда началась компрометация, из ваших журналов, а затем восстановитесь из резервной копии, созданной задолго до этой даты.
- Перейдите на вкладку Backups сайта.
- Выберите резервную копию, созданную до заражения.
- Восстановите её сначала на staging. Диалог восстановления специально по умолчанию переходит на staging.
- Проверьте копию на staging: нет неизвестных файлов, нет неизвестных администраторских пользователей, нет перенаправлений.
- Когда вы удовлетворены, восстановите на live. Восстановление на live требует, чтобы вы ввели имя домена для подтверждения.
См. Restoring From a Backup для получения подробной информации, включая способ отдельного восстановления файлов и базы данных.
На сайтах WordPress и WooCommerce с управляемыми базами данных восстановление в определённую точку на вкладке PITR может восстановить базу данных на определённую минуту вместо того, чтобы восстанавливаться к последней ночной резервной копии. Это важно, когда в противном случае вы потеряли бы день заказов.
Восстановление откатывает всё, включая законный контент и заказы, созданные после этой резервной копии. Перед восстановлением экспортируйте любые данные, которые вам нужно сохранить с текущего сайта, и помните, что контент, экспортированный с компрометированного сайта, может сам содержать внедрённый код. Проверьте его перед импортом.
Ненадёжный способ: очистка на месте
Если у вас нет чистой резервной копии, вам нужно вручную очистить сайт. Будьте честны с собой относительно того, насколько тщательной должна быть эта очистка.
- Изолируйте каждый файл, помеченный сканером вредоноса. См. Scanning For and Removing Malware.
- Замените ядро WordPress, каждый плагин и каждую тему свежими копиями из источника, а не обновляйте на месте.
- Удалите любой плагин или тему, которые вы активно не используете. Неактивный код всё ещё выполняется, когда он доступен.
- Проверьте файлы, которые сканер не охватывает:
.htaccess,wp-config.phpи всё в вашей папке uploads, что не является изображением. - Проверьте запланированные задания на вкладке Cron jobs сайта на предмет заданий, которые вы не создавали.
- Проверьте базу данных на внедрённый контент, особенно в параметрах и контенте записей.
Шаг 4: Изменить каждый пароль
Предположите, что всё, чего сайт мог достичь, было скомпрометировано.
- Пароли администратора WordPress. Сбросьте каждый из них на вкладке WordPress сайта, заставьте каждого пользователя выйти из системы, чтобы украденные cookies сеанса перестали работать, и удалите все пароли приложений, которые вы не создавали. См. Resetting a WordPress Password.
- Неизвестные администраторские аккаунты. Удалите их и снизьте до уровня ниже администратора любой аккаунт, который не требует прав администратора.
- Учётные данные базы данных на вкладке Database сайта.
- SFTP-аккаунты на вкладке SFTP сайта. Удаление одного завершает его открытые сеансы.
- SSH-ключи на вкладке SSH access сайта. Удалите любой ключ, который вы не узнаёте.
- Ваш пароль Kapsule и отзовите все API-ключи, которые вы не создавали. См. API Keys and Developer Access.
Шаг 5: Вернуть в сеть и усилить защиту
Как только вы уверены, что сайт чист, отключите защиту паролем и позвольте миру вернуться.
Затем закройте дверь, которая была открыта:
- Держите всё в актуальном состоянии. См. Keeping WordPress Updated и Managing Plugins.
- Включите защиту на вкладке Security сайта: защита от брутфорса, фильтрация по странам и список блокировок IP.
- Включите двухфакторную аутентификацию на вашем аккаунте Kapsule и на администраторских аккаунтах самого сайта.
- Сделайте свежую резервную копию известного хорошего сайта. См. Taking a Backup.
- Рассмотрите расширенное хранение резервных копий, чтобы компрометация, которую вы не замечаете несколько недель, всё ещё была восстанавливаема.
Когда обратиться в поддержку
Откройте обращение в поддержку, если применимо что-либо из этого:
- Компрометация произошла через ваш аккаунт Kapsule, а не через сайт.
- Ваш сайт рассылает спам, или ваша репутация отправителя была затронута.
- У вас нет пригодной резервной копии и вы не можете очистить сайт.
- Ваш аккаунт или сайт был приостановлен. См. Why Your Account Was Suspended.
- Вы считаете, что сайт другого клиента атакует ваш. См. Reporting Abuse.
Укажите, что вы нашли, когда вы это впервые заметили и что вы уже изменили. Чем больше результатов вашего собственного расследования вы можете поделиться, тем быстрее будет ответ.
Устранение неполадок
Поисковые системы всё ещё предупреждают о сайте. Запросите рецензирование через их собственные инструменты для веб-мастеров, как только сайт будет действительно чист. Это находится вне нашего контроля.
Это произошло снова после очистки. Вы пропустили бэкдор или учётные данные, которые вы не изменили, всё ещё действительны. Восстановитесь из чистой резервной копии вместо этого и измените каждый пароль на Шаге 4.
Сканирование говорит, что всё чисто, но сайт явно скомпрометирован. Сканирование файлов обнаруживает известный вредоносный код, а не внедрённые записи в базе данных. Сравните с резервной копией и проверьте базу данных.
Я не могу войти, чтобы исправить это. Используйте SFTP или SSH вместо собственного входа приложения, который может быть изменён злоумышленником. См. SFTP Access и File Manager.