<
  • Главная
Статьи

Віруси на сайті на Joomla та інших CMS

  1. Як діє лиходій?
  2. Чому так?
  3. Видалення вірусу: робота над помилками
  4. Ще один міф: по логам можна все відстежити
  5. І що, я можу втратити сайт через вірус?
  6. Що ж робити?

C листопада 2012-го року Joomla б'є рекорди заражуваність, в зв'язку з цим багато людей звертається за очищенням сайту від вірусів . І кожен раз неприємним сюрпризом для них стає те, що очищення з гарантією - це не безкоштовно, не завжди моментально і не завжди без побічних ефектів. Але ж і зараження, і витрат на лікування можна було уникнути, якщо подбати про безпеку ДО того, як з'явилися проблеми.
люди недооцінюють безпеку сайту , Тому що мало хто знає, яка ситуація в світі по цій темі. Заповнити цю прогалину покликана ця стаття.

Як діє лиходій?

Як діє лиходій

Ніхто не йде цілеспрямовано ламати конкретний сайт, це не вигідно (за винятком тих справ, де замішані спецслужби та ін.). Конкретний сайт зазвичай не зламують інтелектуально, а тимчасово виводять з ладу, перевантажуючи численними запитами (DDOS). Або намагаються підібрати пароль - міняйте, якщо у вас короткий. Загалом, якщо сайт зламаний - це 99% не злі конкуренти, а просто оптова роздача. Нічого особистого.
По суті, більшість хакерів шукає, що «погано лежить». Є давно відомі уразливості популярних движків, таких як Joomla, WordPress, DLE, ShopScript . Вони опубліковані на сайтах підтримки, на форумах з безпеки, але їх не читає ніхто. Крім хакерів.

Далі справа техніки. Простий спосіб - шукати в Гуглі по фразам на кшталт "inurl: id =", де замість id - змінна, згадана в описі уразливості. Це дасть список сайтів, у яких двигун приймає через адресний рядок потрібні змінні. В які можна спробувати підставити не звичайну цифру, а бридкий код, заснований знову ж на загальновідомому описі уразливості. Більш просунутий варіант - робити роботів, які обходять мережу і шукають уразливі движки. Такі роботи у випадку з Joomla перевіряють, чи є на сайті папка / administrator /. Постійно ходять по мережі і роботи, які намацують утиліту phpmyadmin. Саме тому ні в якому разі не можна розміщувати її в папках з очевидним назвою phpmyadmin, myadmin і тому подібними - всі ці слова є в словниках роботів. Давно існують дуже просунуті, готові програми для цієї справи.
Іноді, знайшовши уразливий сайт, хакер закриває вразливість. Щоб колеги не лізли. Але головне - лиходій завжди намагається закріпитися на взятому рубежі, і тут додаються геніальні зусилля. У справу йде бекдор - задній хід, що дає хакеру доступ до файлів сайту.

Так, проводяться навіть змагання на самий короткий бекдор, на самий непомітний бекдор, з привабливими призами. Зазвичай таких бекдор на зламаному сайті міститься кілька. При оптовому, автоматичному зараженні бекдор часто пишеться просто в усі файли поспіль. При «ручній роботі» бекдори ховаються рідко, але влучно. Вищий пілотаж: альтернативний синтаксис php, а ще крутіше - «розмазування» коду бекдор по всьому движку, так що рядки зловреда перемішуються з кодом сайту і нічим не виділяються. Останній різновид, найпідступніша і невловима, зазвичай зустрічається в занулених двигунах. З цієї причини фахівці Kraftwork зазвичай беруться за очищення нулёних сайтів, але не дають гарантію на них (в той час, як гарантія після очищення сайтів на ліцензійних двигунах - 1 рік).
Закріпившись на об'єкті, хакер зазвичай вичікує пару тижнів - щоб навіть найстаріші бекапи сайту були з бекдор. Потім настає час монетизації. На сайт поміщається «боєголовка» вірусу - редирект на шкідливий сайт, попап або попандер, завантажувач троянів, або ще що-небудь, що приносить гроші.

Чому так?

Візьмемо, для прикладу, знаменитий випадок зі Skype. Програміст знайшов в ньому вразливість: можна змінити пароль будь-якого користувача і зламати будь-який аккаунт. Він чесно повідомив про це розробникам, але ті не почухались. І він виклав інформацію про уразливість в мережу. Мільйони акаунтів були зламані, і розробникам довелося-таки відкласти виконання завдань відділу маркетингу і вразливість закрити.

В інтернеті пріоритети розставляють менеджери з продажу, а у них завдання одне: зростання продажів. Або хоча б показників:

Питанням безпеки, збереження вже наявного, та й взагалі елементарним бекапіть, в цій схемі місця немає. Питанням безпеки, збереження вже наявного, та й взагалі елементарним бекапіть, в цій схемі місця немає

Видалення вірусу: робота над помилками

Майже всі власники сайтів впевнені в двох речах:
1. «Сайт за замовчуванням в безпеці. Турбуватися варто лише, якщо з'явилися вороги-конкуренти ».


- Це не зовсім так.


2. «Якщо що, завжди є автоматичні антивірусні сканери, які безкоштовно або за малу копійку видалять будь-який вірус».


- Це зовсім не так.


Як тільки з'являються проблеми, власники сайтів зазвичай спочатку звертаються до хостера, до свого розробнику або в антивірусну фірму дешевше. Відбувається видалення «боєголовки», і начебто можна заспокоїтися. Але найголовніше - бекдори, що дають лиходієві доступ до сайту, залишилися на місці. І в будь-який момент зловмисник може прийти і розмістити нову «боєголовку», і монетизувати сайт знову. Зазвичай при повторних, як правило, вже ручних заражених «боєголовка» ховається краще і діє розумніші. Наприклад, редирект на шкідливий сайт йде тільки для мобільних браузерів, платні посилання показуються тільки роботу Яндекса, і т. Д.
Буде повторне зараження чи ні - залежить від сайту, ймовірність відсотків 60, що буде. Чи не заражають повторно тільки ті сайти, які отримали своє оптом, і у яких немає відвідуваності - немає сенсу возитися. Дістається і сусідам: якщо на одному хостинг-акаунті кілька сайтів, зараза для всіх одна. Вебшелл або бекдор на php бачить файли інших сайтів і вписує в них шкідливий код точно так же, як і у зламаний сайт. Імовірність того, що сусіди порушені, приблизно 50%. З цієї причини Кролики не беруть чистити один із сайтів майданчики, не чіпаючи інші. Решта можуть заразитися бекдор від нього, а він від них. При повторних заражених і по сайтам з пристойною відвідуваністю (більше 500 в день) ймовірність зараження сусідів майже 100%.
Видиму частину вірусу - «боєголовку» - дійсно іноді можна видалити напівавтоматичними методами. З бекдор не так просто. Це творчість, не дарма ж змагання проводять. І протиставити цьому теж можна тільки творчий підхід до пошуку. Причому винаходити треба на швидкість, час обмежений. Тут як з Змій-Гориничем, якщо хоч один бекдор залишиться не видаленим, миттю виростуть нові, замість «відрубаних». Якщо вам пощастило, і лиходій виявився ледарем, то видалити бекдори допоможе простий спосіб - завантажити собі файли сайту і перевірити їх антивірусом. Простацька і стара зараза, вже осіла у всіх антивірусних базах, буде вирізана таким способом. Шкода, що такий простий і древньої зарази в практиці мало. Тому що є платні сервіси для хакерів для випробування нових вірусів. Ці сервіси перевіряють вірус усіма антивірусними базами з особливою ретельністю і повною імітацією «жертви» - більш довго і докладно, ніж безкоштовні антивірусні сервіси для людей. Тільки випробуваний на такому полігоні вірус, невловимий для всіх існуючих алгорімов, випускається в мережу. Добре, що хоч у деяких лиходіїв не вистачає грошей і працьовитості свої віруси попередньо випробувати.
У ситуації, що склалася залишається діяти радикальними методами. Закривати ftp (залишивши sftp), закривати можливість запису в файли, фільтрувати все, що приходять від користувачів, дані на предмет спроб використання бекдор. Зазвичай це відбувається непомітно для відвідувачів, тимчасові незручності можуть бути тільки у менеджерів, які працюють в адмінці сайту. Непоправні побічні ефекти бувають немає від лікування, а від самого вірусу: іноді хакер безповоротно затирає код сайту, вставляючи заразу туди. Добре, якщо движок порівняно стандартний, - тоді можна взяти файл з аналогічного сайту. Якщо ні - то тільки дуже дорога і довга ручна робота.

FTP доступ бажано закривати всюди і завжди, він погано сумісний з безпекою. Під закриттям мається на увазі або обмеження ftp доступу по ip, або повне закриття.

SFTP (з використанням реквізитів ssh доступу) теж краще б обмежувати по ip, або робити авторизацію сертифікатом, плюс обов'язковим є fail2ban на ssh - це коли при трьох невдалих спробах авторизації ip баниться на 15 хвилин. Втім, якщо ваші розробники хоча б використовують sftp замість ftp і не зберігають паролі в файл-менеджері, а копі-паст їх з блокнота або Ворда, - це вже величезний крок вперед.

Закриття записи в файли на шаред-хостингах засноване на тому, що там є користувач-клієнт, від якого працює ssh і ftp, і звичайний користувач www-data, від якого працює apache і (якщо є) nginx. Бекдор може писатися в ті файли, які належать користувачеві www-data. Тому бажано встановити власником всіх файлів ssh / ftp користувача, а не користувача www-data. При цьому доведеться зробити виняток для тих файлів, в які движку необхідно робити запис.

Аналогічно і з директоріями. Оскільки доведеться залишити деякі директорії доступними на запис для користувача www-data, то в ці директорії необхідно покласти закриває .htaccess. Якщо це папки завантаження зображень, і картинки ці лунають Апачі, а не nginx, то треба відключити php в цій папці. Інші мови краще відключити в рамках всього хостинг-аккаунта, якщо вони не використовуються в движку вашого сайту. Для сайтів на Joomla і інших популярних движках це так.

Ще один міф: по логам можна все відстежити

Якби! Зазвичай логи зберігаються тиждень. А хакер, як згадувалося в цій статті, зазвичай чекає хоча б пару тижнів. Тобто логів просто немає, і дивитися нема чого. Але ось, припустимо, вам пощастило, і у хостера є логи доступу двотижневої давності.

Витративши вечір, можна там знайти, що з такого-то малайського ip адреси до папки / administrator / був зроблений POST запит. І через секунду з панамського ip був зроблений POST запит на /index.php. Хто ці люди? Що саме засунули в сайт в тілі POST запиту? Це кануло в Лету, залишається тільки лікті кусати.

При проведенні очисток в Kraftwork завжди налаштовують лог самого вмісту post запитів, а не просто їх наявності. Це дійсно допомагає працювати не наосліп і відстежити злодійські дії. І все ж: дізнатися ip і прийти додому до лиходієві - це з області анекдотів про Путіна .

А ось банити злодійські ip - не така вже й погана ідея, особливо, коли справа стосується захисту від DDOS. Тому що так, їх може бути дуже багато, десятки і навіть сотні тисяч, якщо хакер багатий, але все ж не до нескінченності. З них, в кращому випадку, пару тисяч адрес будуть російські ip. Тобто можна спокійно банити їх, не побоюючись відрізати основну аудиторію російських користувачів.

І що, я можу втратити сайт через вірус?

У нас завжди очищення очищала, а гарантія гарантувала, перемога залишалася за нами, і все бекдори і віруси віддалялися з сайтів назавжди. Правда, бували важкі випадки. З досвіду Кролики не схильні недооцінювати противника і знімають капелюх перед винахідливістю і завзятістю, рухомих жагою наживи, талановитих джентльменів удачі.

Втратити сайт - це навряд чи. втратити позиції в пошукових системах , Аудиторію сайту і гроші - це так, часто трапляється через вірусів.

Що ж робити?

Завжди краще бути на крок попереду. Профілактика - краще лікування. Сайти з постійною, добросовісної техподдержкой залишаються чистими від вірусів завжди. Безпека - не так складно, достатньо просто не зробити ланцюжок грубих помилок.

Стежити за повідомленнями на сайті підтримки CMS сайту, виконати прості рекомендації щодо ftp з цієї статті, мати бекапи за пару місяців - і ймовірність проблем прагне до нуля. Саме по Joomla обов'язковий пакет - це права на файли і додаткова http-авторизація на адмінку.
Якщо вірусних проблем ще немає, можна домовитися на зміцнення захисту сайту - це завжди набагато дешевше, ніж очищення. Навіть якщо сайтів багато, і все на одному shared обліковому записі. бекапи теж можна замовити, вони йдуть майже за ціною проїзду в громадському транспорті.

Якщо сайт хоч для чогось потрібен, воно того варто.

Як діє лиходій?
Чому так?
Що ж робити?
Як діє лиходій?
Чому так?
Хто ці люди?
Що саме засунули в сайт в тілі POST запиту?
І що, я можу втратити сайт через вірус?
Що ж робити?


Новости
  • Виртуальный хостинг

    Виртуальный хостинг. Возможности сервера распределяются в равной мере между всеми... 
    Читать полностью

  • Редизайн сайта

    Редизайн сайта – это полное либо частичное обновление дизайна существующего сайта.... 
    Читать полностью

  • Консалтинг, услуги контент-менеджера

    Сопровождение любых интернет ресурсов;- Знание HTML и CSS- Поиск и обновление контента;-... 
    Читать полностью

  • Трафик из соцсетей

    Сравнительно дешевый способ по сравнению с поисковым и контекстным видами раскрутки... 
    Читать полностью

  • Поисковая оптимизация

    Поисковая оптимизация (англ. search engine optimization, SEO) — поднятие позиций сайта в результатах... 
    Читать полностью