- С чего начать?
- Найдите браузерный вредоносный код
- Найдите серверный вредоносный код
- Вредоносный код удален, что дальше?
- Если вы нашли что-то интересное
Проанализируйте способы заражения:
-
Злоумышленник может получить пароли к администраторским панелям 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
).
-
Пометка об опасности сайта в результатах поиска будет снята, если при очередной проверке робот Яндекса не обнаружит заражения. Чтобы ускорить перепроверку, в Вебмастере на странице Безопасность и нарушения нажмите кнопку Я все исправил.
Рекомендуем в течение нескольких недель после заражения регулярно перепроверять файлы и код сайта на тот случай, если использованная уязвимость не была устранена или злоумышленники по прежнему имеют доступ к сайту.
Яндекс постоянно ищет и исследует новые виды заражений и публикует результаты исследований в блоге Яндекса для вебмастеров.
Если вы обнаружили на своем сайте вредоносный или подозрительный код, отправьте его на анализ специалистам.
Чтобы ваш вопрос быстрее попал к нужному специалисту, уточните тему:
Довольно часто причиной некорректной работы сайта являются вирусы. Под вирусами подразумеваются вредоносные программы или включения вредоносного кода в файлы сайта, которые нарушают стандартное функционирование. Основной причиной заражения являются действия злоумышленников, желающих обогатиться за чужой счет, например, получая деньги за трафик, перенаправляемый со взломанных интернет-ресурсов.
Не все пользователи четко представляют, что необходимо делать, если в работе сайта замечены какие-то сбои. Timeweb публикует советы о том, как определить, заражен ли ваш сайт, и какие действия необходимо осуществить для устранения проблемы.
Как обнаружить вирус?
Первым шагом в решении проблемы должна быть диагностика. Исследуйте свои файлы на содержание лишних элементов:
- Установите антивирусную программу, если ее еще у вас нет. Современные программы умеют определять вирусы, и если при заходе на сайт появляется предупреждение, то это значит, что вирус там точно есть. Однако если предупреждения нет, то это не значит, что сайт чист и заражения не произошло.
- Проверьте время последнего изменения индексного файла в FTP. Он может называться index.html, index.php, default.php и т.д. Если последнее изменение было совсем недавно, а вы не обновляли информацию на сайте в это время, возможно, страница была заражена.
- Посмотрите исходный код страницы в своем браузере. Чаще всего вирусы располагаются в тегах <script> и <iframe>. Если внутри этих тегов вы видите неизвестные адреса сайтов или зашифрованную мешанину из букв и цифр, вероятно, что это и есть код вируса.
- Воспользуйтесь сервисом Яндекс.Вебмастер. Этот удобный инструмент автоматически проверяет сайт на наличие вирусов при каждом обновлении и может оперативно присылать на e-mail предупреждения, если вредоносный код будет обнаружен.
Также, если вы обнаружили, что нагрузка на сервер внезапно возросла, или хостинг-провайдер пишет вам, что с сайта идёт рассылка спама – вероятно, ваш сайт был взломан и стал площадкой для размещения вредоносных программ.
Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
Подписаться
Какие действия предпринять при заражении сайта?
Если ваш сайт заражен, не стоит паниковать или обвинять хостинг-провайдера в возникновении проблемы. В абсолютном большинстве случаев хостер не имеет отношения к появлению вирусов на вашем ресурсе. Более того, хостинг-провайдер заинтересован в их скорейшем устранении, так как это может затронуть интернет-ресурсы других клиентов компании. Однако для того, чтобы убедиться, на чьей стороне проблема, уточните у хостера, является ли она массовой или возникла только на вашем сайте.
Если проблема обнаружена только на вашем сайте, нужно исследовать, при каких обстоятельствах она возникла, и начать ее решение самостоятельно.
- Выполните полную проверку собственного компьютера на вирусы.
- После сканирования смените все пароли доступа к электронной почте, аккаунту на хостинге, приложениям браузеров и FTP-клиентам.
- Если вы используете популярную CMS, то, возможно, злоумышленник воспользовался ее уязвимостью. В этом случае нужно обновить CMS и ее модули до последних стабильных версий из официальных источников и отключить неиспользуемые или подозрительные модули.
- Попросите хостера проверить общую временную директорию сервера.
Как удалить вредоносные файлы?
После того, как вы определите причину некорректной работы и обнаружите вредоносные файлы, вам необходимо их удалить. Для этого вы можете использовать возможности консоли сервера (доступ по SSH). Большинство хостинг-провайдеров предоставляет клиентам доступ к их домашнему каталогу по SSH по умолчанию или же по обоснованному запросу.
Даже если вы успешно и “безболезненно” справились с проблемой, мы рекомендуем периодически проводить профилактические меры, повышающие защиту вашего сайта. Ниже несколько советов, о том, как защитить ваш проект:
- Не используйте устаревшие версии CMS и плагинов к ним. Следите за обновлениями.
- После определения причины заражения сайта не ограничивайтесь только одним лишь его лечением.
- Проверьте всё, что кажется вам подозрительным.
- Лучшая схема восстановления сайта после взлома – закрыть к нему доступ посетителей, найти причину взлома, восстановить сайт из бэкапа и далее устранить уязвимость.
- После устранения проблемы обновите CMS и убедитесь, что уязвимый компонент также обновился.
Перечисленные рекомендации помогут вам в короткие сроки самостоятельно устранить или как минимум обнаружить причину некорректной работы сайта. Помните, что надежный хостинг-провайдер всегда будет готов помочь решить проблему или дать необходимые рекомендации.
Вредоносный код на сайте
Как найти на сайте вредоносный код, плагины, логи и сервисы чтобы проверить сайт на вирусы.
Доброго времени суток! Сегодня решил написать статью на тему блогинга. Эта тематика меня не привлекает и обычно я пишу о другом, но здесь так получилось, что столкнулся, в июле этого года, с одной неприятной вещью на своем сайте и пришлось не мало повоевать прежде чем проблема решилась.
Ну а если появился опыт и некоторые знания, почему бы не поделиться с блогерами- коллегами, труд которых я уважаю и которые, я знаю бывают, на моем сайте. В общем пока в памяти живо…
Неприятная вещь с которой я столкнулся,- это вирус на сайте. Вредоносный код, который появлялся в некоторых файлах и ломал движок сайта на Вордпресс.
Проявлялось это тем, что возникала ошибка при одобрении комментариев, не работало меню вставки картинок и виджет.
В общем я уже сталкивался с подобным раньше, когда подключал на сайте какой нибудь плагин, который конфликтовал с шаблоном или другими плагинами и поэтому сначала подумал что дело в каком то новом плагине(в его обновлении) или рекламном коде. Короче в чем то новом, что я недавно сделал на сайте.
Не буду тянуть резину и рассказывать все подробности, в общем, в итоге все дело оказалось во вредоносном скрипте, который каким то образом проник на мой сайт. И это не мудрено, если учесть что я хоть и установил защиту, но не слишком обращал на все это внимание, — пользовался малозащищенным доступом к хостингу для подключения к сайту; сохранял пароль при входе в админку, не использовал другие, более совершенные, способы защиты.
И хоть я описал только самые важные моменты того, как искал- удалял вирус, что нашел интересного, чем пользовался и т.п.., статья получилась очень большой.
Начну наверно с того, что в кратце расскажу как я искал вредоносный код:
Сразу, как узнал что на сайте какой то вирус, сам просматривал различные файлы, и открывая очередной файл, нажимал Ctrl + F, и в маленьком, открывшемся окошке (справа, вверху) просто вставлял наиболее встречающиеся вредоносные команды-коды (о которых будет чуть ниже) и жал Enter.. Таким образом проверял основные файлы темы и движка Вордпресс.
Так вообще легко можно найти любой кусочек кода или слова в документе.
А если вы знаете что вирус появился не давно, то при проверке этим нудным способом, нужно проверять файлы, которые по «дате редактирования»(смотрите справа от файла), были изменены недавно.
Я покопался пару дней- не хрена не нашел, и сначала обратился с просьбой к Людмиле, автору шаблона моего сайта.
Кстати она делает красивые и что важно, оптимизированные и удобные в управлении шаблоны на различные темы. К тому же, встроенные в них скрипты- функции позволяют обходится без многих важных, но тяжелых плагинов, даже All In One SEO Pack не нужен.
Людмила полностью обновила Вордпресс, то есть не только движок(как это делаем мы с вами) а абсолютно все файлы и потом удалила с хостинга все прежние, старые. Вроде бы это сначала помогло, но уже вскоре сбои повторились. Обратился за помощью к фрилансеру на этом сервисе https://www.fl.ru/.
Написал, в мной созданном проекте, примерно следующее,- «На сайте есть вредоносный код, это подтвердилось и т.д… Если вы хорошо разбираетесь в программировании и имеете опыт в устранении подобных проблем, прошу вашей помощи». Предложение я получил в этот же день.
Переходим к вредоносному коду на сайте:
Для начала как проверить сайт на вирусы: Это можно сделать на сервисе http://2ip.ru/site-virus-scaner/.
Но учтите что этот сервис лишь может указать подозрение на вирус. То есть конкретно сказать и показать где и что, если вдруг действительно имеется вредоносный код на сайте, он вам не подскажет.
Он учитывает и указывает подозрения в тех случаях, где к примеру, есть рекламные коды с iframe-вставками. В общем может кричать и ложную тревогу, так что не кипишуйте увидев красную надпись. Главное что сервис укажет- относит ли Google и Yandex ваш сайт к безопасным. Этот сайт годится для быстрой проверки на вирус.
Более серьезный ресурс для проверки сайта на вредоносный код http://antivirus-alarm.ru/. Проверяет различные функции такие как вирус на сайте, вредоносные JavaScript, плавающие вредоносные фреймы, IE атак, укажет сомнительные ссылки и т.п. Для сканирования он использует антивирусные базы известных, мировых компаний, поэтому и полное сканирование сайта может длиться довольно долго.
Ещё на этом сервисе(внизу) есть раздел где можно посмотреть как выглядят различные виды обнаруживаемых вредоносных кодов.
Ну и если вдруг что, здесь же вы можете обратиться за лечением сайта, хотя и услуга там совсем не дешевая. Я бы конечно порекомендовал нанять опытного фрилансера программиста, что я и сделал.
Поиск ошибок и Логи на хостинге
Кстати, если вообще говорить об ошибках на сайте, то чтобы в будущем можно было быстро узнать о каких либо ошибках, которые вдруг появились в скриптах или вызваны конфликтом плагинов, ошибки в кодах и файлах,- обязательно подключите логи на своем хостинге.
Как правило, даже на мощных хостингах таких как http://www.timeweb.ru/ это функция не подключена. Вы сами должны написать в тех.поддержку вашего хостера, что бы подключили логи такие как error_log и access_log.
Эти файлы автоматически будут архивироваться на вашем хостинге рядом с корневой(главной) папкой(public.html). Вы их скачиваете себе на комп, открываете например в обычном Ворде и смотрите что находится в данном файле. Особенно это актуально для error_log.
Вы сами легко разберетесь что это за файлы и для чего, достаточно задать вопрос в тех поддержку хостинга, но если вкратце файл error_log — будет указывать,- есть ли вообще какие либо ошибки на сайте и в чем они выражаются, в каком файле происходит чего то не того.
access_log — покажет все возможные подключения к вашему серверу. Сами вы вряд ли станете в нем разбираться(там куча всего), я так точно забил, но фрилансеру, если будет нужно, показать можно.
В основном нужен access_log для обнаружения тех, кто использует URL картинок с вашего сайта и тем самым нагружает ваш сервер, хотя это можно легко предотвратить но об этом в другой статье.
А когда будете просматривать скачанный вами файл error_log(его вы легко проверите сами), и он окажется пуст, значит у вас все в порядке, ошибок нет.
И так, где и как проверить сайт на вирусы и на ошибки вы теперь знаете. А теперь о важных сервисах и плагинах по поиску и удалению вредоносного кода.
Сервис для постоянной проверки
Ну, а сейчас о хорошем сервисе, к которому я подключил свой сайт, и то же рекомендую сделать вам, лишним не будет.
Сервис http://www.siteguard.ru/. Что он дает? Во- первых он находит все подозрительные коды и показывает весь их внешний вид. В том числе безопасные скрипты, так что в этом он как и все. Хотя на мой взгляд и более избирательный.
Но главное его преимущество в том, что зарегистрировавшись и подключив сайт к этому сервису, он автоматически будет его сканировать в определенное время и в случае обнаружения любого нового кода, в том числе и безопасного. Будет высылать, на проверку, сообщение вам на емейл.
Это даст возможность, в случае чего нехорошего, быстрей среагировать и принять меры пока Яндекс торомозит(как иногда он любит делать) и первым не обнаружит вирус.
Ведь потом, помимо падения посещаемости, будет дополнительная морока с тем, чтобы поисковик восстановил доверие к сайту. То есть это даст вам некоторое преимущество во времени. Эта услуга на сервисе бесплатная, по крайней мере пока.
Ну, а если уж Яндекс обнаружил и повесил на ваш сайт клеймо, то все- кранты, сайт можно забыть….. Ахах, шучу конечно, надеюсь ваше сердце бьется..
Ничего страшного друзья, просто сразу после удаления вируса, обязательно идите на Яндекс Вебмастер и пишите в тех. поддержку письмо, а иначе так и будет сайт считаться опасным. То же самое и с Google. Статус здорового ему восстановят в течении ближайших 1-3 дней.
Теперь о плагинах для поиска вируса
К хорошим плагинам для поиска вредоносного кода на сайте смело можно отнести Exploit Scanner. И как написал в своей статье автор этого плагина, этот инструмент оказал мне неоценимую услугу, потому как вредоносный код, в моем случае, появлялся в разных местах сайта. Рекомендую почитать про этот плагин подробней по ссылке автора.
Например на моем сайте, вредный код явно полюбил файл functions.php так как после первого удаления, через время снова оказался на том же самом месте. Кроме того код был обнаружен плагином в файле index.html и в каком то файле с окончанием на «js«.
Но к сожалению почему то не обнаружил кода в базе данных, хотя плагин специализируется на этом. Вообще, код там нашли вручную, в файле wp_wfHits.sql.
В этом файле содержалась куча информации о различных ссылках и много другой всевозможной инфы, это что то вроде кеша, памяти, которая собирала о сайте всЁ и вся. На вашем хостинге возможно вся эта информация хранится в файле под другим названием, но у меня в этом.
И вообще, на будущее, подобную информацию нужно удалять, то есть чистить базу данных MySQL не только спец. плагинами WP-Optimize и Optimize DB, но и вручную на хостинге перейдя в раздел Базы данных MySQL (иначе никак) Это важно чтобы не захламлять базу данных, ведь это влияет на скорость сайта, и тем самым на поведенческий фактор и посещаемость.
У меня например база данных сократилась с 63 Мб до 14Мб. Делать только это нужно аккуратно, предварительно сделав БЕКАП. Ну обо всем таком подробней как нибудь в другой раз или почитайте на блоге Александра Борисова в этой статье.
Только замечу ещё важную вещь,- если при входе в базу данных MySQL, вы забыли пароль и решили его сменить на новый(это легко сделать в данном разделе), то не забудьте зайти в главную папку public.html и найти в ней файл wp-config.php, а в нем найти вот это:
и вместо старого пароля (звездочки), вписать этот новый, иначе вместо сайта вы увидите надпись типа,- «Нет доступа к запрашиваемым базам данных», то есть ваш сайт испарится, ну не совсем конечно.
Что то я отвлекся. И так продолжаем, плагин Exploit Scanner, так же как и антивирусные сервисы, реагирует не только на вирус, но и на здоровые скрипты. Поэтому, где бы вы и чем не проверяли сайт, никогда не торопитесь что то удалять.
Нередко под подозрение попадают счетчики статистики, такие как Ливинтернет, Яндекс Метрика, Mail.ru и вот к примеру, какие кусочки показывающие суть, можно увидеть в таких скриптах(выделено зеленым):
Кроме этого, скрипты рекламы, кнопки и виджеты от соц. сетей:
А так же среди подозрительных могут оказаться коды самого шаблона.
Просматривая эти файлы находите в них знакомые вставки- названия, таким способом можно спокойно исключить 90% всех подозрений выданных плагином или сервисом. Ну, а в остальном придется поразбираться. И можно сравнивать старый файл из прошлого БЕКАПА, с новой его версией, в котором был найден этот код, и тем самым тоже понять, в нем ли находится угроза.
У меня же после того как вредоносный код был найден и удален из базы данных и ещё из какого то файла сайта, на этом все закончилось.
Я не буду демонстрировать вам найденный код, я оставил его на http://www.siteguard.ru/, и множества подобного вы можете посмотреть на сервисе выше.
Скажу только что он имел в себе такие вкрапления,- Evil и base64_decode в начале самого кода, потом шифрованная длинная абракадабра и iframe и echo внутри кода.
Наиболее часто встречаемыми вредоносными кодами считаются файлы с командами,- sscounter; Evil; base64_decode; iframe; explode.
Но вы должны учесть что к примеру такие части как base64_decode ; iframe; explode не так уж редко используются и в безопасном коде, например у меня сейчас один рекламный скрипт содержит в себе вставку iframe.
И когда присутствует в коде команда iframe, то как правило, если это вредоносный скрипт, где то рядом(внутри) есть ссылка на другой сайт, опять же если это не рекламный код. Ссылка может быть обычного и скрытого вида в виде абракадабры.
Теперь о Плагине ТАС. — плагин для обнаружения вирусов на сайте Theme Authenticity Checker (TAC) знаю о таком, но сам не воспользовался, точней сказать, установил уже после удаления вредоносного кода, когда сайт уже какое то время нормально проработал и ещё раз проверил сайт этим плагином.
Конкретней, он ищет несанкционированные(чужие) ссылки на сайте, встроенные вредоносным кодом и перенаправляющие на посторонний ресурс. После активации, его настройки ищите в разделе «Внешний вид».
Скачать плагин можно с официального сайта Вордпресс здесь или установить его через админку.
И ещё один плагин который может вам очень помочь в будущем belavir. Он определяет несанкционированные изменения в php файлах движка Вордпресс.
Принцип действия плагина,- он хеширует php-файлы и потом сравнивает текущие хеши с более ранними версиями и если обнаруживает несоответствия, отображает информацию в админке сайта. К примеру:
Если же, просмотрев показанный файл, понимаете что это вы его редактировали, тогда просто нажмите кнопку «сброс». В настройках плагин не нуждается, закачайте и активируйте.
Этот плагин поможет быстрей обнаружить внедренный вирус. Следует только учесть, что он как и все прежние плагины и сервисы, будет показывать все незнакомые, в том числе и здоровые коды. Здесь важно разобраться в самом начале, после установки, а потом будет проще. Если вдруг что то изменится, то выведет один код, да и вы уже будете знать меняли ли вы что нибудь, где нибудь или нет.
Сразу скажу, плагин конфликтует с другим классным плагином WP Security Scan, что это за плагин (в другой статье) в общем придется выбирать тот или этот.
И хочу добавить, что вы должны знать, нельзя ставить на сайт все плагины, которые, как вам кажется, нужные, они сильно нагружают сайт, что влияет на скорость., ставить нужно только самые необходимые.
Но плагины что я привел выше, кроме belavir, можно установить, а после проверки сайта, попросту отключать их из админки чтобы не создавать лишней нагрузки. То есть они будут оставаться на сайте, но будут отключены. Тоже касается и плагинов оптимизации базы данных(приведенных выше).
Вот страница автора плагина belavir, где вы можете его смело скачать(смотреть справа), сайт одобрен Вордпресс, но перед этим обязательно прочитайте статью на той же странице.
Ну и на этом пока все, а под конец напишу как можно удалить закодированную ссылку, которая может оказаться в новом шаблоне.
Удаление закодированной ссылки
Если удалить такую кодированную ссылку то можно поломать весь шаблон так как ссылка объединяет в себе определенные файлы и повлияет на функции темы.
Вот для вида начало и окончание подобной ссылки:
Кстати, если заметили в ней тоже скрывается команда base64_decode.
И так, для начала находим кодированную ссылку, обычна она длинная и чаще всего находится либо в footer.php либо functions.php.
И перед «<a href=» или «<?php«(может быть и такое начало), ставим к примеру такой знак «***» — это будет метка для нашей ссылки.
Далее заходим на свой сайт(на главную) и правой кнопкой мыши открываем всплывающее окошко, в нем выбираем- «исходный код страницы» либо «просмотр кода элемента» (в зависимости от браузера).
Нам предстанет весь код нашего сайта.
Теперь на клавиатуре жмем Ctrl+F и ищем маленькое окно внизу слева. Вводим в него наши *** и нам сразу покажет(желтым цветом) где находится этот символ вместе с нашей кодированной ссылкой.
После этого нужно скопировать все то, что находится от начала нашей метки и до самого низа кода. После чего возвращаемся к тому нашему файлу, в котором мы нашли эту ссылку и вместо неё вставляем тот кусок кода, который мы только что скопировали.
В этом копированном коде и будут находиться закодированные ссылки, только сейчас они стали нормального вида и их теперь не проблема безопасно удалить.
И напоследок:
— Не забывайте проверять свой ПК на вирусы. Трояны воруют пароли с компа, и при соединении с хостингом, — передают данные злоумышленникам.
— При соединении с вашим хостингом для закачки каких то файлов используйте не порт 21, а порт 22(есть при наличии SSH подключения на хостинге). Это специальное подключение для безопасного доступа.
Если такого доступа в ПУ на сервисе нет, обратитесь в тех .поддержку за информацией. Возможно такой доступ есть, но он включается только при более дорогом тарифном плане, что было в моем случае на моем хостинге. Ну если сайт уже не плохо раскручен, то я думаю нет смысла экономить на безопасности.
И при соединении к хостеру c клиента Fizila или любого другого, — не сохраняйте в них пароли.
— Хоть иногда меняйте пароль к Панели Управления сайта и базе данных. Сам пароль должен состоять не менее чем из 20 символов с разным регистром.
— Получив на почту непонятное сообщение со ссылкой, проверьте его антивирусом на наличие вредоносного кода и лучше не открывайте все, что только возможно.
— И конечно друзья, перед любыми работами с файлами сайта, и базой данных обязательно делайте бекап корневой папки и базы. И тогда творите что угодно, ломайте хоть ещё много много раз, все можно вернуть через панель хостинга или фтп клиент закачав на сервис резервную копию сайта. А редактировать файлы нужно в блокноте Notepad++ скачать с официального сайта можно здесь.
Ещё в скорости планирую написать статью как защитить сайт на Вордпресс, и думаю есть чем поделиться. Поэтому если желаете, можете подписаться на обновления
С уважением Андрей Русских
Уважаемые читатели, если статья вам была полезна, буду признателен если понажимаете кнопки (внизу)
Кроссворд для вас(нажмите чтобы начать, если не видно цифр- обновите страницу)
Веб-сервисы для проверки сайтов на вирусы
Время на прочтение
5 мин
Количество просмотров 201K
Рано или поздно веб-разработчик, веб-мастер или любой другой специалист, обслуживающий сайт, может столкнуться с проблемами безопасности: ресурс попадает под санкции поисковой системы или начинает блокироваться антивирусом, с хостинга могут прислать уведомление об обнаружении вредоносного кода, а посетители начинают жаловаться на всплывающую рекламу или редиректы на “левые” сайты.
В этот момент возникает задача поиска источника проблемы, то есть диагностики сайта на проблемы безопасности. При грамотном подходе диагностика состоит из двух этапов:
- проверки файлов и базы данных на хостинге на наличие серверных вредоносных скриптов и инжектов,
- проверки страниц сайта на вирусный код, скрытые редиректы и другие проблемы, которые, порой, невозможно выявить статическим сканером файлов.
Предположим, вы уже проверили файлы на хостинге специализированными сканерами и почистили аккаунт хостинга от «вредоносов» (или ничего подозрительного на нем не нашлось), но поисковик все равно ругается на вирусный код или на сайте по-прежнему активен мобильный редирект. Что делать в этом случае? На помощь приходят веб-сканеры, которые выполняют динамический и статический анализ страниц сайта на вредоносный код.
Немного теории
Статический анализ страниц – это поиск вредоносных вставок (преимущественно javascript), спам-ссылок и спам-контента, фишинговых страниц и других статических элементов на проверяемой странице и в подключаемых файлах. Обнаружение подобных фрагментов выполняется на основе базы сигнатур или некоторого набора регулярных выражений. Если вредоносный код постоянно присутствует на странице или в загружаемых файлах, а также известен веб-сканеру (то есть он добавлен в базу сигнатур), то веб-сканер его обнаружит. Но так бывает не всегда. Например, вредоносный код может загружаться с другого ресурса или выполнять какие-то несанкционированные действия при определенных условиях:
- по завершении загрузки страницы в нее добавляется javascript, который выполняет drive-by download атаку
- пользователь уходит со страницы, в этот момент подгружается код и открывает popunder с контентом “для взрослых”
- посетитель сайта находится на странице несколько секунд и только после этого его перенаправляют на платную подписку за смс
- и т.п.
Несколько таких примеров:
Если заранее неизвестно, какой код провоцирует данные несанкционированные действия, то обнаружить его статическим анализом чрезвычайно сложно. К счастью, есть анализ динамический или иногда его еще называют “поведенческим”. Если веб-сканер умный, он будет не просто анализировать исходный код страницы или файлов, но еще и пытаться совершать какие-то операции, эмулируя действия реального посетителя. После каждого действия или при определенных условиях робот сканера анализирует изменения и накапливает данные для итогового отчета: загружает страницу в нескольких браузерах (причем, не просто с разных User-Agent’ов, а с разными значениями объекта navigator в javascript, разными document.referer и т.п.), ускоряет внутренний таймер, отлавливает редиректы на внешние ресурсы, отслеживает то, что передается в eval(), document.write() и т.п. Продвинутый веб-сканер всегда будет проверять код страницы и объекты на ней как до начала выполнения всех скриптов (сразу после загрузки страницы), так и спустя некоторое время, поскольку современные “вредоносы” динамически добавляют или скрывают объекты на javascript, а также выполняют фоновые загрузки внутри динамических фреймов. Например, код зараженного виджета может через 3 секунды или по движению мыши загрузить скрипт, который вставит на страницу javascript с редиректом на загрузку опасного .apk файла. Естественно, никакой статический анализ (кроме как заранее знать, что виджет опасен) или поиск по файлам такое не выявит.
А теперь, с пониманием требований к диагностике сайта и веб-сканерам, попробуем найти те, которые действительно эффективны. К сожалению, то что представлено на первой странице поисковика по запросу “проверить сайт на вирусы онлайн” сразу никуда не годится. Это или “поделки”, которые в лучшем случае могут выполнить статический анализ страницы (например, найти IFRAME, который может быть и не опасен), или агрегаторы сторонних API, проверяющие URL сайта по базе Google Safe Browsing API, Yandex Safe Browing API или VirusTotal API.
Если проверять сайт десктопным антивирусом, то анализ будет скорее всего также статический: антивирус умело блокирует загрузки с известных ему зараженных сайтов, но какого-то глубокого динамического анализа страниц сайта от него не стоит ожидать (хотя некоторые антивирусы действительно обнаруживают сигнатуры в файлах и на странице).
В итоге, после проверки двух десятков известных сервисов, я бы хотел остановиться на представленных ниже.
Веб-сканер QUTTERA
Выполняет поиск вредоносного кода на страницах, используя бессигнатурный анализ. То есть обладает некой эвристикой и выполняет динамический анализ страниц, что позволяет обнаруживать 0-day угрозы. Из приятных особенностей стоит отметить возможность проверки сразу нескольких страниц сайта, поскольку проверять по одной не всегда эффективно.
Хорошо обнаруживает угрозы, связанные с загрузкой или размерещением троянов, завирусованных исполняемых файлов. Ориентирован на западные сайты с их характерными заражениями, но часто выручает и при проверке зараженных сайтов рунета. Поскольку сервис бесплатный, есть очередь на обработку задач, поэтому придется немного подождать.
Веб-сканер ReScan.pro
Выполняет динамический и статический анализ сайта. Поведенческим анализом детектятся скрытые редиректы, статический анализ ищет вирусные фрагменты на страницах и в загружаемых файлах, а базой черного списка определяются ресурсы, загружаемые с зараженных доменов. Ходит по внутренним ссылкам, поэтому кроме основного URL проверяет еще несколько смежных страниц сайта. Приятным дополнением является проверка сайта по блек-листам Яндекс, Google и VirusTotal. Ориентирован в основном на вредоносы, которые обитают в рунете. Поскольку сервис бесплатный, лимит на проверку – 3 запроса с одного IP в сутки.
Веб-сканер Sucuri
Ищет вирусный код по сигнатурам и с помощью эвристики. Отправляет запросы к нескольким URL на сайте с различными User Agent / Referer. Обнаруживает спам-ссылки, дорвей-страницы, опасные скрипты. Кроме того, умеет проверять актуальные версии CMS и веб-сервера. Ограничений на число проверок не замечено. Из небольшого минуса обнаружилось, что список проверенных сайтов с результатами индексируется поисковыми системами, то есть можно посмотреть, какой сайт и чем был заражен (сейчас в поисковом индексе около 90 000 страниц), тем не менее эффективности сканера это не умаляет.
Redleg’s File Viewer
Еще один западный веб-сканер сайтов. Может немного отпугивать своим аскетичным интерфейсом из 90-х, но, тем не менее, он позволяет выполнить полноценный статический анализ сайта и подключенных на странице файлов. При сканировании пользователь может задать параметры User Agent, referer, параметры проверки страницы. В настройках есть проверка страницы из кэша Google. Лимитов на проверку сайтов не обнаружено.
VirusTotal
Ну и, наконец, знакомый многим VirusTotal. Он не является в полной мере веб-сканером, но его также рекомендуется использовать для диагностики, так как он является агрегатором нескольких десятков антивирусов и антивирусных сервисов.
***
Упомянутые веб-сканеры можно добавить в закладки, чтобы при необходимости провести диагностику сразу эффективными инструментами, и не тратить время на платные или неэффективные сервисы.
Заражение и взлом сайта — ситуация крайне опасная. Есть огромное количество сценариев, как злоумышленники могут использовать ваш сайт или вычислительные ресурсы:
- разместить на сайте нелегальный контент;
- отправить спам-рассылку — и хорошо, если не по вашим же клиентам;
- организовать с сервера атаку на сторонние ресурсы;
- разместить своё ПО, например, для майнинга, и др.
Как итог, могут пострадать не только ваш бизнес (заражённые сайты блокируются поисковыми системами) и хостинг-провайдер (IP-адрес скомпрометированного сайта может быть заблокирован, например, РКН), но и просто посетители вашего сайта. Если вы уже столкнулись с этим — нужны срочные меры.
Но перед тем, как приступить к проверке, убедитесь, что у вас есть резервные копии. Часто для решения проблемы с заражением достаточно просто развернуть бэкап с попутной сменой паролей и обновлением всего и вся. Главный плюс — скорость. Главный минус — это не устранит уязвимость, через которую сайт или сервер были заражены изначально — потребуется профилактика.
Лечение вирусов на сайте: чек-лист
Читать
Существует множество инструментов для проверки сайтов на наличие вредоносного кода. Большинство из них предназначены только для формирования отчётов со списком файлов сайта или блоков кода, которые опознаны как вирусные или подозрительные (онлайн-сканеры). А некоторые могут сразу и найти, и вылечить заражённые файлы (антивирусы для сайтов).
Каждый отчёт, полученный в результате проверки сайта, нужно сохранить — он потребуется при лечении. А теперь к инструментам, которые помогут в проверке:
- Сервисы поисковых систем
- Антивирусы для сайтов
- Онлайн-сканеры
- Десктопные антивирусы
Сервисы поисковых систем
Если к вашему сайту подключены инструменты вебмастера от Яндекс или Google, поисковая система отправит вам уведомление о проблемах с безопасностью сайта.
С помощью этих же инструментов можно получить базовый отчёт — например, Search Console от Google сразу покажет, какой код на сайте поисковая система сочла потенциально опасным.
- Проверка статуса сайта Яндекс
- Отчёт о доступности сервисов и данных Google
Антивирусы для сайтов
Есть несколько решений, которые позволяют автоматизировать поиск вирусов. Возможность их использования в первую очередь зависит от конфигурации вашего хостинга или сервера, где размещён сайт, его операционной системы и наличия панели управления. Расскажем об инструментах, которые уже проверили на своём опыте.
Если вы используете сервер с панелью управления
Если на вашем хостинге / виртуальном сервере установлена панель управления (Plesk, cPanel, DirectAdmin), для проверки рекомендуется использовать встроенные антивирусы. Для доступа к полному набору возможностей в них требуется приобрести лицензию, но зато это позволит качественно найти и автоматически вылечить заражённые данные.
В панели ISPmanager доступен бесплатный модуль антивируса ImunifyAV.
ImunifyAV — специализированный инструмент с регулярным обновлением вирусных баз и возможностью автоматического лечения — поэтому его можно назвать лучшим решением для качественной проверки. Бесплатная версия антивируса ImunifyAV устанавливается вместе с ISPmanager автоматически. Ее возможности ограничены, однако вы можете приобрести платную версию у компании CloudLinux или её реселлеров.
- Подробнее об ImunifyAV
В панелях Plesk, cPanel, DirectAdmin также доступен встроенный антивирус ImunifyAV. Но, так как мы не работаем с этими панелями, для подробной информации рекомендуем обратиться к их документации.
Если вы администрируете сервер вручную
Если вы не используете панель управления, на Linux-серверах можно воспользоваться ClamAV — бесплатным антивирусом под Linux для поиска вредоносов. Инструкцию по установке и поиску вирусов можно найти в статье «Проверка антивирусом ClamAV».
В качестве альтернативы можно использовать Linux Malware Detect — он обладает аналогичными возможностями по поиску зловредов в коде сайтов. О его установке и использовании можно прочитать в инструкции «Поиск вирусов с помощью Linux Malware Detect».
Онлайн-сканеры
Онлайн-инструменты удобны тем, что для проверки достаточно скормить им ссылку на ваш сайт. А ещё они бесплатны. Результатом будет отчёт со списком вредоносного кода или заражённых файлов сайта.
При использовании сканеров важно помнить, что они выполняют очень поверхностный поиск из-за отсутствия доступа к файлам сайта. Также стоит помнить о безопасности: если на вашем сайте размещена конфиденциальная информация или персональные данные пользователей, загружать архив с его файлами для сканирования на сторонний сервис — не лучшая идея.
Список таких сервисов достаточно широк, приведём те, что на слуху:
VirusTotal
Один из самых старых и популярных онлайн-сканеров сайтов. Позволяет просканировать архив файлов или сайт по ссылке.
Sucuri SiteCheck
Sucuri — это компания, которая специализируется на безопасности сайтов. Сканер позволяет оценить уровень безопасности сайта, обнаружить вставки вредоносного кода, вирусы, факт наличия в блэклистах, ошибки на сайте, необновлённые модули. Для проверки нужен только URL.
Kaspersky
Онлайн-сканер самого известного поставщика антивирусного ПО в России. Может просканировать архив файлов или сайт по ссылке или IP-адресу.
NortonLifeLock
Инструмент для анализа сайта от не менее известной компании NortonLifeLock. Служит только для определения статуса сайта (например, «Безопасен») и его оспаривания (для извлечения из базы антивирусов компании). Для использования потребуется зарегистрироваться и подтвердить владение сайтом.
Dr.WEB
Проверка через сканер Dr.WEB позволяет быстро получить список подозрительного кода и ссылок на сайте по URL.
Дополнительные онлайн-инструменты:
- Quttera
- WebInspector
- PCrisk
- Unmask Parasites (Sucuri)
- Malware Removal
- 2ip
Десктопные антивирусы
Антивирусы, которыми вы пользуетесь для защиты вашего ПК, также с некоторой вероятностью могут опознать вредоносные файлы. Сделайте архив файлов сайта, включая базу данных, скачайте на свой компьютер и запустите сканирование.