Безопасность
Безопасность слоя данных
Система оперирует графовой базой данных. Данные хранятся в СУБД Apache Ignite. Безопасность данных обеспечивается следующими механизмами:
- настройками прав доступа к службе Apache Ignite средствами операционной системы;
- настройками прав доступа к директории с базой данных средствами операционной системы;
- специфическим форматом хранения данных, чрезвычайно затрудняющим злоумышленнику реверс-инжиниринг базы и получение данных в понятной форме.
Безопасность слоя приложений
Архитектура разрешений в системе
Модуль контроля разрешений в Системе предназначен для контроля прав доступа пользователей как при работе через клиенты (веб-браузер, мобильное приложение), так и при запросах через API. При запросах к серверу используется одна и та же логика проверки разрешений, позволяющая реализовать централизованную политику прав доступа к данным и операциям в системе.
В ядре Системы для разрешений определяется контекст применения. Выделяется 3 основных контекста:
- Глобальный контекст
- Контекст шаблона записи/процесса
- Контекст экземпляра записи/процесса/задачи
Диаграмма разрешений системы
Защита от атак
Взаимодействие клиента и сервера происходит по протоколу HTTPS.
Система включает в себя следующие компоненты для защиты от перечисленных ниже атак.
- При работе с веб-интерфейсом осуществляется контроль вводимых данных.
- Средствами NGINX/IIS обеспечивается контроль потока запросов:
- С помощью RequestFiltering настраивается фильтрация запросов по:
- Сегментами URL, которыми может попытаться воспользоваться злоумышленник.
- Расширению файлов, которые находятся в запросе (может использоваться для блокировки запросов к файлам типа
Web.config
). - URL адресам, которые запрещено запрашивать.
- Параметрам запроса.
- С помощью IP Address and Domain Restrictions происходит составление «белых» и «черных» списков IP-адресов.
- С помощью Dynamic IP Address Restrictions возможны:
- блокировка IP-адресов, превысивших максимальное число запросов;
- настройка поведения при запросе с заблокированного IP-адреса: дефолтный возврат HTTP ошибки 403.6 или игнорирование запроса;
- прокси-режим блокировки, когда блокировка IP-адресов происходит по контенту запроса, а не только по IP-адресу отправителя.
- С помощью RequestFiltering настраивается фильтрация запросов по:
- При обмене данными между браузером и сервером происходит HMAC-подпись и последующая проверка сообщений.
- Сервер проверяет данные и операции с точки зрения бизнес-задач и конфигурации безопасности.
- При работе сервера происходят проверка и автоматическая очистка пользовательского контента.
- SQL-инъекция невозможна по дизайну Системы, поскольку для запросов к графовой базе данных используется нотация N3 RDF, а не SQL.
Эта статья была полезна 1 чел.