Что делать, если ваш сайт взломали?

Вы проснулись утром и узнали, что ваши клиенты теперь перенаправляются на сайт незаконного казино или других мошенников. Или, например, произошел сбой, и по вашему адресу появляется пустая белая страница. Первое, что нужно – не паниковать. Так или иначе сайт возможно вернуть. Вопрос лишь в том, сколько это займет времени или денег. 

Если у вас есть свежая резервная копия (бэкап), то «пережить» взлом будет проще. Однако, мы рассмотрим сценарий, в котором у вас нет резервной копии.  

Что делать, если сайт взломали, а резервной копии нет?

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

Перевести сайт в режим технического обслуживания

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

Взломанный веб-сайт должен быть немедленно удален и заменен простой индексной страницей HTML (начальной страницей, которую все видят при посещении сайта) с сообщением, которое поясняет, что происходит. Не нужно рассказывать о проблеме слишком подробно, просто дайте пользователям понять, что вы знаете о произошедшем. Лучший вариант – извиниться за неудобство и сказать, что скоро всё заработает. Дайте пользователям понять, что вы работаете над проблемой, что для вас первостепенна безопасность клиента и поэтому вы временно ограничили доступ к сайту. Не забудьте оставить альтернативный способ связаться с вами или совершить покупку. 

Вот пример сообщения от Flickr:

Затем разработчик должен временно перенаправить весь трафик на новую страницу, скорректировав файл .htaccess для посетителей, пришедших из поисковой системы. 

Очистите ваш сайт

Теперь специалист должен проверить сайт на наличие вредоносного кода, а затем удалить его. В большинстве случаев вредоносный код распространяется или копируется в разные файлы. Поэтому важно выполнять очистку в автономном режиме, чтобы предотвратить дальнейшее распространение “вредоноса”.

Если ваш сайт на HTML

Простые HTML-сайты зачастую не имеют исполняемой программной части на стороне сервера (backend). Как правило, хакеры держатся подальше от сайтов такого типа. Но, конечно, и их могут взломать. 

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

Чтобы очистить такой сайт, вы должны загрузить резервную копию, удалить HTML-код, которого там не должно быть, и повторно загрузить его на сервер.

Если сайт на PHP 

PHP – это один из самых распространенных языков программирования, который поддерживает множество веб-приложений. Если у вас простой PHP веб-сайт, большинство хаков будут локализованы в верхнем и нижнем блоках программного кода, но для полной уверенности необходима тщательная проверка всех файлов сайта. 

Наиболее эффективный способ поиска вредоносного кода – это поиск известных функций PHP, которые расширяют возможности взломанного кода. Например, base64 и eval – это две функции PHP, которые часто используются, потому что они дают хакерам способ запутать свой код: они скрывают его, перекодируя его в то, что затрудняет его обнаружение.

Если сайт на WordPress 

WordPress – это платформа для сайтов с открытым исходным кодом, которую сегодня используют более 30% от всего интернета. Основным языком WordPress является PHP, так что вещи, на которые нужно обратить внимание, описаны выше. 

Шаги для восстановления сайта:

  1. Изолировать основные файлы и заменить их свежей копией из хранилища WordPress.
  2. Переустановить плагины из каталога плагинов.
  3. Если вы используете готовую тему, вам нужно получить ее свежую копию из каталога тем или из места, где вы приобрели свою собственную тему.
  4. Лучшая практика в отношении тем в WordPress – сделать все ваши настройки для тем в так называемой дочерней теме. Таким образом, все будет легко обновляться и восстанавливаться. Затем нужно будет найти взломанный код в файлах вашей дочерней темы. 
  5. Если у вас нет дочерней темы, нужно будет просмотреть все файлы, чтобы найти вредоносный код. 

Как только сайт будет чист, установите его на поддомен и запустите через систему проверки сайтов (например, на Securi), чтобы убедиться, что всё в норме. 

Базы данных

Если сайт на WordPress, то в базу данных также может быть введен вредоносный код, который намного сложнее очистить. К счастью, существует множество плагинов, которые помогут определить, установлены ли известные хаки в вашей базе данных.

Автоматически WordPress предлагает плагин JetPack, Он сканирует все ваши таблицы публикаций и комментариев на наличие потенциально вредоносного кода.

Еще один плагин –  All In One WP. Он предлагает защиту от попыток входа в систему, атак методом перебора, прямого доступа к php-файлам и целого ряда других средств защиты.

Для всех систем управления контентом:

Теперь, когда вы на 100% уверены, что сделали всё, что можно, удалите все перенаправления, добавленные в файл .htaccess, и замените станицу техобслуживания на главную страницу нового защищенного сайта. Убедитесь, что все учетные записи администраторов под новыми надежными паролями. 


По мотивам статьи: impactbnd.com

Условия передачи информации

Я даю согласие OOO «ЭсБилдер» (далее «BINN») на обработку моих персональных данных в соответствии со статьями 6, 9, 10, 18 Федерального закона от 27 июля 2006 года № 152-ФЗ «О персональных данных», указанных в онлайн-форме и/или предоставленных мною с целью:

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

Настоящее согласие применяется в отношении обработки следующих данных: имя, номер телефона, адрес электронной почты (E-mail).

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

Согласие может быть отозвано мною в любой момент путем направления в BINN подписанного мною письменного заявления.