Мобільний редирект - а що якщо вірус не на сайті
Вчора весь день носився поспіхом і похапцем, і так вже вийшло, що повністю звільнився тільки зараз, тому публікація замітки обіцяної з позавчорашнього вечора дещо затягнулася.
Два дні тому я коротко розповів про купу проблем. звалилися на мене в останні дні, а зараз я маю намір описати ситуацію, на якій зупинився в попередній замітці - віруси на моїх сайтах.
Загалом, справа була так.
Само собою такий стан речей мене не влаштовувало, і я поспішив перевірити свій сайт на предмет стороннього коду та іншої «гидоти», яка могла вплинути на появу вірусів.
Не так давно, мій сайт був дійсно зламаний. і тоді усунути проблему вдалося буквально за лічені хвилини - був зламаний файл .htaccess, який на цей раз виявився недоторканим. Природно, адже після того випадку, я програмно обмежив доступ до цього файлу і тепер «розкрити» його буде не так просто.
Не дивлячись на те, що конфігураційний файл .htaccess був в повному порядку, сайт все рівно не проходив перевірку на віруси і був під відповідним фільтром, що істотно позначилося на його відвідуваності в цей день. Що ж робити далі?
Зайшовши в Яндекс Вебмастер я відразу побачив результати вибіркової перевірки, навпроти якої було винесено вердикт про мобільний редирект - mobile_redirect.
Перевіривши інші файли свого сайту і, не знайшовши нічого підозрілого, я вирішив, що Яндекс помилково знайшов на моєму сайті якісь віруси. З цією думкою я припинив пошуки, написав повідомлення в службу безпеки і відправив заявку на повторне сканування сайту на предмет мобільного редиректу або вірусів.
Відповідь надійшла на рідкість швидко, але, на жаль, нічого хорошого в ньому я не побачив. Платон Щукін зі служби підтримки Яндекса запевнив мене в тому, що на сайті присутня скрипт, за допомогою якого відбувається перенаправлення користувачів з мобільних пристроїв на шкідливі мети.
Скрипт мобільного редиректу
В кінці цього повідомлення було прикріплене кілька посилань на різні мануали Яндекса, які, на їхню думку, повинні були допомогти у вирішенні проблеми.
З моменту отримання першого повідомлення від Яндекса я витріщався в монітор вже кілька годин поспіль, я перебрав всі можливі варіанти, кілька разів перевірив всі файли на предмет стороннього коду, але так нічого і не знайшов.
Якщо до цього дзвінка я сподівався, що хтось десь міг помилитися, то зараз я вже був впевнений, що мобільний редирект має місце бути, хоча чому він не з'явився у мене - до сих пір загадка.
Ще раз, перевіривши всі файли сайту і перебравши інші варіанти, які були запропоновані Платоном, на одній зі сторінок Яндекс безпеки я натрапив на ймовірність можливого зараження сервера. після чого написав листа своєму хостинг провайдера.
У підтримці мого хостингу ніхто і чути не хотів про те, що проблеми можуть бути з їх боку. Їх перше повідомлення було наступним:
На наших серверах використовується unix система FreeBSD останньої версії з усіма встановленими оновленнями безпеки, що повністю виключає зараження сервера.
Далі були перераховані інструкції, дотримуючись яких мені потрібно було перевірити свій комп'ютер на наявність вірусів, змінити всі паролі, пошукати чужорідний код, оновити програмне забезпечення та виконати ряд інших дій.
Після повторного запиту мені порадили відновити резервну копію сайту 2-х, 3-х денної давності, але я, буквально нутром відчував, що мій сайт тут ні причому і що бекап навряд чи допоможе.
З'ясувалося що дана проблема дійсно може бути викликана вразливістю на стороні сервера і більш того, точно така ситуація вже сталася з кількома досить популярними хостинг-компаніями серед яких виявилися reg.ru. timeweb.ru. plusweb.ru. hoster.by і ще деякими менш відомими конторами.
Потираючи руками я чомусь був упевнений, що тепер їм не відкрутитися, але все сталося як в приказці - не говори гоп, поки не перескочиш. Погляньте на відповідь співробітників компанії.
Яким чином фіксувати перенаправлення?
Якщо Ви так впевнені, що заражений сервер - видаліть весь контент, створіть сторінку index.html і в ній пропишіть "Привіт світ" - слідуючи Вашою логікою, відбудеться редирект.
Ну, все, думаю то я дурень, чи то лижі не їдуть - і чомусь інших варіантів не спостерігається навіть близько. Річ у тім, у них все нормально відкривається, і немає ніякого перенаправлення - я в шоці!
Я знову повернувся на Яндекс, відкрив розділ безпеки і бачу, що за результатами повторної перевірки на моєму сайті шкідливий код вже не виявлений - ну і що це за цирк?
Загалом, я вирішив вибачитися перед хостингом за те, що морочив їм голову, написав ще одне повідомлення, в якому зробив акцент на підвищене навантаження процесора. якої до цього моменту майже ніколи не спостерігалося, і пішов спати.
Не повірите - всю ніч мені снилося, як я шукаю шкідливий код на своєму сайті. Я кілька разів прокидався, але засинаючи, я знову і знову перебирав код в надії знайти хоч якусь зачіпку. Уявляєте як мене зачепила ця ситуація? Просто жах! А тим часом і без того мізерний трафік на сайті все падав і падав.
Ранок - новий день і нові ідеї!
Проаналізувавши всю переписку з хостером, я вирішив, що було б дійсно непогано перевірити доступність сайту, без будь-яких скриптів, але видаляти через це весь блог мені здалося дикістю, і тут мене осінило.
По-швидкому я перевірив всі свої сайти, і всі вони виявилися з перенаправленням, неважливо були підключені скрипти чи ні. Далі більше, попередньо зробивши резервну копію, я повністю видалив один із сайтів і за порадою фахівця зі служби підтримки створив порожній файл з написом «Привіт світ!».
Тепер мені треба було якось довести що проблема саме з їхнього боку, не дивлячись на хвалений невразливість, якої вони так малюються.
Здавалося б, всі карти у мене на руках, все чітко видно, доступно і зрозуміло навіть школяреві, і що ви думаєте? Знаєте, який мені прийшла відповідь? Дивіться!
Перевірте, будь ласка, всі ваші сайти на наявність вразливостей.
М'яко кажучи - я в шоці! Які нафіг можуть бути уразливості в сайті, який не має підключення до бази даних, не використовує жодних скриптів (ні зовнішніх, ні внутрішніх) і не має конфігураційних файлів? Ну що це за маячня?
Тут я не витримав і почав дзвонити в службу підтримки клієнтів за допомогою скайпу - це були ще ті кори.
Я спробував пояснити фахівцеві з техпідтримки, що цей вірус не звичайний і цілком ймовірно, що він може орієнтуватися тільки на Android або якісь інші мобільні дані. Він розповів мені про User Agent і його можливі «модифікації», після чого ми зійшлися на тому, що вони зараз же почнуть перевірку моїх сайтів, хоча як він сказав в їх обов'язки це не входить - вони займаються виключно підтримкою стабільності хостингу, а не пошуком вірусів на чужих сайтах.
Через півгодини на пошту впало ось таке повідомлення.
Перевіримо ПО сервера.
Проблему бачили, підставивши юзерагент мобільного браузера.
Приблизно десь через 3 години прийшло ще одне повідомлення, якому ви навряд чи уявляєте, як же я був радий. Скріншот цього листа ви можете бачити нижче.
1) Дякую вам за те, що проявили таку наполегливість - це дорогого коштує.
3) Завдяки вам ми знайшли проблему, на даній машині був скомпрометований веб сервер, скомпрометований модуль ми вже знайшли, зараз ми розбираємося з якої причини це сталося, але наслідки ми вже ліквідували, ніяких редиректів вже немає.
За нашими даними проблема виникла позавчора "Nov 9 21:48" чому це сталося - ми розбираємося.
5) Я зарахував вам рік обслуговування безкоштовно, в знак того, що ми дійсно дуже вам вдячні за пройдений ПРАЦЯ.
8) Ми вже перевірили всі машини - веб-сервер постраждав тільки на ftp30, чому це сталося - ми обов'язково розберемося.
І так: ще раз Вам дякую.
На Ваш абонентський рахунок надійшла оплата в розмірі: 0 руб.
тип оплати: За рахунок Hostland.ru
і зарахований бонус у розмірі: 1 668 руб.
так само вам зараховано доменних бонусів в кількості: 1
Як би там не було, редиректу на моїх сайтах вже дійсно немає - проблему знайшли і усунули, а з приводу того що сталося, ну з ким не буває?
Навіть незважаючи на все це я як і раніше задоволений роботою свого хостингу, тим більше в кінцевому підсумку нам вдалося у всьому розібратися і позбутися від так званих неприємностей. Чи не маловажним моментом для мене виявилося поповнення рахунку, і я не буду приховувати, я вважаю, що це було дуже навіть доречно, після всього того з чим мені довелося зіткнутися.
У замітці я ще ніде не згадував про те, що в процесі пошуку шкідливого коду і за порадою фахівців служби підтримки клієнтів мені довелося перевірити свій комп'ютер на наявність вірусів. Крім усього цього я перевірив свій сайт на предмет вірусів за допомогою декількох онлайн сканерів, що природно вимагало додаткового часу, який я вважаю, витрачено не марно - зайва впевненість ще нікому не зашкодила.
Шкідливий код на сайті не виявлено
Зараз працездатність всіх моїх сайтів відновлена, на сайтах немає ніяких вірусів і ніяких редиректів, з блогу зняті всі обмеження від пошукової системи Яндекс - загалом, все налагодилося. Добре, що все добре закінчилося, а взагалі цікава вийшла ситуація.
Ну як вам така історія, в якій людина з освітою кухаря доводив професійним програмістам проблему з їх обладнанням, а?
Мене вона встигла, і повеселити обстановкою і порадувати поповненням рахунку, додала нових знань і досвіду, але що саме неприємне, вона змусила понервувати, а мені нервувати не можна - це погано позначається на моєму самопочутті!
Загалом, не дай бог кому-небудь зіткнутися з такою ж проблемою, адже до самого останнього моменту дурнем вважатимуть тільки Вас.
Олексій, перш ніж боротися з хостером, потрібно на всі 100% переконатися що проблема дійсно на їхньому боці, а не на вашому сайті. Перевірте свої конфігураційні файли, файл .htaccess, підключені скрипти і інші варіанти.
З приводу вибору країни, що б переконатися самому, можна спробувати використовувати який-небудь проксі сервер.
Микита, дали посилання на Вашу статтю в якості інструкції як боротися з хостером. Проблема ідентична описаній вами, але проблем додає той факт, що судячи з усього крім іншого враховується країна - в моєму випадку редирект бачать Украінане, я перебуваю в Україні - редиректу не бачу. Хостер теж український - Хостлайф.
З одного боку порадувати нічим, так як нічого конкретного з приводу того, де шукати вірус, мені ніхто не сказав. З іншого боку, хороша новина полягає в тому, що рішення даної проблеми може ховатися за оновленням серверного програмного забезпечення.
Так що якщо комусь довелося зіткнутися з проблемою мобільного редиректу, який точно знаходиться не на вашому сайті - наполягайте на оновленні програмного забезпечення вашого сервера.
Мабуть це все, чим я можу допомогти в даній ситуації.
Олег, якщо "дірку" вони до сих пір не залатали - поки проблему не усунуть, від Вас, на жаль, мало чого залежить.
Якби я опинився на вашому місці, я б порекомендував вашому саппорт звернутися наприклад в "мою" контору, авось вони поділяться секретом, і розкажуть як позбутися від проблеми. Хоча це їх потенційний конкурент і найімовірніше на допомогу з їхнього боку розраховувати не доведеться.
Олег, наскільки я зрозумів з такою проблемою вже зіткнулася далеко не одна хостинг компанія, але що найприкріше, в кожному разі вони в упор не бачать проблему зі свого боку.
Мій хостер теж довго опирався, але все-таки потім я "переміг" :)
Удачі в рішенні Вашої проблеми.
PS: Було б цікаво почути яким хостингом ви користуєтеся. Може ця інформація ще кому-небудь стане в нагоді в майбутньому!