"Система управления сайтом", или CMS - в последнее время один из самых распространенных способов администрирования Web портала. Все большее число студий web-дизайна предлагают создание сайтов на различных CMS.
Основное преимущество CMS - это удобство редактирования и добавления на сайт нового содержимого. Кроме того, системы управления сайтом позволяют быстро и удобно редактировать новостные страницы, гостевые книги, форумы, блоги и многое-многое другое. Очень удобен в использовании визуальный редактор, встречающийся во многих CMS.
Система управления содержимым во многих случаях являются причиной получения НСД к корпоративному Web серверу. Постоянно опубликовываются всё новые уязвимости популярных CMS, возможность эксплуатации которых ставит под угрозу безопасность всего сервера. Защита системы управления содержимым позволит значительно повысить защищённость сервера от внешних угроз.
Все существующие CMS не гарантируют безопасность Web сервера даже для масштабов среднего бизнеса. Каждая компания имеет проблемы с безопасностью корпоративного сайта, и прежде всего эти проблемы связаны с уязвимостью системы управления содержимым. Сегодня купив достаточно дорогую CMS невозможно защитить Web сервер от злоумышленников. Требуется постоянно обновлять систему управления, следить за правильностью функционирования и работоспособностью. Для поддержки системы управления постоянно требуется системный администратор, что значительно увеличивает расходы на эксплуатацию и не гарантирует полной безопасностью. Огромное значение имеет человеческий фактор, так как администратор всегда может забыть установить необходимое обновление.
Таким образом задача разработки максимально защищённой системы управления стоит сегодня особенно остро.
Для разработки концепции защищённой системы управления необходимо также рассмотреть наиболее часто встречающиеся недостатки большинства систем управления.
Основным недостатком большинства CMS является динамическая адресация.
Пример стандартной адресации в CMS Joomla:
http://www.magilit.ru/index.php?option=com_content&task=view&id=2&Itemid=3
Такая адресация страниц позволяет атакующему легко изменять значения передаваемых переменных, что ставит под угрозу всю систему безопасности. Также использование динамической адресации является нежелательным для регистрации сайта поисковыми системами.
Почти во всех CMS для решения этой проблемы используется mod_rewrite, однако не всегда поддерживается компаниями, предоставляющими услуги хостинга.
Для включения mod_rewrite в CMS Jommla создаётся файл .htaccess, в котором записано:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (/|.htm|.php|.html|/[^.]*)$ [NC]
RewriteRule ^(content/|component/) index.php
В результате работы mod_rewrite происходит подмена адреса запроса, на адрес, не содержащий имён переменным:
http://www.magilit.ru/content/view/2/3/
Однако использование mod_rewrite не позволяет защитить CMS от передачи видоизменённых переменных. В этом случае вся обработка и выявление атак ложится на систему управления.
Это допускает возможность использования довольно широкого спектра атак реализующих SQL-injection таким способом.
Любая система управления содержит уязвимости, и зачастую администраторы забывают про обновления системы управления. Это может служить причиной взлома сайта и всего сервера.
Обновления системы управления является достаточно сложной процедурой. Большинство систем управления не позволяют осуществить обновление полностью автоматически. Требуется их доработка руками администратора, что вызывает боязнь обновлений системы управления.
Эту проблему возможно решить только при помощи системы активных обновлений. Т.е. обновление осуществляется автоматически. В большинстве систем управления автоматические обновления осуществляются частично по запросу администратора из системы управления.
Для осуществления надёжной фильтрации необходимо отбрасывать все специальный символы и оставлять только буквы латинского алфавита и арабские цифры. Тем самым возможно гарантировать невозможно осуществления некорректных SQL запросов ещё на уровне ярда системы управления.
Анализ проведен компанией www.altweb.ru/
Источник altweb-cms.ru