Как вылечить зараженный сайт
Как вылечить зараженный сайт
- С чего начать?
- Найдите браузерный вредоносный код
- Найдите серверный вредоносный код
- Вредоносный код удалён, что дальше?
-
С чего начать?
В первую очередь проанализируйте все возможные способы заражения:
- Злоумышленник может получить пароли доступа к администраторским панелям CMS, FTP или SSH аккаунтам. Обычно пароли подбирают или крадут с помощью троянских программ, заразивших компьютер веб-мастера.
- Уязвимости веб-приложения могут позволять посторонним размещать на сайте произвольный код.
- Из-за заражения внешнего ресурса (партнерской программы, баннерной системы, счётчика) предоставленный вам код может стать опасным для пользователей.
-
Найдите браузерный вредоносный код
Проанализируйте информацию о заражении в Яндекс.Вебмастере, на вкладке Безопасность. Информация о заражении включает перечень зараженных страниц, даты проверок и вынесенные антивирусом вердикты. Перейдя по ссылке в названии вердикта, вы увидите его описание и примерный вид соответствующего вердикту кода (кода, который непосредственно появляется на страницах сайта).
Вы также можете самостоятельно воспроизвести проблему с помощью виртуальной машины.
-
Найдите серверный вредоносный код
- В первую очередь остановите веб-сервер, чтобы оградить посетителей сайта от потенциальной опасности. Затем проверьте антивирусом файлы веб-сервера и все рабочие станции, с которых администрируют сервер (можно использовать бесплатные антивирусные утилиты) и смените все пароли: root, FTP, SSH, от административных панелей хостинга и CMS.
- Если есть возможность, восстановите сайт из резервной копии, сделанной до заражения. Обновите до последних версий все используемые сайтом программы и поищите описания исправленных уязвимостей. Возможно, это поможет понять, каким образом сайт был заражен.
- Удалите лишних пользователей с расширенными полномочиями и тщательно проверьте сервер на наличие веб-шелла, с помощью которого злоумышленник может изменять код сайта в обход авторизации.
-
Проверьте наличие вредоносного кода:
- во всех серверных скриптах, шаблонах CMS, базах данных;
- в конфигурационных файлах веб-сервера или интерпретатора серверных скриптов;
- если вы используете shared-хостинг, проверьте другие сайты, расположенные на том же сервере – возможно заражен весь сервер.
На что обратить внимание при поиске кода:
- Код посторонний или незнакомый, не соответсвует резервной копии или системе контроля версий.
- Обфусцированный (нечитаемый, неструктурированный) код.
- Дата модификации файлов совпадает с временем заражения или более поздняя. (Этот параметр ненадежен, так как дата модификации файлов может быть изменена вирусом.)
-
Использование характерных для вредоносного кода функций. Примеры таких функций для языка PHP:
- динамическое исполнение кода (eval, assert, create_function);
- обфускация (base64_decode, gzuncompress, gzinflate, str_rot13, preg_replace);
- загрузка удаленных ресурсов (file_get_contents, curl_exec).
-
Вредоносный код удалён, что дальше?
Пометка об опасности сайта в результатах поиска будет снята, если при очередной проверке робот Яндекса не обнаружит заражения. Чтобы ускорить перепроверку, отправьте запрос через Яндекс.Вебмастер: нажмите кнопку Перепроверить в разделе Безопасность.
В течение нескольких недель после заражения следует регулярно перепроверять файлы и код сайта на тот случай если использованная уязвимость не была устранена, или злоумышленники по прежнему имеют доступ к сайту.
Комментировать статьи на сайте возможно только в течении 90 дней со дня публикации.