Интересный вопрос возник сразу же, как только проект перешел в активную фазу. В середине прошлой недели мой вебмастер получил на почту письмо довольно объемного содержания, но с одним месседжем: на вашей странице обнаружен вирус, зарегистрируйтесь в Яндекс.Вебмастере, и будет вам счастье. Интересно, что я зарегистрирован в Вебмастере, но туда сообщение пришло только через два дня — рядом с моим сайтом повис красный значок радиологического заражения.
Прежде всего, хочу сказать, что сообщению не поверил: раз прислали по почте — значит, Яндекс не особенно в курсе, какие сайты у него зарегистрированы в системе… но, по всей видимости, просто все сделано по совку, система у них ищет не по домену, а по адресу регистрации, вбитому в систему и сравнивает его с адресом вебмастера. Довольно глупо, но, в принципе, может иметь смысл, скорее всего, просто не переделывали… ведь этот адрес должен быть уникальным, да и почта, в перспективе, проверяется чаще, чем сообщения Вебмастера, которые на почту не пересылаются. Яндексу все равно, какие сайты сканировать — это делается при очередной индексации, поэтому и проверка делается по всем, так проще свой сервис продвигать.
В ответ пришло письмо через пару дней с указанием того, какой конкретно вирус был найден и рекомендацией прошерстить все файлы javascript (расширение .JS) на сервере на предмет строки в конце файла. Одновременно сайт пометился как зараженный в Вебмастере и поиске — можете и сейчас посмотреть что-то вроде «Сергей Самсонов фотограф», будете приятно удивлены, как это выглядит. Понятно, что разумный человек, который ищет ваш сайт через Яндекс, после такой надписи по ссылке кликать не будет. Посещаемость, естественно, падает — что показал даже мой Google Analytics. Собственно, именно это является главной опасностью, особенно, в разгар сезона поиска фотографа, потому откладывать даже предполагаемые опасности в плане их разрешения нельзя, необходимо собраться и идти решать вопрос.
Особенность моего скрипта заключается в том, что он современный, а потому, использует в своей основе очень много программирования на javascript — пришлось вручную перебрать порядка 200 файлов и убрать из них зловещую строку. Несколько часов занятости обеспеченности. Интересно, что автоматически это сделать было нельзя — внедрение вируса осуществлялось через дырявую форму, куда был загружен код вызова стороннего php, который подгрузил уже другой файл, переписавший мои файлы, генерируя вариации в коде по мере своей работы. Так как проблема дырявой формы пока не локализована (написано разработчикам скрипта письмо об уязвимости, обновления пока не было), решено было закрыть все файлы JS от записи через права файлов, ограничив запись полностью (права CHMOD 444 или 555, по вкусу). Не забывайте, что все автоматически обновляемые серверные скрипты, по идее, могут иметь такую уязвимость — я лишил себя одного удобства, зато немного обеспечил себе безопасность и прогнозируемость условий в будущем. Если думаете, что это только для великих умов, ошибаетесь — я сам не программист, имею только базовые знания о веб-программировании, которых достаточно только на установку и доводку стандартных скриптов, не более того.
После чистки я отправил в Вебмастер запрос на перепроверку сайта — Яндекс вежливо предупредил, что будет делать это несколько дней. Письмо было отправлено и разработчикам Concrete5, чтобы искали уязвимость. Они сделают, нормальные ребята.
Теперь несколько советов:
- не надейтесь на надежность своего скрипта, ломаются даже сайты на обычном HTML — было бы желание у самих хакеров
- регулярно обновляйте скрипты, вне зависимости от того, что вы об этом думаете, при обновлении системные файлы переписываются новыми, закрываются существующие уязвимости
- читайте о развитии вирусов в сети, применительно к тому, как к ним относятся поисковые машины — пригодится, заодно поймете схему работы вирусов
- если есть знания интернета лучше моих, используйте их, защищайтесь и помните, что все, что удобно, куда уязвимей того, что безопасно — иногда проще скачать обновление вручную и залить через FTP, чем обновлять кликом на сайте… пусть времени больше уйдет, зато проблем в перспективе будет меньше
- купите лицензию на антивирус и не пользуйтесь пиратскими (меня это не спасло, влезло со стороны)
- любая веб-форма, которая прогоняет данные через скрипт сайта, является источником постоянной опасности, и если сегодня она вас защищает, это не значит, что завтра ситуация не изменится
Я не склонен усматривать в этом заражении действий конкурентов — я не того полета птица, мне куда проще думать, что таким образом хакеры решают свои собственные проблемы, иначе бы сломали более капитально и неизлечимо. Однако, учтите, что сайты, находящиеся в выдаче выше, рискуют больше — у них выше посещаемость, а соответственно, и ареал распространения вируса. Помните, что антивирус Яндекса реагирует далеко не сразу, и часто перед обнаружением пройдет от 2 дней до недели, а это подвергнутые риску посетители вашего сайта.
Обновление:
Сегодня с утра из Яндекса пришло сообщение, что я чист:
Здравствуйте, Самсонов Сергей!
Последняя проверка сайта 21 Марта 2012 не выявила страниц, содержащих вредоносный код. В результатах поиска сайт выводится без пометок.
Что это было? Не знаю, но это заставило меня пересмотреть политику безопасности и отказаться, частично, от легкомысленного подхода к скриптам и удобству. Прежде всего, я закрыл их все правами 444 или 555 (это значит, что редактировать на сервере их вообще нельзя, только загрузка через FTP). Поменяны пароли к скриптам, изменен пароль на FTP, пароль теперь не сохраняется в программе загрузчике — приходится напрягать мозг. Место, через которое эта мерзость пролезла, не установлено — более того, скрипты у всех «охваченных» пользователей разные, отчего я склоняюсь к первоначальной версии, что виной всему дырявая форма, которая позволяет подгружать что-то, кроме текста.
Сегодня утром из Яндекса пришло радостное сообщение, что, дескать, при последней проверке вирусов не обнаружено. Текст в записи.
Буквально вчера читал этот текст и хихикал – «вот дурни» . Но мы-т не такие))
Сегодня — бац! И яндекс радостно присылает письмо — Ой, а ваш сайт заражен.
Какого..
Лезу проверять — да, во все файлы *.js дописан код в конце (avp детектирует как «Trojan-Downloader.JS.JScript.as»)
Сами *.html страницы девственны.
Права доступа стояли стандартные, 755 для директорий, 644 для файлов. Нынче запретил запись вообще (444).
Но смешно не это.
Смешно же то, что ежедневная аудитория моего сайта svphotos.ru, согласно гуглу, колеблется на уровне плинтуса, примерно в 2-5 человек. Т.е., возникает ооочень хороший вопрос – кому я мог понадобится – наткнутся на сайт даже через поиск достаточно сложно =)
Напрашиваются нехорошие мысли, что промышляет этим сам яндекс – уж очень он пиарит свой Яндекс.Вебмастер.
Хотя, с учетом, что я там уже был зарегистрирован…
Либо.. либо заражение действительно с какого-то ресурса, где у многих прописаны свои личные сайты.
Ах, да. Сам сайт юзает явовскую галерею SmoothGallery v2.1, та в свою очередь достаточно распространённый mootools 1.2
Это действительно из какого-то каталога.
А на сайте есть какие-нибудь формы для ввода данных? Лично мне это место представляется местом атаки.
Кстати, данный запрос «Сергей Самсонов фотограф» не такой уж серьёзный, чтобы конкуренты напряглись.
Из всех ваших запросов, актуальный и качественный — фотограф на свадьбу и свадебный фотограф, но они не в топе, так что, просто проверьте хостера и смените все пароли на серваке!
Денис, смена паролей — это обычная процедура, которую делаю регулярно, потому сделал почти на автомате, а запрос привел, чтобы просто видно было сразу, а не заставлять людей скролить до требуемого. Подпись, как вы знаете, выводится под всеми.
Как SEO специалист, скажу, Яндекс недавно ввёл новый алгоритм и систему поиска вирусов. Т.е. раньше он это не находил, но вирус там был.
Денис, спасибо за мнение, но я своими глазами видел даты изменения файлов .js — там было написано 7 марта. В качестве теории заговора, я готов предположить, что сам Яндекс все и поломал, но уверенности такой нет, потому остановимся на том, что в этот день на сайт врубились хакеры.
Интересно, интересно.
Вчера у меня перестал работать сайт.
Т.е. страница не грузилась напрочь.
Думал что-то временное, но так и не дождавшись что он заработает, я тупо перезалил на хостинг из бекапа, и сайт заработал сразу. Че за фигня не ясно,
такого не было никогда, вот думаю теперь же это было.
У меня, кстати, работал, народ заходил, проблем не было, отчего я и счел это дешевой разводкой. Но никто ведь не отменяет возможности простучать Яндекс напрямую, верно?
Вообще, не очень понятна тактика, куда вирус редиректил и проочее, а от этого получается сложно от него предохраняться.
я узнал о вирусе, случайно, до того, как поисковики внесли сайт в черные списки, только потому, что его поймал NOD32(он, кстати, показывал хост, на который js-скрипты пытались выйти), ни avast, ни drweb, ни avira этот вирус не определяли.
Походу, ребята быстрее обновили базу свою. Надо чаще на сайт заходить к себе, что ли, через вебморду, быстрее узнать можно будет.
видимо какой-то всплеск вирусной активности. буквально то же самое было с сайтом моей супруги-фотографа, сайтом которой я занимаюсь.
проблема решилась восстановлением сайта из бэкапа. движок сайта(joomla) был в спешном порядке обновлен до последней версии.
к слову, заражение произошло 6 марта
Да, действительно. У меня 7 марта, причем файлы менялись не одновременно — скрипт их явно сканировал. Вполне возможно, пришел с какого-нибудь МайВеда.