Ваш сайт на WordPress взломали: что делать в первый час?
Сначала сделайте снимок, заблокируйте доступ, смените учетные данные, найдите точку входа, очистите или восстановите, закройте дверь — именно в таком порядке взлом остается проблемой на один день. Первый час определяет, будет ли это полдня или месяц. Вот порядок действий, который мы используем на управляемых планах, составленный таким образом, чтобы вы могли следовать ему на любом хосте. Если вы размещаете свой сайт у нас, откройте заявку перед шагом 1 — инженер сделает снимок контейнера и заб
Сначала сделайте снимок, заблокируйте доступ, смените учетные данные, найдите точку входа, очистите или восстановите, закройте дверь — именно в таком порядке взлом остается проблемой на один день.
Первый час определяет, будет ли это полдня или месяц. Вот порядок действий, который мы используем на управляемых планах, составленный таким образом, чтобы вы могли следовать ему на любом хосте.
Если вы размещаете свой сайт у нас, откройте заявку перед шагом 1 — инженер сделает снимок контейнера и заблокирует сайт, пока вы будете читать остальную часть инструкции.
- Снимок состояния. Компрометированное состояние является доказательством: оно показывает, как злоумышленник проник внутрь. Перед внесением каких-либо изменений сделайте резервную копию файлов и базы данных.
- Защитите сайт от доступа посетителей и ботов злоумышленников во время вашей работы.
- Меняйте учетные данные. Меняйте все пароли и ключи, которые используются на сайте, а не только в административной панели WordPress.
- Найдите точку входа, недавно измененные файлы, PHP-код там, где он не должен быть, и журнал доступа за этот период.
- Очистка или восстановление резервной копии, созданной до даты самого раннего изменения, лучше, чем очистка вручную.
- Закройте дверь. Обновите всё, удалите плагины и темы, которые не используете, включите двухфакторную аутентификацию для каждого администратора.
Первый час, по порядку. Каждый этап предполагает завершение предыдущего — подробности по каждому этапу приведены ниже.
1. Сделайте снимок экрана, прежде чем что-либо трогать.
Инстинктивно возникает желание начать удалять подозрительные файлы. Сопротивляйтесь этому. Компрометированное состояние — это доказательство: оно показывает, как злоумышленник проник внутрь, и без него вы устраните симптомы и снова столкнетесь с атакой через ту же дверь. Сделайте полную резервную копию файлов и базы данных прямо сейчас — снимок хостинга или обычный архив:
tar -czf ~/site-compromised-$(date +%F).tgz public_html/
mysqldump -u USER -p DBNAME | gzip > ~/db-compromised-$(date +%F).sql.gz2. Заблокируйте сайт.
Не позволяйте посетителям и ботам злоумышленника получать доступ к сайту во время вашей работы. Включите режим обслуживания на уровне сервера — защитите паролем корневой каталог документов или заблокируйте все, кроме вашего IP-адреса. Не полагайтесь на плагин WordPress для этого: если у злоумышленника есть права администратора, то они есть и у него.
3. Поменяйте местами все учетные данные.
- Получите все пароли администратора WordPress и удалите всех администраторов, которых вы не узнаете.
- Введите пароль к базе данных, затем обновите его
wp-config.php. - SFTP, панель управления хостингом и любые ключи API, хранящиеся на сайте (платежные шлюзы, почтовые сервисы, CDN).
- Регулярно используйте «соли»
wp-config.php— это приведет к завершению всех сессий, включая сессию злоумышленника.
4. Найдите точку входа.
Большинство заражений выявляется с помощью трех поисковых запросов. Ищите недавно измененные файлы, PHP там, где его быть не должно, и запланированные задачи, которые вы не создавали:
find . -type f -mtime -14 -not -path "./wp-content/cache/*" | head -100
find wp-content/uploads -name "*.php"
wp cron event list # or check wp_options → cronТакже проверьте .htaccessналичие перенаправлений, wp_optionsизменений siteurlили homeизменений в теме оформления, если functions.phpвы не писали этот код. Обратите внимание на самую раннюю дату изменения — это примерно время начала изменений, и она покажет, какая резервная копия является чистой.
5. Очистить или восстановить
Если у вас есть резервная копия, созданная до самой ранней даты изменения, её восстановление будет быстрее и надёжнее, чем очистка. Если нет, замените ядро WordPress, все плагины и все темы свежими копиями с wordpress.org, оставьте только wp-content/uploadsи wp-config.php(после проверки обоих), и проверьте базу данных на наличие внедренных скриптов в wp_posts.
6. Закройте уязвимость.
- Обновите всё и удалите плагины и темы, которые не используете — неактивный код по-прежнему является уязвимым местом.
- Включите двухфакторную аутентификацию для каждого администратора.
- Если Google пометил сайт как нарушающий правила, запросите проверку в Search Console после того, как сайт будет очищен.
- Сохраните снимок, сделанный на шаге 1, в течение месяца, а затем удалите его.
В тарифных планах inSave для управляемого WordPress cPFence блокирует распространенные точки входа — уязвимые конечные точки плагинов, попытки взлома методом перебора паролей, известные сигнатуры вредоносных программ — на уровне сервера, а автоматические обновления закрывают известные уязвимости до того, как они будут использованы злоумышленниками.