Очистите и поддерживайте свой сайт

Чтобы поддерживать ваш сайт в чистоте и предотвратить взлом в будущем, вам понадобится следующее:

  • Доступ администратора оболочки или терминала к серверам вашего сайта: Интернет, база данных, файлы.
  • Знание команд оболочки или терминала
  • Понимание кода (например, 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. Начните очистку вашего сервера(ов)

Сейчас самое время приступить к очистке вашего сайта на основе заметок, которые вы сделали во время оценки ущерба и выявления уязвимости . Путь, который вы выберете на этом этапе, зависит от типа доступной резервной копии:

  • Чистая и актуальная резервная копия
  • Чистая, но устаревшая резервная копия
  • Резервная копия недоступна

Сначала убедитесь, что ваша резервная копия была создана до того, как ваш сайт был взломан.

Чистая и актуальная резервная копия

  1. Восстановите резервную копию.
  2. Установите все доступные обновления, обновления или исправления программного обеспечения. Сюда входит программное обеспечение для ОС, если вы контролируете сервер, и все приложения, такие как система управления контентом, платформа электронной коммерции, плагины или шаблоны.
  3. Рассмотрите возможность удаления с вашего сервера программного обеспечения, которое сайт больше не использует (например, виджетов, плагинов или приложений).
  4. Исправьте уязвимость.
  5. Убедитесь, что все проблемы, обнаруженные в ходе оценки ущерба , устранены.
  6. Еще раз измените пароли для всех учетных записей, связанных с сайтом (например, логины для доступа по FTP, доступа к базе данных, учетные записи системных администраторов и CMS). В системах на базе Unix:
passwd admin1

Чистая, но устаревшая резервная копия

  1. Создайте образ диска вашего текущего сайта, даже если он все еще заражен. Эта копия предназначена только для безопасности. Отметьте копию как зараженную, чтобы отличить ее от других. В системе на базе Unix создание образа диска может быть следующим:
dd if=/dev/sda bs=1024 conv=noerror,sync | gzip -c -9 \
> /mirror/full-backup-20120125-infected.gz
  1. Создайте резервную копию файловой системы вашего сервера, включая изображения и медиафайлы. Если у вас есть база данных, сделайте резервную копию и ее.
tar -pczf full-backup-20120125-infected.tar.gz www/
mysqldump -u root -p --all-databases | gzip -9 \
> fulldb_backup-20120125-infected.sql
  1. Восстановите чистую, но устаревшую резервную копию на вашем сервере.
  2. Подумайте, можете ли вы удалить на своем сервере программное обеспечение (например, виджеты, плагины или приложения), которое сайт больше не использует.
  3. Обновите все программное обеспечение, включая операционную систему, если вы контролируете сервер, и все программные приложения, такие как система управления контентом, платформа электронной коммерции, плагины и шаблоны. Обязательно проверьте и установите доступные обновления и исправления безопасности.
  4. Исправьте уязвимость.
  5. Выполните diff сайта вручную или автоматически — между чистой резервной копией и текущей зараженной копией.
diff -qr www/ backups/full-backup-20120124/
  1. Загрузите на обновленный сервер любой новый чистый контент, который вы хотите сохранить из зараженной копии.
rsync -avz /backups/full-backup-20120124/www/clean-file.jpg /www/
  1. Убедитесь, что каждый URL-адрес, указанный в разделе «Оценка ущерба» , исправлен.
  2. Еще раз измените пароли для всех учетных записей, связанных с сайтом (например, логины для доступа по 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

Если у вас нет образа диска, сделайте две резервные копии базы данных и две резервные копии файловой системы.

Чтобы очистить содержимое сайта в новой резервной копии файловой системы (а не на самом сервере), выполните следующие действия:

  1. Если ваше предыдущее расследование выявило слишком мягкие права доступа к файлам, исправьте их. Убедитесь, что вы делаете это на резервной копии, а не на самом сервере.
  2. Также в резервной копии очистите все файлы, соответствующие URL-адресам, обнаруженным как скомпрометированные, с помощью функции «Оценка ущерба» . Это могут быть файлы конфигурации сервера, JavaScript, HTML или PHP.
  3. Обязательно удалите (отправьте ответ 404) новые файлы, созданные хакером, которые вы могли или не могли быть отправлены с помощью инструмента удаления URL-адресов в Search Console.
  4. Устраните уязвимость, если она существует в вашем коде или взломанных паролях. Библиотеки проверки ввода или аудит безопасности могут оказаться полезными.
  5. Если на вашем сайте есть база данных, начните очищать измененные хакером записи в резервной копии. Прежде чем вы решите, что все готово, проверьте еще несколько записей, чтобы убедиться, что база данных выглядит чистой.
  6. Еще раз измените пароли для всех учетных записей, связанных с сайтом (например, логины для доступа по FTP, доступа к базе данных, учетные записи системных администраторов и CMS). В системах на базе Unix используйте следующий код:
$passwd admin1

На этом этапе некогда зараженная резервная копия вашего сайта должна содержать только чистые данные. Оставьте эту чистую копию в стороне и переходите к действию №5.

5. Удалите ненужное программное обеспечение

Подумайте, можете ли вы удалить на своем сервере программное обеспечение, например виджеты, плагины или приложения, которые сайт больше не использует. Это может повысить безопасность и упростить будущее обслуживание.

6. Очистите все серверы

  1. Выполните чистую установку, а не просто обновление. Обновления могут оставить файлы из предыдущей версии. Если зараженный файл остается на сервере, вероятность повторного взлома вашего сайта возрастает.
    • Новая установка должна включать операционную систему, если вы контролируете сервер, и все программные приложения, такие как система управления контентом, платформа электронной коммерции, плагины и шаблоны. Обязательно проверьте наличие доступных обновлений и исправлений безопасности.
  2. Перенесите хороший контент из чистой резервной копии файловой системы на только что установленный сервер(ы). Загружайте и восстанавливайте только заведомо чистые файлы или базу данных. Обязательно сохраняйте соответствующие права доступа к файлам и не перезаписывайте только что установленные системные файлы.
  3. Выполните последнюю смену паролей для всех учетных записей, связанных с сайтом (например, логины для доступа по FTP, доступа к базе данных, учетные записи системных администраторов и CMS). В системах на базе Unix используйте следующий код:
passwd admin1

7. Создайте долгосрочный план обслуживания

Мы настоятельно рекомендуем вам сделать следующее:

  • Регулярно делайте автоматические резервные копии вашего сайта.
  • Будьте бдительны при обновлении программного обеспечения.
  • Изучите методы обеспечения безопасности всех приложений, плагинов и другого стороннего программного обеспечения, прежде чем устанавливать их на свой сервер. Уязвимость безопасности в одном программном приложении может повлиять на безопасность всего вашего сайта.
  • Обеспечьте создание надежных паролей.
  • Обеспечьте безопасность всех устройств, используемых для входа в систему (обновленная операционная система и браузер).

8. Еще раз проверьте, завершена ли очистка.

Убедитесь, что вы можете ответить «да» на следующие вопросы:

  • Предпринял ли я необходимые действия, если хакер получил личную информацию пользователей?
  • На моем сайте установлена ​​последняя и самая безопасная версия программного обеспечения?
  • Удалил ли я все ненужные или неиспользуемые приложения или плагины, которые могут сделать мой сайт более уязвимым в будущем?
  • Восстановил ли я свой контент и удалил хакерский контент?
  • Устранил ли я основную уязвимость, которая позволила взломать мой сайт?
  • Есть ли у меня план по обеспечению безопасности моего сайта?

Теперь вы можете вернуть свой сайт в онлайн.