Блог о безопасности

Безопасность CMS

17 сентября 2011, 16:10

В настоящее время для управления структурой, контентом и дизайном сайтов часто применяются системы управления содержимым сайта – Content Management System (CMS). К CMS можно отнести:

  • универсальные системы для управления контентом;
  • интернет-магазины;
  • блоги, форумы, wiki;
  • фото- и видеогалереи, движки виджетов;
  • другие компоненты для управления содержимым сайта.


Такие системы позволяют вебмастерам упростить программирование, дизайн, поддержку сайта и даже поручать работу с сайтом людям, незнакомым с программированием и архитектурой Web.

В то же время, CMS, как и другие виды ПО, содержат уязвимости. В отличие от CMS собственной разработки, если злоумышленники находят уязвимости в одной конкретной тиражируемой CMS – возникает угроза взлома всех CMS этой версии. При этом, чем более распространённой является система и чем чаще она применяется на популярных сайтах,  тем больше усилий и денег злоумышленники инвестируют в поиск её уязвимостей.

Кроме того, большинство современных CMS состоят из множества модулей, и многие уязвимости связаны с плагинами, которые обычно написаны и протестированы на безопасность хуже, чем основной код системы.

Используя уязвимости CMS, злоумышленники стараются извлечь для себя выгоду за счёт чужих сайтов и посетителей. Например, на страницах сайта может быть размещён код, который заражает компьютеры посетителей вредоносными программами. Кроме того, на сайте со взломанной CMS могут без ведома вебмастера публиковать контент сомнительного содержания или  автоматически перенаправлять пользователей на другие ресурсы с таким контентом. В результате страдает репутация сайта, и количество посетителей сайта может существенно уменьшиться.


Общая статистика по CMS


По данным Яндекса, доли CMS на популярных российских сайтах, CMS которых удалось определить, выглядят следующим образом:



Видно, что 50% из топ-10000 заражённых сайтов используют систему DLE, а популярные сайты из топ-10000 либо отказались от неё, либо успешно её маскируют, чтобы избежать атаки. При этом они продолжают использовать WordPress и Joomla, которые тоже часто встречаются на заражённых сайтах.


WordPress





Из наших данных следует, что частота использования большинства версий CMS WordPress на обычных и на заражённых сайтах примерно одинакова. При этом чаще всего заражёнными являются сайты, использующие WordPress 3.2.1, 3.1.3 и 2.9.2, эти же версии широко распространены на незаражённых популярных сайтах. Вебмастерам таких  сайтов стоит соблюдать правила безопасности особенно тщательно, чтобы не допустить взлома и заражения.
Только за август и сентябрь 2011 опубликовано 57 новых уязвимостей WordPress, причём все они находятся в дополнительных компонентах. Уязвимости присутствуют в модулях wp-forum , wp-slimstat, wordpress automatic upgrade и других. С общим обзором уязвимостей WordPress можно ознакомиться здесь.


Joomla






Анализ показывает, что CMS Joomla версии 1.5 одинаково часто встречается как на обычных, так и на заражённых сайтах. Владельцам сайтов, использующих эту версию Joomla,  тоже рекомендуется уделять безопасности особое внимание. С начала года было опубликовано 38 новых уязвимостей в компонентах Joomla. В частности, об уязвимости в Joomla Datsogallery 1.3.1 можно прочитать на этой странице, а детальный список уязвимостей приводится здесь. Рекомендуем тщательно проверять на наличие уязвимостей модули  Joomla, которые используются для реализации форумов.


Рекомендации


Чтобы CMS вашего сайта не взломали, нужно соблюдать следующие правила:

  1. Регулярно обновляйте CMS.
  2. Скрывайте тип и версию установленной CMS и её плагинов, не указывайте их в коде страницы. Кроме того, нужно следить за тем, чтобы сайт нельзя было обнаружить с помощью специальных поисковых запросов-«дорков», которые злоумышленники используют для поиска уязвимых CMS.
  3. Не используйте контрафактные версии CMS – в некоторых случаях в них умышленно снижена степень безопасности или даже внедрены готовые backdoor’ы (пример – некоторые выпуски CMS DLE от M.I.D. с backdoor от Zloy).
  4. Проверяйте все без исключения данные, которые пользователь может ввести на страницах сайта или напрямую передать серверным скриптам при помощи запросов. Это может потребовать самостоятельной доработки модулей CMS. Например, такая доработка фильтрации входных данных позволяет снизить уязвимость DLE Shop. Для тестирования  этих проверок рекомендуем привлечь специалистов по тестированию на проникновение (penetration-тестированию).
  5. Использовать минимум сторонних скриптов, модулей, расширений. В самих пакетах CMS уязвимостей обычно немного, в основном они приходятся на дополнения, причём как сторонней разработки, так и официальные.
  6. Вебмастера и администраторы должны работать в безопасном окружении и выполнять правила безопасной работы в интернете (в частности, не сохранять пароли в браузере и FTP-клиенте, защищать рабочее место антивирусом и файрволлом).
  7. Перед тем, как устанавливать на веб-сервер какое-либо ПО, очень полезно узнать о его уязвимостях и способах их устранения с помощью The Open Source Vulnerability Database.


Надеемся, что эта информация позволит лучше защитить ваши ресурсы от уязвимостей и предотвратить их использование мошенниками.



Команда безопасного поиска Яндекса

56 комментариев
Подписаться на комментарии к посту
Откуда такие познания о взломах CMS? Статистика с чего бралась. Самые убиваемые CMS DLE-Joomla-WordPress DLE убивают из за сторонних модулей и админов аленей которые на сайт раз в год заходят ))
Взяли из списка всех сайтов топ-10000 по популярности. Потом взяли из списка заражённых сайтов топ-10000 по популярности. Потом попробовали определить, на каких CMS они сделаны – для топ-10000 всех получилось примерно в 70% случаев, для топ-10000 заражённых - больше чем в 90%. Посчитали, нарисовали графики.

Конечно, не всегда сайты начинают распространять вредоносный код в результате взлома – но всё же для достаточно популярных сайтов это верно в большинстве случаев.

И не всегда в результате взлома сайты начинают распространять вредоносный код, иногда там просто размещают редиректоры, неуместный контент, навязчивая реклама, поисковый спам. Но в данном случае мы взяли топ-10000 именно тех сайтов, которые распространяют вредоносный код.

А можно узнать методологию определения CMS? Как-то кажется неровным. Вроде бы, саас решения учитывались: weebly, typo3, squarespace, при этом ucoz или narod2, да и ряд других у кого должно быть больше по логике доля чем у вошедших - нет. А вордпресс какой считался, hosted или тот и тот?

Не cms как таковые, а движки форумов - вошли, но, например популярный oscommerce (сайтов на нем так же много наберется) в общем, движки магазинов нет

В пост вошли именно универсальные системы для управления контентом, на которых делают целые популярные сайты разной тематики. На CMS класса message board среди топ-10000 есть сайты разной тематики, на движках веб-магазинов – только веб-магазины, да и по абсолютным цифрам в не очень большом количестве.

Вошли не все универсальные CMS, а только те, которые мы нашли в весьма узких выборках топ-10000 популярных и популярных заражённых сайтов.

SaaS или не SaaS – значения не имело, считались оба.

Разумеется, исследовали CMS всех классов. Например, Oscommerce по по веб-магазинам в топ-10000 занимает 26%, а в топ-10000 заражённых 75%. Но если написать обо всех классах в одном посте – он перестанет быть постом.

все верно, правильно сказано!

Для Joomla актуальный список уязвимых расширений
 http://docs.joomla.org/Vulnerable_Extensions_List#Check_and_Report.

Хм, а где Drupal?

Drupal Случайно отпал )  Мало кто юзает его. Тоже самое как и E107
Кстати, а сайты на CMS e107 на радары попали, но т.к. в обоих топах их были единицы, то в раздел «остальные».
Ну взломанные сайты найти дело пяти минут. Гугл гад не хороший индексирует и шелы и всё подряд. Если вогнать нужный запрос. То можно пару тысяч трупиков увидить. У вас в поиске есть но единичные случаи. А так ломаю всех и всё. Битрикс тоже имеют не плохо. Там файлов и папок такая тьма. Что не уследиш когда шелл или какую нибудь бяку залили.

Ну да, сайт Белого Дома в США использует малопопулярный движок, ага.. Просто друпал больше, чем CMS - это уже целый CMF

Тут важно договориться, что считать распространённостью. Например, что популярнее – CMS, которую использует крупная и широко известная в offline организация, или CMS, на которой основан сайт, входящий в десятку по посещаемости, или CMS, которую использует сто тысяч сайтов, но каждый из которых в день посещает не больше пары десятков пользователей?
Drupal по какой-то причине не попал на радары, хотя правила для его выявления у нас есть, и в принципе мы его находим. Наверное, если на момент исследования в топ-10000 и топ-10000 заражённых и были сайты на Drupal, то они хорошо скрывали свою CMS.

Скрывать- скрывают совсем уж "параноики". Рискну предположить, что сайтов на друпале в рунете не так много с одной стороны. С другой стороны друпал считается более сложным для изучения и как следствие используется в среднем более профессиональными веб-мастерами.

 

А что скажите о MODx ?

Присоединяюсь.

Друпал не ломают :))

учитывая, что много более половины взломов проходят через кражу паролей к фтп вирусами...

Этот отчет более показывает не только и не столько уязвимости, сколько халатное отношение админов.

Кстати с учетом этого очень высоко соотношение для Битрикса - дырки?

Согласен. Всего лишь отчет о популярности CMS.



Вот цитата от мастерхоста :




В последнее время в сети зафиксирована высокая активность вируса,
использующего уязвимости Internet Explorer. Размещаясь на локальном
компьютере, он «подслушивает» пароли FTP и некоторых других служб,
а затем с помощью HTTP-запроса передает
их на удаленный сервер. С этого удаленного сервера происходит
подключение с использованием украденных паролей и изменение содержимого
сайта — прописывание в индексные файлы ссылок на вредоносные программы,
находящиеся на каком-то внешнем сервере.



   

Проверьте код вашей индексной страницы на наличие каких-либо подозрительных ссылок.



   

Если вы пострадали от подобного вируса, мы рекомендуем вам незамедлительно сменить пароли FTP, а также проверить все компьютеры, с которых он осуществлялся, новейшим антивирусным ПО.



   

Также рекомендуем для передачи файлов по возможности использовать протокол SFTP.
Если вы работаете с FTP сервером только с определённых IP, для запрета
доступа с других IP можно использовать конфигурационный файл .ftpaccess




 

NetCat — это «остальные» или не определилось?

NetCat не определилась. Те, которые попали в «остальные» – явно перечислены в «остальных».

цмс - зло, голый html рулит :-)

вот к вашим бы данным еще прикрутить стату по криворукости админов, тогда бы иследование можно было считать полным, а так можно сказать только о количестве школьников занимающихся созданием сайтов и их предпочтениях :)

а провести аналогию - вирусняковый сайт = криворукий админ?

а вообще - забудьте о монетизации сайтов, не делайте популярных ресурсов и риск взлома вашего сайта снизится многократно ;)

а провести аналогию - вирусняковый сайт = криворукий админ?

иногда попадают и не криворукие, как-то раз бывшая контора попала на новый вирус, его антивирусы только через 5 дней научились распозновать - 4 сайта были взломаны (украдены пароли и не из фтп и браузеров :()

Не рулит, к сожалению. В большинстве члучаев CMS вообще не при чём, а в HTML точно также дописывается всё что угодно через другие дыры (либо слабые пароли хостинга).

если на сервере нет скриптов, то только взлом или воровство пароля

 

Взлом не обязательно происходит из-за CMS. В нашей практике (TYPO3 security team) большая часть взломов происходит из-за того, что люди до сих пор используют FTP. Либо трояном крадётся пароль, либо снифится. А часто бывает так, что пароль для FTP, MySQL и хостинговой панели вообще одинаков. Плюс права на записиь ставят в 0777. Ну и привет, тут любая CMS становится "заражённой".

 

Имеет смысл говорить о заражении именно CMS только в том случае, если атакующий действительно что-то сделал с CMS. А если дописал в конец index.php что-то ввиде eval(base64_decode(...)), то к CMS это обычно отношения не имеет.

 

В общем, рейтинг сомнителен без указаний как именно считалось, что заражение происходит через CMS.

 

Обеспечение безопасности сайта – комплексная задача.

Данный пост – про одну из частей комплекса, а именно про отсутствие в ядре и модулях CMS, которые используются на сайте, легко эксплуатируемых уязвимостей. Вы считаете, что эта часть для TYPO3 неактуальна?

Защита от кражи учётной записи, соблюдение правил безопасности, отсутствие у вебмастеров мотивации быстро монетизировать свой сайт сомнительными методами – тоже части.

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

Например, если есть цель разместить на сайте вредоносное ПО, но от него нет учётной записи – пойдут смотреть версии, читать/покупать информацию об уязвимостях, например здесь, здесь, на закрытых форумах, сами исследовать исходники. Не получится и это – попробуют выйти на вебмастера и сделать ему предожение, от которого тот не сможет отказаться. И так могут несколько раз, с нарастающей сложностью. А могут и сразу мимо пройти, в зависимости от мотивации.

Ну и конечно, уязвимости CMS вместе с «дорками», по которым можно найти сайты с уязвимыми CMS – главный фактор при массовых заражениях.

В TYPO3 core за все время существования проекта были всего три уязвимости, которые позволяет неатентифицированному атакеру как-то навредить системе (но не слишком). Все они были поправлены за несколько дней после обнаружения, и ни одна из них не привела к массовым взломам. В коде для core любое изменение обязательно проверяется несколькими людьми и утверждается голосованием (можно посмотреть на https://review.typo3.org/). А security team просматривает практическое каждое изменение. Так что система очень сильно защищена.

В расширениях системы серьёзные уязвимости были, конечно. С этим боремся.

Почитал пост и комментарии, довольно печально все оказывается с CMS на моем сайте:) Хотя что еще ждать от бесплатной системы. Ладно, хостинг без ФТП - хоть через него не взломают))

Извините, конечно, но вы глупости пишите! Бесплатность совсем не означает, что безопасность нулевая. Хватает и обратных примеров, когда коммерческие недешёвые продукты не блежут ни бзопасностью, ни стабильностью, в то время как ...

С учетом, что в сети ощутимо много сайтов это Nulled коммерческих версий CMS, а среди ГС и 99%. Да и ГС как правило лепят потоком либо на нулеедах или на существенно устаревших фриварных движках, то говорить, что та или иная CMS дерьмо несколько опрометчиво.

Да и ломать пытаются, как правило, массовый продукт, так эфективней. Так что это исследование НИОЧЕМ, по большому счету.

Тот же e107 имеет куда как более серьезные проблемы с безопасностью (было раньше, по крайней мере), но в связи со слабой распространенностью нафиг никому не нужен.

Боюсь, вы путаете термины - фриверность и открытых. Уместнее было бы сказать - открытых движках. Ибо закрытых и бесплатных не так просто вспомнить...

да занятный рейтинг, кстати совет по Joomla для тех кто не знает: лучше файл configuration.php переносить из папки public_html и инклюдить его в другом файле из заметок с сайта сайта http://neokirov.ru

Рамиль Алиякберов
20 сентября 2011, 23:39

Интересно. Буду иметь в виду :)

Комментарий удалён
Факты – вещь упрямая, но не всем нравятся.
Ваша соц. сеть, по данным Яндекса, действительно ни разу не распространяла вредоносный код, начиная с мая 2009. Это говорит о говорит о том, что у неё компетентный вебмастер и что она не представляет для злоумышленников такого интереса, который бы оправдывал её взлом и размещение на ней вредоносного кода.
Но вообще-то то, что сайт не распространяет вредоносный код – это не какое-то особое достоинство, а норма.

Совсем дурачек?

Вам никто не указывает, лишь публикуют статистику, собранную по определенному алгоритму. Если вы с ней не согласны - проведите свой анализ и выложите его на обозрение ;-)

Прочитайте статью еще раз пожалуйста.

Это статистика распределения систем управления сайтами среди зараженных хостов о которых знает Яндекс.

Это не статья о том, что какие-то cms плохие, а какие-то хорошие. Статья а о том, что владельцам некоторых систем управления сайтами, которые часто встречаются среди зараженных нужно с особым вниманием относиться к вопросам безопасности. Согласны что это так?

 

Спокойствие, Санечка, только спокойствие ;)

 

Вы хотите сказать, что все найденные в ядре вордпресса уязвимости - это показуха и происки конкурентов?

Зачем вы тогда утверждаете, что "Взлом WP возмржен только через непроверенные плагин подставы, которые подбрасывают новоиспеченным админам,  некие хорощие и добрве друзья"?
А, ну понятно: вы нагло врете, пытаясь уличить других во вранье. Хорошая, достойная тактика.

к сожалению, погоня за количеством, даже на моем любимом WP приводит к "пичали" : не так давно "лечились" от уязвимости в timthumb.php (библиотека сжатия изображений).

А WP тут больше - потому что используется чаще, картинка вполне логичная

Joomla или WordPress, да и все бесплатные CMS - это "зло".=)

Интересно, что доля по распространенности Битрих -

А где же UMI.CMS?: или понимать, что сайты на ней не делают? или их не взламывают? или об этом лучше не писать? или пост проплачен и это не вся правда? =)

а как насчёт более старых версий WordPress? 2.7. 2.8
да, и по Друпале тоже надо бы написать. не так уж и мало его используют, это очень мощная CMS, но и довольно сложная, поэтому и исслежовать не так и легко.

нетката не вижу....странно

А лечить как?есть новые методы кроме хорошего бэкапа?B-)

Про методы лечения есть статья «Как удалить со страницы вредоносный код и больше не дать его разместить».

Ещё вредоносный код может распространяться через рекламные блоки, счётчики, а также при заражении всего хостинга или сайта на корневом домене. Общих правил здесь нет – просто внимательно относитесь к выбору поставщиков, партнёров и клиентов, обращайте внимание на отзывы о них и на их репутацию.

По поводу бэкапа: вредоносный код можно добавить не только в скрипты, шаблоны и контент сайта. Так что хороший бэкап – это регулярный бэкап не только всего сайта и БД, но и вообще всего сервера на уровне образов его подсистемы хранения.

Ладно,вопрос стоял как лечить, но так как ответ зашел в тупик поделимся своими методами.

Мы не за красных и не за белых.Труд хакера тоже непростой.Это сколько литературы надо перелопатить чтоб научиться заливать шэл.Честно, Уважаем.Любое знание сила, а от человека зависит как им воспользоваться.

Чем полезны счетчики? счетчики пишут в статистику Все! кто был,откуда был,куда залез и что делал.Поэтому мониторте свою статистику.Если нашли попытку взлома, скопируйте всю информацию и сливайте в твитер FBI.в FBI найдут применение этой информации.

Если сайт заражен, попытайтесь добиться от Платона пример кода.Если у вас есть пример выдаваемого кода тогда вы на коне.Берете программу которая сканирует весь сайт и позволяет найти в ЛЮБОМ файле спрятаный код.Программа кстати русская.Открываете файл чистите и порядок.

Ну плюс еще масса примочек о которых в принципе не стоит на всю страну.:-)

после всех знакомства со всеми cms, решили сделать самописку(свою cms) и как результат атак нету. редко на php без управления лезут,)

Атак нет? Может это как с неуловимым Джо? Пишете сами, соответственно тестить ваш код и подходы к безопасности особо некому. То есть, потенциально, там дыр больше, чем в том вордпрессе! Не гвооря уже о тупоз, друпал и проч...

Да и кто на пыхе пишет, когда нужна простота и безопапсность? :D

Действительно попахивает заказухой! У мя сайт на DLE 9.3 и о взломах я только здесь услышал... Странно все это... Прошу админов привести примеры взлома и распространения вредоносного кода в движках DLE!!!

Иначе я буду расценивать эту статью как фэйк!!!

чтото не видно нетката...странно

4 года делаю сайты на заказ. в основном на CMS Joomla

за все время был один взлом, да и то по моей вине (была старая версия )

как правило кривые руки админов всему виной

а Joomla очень хорошая система при правильном подходе!

а так посмотришь на статистику и складывается не верное мнение, о том что, система дырявая

цифры лишь показатель популярности CMS и не более