Статьи Новости Контакты

08.11.2007
Роберт Басыров

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

небольшой опус на тему безопасности CMS

Если спросить потенциального заказчика сайта о критериях выбора системы управления сайтом, он наверняка в общем списке критериев назовет безопасность. Но в подавляющем большинстве случаев этот критерий будет не на первом месте. Ну ладно заказчики. Что поделаешь, такая у нас природа: пока петух не клюнет в одно место, не пошевелимся. А что создатели сайтов? Да то же самое. Запросите «рыбу» ТЗ на создание сайта в любой веб-студии и поищите там пункт «Безопасность». Впрочем и это тоже понятно: переписывать используемую веб-студиями CMS им не с руки. Остается полагать, что безопасность сайтов обеспечат хостеры и создатели CMS.

Про хостинг — отдельный разговор. На сегодняшний день большинство уязвимостей сайта — это уязвимости в ПО хостинговой площадки, что является в основном результатом несвоевременного обновления ОС, веб-сервера и сервера БД. И самая большая головная боль — плохо настроенные shared-хостинги. Единственное, что тут можно сказать: слушайте рекомендации разработчиков CMS по выбору хостинга. Они на этом уже не одну собаку съели. Недаром на сайте многих CMS есть списки рекомендуемых хостеров, а «1С-Битрикс» вообще провел сертификацию хостинговых площадок. Однако наша статья не об этом. Мы рассмотрим подход к безопасности создателей CMS.

Начнем с простого. Предположим, что потенциальный заказчик поставил во главу угла не функциональность, удобство или системные требования, а безопасность сайта. При этом он решился сам оценить предоставляемый уровень безопасности каждой из CMS. Как ему это сделать? Первое, что он может, — просмотреть официальные сайты систем по управлению контентом.

Информация на сайтах

И что же он увидит? Он увидит, что проблема безопасности сайта далеко не на первом месте у разработчиков. Открыв примерно с десяток сайтов самых известных CMS, только на паре из них можно найти разделы, посвященные безопасности создаваемого разработчиками решения: «1С-Битрикс» и Saitistica. Кое-где на сайтах разработчиков встречались перепечатки некоторых статей о безопасности CMS общего характера, не относящиеся к конкретной системе. И кое-где на форумах встречались вопросы пользователей по безопасности. При этом из трех самых известных и популярных в России CMS («1С-Битрикс», NetCat и S.Builder) такой раздел — только у «Битрикса».

Знакомство с разделами по безопасности дает достаточно информации о безопасности указанных систем. Чем невольно вызывает желание познакомиться с ними поближе. Отметим, что раздел «1С-Битрикс» предоставляет все же больше информации о безопасности сайтов как таковых в сравнении с разделом на Saitistica. Вызвано это, на наш взгляд, тем, что «1С-Битрикс» — одна из старейших систем и одна из самых распространенных. И ей уже не раз приходилось думать о безопасности собственного продукта. Кроме того, расширенная функциональность этой системы, а также интеграция этого продукта с программами «1С» сами по себе требуют высокого уровня безопасности.

Можно возразить, что реальная безопасность CMS и разделы официального сайта — вещи малосвязанные. Это и так, и не так одновременно. Технически — да, уровень безопасности, обеспечиваемый тем или иным решением, ну никак не завязан на то, что написано на официальном сайте. Практически — нет. Занимаясь продвижением своего продукта, разработчики всегда сталкиваются с задачами безопасности, и если они не выносят эти вопросы на свой сайт, значит, им либо сказать нечего (система не безопасна), либо до этих проблем еще руки не дошли.

Можно увидеть такое вместо своего сайта

Опросы

Поскольку явного пренебрежения к вопросам НСД к сайтам на своей системе все же трудно ожидать от разработчиков, то мы решили провести небольшое исследование. Цель основная: получить представление о современном уровне угроз для сайтов. Составив небольшой опросник, мы разослали его по нескольким компаниям. (Сразу оговоримся, что никаких претензий на абсолютно научный подход к опросу у нас нет. Абсолютно точную картину получить невозможно, на наш взгляд, так как все течет и изменяется. Эта статья — скорее частная оценка, хотя и надеемся, что кому-то она поможет в выборе CMS.)

Собственные исследования безопасности

Прежде всего заметим, что вопросами безопасности занимались (как они заявили) все опрошенные компании. Но вот конкретные результаты тестирования, хотя бы внутреннего, предоставили далеко не все. И прежде всего это относится к молодым компаниям с малоизвестными продуктами. Что, впрочем, естественно. Не успели встать перед ними эти проблемы во всей красе, либо не хватает сил на их решение.

Результаты тестирований

Как и ожидалось, самые серьезные исследования — у компании «1С-Битрикс». Вплоть до результатов внешнего аудита с приложением всех полученных сертификатов. Вероятно, из потребности во внешнем аудите и родилась в «1С-Битрикс» идея об оказании услуг по аудиту сайтов, созданных на основе этой CMS. Действительно, какой бы ни была совершенной система, сайт на ее основе может стать доступным для НСД за счет нерадивости хостера или действий самих пользователей. (Сама компания «1С-Битрикс» уже пережила попытки шантажа, связанные с нерегулярным обновлением ПО на хостинге.)

Аудит сайтов, созданных на основе CMS «1С-Битрикс», — это комплексная проверка безопасности веб-проекта как результата интеграции программного продукта «1С-Битрикс: Управление сайтом» в конкретную информационную среду. Он включает в себя меры от проверки целостности ядра продукта до тестового взлома сайта. Можно попытаться поставить под сомнение эти проверки, так как вроде «сами себя проверяют», но это не так. Что касается непосредственно ПО от «1С-Битрикс», то проверяется только целостность ядра. Все остальные меры проверки относятся именно к факторам, связанным с пользовательской средой: политики администрирования, клиентский программный код, шаблоны дизайна, окружение и конфигурация веб-сервера. Аудит сайтов на данный момент — уникальная услуга, не предоставляемая больше никем из создателей CMS.

Что касается других компаний, то в лучшем случае нам сообщали, что были обнаружены в ходе внутренних проверок такие-то уязвимости, которые были устранены в кратчайшие сроки. По поводу времени реакции на уязвимость пришлось поверить на слово компаниям, так как реальные тесты провести не в наших силах: искать уязвимости в CMS, сообщать их разработчикам и засекать время ответа нашего журналистского ума не хватает. Да и насколько реальным будет такое исследование? Это время зависит от целого ряда факторов: насколько трудоемким является исправление данной уязвимости, насколько сложно локализовать причину уязвимости и так далее. Среднее время реакции определяется уровнем SLA и у профессиональных CMS не должно превышать два-три дня, на этом сошлись все.

Уязвимости и их значение для безопасности

Ответ на этот вопрос был самым разношерстным. Разброд и шатание по поводу того, в каком порядке расставить восемь заявленных уязвимостей, наводит на мысль о том, что у каждой из CMS свои слабости и какого-то одного универсального способа взлома пока не существует. Можно сказать, что на первые три места стабильно попадали такие виды уязвимостей: SQL Injection, Cross-Site Scripting (XSS), инъекция исходного кода PHP.

Меры по обеспечению безопасности

Из разброда и шатания по поводу уязвимостей вытекает и аналогичное положение дел по поводу мер по обеспечению безопасности. Кто что ставит во главу угла, но есть одна мера, которую все поставили на первое место: система обновлений. Во-первых, ни одно обновление функциональности не проходит без тщательного тестирования специалистами компаний по безопасности. Во-вторых, система обновлений позволяет разработчикам закрыть проблемы, если они имели место. Как правило, пользователи продукта могут самостоятельно устанавливать обновления без привлечения технических специалистов. При этом с публичной частью сайта ничего не происходит. Этакая солидарная ответственность получается: и разработчиков, и пользователей. Одни делают «заплатки», другие их устанавливают.

Модули расширения сторонних разработчиков

Для добавления какой-то эксклюзивной функциональности веб-студии, а также сами владельцы сайтов могут добавлять в CMS самописные модули, которые обычно тесно интегрируются с системой и оказывают большое влияние на безопасность системы в целом. Насколько эти модули могут служить источником опасности и как эту опасность предотвращать? Они опасны ровно настолько, насколько добросовестны сами разработчики. Но можно сказать, что если API системы предоставляет достаточную функциональность для решения задачи, необходимый набор классов или функций, то шанс допустить уязвимость сильно снижается. Разумеется, это действительно только в том случае, если ядро системы грамотно спроектировано и выполняет достаточное количество проверок. Если у стороннего разработчика нет необходимости дописывать стандартную функциональность ядра системы, то вероятность нарушения безопасности в модулях значительно снижается.

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

XSpider и другие

Автоматизированные системы тестирования — один из способов выявления уязвимостей. Правда, на данный момент они могут сказать только одно: тут, тут и вот тут у CMS есть уязвимости. К сожалению, это не означает, что больше уязвимостей нет. Тем не менее кредит доверия к такого рода системам растет с каждым годом. Компания, специализирующаяся на проведении аудита безопасности, на наш взгляд, сделает свою работу грамотнее, чем собственные специалисты разработчика. (Тем более что многие интернет-компании сегодня не могут себе позволить создание отдела тестирования. В наличии такого отдела со штатом в два человека призналась только компания «1С-Битрикс».)

Если бы все хакеры были такими добрыми старичками...

В обращении к сторонним аудиторам безопасности удалось «уличить» только две компании: «1С-Битрикс» и S.Builder. При этом реальный отчет об аудите представлен на сайте только у «1С-Битрикс», а S.Builder сообщил об этом в проводимом опросе. Правда, не думается, что другие компании не пользуются этим инструментом, просто почему-то не считают нужным говорить об этом.

Регулярный независимый аудит у сторонних организаций, занимающихся безопасностью, — очень важный момент как для создателей систем управления сайтом, так и для клиентов. После ряда проверок, например, на «1С-Битрикс» перешел известный форум securitylab.ru. То есть уровень безопасности удовлетворил разработчиков самого атакуемого форума в Рунете.

Резюме

Обеспечение безопасности сайта — это комплексная мера. Безопасность зависит во многом от выбора CMS, выбора хостинга, собственных специалистов владельца сайта. Создатели систем управления контентом всегда уделяли этому немалое внимание, как показали наш небольшой экскурс по сайтам и последовавший опрос. Однако уровень озабоченности этой проблемой — разный, на что и советуем читателям обратить внимание при выборе CMS для своего сайта.



Скоро на сайте

  • Wordpress

    Серия статей о плагинах к движку WordPrress
  • AJAX

    Проекты и продукты, ориентированные на AJAX
  • Новые сервисы Google

    Обзор новых сервисов Google
 

Copyright © 2003—2017 Все права защищены

При использовании материалов сайта ссылка на hostinfo.ru обязательна

  • хостинг от .masterhost
  • Rambler's Top100