Анализ безопасности систем управления сайтом
Абсолютно защищенного программного обеспечения не существует в принципе. При нужной концентрации ресурсов взламываются даже шифры военных и спецслужб. Разумеется, рядовые системы управления сайтом (CMS) не удостаиваются внимания суровых мастеров «плаща и кинжала». И прекрасно! Потому что защита многих CMS несовершенна, и управляемые ими сайты нередко оказываются взломаны злоумышленниками. Давайте же проанализируем безопасность распространенные системы управления сайтом.Какие системы управления сайтом чаще оказываются заражены?
Статистика Яндекса свидетельствует, что абсолютным чемпионом по незащищенности является CMS Datalife (DLE). Половина (50%) выборки зараженных сайтов работают под управлением этой системы управления сайтом. Второе и третье места делят между собой Wordpress и Joomla. На них приходится 38%, по 19% процентов на каждую CMS. На четвертом месте «1С-Битрикс». Инфицированные сайты под ее управлением составляют 4% от выборки в 10.000 популярных зараженных сайтов.
Оставшиеся 8% делят между собой непопулярные или новые системы управления контентом: Typo3, Modx, phpBB и другие.
Рейтинг уязвимостей систем управления сайтом
Уверенное первое место держит межсайтовая подмена запросов (61%). На втором месте утечка информации (54%). Третье место занимает подбор (52%). На четвертом месте внедрение SQL-кола (47%). Недостаточное противодействие средствам автоматизации занимает пятое место (42%). Шестое место держит межсайтовое выполнение сценариев (40%). На седьмом месте предсказуемое расположение ресурсов (36%). Восьмое место принадлежит выполнению команд операционной системы (28%). Условно на девятом месте располагается обход каталога (те же 28%). И на последнем, десятом месте уязвимость недостаточной защиты на транспортном уровне.
Какие системы управления сайтом безопаснее: коммерческие, свободные или авторские?
Исследование показывает, что авторские разработки по недостатку ресурсов применяют правила безопасности и внедряют соответствующие решения по остаточному принципу. В результате сайты под управлением таких CMS полны уязвимостей, в том числе и критических. Единственным плюсом в безопасности «самописных» систем управления контентом является их индивидуальность, осложняющая взлом автоматическим перебором стандартных отмычек. Другими словами, сайты на авторских CMS взламываются легче всего, но исключительно вручную.
Сайты под управлением бесплатных, свободно распространяемых систем управления контентом уязвимы для широко спектра атак. В их числе выполнение команд операционной системы, межсайтовое исполнение сценариев, или XSS, а также внедрение нулевого байта.
Коммерческие системы управления сайтом оказываются относительно уязвимы для внедрения SQL-кода. Разработчикам и администраторам сайтов следует использовать как профилактические средства, так и постоянные средства обеспечения безопасности. Например, эффективно настроить и ежедневно использовать модуль проактивной защиты «1С-Битрикс»
Дело в языке?
Как ни странно, да! Сайты, созданные на языке PHP, оказываются уязвимы в 81% случаев, на Java эта цифра падает до 51%, а ASP.NET - всего 26%.
Причем сайты, разработанные на разных языках программирования, оказываются уязвимыми для различных видов атак. В частности, системы управления контентом на PHP порождают больше всего «дыр» для межсайтовой подмены запросов и внедрения SQL-кода. Сайты на Java менее защищены перед выполнением команд операционной системы и межсайтовой подменой запросов. А вот в случае ASP.NET опаснее всего оказывается межсайтовое выполнение сценариев.
Как уберечься от взлома?
Прежде всего не забывайте обновлять систему управления контентом. Чем старее ваша версия, тем больше ключей к ней успели подобрать злоумышленники.Не показывайте в коде название и версию CMS. Удаляйте характерные фрагменты кода, по которым ее можно опознать.
Защитите сайт от обнаружения с помощью дорков, вредоносных поисковых запросов.
Не пользуйтесь взломанными CMS! Получите разовую копеечную экономию и своими руками установите программу с шлюзами для хакеров.
Предпишите разработчикам и администраторам сайта неукоснительно соблюдать правила безопасной работы. Запретите сохранять пароли в браузерах и FTP-клиентах. Обеспечьте рабочие места актуальными лицензионными антивирусами и файрволами.
Избегайте установки на сервер и интеграции в код сайта непроверенных скриптов и модулей. Если избежать этого нельзя, в обязательном порядке проверяйте их при помощи The Open Source Vulnerability Database.
Как только ресурсы вам позволят, организуйте тестирование на проникновение, привлеките для него проверенных авторитетных специалистов. Устраните все выявленные ими уязвимости, в том числе те, которые могут быть переданы сайту при помощи запросов.
И разумеется, не забывайте про человеческий фактор. Злоумышленнику легче всего получить доступ к сайту, выманив пароль у сотрудников обманом или подкупом. Поэтому соблюдайте общие правила безопасности!
Регулярно меняйте пароли, делайте их сложными. Не предоставляйте полного контроля над проектом и площадкой непроверенным привлеченным специалистам. Если сайт разработан на аутсорсинге, то сразу после приемки – сдачи измените пароли к площадкам, базам данным, панелям хостинга и административной панели сайта.
Контролируйте добросовестность полномочных сотрудников, проверяйте их рекомендации и карьерный путь. Не создавайте демотовирующих ситуаций, в которых хитрому социальному инженеру будет особенно просто «подобрать ключи» к обиженному специалисту.