Яндекс представил неплохой анализ безопасности CMS-систем.
В настоящее время для управления структурой, контентом и дизайном сайтов часто применяются системы управления содержимым сайта – Content Management System (CMS).
К CMS можно отнести:
- универсальные системы для управления контентом;
- интернет-магазины;
- блоги, форумы, wiki;
- фото- и видеогалереи, движки виджетов;
- другие компоненты для управления содержимым сайта.
Такие системы позволяют вебмастерам упростить программирование, дизайн, поддержку сайта и даже поручать работу с сайтом людям, незнакомым с программированием и архитектурой Web.
В то же время, 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 вашего сайта не взломали, нужно соблюдать следующие правила:
- Регулярно обновляйте CMS.
- Скрывайте тип и версию установленной CMS и её плагинов, не указывайте их в коде страницы. Кроме того, нужно следить за тем, чтобы сайт нельзя было обнаружить с помощью специальных поисковых запросов-«дорков», которые злоумышленники используют для поиска уязвимых CMS.
- Не используйте контрафактные версии CMS – в некоторых случаях в них умышленно снижена степень безопасности или даже внедрены готовые backdoor’ы (пример – некоторые выпуски CMS DLE от M.I.D. с backdoor от Zloy).
- Проверяйте все без исключения данные, которые пользователь может ввести на страницах сайта или напрямую передать серверным скриптам при помощи запросов. Это может потребовать самостоятельной доработки модулей CMS. Например, такая доработка фильтрации входных данных позволяет снизить уязвимость DLE Shop. Для тестирования этих проверок рекомендуем привлечь специалистов по тестированию на проникновение (penetration-тестированию).
- Использовать минимум сторонних скриптов, модулей, расширений. В самих пакетах CMS уязвимостей обычно немного, в основном они приходятся на дополнения, причём как сторонней разработки, так и официальные.
- Вебмастера и администраторы должны работать в безопасном окружении и выполнять правила безопасной работы в интернете (в частности, не сохранять пароли в браузере и FTP-клиенте, защищать рабочее место антивирусом и файрволлом).
- Перед тем, как устанавливать на веб-сервер какое-либо ПО, очень полезно узнать о его уязвимостях и способах их устранения с помощью The Open Source Vulnerability Database.
Надеемся, что эта информация позволит лучше защитить ваши ресурсы от уязвимостей и предотвратить их использование мошенниками.