Безопасность сайта
небольшой опус на тему безопасности CMS
Если спросить потенциального заказчика сайта о критериях выбора системы управления сайтом, он наверняка в общем списке критериев назовет безопасность. Но в подавляющем большинстве случаев этот критерий будет не на первом месте. Ну ладно заказчики. Что поделаешь, такая у нас природа: пока петух не клюнет в одно место, не пошевелимся. А что создатели сайтов? Да то же самое. Запросите «рыбу» ТЗ на создание сайта в любой веб-студии и поищите там пункт «Безопасность». Впрочем и это тоже понятно: переписывать используемую веб-студиями CMS им не с руки. Остается полагать, что безопасность сайтов обеспечат хостеры и создатели CMS.
Про хостинг — отдельный разговор. На сегодняшний день большинство уязвимостей сайта — это уязвимости в ПО хостинговой площадки, что является в основном результатом несвоевременного обновления ОС, веб-сервера и сервера БД. И самая большая головная боль — плохо настроенные shared-хостинги. Единственное, что тут можно сказать: слушайте рекомендации разработчиков CMS по выбору хостинга. Они на этом уже не одну собаку съели. Недаром на сайте многих CMS есть списки рекомендуемых хостеров, а
Начнем с простого. Предположим, что потенциальный заказчик поставил во главу угла не функциональность, удобство или системные требования, а безопасность сайта. При этом он решился сам оценить предоставляемый уровень безопасности каждой из CMS. Как ему это сделать? Первое, что он может, — просмотреть официальные сайты систем по управлению контентом.
Информация на сайтах
И что же он увидит? Он увидит, что проблема безопасности сайта далеко не на первом месте у разработчиков. Открыв примерно с десяток сайтов самых известных CMS, только на паре из них можно найти разделы, посвященные безопасности создаваемого разработчиками решения:
Знакомство с разделами по безопасности дает достаточно информации о безопасности указанных систем. Чем невольно вызывает желание познакомиться с ними поближе. Отметим, что раздел
Можно возразить, что реальная безопасность CMS и разделы официального сайта — вещи малосвязанные. Это и так, и не так одновременно. Технически — да, уровень безопасности, обеспечиваемый тем или иным решением, ну никак не завязан на то, что написано на официальном сайте. Практически — нет. Занимаясь продвижением своего продукта, разработчики всегда сталкиваются с задачами безопасности, и если они не выносят эти вопросы на свой сайт, значит, им либо сказать нечего (система не безопасна), либо до этих проблем еще руки не дошли.
Можно увидеть такое вместо своего сайта |
Опросы
Поскольку явного пренебрежения к вопросам НСД к сайтам на своей системе все же трудно ожидать от разработчиков, то мы решили провести небольшое исследование. Цель основная: получить представление о современном уровне угроз для сайтов. Составив небольшой опросник, мы разослали его по нескольким компаниям. (Сразу оговоримся, что никаких претензий на абсолютно научный подход к опросу у нас нет. Абсолютно точную картину получить невозможно, на наш взгляд, так как все течет и изменяется. Эта статья — скорее частная оценка, хотя и надеемся, что кому-то она поможет в выборе CMS.)
Собственные исследования безопасности
Прежде всего заметим, что вопросами безопасности занимались (как они заявили) все опрошенные компании. Но вот конкретные результаты тестирования, хотя бы внутреннего, предоставили далеко не все. И прежде всего это относится к молодым компаниям с малоизвестными продуктами. Что, впрочем, естественно. Не успели встать перед ними эти проблемы во всей красе, либо не хватает сил на их решение.
Результаты тестирований
Как и ожидалось, самые серьезные исследования — у компании
Аудит сайтов, созданных на основе CMS
Что касается других компаний, то в лучшем случае нам сообщали, что были обнаружены в ходе внутренних проверок такие-то уязвимости, которые были устранены в кратчайшие сроки. По поводу времени реакции на уязвимость пришлось поверить на слово компаниям, так как реальные тесты провести не в наших силах: искать уязвимости в CMS, сообщать их разработчикам и засекать время ответа нашего журналистского ума не хватает. Да и насколько реальным будет такое исследование? Это время зависит от целого ряда факторов: насколько трудоемким является исправление данной уязвимости, насколько сложно локализовать причину уязвимости и так далее. Среднее время реакции определяется уровнем SLA и у профессиональных CMS не должно превышать два-три дня, на этом сошлись все.
Уязвимости и их значение для безопасности
Ответ на этот вопрос был самым разношерстным. Разброд и шатание по поводу того, в каком порядке расставить восемь заявленных уязвимостей, наводит на мысль о том, что у каждой из CMS свои слабости и какого-то одного универсального способа взлома пока не существует. Можно сказать, что на первые три места стабильно попадали такие виды уязвимостей: SQL Injection, Cross-Site Scripting (XSS), инъекция исходного кода PHP.
Меры по обеспечению безопасности
Из разброда и шатания по поводу уязвимостей вытекает и аналогичное положение дел по поводу мер по обеспечению безопасности. Кто что ставит во главу угла, но есть одна мера, которую все поставили на первое место: система обновлений. Во-первых, ни одно обновление функциональности не проходит без тщательного тестирования специалистами компаний по безопасности. Во-вторых, система обновлений позволяет разработчикам закрыть проблемы, если они имели место. Как правило, пользователи продукта могут самостоятельно устанавливать обновления без привлечения технических специалистов. При этом с публичной частью сайта ничего не происходит. Этакая солидарная ответственность получается: и разработчиков, и пользователей. Одни делают «заплатки», другие их устанавливают.
Модули расширения сторонних разработчиков
Для добавления какой-то эксклюзивной функциональности веб-студии, а также сами владельцы сайтов могут добавлять в CMS самописные модули, которые обычно тесно интегрируются с системой и оказывают большое влияние на безопасность системы в целом. Насколько эти модули могут служить источником опасности и как эту опасность предотвращать? Они опасны ровно настолько, насколько добросовестны сами разработчики. Но можно сказать, что если API системы предоставляет достаточную функциональность для решения задачи, необходимый набор классов или функций, то шанс допустить уязвимость сильно снижается. Разумеется, это действительно только в том случае, если ядро системы грамотно спроектировано и выполняет достаточное количество проверок. Если у стороннего разработчика нет необходимости дописывать стандартную функциональность ядра системы, то вероятность нарушения безопасности в модулях значительно снижается.
Поскольку ядро системы тем надежнее, чем старее и обкатаннее система, то это означает, что, если вы выбираете малоизвестную или молодую CMS, вы болжны быть более внимательны к самостоятельному написанию дополнительных модулей. А лучшее в этом деле — связаться с создателями CMS и предоставить им свой модуль на аудит безопасности.
XSpider и другие
Автоматизированные системы тестирования — один из способов выявления уязвимостей. Правда, на данный момент они могут сказать только одно: тут, тут и вот тут у CMS есть уязвимости. К сожалению, это не означает, что больше уязвимостей нет. Тем не менее кредит доверия к такого рода системам растет с каждым годом. Компания, специализирующаяся на проведении аудита безопасности, на наш взгляд, сделает свою работу грамотнее, чем собственные специалисты разработчика. (Тем более что многие интернет-компании сегодня не могут себе позволить создание отдела тестирования. В наличии такого отдела со штатом в два человека призналась только компания
Если бы все хакеры были такими добрыми старичками... |
В обращении к сторонним аудиторам безопасности удалось «уличить» только две компании:
Регулярный независимый аудит у сторонних организаций, занимающихся безопасностью, — очень важный момент как для создателей систем управления сайтом, так и для клиентов. После ряда проверок, например, на
Резюме
Обеспечение безопасности сайта — это комплексная мера. Безопасность зависит во многом от выбора CMS, выбора хостинга, собственных специалистов владельца сайта. Создатели систем управления контентом всегда уделяли этому немалое внимание, как показали наш небольшой экскурс по сайтам и последовавший опрос. Однако уровень озабоченности этой проблемой — разный, на что и советуем читателям обратить внимание при выборе CMS для своего сайта.
Источник: hostinfo.ru