Архитектура безопасности «Битрикс: Управление сайтом»
Архитектура безопасности «Битрикс: Управление сайтом»
При проектировании программного продукта «Битрикс: Управление сайтом» вопросам безопасности продукта уделялось особое значение на всех этапах разработки и тестирования.
Ядро продукта и непосредственно главный модуль содержит в себе общую для всех модулей и всего сайта в целом систему авторизации, регистрации и управления пользователями и группами пользователей. В общей базе данных регистрируются как сотрудники компании, так и пользователи веб-сайта. Все права в системе распределяются исключительно для групп пользователей. Административный интерфейс позволяет завести любое число групп пользователей. Есть две группы, которые обязательно должны присутствовать в системе. Группа Administrator, к которой принадлежат пользователи с неограниченными правами и которым разрешается использовать на сайт программный код. И группа Everyone, к которой принадлежат все неавторизованные или незарегистрированные пользователи на сайте. При установке продукта создается первый и единственный на этот момент пользователь в системе, который принадлежит к группе Administrator и который может выполнять на сайте все действия. Начиная с версии 4.0, в системе заранее заведены и настроены по правам доступа следующие группы: В настройках модуля может быть проверен и настроен список пользователей, которые принадлежат к этой группе. В настройках группы указываются права доступа к административной части модулей. Дополнительные настройки по правам доступа возможны непосредственно в модулях инфоблоков, форумов, веб-форм, опросов, торгового каталога, документооборота, рекламы, техподдержки. Профайл пользователя содержит обязательную регистрационную информации и необязательную информационную часть с описанием личных данных, информации о компании и данных для работы с форумом. Управление всеми пользователями выполняется в административном разделе в меню «Пользователи». В профайле пользователя также настраивается, к каким группам принадлежит пользователь. Возможна привязка одновременно к неограниченному числу групп пользователей. От того, к какой группе принадлежит пользователь, будут зависеть его права на сайте. Администратор системы безопасности может в любой момент получить список пользователей, которые принадлежат к той или иной группе, и скорректировать эту информацию при необходимости.
В программном продукте реализована двухуровневая система разграничения прав доступа: Уровень 1: доступ к файлам и каталогам. Уровень 1. Настройка доступа к файлам и каталогам выполняется в меню Структура сайта > Управление. Достаточно отметить один или несколько каталогов или файлов и выбрать Доступ, чтобы определить какие группы пользователей имеют право на доступ к этим документам. Права на доступ, назначенные на каталоги, наследуются для всех файлов и подкаталогов, расположенных ниже. Например, достаточно поставить на каталог / partners/ права на чтение только для группы Partners и убрать право на чтение у группы Everyone, никто из обычных посетителей уже не сможет зайти в каталог и у посетителей будет запрошена авторизация. Если пользователь принадлежит нескольким группам, то берется максимальное право из всех прав доступа заданных для этих групп. Если для текущего файла или каталога явно не задан уровень прав, то берется уровень прав заданный для вышележащих каталогов. Уровень 2 обеспечивает разграничение доступа к модулям и логическим операциям в модулях. Если речь идет об обычных статичных публичных страницах, то к ним применяется только уровень 1 доступа на файлы и каталоги. Если пользователь имеет на файл как минимум право R ("чтение") и если данный файл является функциональной частью, в которой используются API функции того или иного модуля, то проверяется 2-ой уровень прав, задаваемый в настройках соответствующего модуля. При заходе на страницу "Список обращений" в техподдержке, администратор видит все обращения, сотрудник техподдержки - только те за которые ответственен, а обычный пользователь - только свои обращения. Так работает право в рамках логики модуля "Техподдержка". На сегодняшний день используются две методологии разграничения прав доступа 2-го уровня: Отличие их заключается в том, что если пользователь обладает несколькими правами, то выбирается максимальное. Если же пользователь обладает несколькими ролями, то он соответственно будет обладать суммарными возможностями этих ролей. Роли сейчас поддерживаются в двух модулях: "Техподдержка" и "Реклама". Во всех остальных модулях и используются права.
Каждая страница сайта, созданного на базе «Битрикс: Управление сайтом», начинается включением обязательного файла заголовка. Простое включение этого файла автоматически обеспечивает работу единой системы авторизации и разграничения доступа. Система авторизации работает независимо от бизнес-логики размещенной в рабочем теле страницы. Принцип независимости системы авторизации от исполняемой части страницы обеспечивает гарантированную защиту приложениям от несанкционированного доступа и исполнения и означает, что если пользователь не будет иметь прав на доступ к странице, ему не удастся обойти систему авторизации. Все модули в продукте обеспечивают проверку прав доступа непосредственно внутри модулей при обращении к API-функциям. Таким образом, приложения, написанные с использование API, обладают еще одним уровнем независимой защиты на уровне модулей и логических операций. И независимость работы системы авторизации при обращении к функциям API обеспечивает защищенную разработку клиентских приложений и бизнес-логики и удобное управление правами доступа в стандартном интерфейсе модулей.
При работе с административным разделом или закрытыми разделами сайта можно организовать шифрование данных. Шифрование данных обеспечивает защиту при передаче имени и пароля пользователя, данных сессии, данных страницы и информации, размещенной на сайте, включая передачу графических файлов и любой другой информации с сайта. Использование алгоритмов шифрования позволяет исключить целый класс потенциальных рисков, связанных с возможностью перехвата информации в канале передачи. Промышленным стандартом для защиты веб-приложений является SSL-шифрация в рамках протокола HTTPS. Данный протокол поддерживается всеми браузерами и не требует установки дополнительных компонент для клиентов. Сертификат может быть получен на сайте компании Verisign http://www.verisign.com/ В России сертификат SSL можно оформить через компанию провайдера или в компании RBC http://ssl.rbc.ru/ В качестве сертифицированных ГОСТ алгоритмов, на основе которых строится защита веб-ресурса, используются российские стандарты шифрования данных:
Важнейшим инструментов в обеспечении безопасности является технология оперативного обновления SiteUpdate, которая обеспечивает возможность оперативного получения и установки без технических специалистов самых последних обновлений программного продукта «Битрикс: Управление сайтом». Уникальная технология SiteUpdate позволяет без дополнительных расходов скачивать обновления продукта и новые модули. Данные загружаются с сайта компании «Битрикс» через веб-интерфейс административного раздела продукта. Обновления не затрагивают публичную часть сайта, полностью исключая потерю данных. При загрузке обновлений запрашивается лицензионный ключ продукта. После проверки обновлений системы владельцу предлагается выбрать, какие обновления и модули необходимо загрузить. Все обновления и новые модули сначала компрессируются, а затем загружаются на сайт владельца. Компрессия данных в несколько раз увеличивает скорость загрузки обновлений продукта. Таким образом, владелец продукта может поддерживать постоянную актуальность системы и оперативно получать новые модули. Подробную информацию о работе технологии обновлений можно получить в разделе "Технология SiteUpdate".
Большинство проблем и уязвимостей в программных продуктах связано с неправильной обработкой переменных поступающих из форм или с некорректной работой с внешними файлами или данными. При разработке программного продукта «Битрикс: Управление сайтом» разработана методика обработки внешних переменными и файлов, поступающих извне. Для обработки переменных в программном продукте реализованы функции по подготовке переменных к безопасному использованию в SQL-запросах и функциональных модулях. Для приема файлов от пользователя реализованы специальные функции класса CFile, которые обеспечивают безопасную обработку файлов в программном продукте. Такая концентрация ключевых участков кода с точки зрения безопасности в едином месте позволяет разрабатывать безопасные веб-приложения с минимальными усилиями. Программному продукту «Битрикс: Управление сайтом 4.0» присвоена категория «Безопасное веб-приложение» и выдан сертификат соответсвия.Единая система авторизации
Разграничение прав доступа
Уровень 2: доступ к модулям и логическим операциям в модулях.Пример:
Пример:
Независимость системы контроля доступа от бизнес-логики страницы
Возможность шифрования информации
Система обновлений SiteUpdate
Политика работы с переменными и внешними данными
Также безопасности сайтов разработанных на "Битрикс: управление сайтом" способствуют:

