Чтобы поддерживать ваш сайт в чистоте и предотвратить взлом в будущем, вам понадобится следующее:
- Доступ администратора оболочки или терминала к серверам вашего сайта: Интернет, база данных, файлы.
- Знание команд оболочки или терминала
- Понимание кода (например, PHP или JavaScript)
- Хранилище для создания резервных копий вашего сайта, включая файлы, базу данных и изображения.
Следующие действия
На этом этапе мы рассмотрим несколько действий:
- Где найти дополнительные ресурсы, если вы считаете, что хакер намеревался получить личную информацию пользователей (например, с помощью фишинговых страниц).
- Возможность использовать «Удалить URL-адреса» в консоли поиска, чтобы ускорить удаление совершенно новых, нежелательных, видимых пользователями URL-адресов, созданных хакером, которые вы не хотите показывать в результатах поиска Google.
- Возможность попросить Google повторно просканировать ваши URL-адреса в консоли поиска, чтобы ускорить обработку Google чистых страниц (то есть страниц, которые являются новыми или недавно обновленными), которые вы хотите отображать в результатах поиска Google.
- Установка последней и наиболее безопасной версии программного обеспечения.
- Удаление ненужных или неиспользуемых приложений или плагинов, которые могут сделать ваш сайт более уязвимым в будущем.
- Восстановление хорошего контента и устранение хакерского контента.
- Исправление основной причины уязвимости, использованной хакером.
- Изменение всех паролей.
- Планируете обеспечить безопасность вашего сайта.
1. Найдите ресурсы поддержки
Если конфиденциальная информация пользователя была получена с вашего сайта (например, в результате фишинговой атаки), вам может потребоваться рассмотреть любые деловые, нормативные или юридические обязательства, прежде чем приступать к очистке вашего сайта или удалению каких-либо файлов. На случай фишинга на сайте antiphishing.org есть полезные ресурсы, такие как документ «Что делать, если ваш сайт взломали фишеры» .
2. Рассмотрите возможность ускорения удаления новых URL-адресов, созданных хакером.
Если хакер создал совершенно новые, видимые пользователями URL-адреса, вы можете быстрее удалить эти страницы из результатов поиска Google, используя функцию «Удалить URL-адреса» в Search Console. Этот шаг не является обязательным. Если вы просто удалите страницы, а затем настроите свой сервер на возврат кода состояния 404 , страницы, естественно, со временем выпадут из индекса Google.
- Решение об использовании удаления URL-адресов, вероятно, будет зависеть от количества созданных новых нежелательных страниц (слишком много страниц может оказаться затруднительным для включения в функцию «Удалить URL-адреса»), а также от потенциального ущерба, который эти страницы могут нанести пользователям. Чтобы страницы, отправленные с помощью удаления URL-адресов, никогда не появлялись в результатах поиска, убедитесь, что страницы также настроены на возврат ответа 404 «Файл не найден» для нежелательных и удаленных URL-адресов.
- Не используйте этот инструмент для запроса удаления ранее хороших страниц, которые были только повреждены хакером. Вы захотите, чтобы эти страницы появлялись в результатах поиска после их очистки. Удаление URL-адресов предназначено только для страниц, которые никогда не захотят появляться в результатах.
3. Рассмотрите возможность ускорения обработки Google ваших чистых страниц.
Если у вас есть новые или обновленные чистые страницы, вы можете попросить Google повторно просканировать ваши URL-адреса в консоли поиска, чтобы добавить эти страницы в индекс Google. Это необязательно; Если вы пропустите этот шаг, ваши новые или измененные страницы, скорее всего, со временем будут просканированы и обработаны.
4. Начните очистку вашего сервера(ов)
Сейчас самое время приступить к очистке вашего сайта на основе заметок, которые вы сделали во время оценки ущерба и выявления уязвимости . Путь, который вы выберете на этом этапе, зависит от типа доступной резервной копии:
- Чистая и актуальная резервная копия
- Чистая, но устаревшая резервная копия
- Резервная копия недоступна
Сначала убедитесь, что ваша резервная копия была создана до того, как ваш сайт был взломан.
Чистая и актуальная резервная копия
- Восстановите резервную копию.
- Установите все доступные обновления, обновления или исправления программного обеспечения. Сюда входит программное обеспечение для ОС, если вы контролируете сервер, и все приложения, такие как система управления контентом, платформа электронной коммерции, плагины или шаблоны.
- Рассмотрите возможность удаления с вашего сервера программного обеспечения, которое сайт больше не использует (например, виджетов, плагинов или приложений).
- Исправьте уязвимость.
- Убедитесь, что все проблемы, обнаруженные в ходе оценки ущерба , устранены.
- Еще раз измените пароли для всех учетных записей, связанных с сайтом (например, логины для доступа по FTP, доступа к базе данных, учетные записи системных администраторов и CMS). В системах на базе Unix:
passwd admin1
Чистая, но устаревшая резервная копия
- Создайте образ диска вашего текущего сайта, даже если он все еще заражен. Эта копия предназначена только для безопасности. Отметьте копию как зараженную, чтобы отличить ее от других. В системе на базе Unix создание образа диска может быть следующим:
dd if=/dev/sda bs=1024 conv=noerror,sync | gzip -c -9 \
> /mirror/full-backup-20120125-infected.gz
- Создайте резервную копию файловой системы вашего сервера, включая изображения и медиафайлы. Если у вас есть база данных, сделайте резервную копию и ее.
tar -pczf full-backup-20120125-infected.tar.gz www/
mysqldump -u root -p --all-databases | gzip -9 \
> fulldb_backup-20120125-infected.sql
- Восстановите чистую, но устаревшую резервную копию на вашем сервере.
- Подумайте, можете ли вы удалить на своем сервере программное обеспечение (например, виджеты, плагины или приложения), которое сайт больше не использует.
- Обновите все программное обеспечение, включая операционную систему, если вы контролируете сервер, и все программные приложения, такие как система управления контентом, платформа электронной коммерции, плагины и шаблоны. Обязательно проверьте и установите доступные обновления и исправления безопасности.
- Исправьте уязвимость.
- Выполните
diff
сайта вручную или автоматически — между чистой резервной копией и текущей зараженной копией.
diff -qr www/ backups/full-backup-20120124/
- Загрузите на обновленный сервер любой новый чистый контент, который вы хотите сохранить из зараженной копии.
rsync -avz /backups/full-backup-20120124/www/clean-file.jpg /www/
- Убедитесь, что каждый URL-адрес, указанный в разделе «Оценка ущерба», исправлен.
- Еще раз измените пароли для всех учетных записей, связанных с сайтом (например, логины для доступа по FTP, доступа к базе данных, учетные записи системных администраторов и CMS). В системах на базе Unix:
$passwd admin1
Резервная копия недоступна
Сделайте две резервные копии вашего сайта, даже если он все еще заражен. Наличие дополнительной резервной копии поможет восстановить случайно удаленный контент или позволит вам вернуться и повторить попытку, если что-то пойдет не так. Пометьте каждую резервную копию как «зараженная» для дальнейшего использования.
Одной из ваших резервных копий будет образ диска или «клон-версия» вашего сайта. Этот формат делает восстановление контента еще проще. Вы можете оставить образ диска на случай чрезвычайной ситуации. В системе на базе Unix используйте следующий код для создания образа диска:
dd if=/dev/sda bs=1024 conv=noerror,sync | gzip -c -9 \
> /mirror/full-backup-20120125-infected.gz
Другая резервная копия будет копией файловой системы вашего сервера, включая изображения и медиафайлы. Если у вас есть база данных, сделайте ее резервную копию.
tar -pczf full-backup-20120125-infected.tar.gz www/
mysqldump -u root -p --all-databases | gzip -9 \
> fulldb_backup-20120125-infected.sql
Если у вас нет образа диска, сделайте две резервные копии базы данных и две резервные копии файловой системы.
Чтобы очистить содержимое сайта в новой резервной копии файловой системы (а не на самом сервере), выполните следующие действия:
- Если ваше предыдущее расследование выявило слишком мягкие права доступа к файлам, исправьте их. Убедитесь, что вы делаете это на резервной копии, а не на самом сервере.
- Также в резервной копии очистите все файлы, соответствующие URL-адресам, обнаруженным как скомпрометированные, с помощью функции «Оценка ущерба» . Это могут быть файлы конфигурации сервера, JavaScript, HTML или PHP.
- Обязательно удалите (отправьте ответ 404) новые файлы, созданные хакером, которые вы могли или не могли быть отправлены с помощью инструмента удаления URL-адресов в Search Console.
- Устраните уязвимость, если она существует в вашем коде или взломанных паролях. Библиотеки проверки ввода или аудит безопасности могут оказаться полезными.
- Если на вашем сайте есть база данных, начните очищать измененные хакером записи в резервной копии. Прежде чем вы решите, что все готово, проверьте еще несколько записей, чтобы убедиться, что база данных выглядит чистой.
- Еще раз измените пароли для всех учетных записей, связанных с сайтом (например, логины для доступа по FTP, доступа к базе данных, учетные записи системных администраторов и CMS). В системах на базе Unix используйте следующий код:
$passwd admin1
На этом этапе некогда зараженная резервная копия вашего сайта должна содержать только чистые данные. Оставьте эту чистую копию в стороне и переходите к действию №5.
5. Удалите ненужное программное обеспечение
Подумайте, можете ли вы удалить на своем сервере программное обеспечение, например виджеты, плагины или приложения, которые сайт больше не использует. Это может повысить безопасность и упростить будущее обслуживание.
6. Очистите все серверы
- Выполните чистую установку, а не просто обновление. Обновления могут оставить файлы из предыдущей версии. Если зараженный файл остается на сервере, вероятность повторного взлома вашего сайта возрастает.
- Новая установка должна включать операционную систему, если вы контролируете сервер, и все программные приложения, такие как система управления контентом, платформа электронной коммерции, плагины и шаблоны. Обязательно проверьте наличие доступных обновлений и исправлений безопасности.
- Перенесите хороший контент из чистой резервной копии файловой системы на только что установленный сервер(ы). Загружайте и восстанавливайте только заведомо чистые файлы или базу данных. Обязательно сохраняйте соответствующие права доступа к файлам и не перезаписывайте только что установленные системные файлы.
- Выполните последнюю смену паролей для всех учетных записей, связанных с сайтом (например, логинов для доступа по FTP, доступа к базе данных, учетных записей системных администраторов и CMS). В системах на базе Unix используйте следующий код:
passwd admin1
7. Создайте долгосрочный план обслуживания
Мы настоятельно рекомендуем вам сделать следующее:
- Регулярно делайте автоматические резервные копии вашего сайта.
- Будьте бдительны при обновлении программного обеспечения.
- Изучите методы обеспечения безопасности всех приложений, плагинов и другого стороннего программного обеспечения, прежде чем устанавливать их на свой сервер. Уязвимость безопасности в одном программном приложении может повлиять на безопасность всего вашего сайта.
- Обеспечьте создание надежных паролей.
- Обеспечьте безопасность всех устройств, используемых для входа в систему (обновленная операционная система и браузер).
8. Еще раз проверьте, завершена ли очистка.
Убедитесь, что вы можете ответить «да» на следующие вопросы:
- Предпринял ли я необходимые действия, если хакер получил личную информацию пользователей?
- На моем сайте установлена последняя и самая безопасная версия программного обеспечения?
- Удалил ли я все ненужные или неиспользуемые приложения или плагины, которые могут сделать мой сайт более уязвимым в будущем?
- Восстановил ли я свой контент и удалил хакерский контент?
- Устранил ли я основную уязвимость, которая позволила взломать мой сайт?
- Есть ли у меня план по обеспечению безопасности моего сайта?
Теперь вы можете вернуть свой сайт в онлайн.