Мы собираем данные о вашем IP-адресе и cookies. Продолжая использовать сайт, вы подтверждаете согласие на обработку ООО "Ноукодинг" таких данных в соответствии с политикой.
OK
Безопасность системы Nocode.ru
1. Безопасность приложения
Обеспечение безопасности приложения включает в себя несколько важных аспектов:

  • Протоколы взаимодействия с сервисами: Используем безопасные протоколы для обмена данными между компонентами приложения. Это включает в себя HTTPS для веб-сервисов и других взаимодействий, что обеспечивает защищенную передачу информации.
  • Хранение и передача данных в базе: Применяем строгие стандарты безопасности при хранении данных в базе и их передаче. Это включает шифрование данных, ограничение доступа и другие меры для защиты конфиденциальности информации.
  • Логирование и мониторинг: Внедряем системы логирования и мониторинга, чтобы быстро обнаруживать и реагировать на подозрительную активность или атаки. Это помогает в управлении безопасностью и своевременном реагировании на потенциальные угрозы.
  • Авторизация и аутентификация: Используем надежные методы аутентификации пользователей и предоставляем им доступ только к необходимым ресурсам. Это включает в себя двухфакторную аутентификацию и другие методы повышения безопасности.
  • Ролевая модель: Устанавливаем ролевую модель, определяя различные уровни доступа для пользователей в зависимости от их ролей в системе. Это ограничивает возможности пользователей в соответствии с их обязанностями.
  • Безопасность кода: При разработке и обновлении приложения мы акцентируем внимание на безопасности кода, используя проверенные практики и инструменты для обнаружения и устранения потенциальных уязвимостей. Эти меры направлены на предотвращение различных видов атак и обеспечение надежной защиты пользовательских данных.

Дополнительная информация направляется по запросу.
2. Безопасность среды развертывания в SaaS
Текущее SaaS решение развернуто в облаке Cloud.ru.

2.1. Принцип работы
В облачном решении реализована мультитенантная архитектура платформы. Мультитенантная архитектура позволяет, используя один экземпляр платформы, изолировать данные организаций на уровнях доступа/изменения и хранения. Логическим объектом мультитенантной архитектуры является тенант - это сквозная сущность, при работе с которой приложение инкапсулировано от данных и процессов(системных) других тенантов.
Для администратора платформы от организации (потребителя) создается тенант, в рамках которого строятся процессы, кабинеты. В рамках этого же тенанта пользователи продукта от организации работают с платформой.

2.2. Архитектура
Продукт разворачивается на инфраструктуре, предоставляемой облачным поставщиком. Поставщик обеспечивает безопасность и надежность серверной инфраструктуры.
Программную и сетевую инфраструктуры организует команда Nocode.ru. Программная и сетевая инфраструктуры представляют собой набор служб и сервисов, которые гарантируют устойчивую и контролируемую работу платформы. В рамках этой инфраструктуры используются различные технологии:
  • Контроль сетевого трафика: Обеспечивает управление передачей данных по сети для обеспечения безопасности и эффективности.
  • Сбор и агрегация метрик: Мониторинг сетевого трафика и аппаратной нагрузки серверов, а также отслеживание действий пользователей и журналирование работы платформы для обеспечения надежности и быстрого реагирования на потенциальные проблемы.
  • Балансировка нагрузки: Распределение равномерной нагрузки между серверами для оптимизации производительности.
  • Резервирование данных: Обеспечение надежного хранения данных и их резервирование для предотвращения потерь в случае сбоев.
  • Оркестрация экземплярами приложения: Координирование и управление различными компонентами приложения для обеспечения эффективной работы.
Эти технологии совместно обеспечивают стабильность, производительность и безопасность платформы, позволяя пользователям использовать продукт надежно и эффективно.

2.2.1. Структура платформы
Платформу можно организовать на четыре основных составляющих:
  • Контейнеры приложения: Это части, в которых размещено основное приложение. Контейнеры приложения содержат код и компоненты, которые обеспечивают основную функциональность продукта.
  • Контейнеры расширений приложения: Эти контейнеры предназначены для добавления дополнительной функциональности и возможностей в рамках основного приложения. Расширения могут включать в себя дополнительные модули, плагины или другие компоненты, улучшающие возможности продукта.
  • Контейнеры инфраструктуры приложения: В этом компоненте содержатся сервисы и ресурсы, необходимые для обеспечения работы самой инфраструктуры. Сюда входят, например, базы данных, кэши, или другие элементы, которые обеспечивают поддержку и хранение данных.
  • Сервисы обеспечения платформы: Эти сервисы предоставляют общие ресурсы и функциональность, необходимые для работы всей платформы. Сюда могут входить службы безопасности, управления пользователями, мониторинга и другие, обеспечивая надежность и стабильность работы всей системы.

2.2.2. Контроль сетевого трафика
Каждая часть платформы находится в своем собственном виртуальном обособленном пространстве и изолирована от других структурных элементов, а также от внешнего окружения. Эта изоляция простирается до уровня сетевого доступа, что означает, что сетевые соединения между структурными элементами находятся под строгим контролем.
Сетевые каналы доступа, которые соединяют структурные элементы на уровне control plane (уровень управления), организованы в соответствии с политиками white-access-list. Это означает, что доступ разрешен только определенным структурным элементам, что обеспечивает дополнительный уровень безопасности.
Важно отметить, что используются безопасные протоколы обмена данными, чтобы гарантировать, что информация передается между структурными элементами безопасным образом, минимизируя потенциальные риски. Такой подход способствует созданию надежной и защищенной инфраструктуры для работы платформы.

2.2.3 Политики доступа
Для того чтобы технический специалист получил доступ к системе, ему предоставляется сессия по выделенному и безопасному каналу. Процесс выделения этого рабочего канала под рабочую сессию технического специалиста подтверждается группой технического обслуживания после согласования плана проведения работ.
Важно отметить, что каждое действие технического специалиста в рабочей среде (production) платформы фиксируется и регистрируется в системе. Это гарантирует полный контроль и прозрачность в отношении всех операций, выполняемых техническим специалистом. Такой подход обеспечивает безопасность и следит за каждым этапом работы в production среде, что важно для обеспечения стабильности и безопасности платформы.

2.2.4. Системы мониторинга и оповещения
Мониторинг платформы предоставляет контроль над использованием ресурсов, сетевым трафиком, передачей данных, а также следит за действиями пользователей и их логическими компонентами. Это означает, что мы постоянно отслеживаем, как используются различные элементы платформы, чтобы обеспечить их эффективное и безопасное функционирование.
Кроме того, система мониторинга позволяет проводить диагностику работы платформы и оперативно реагировать на любые инциденты. Диагностика помогает выявить возможные проблемы или неполадки, а оперативная реакция позволяет мгновенно принимать меры по их устранению. Эти процессы являются ключевыми в обеспечении стабильной и бесперебойной работы платформы в различных режимах ее использования.

2.2.5. Балансировка нагрузки
Нагрузка на платформу прямо зависит от объема и разновидностей запросов, поступающих от устройств пользователей к бэкенд-части приложения. Чтобы эффективно управлять этой нагрузкой, мы распределяем ее между репликами бэкенд-сервисов. Это позволяет поддерживать потребление ресурсов в пределах установленных лимитов, а время ответов на запросы фронтенд-приложения остается стабильным.
Для взаимодействия бэкенд-сервисов с приложениями расширения используем очередь сообщений. Этот метод позволяет:
  • Снизить время ожидания ответа: После того как сообщение помещено в очередь, инициатор запроса моментально получает уведомление о доставке, что способствует ускорению обработки;
  • Равномерно извлекать сообщения: Извлечение сообщений из очереди происходит равномерно, что гарантирует стабильность процесса в условиях как средней, так и высокой нагрузки.
  • Сохранять и восстанавливать очередь в случае аварии: В случае сбоя, информация в очереди сохраняется на накопителе и восстанавливается после устранения проблемы.
Обращение бэкенд-части к базе данных становится дополнительным узким местом при увеличении нагрузки, особенно в микросервисной архитектуре бэкенда. Для управления количеством соединений и контроля трафика в базу данных установлен балансир, настроенный в режиме наибольшей безопасности для сохранности БД.

2.2.6. Резервирование данных
С точки зрения резервирования данных, платформа обеспечивает защиту как всей системы, так и отдельных ее компонентов. Для резервирования всей платформы мы регулярно создаем снимки дисковых накопителей, которые затем сохраняются в холодном хранилище и хранятся в течение определенного периода времени.
Кроме того, отдельные компоненты платформы резервируются с использованием логических бэкапов по расписанию, а также перед проведением технических работ в рамках SaaS. Это гарантирует сохранность данных и возможность восстановления в случае необходимости.

2.2.7. Оркестрация экземплярами приложения и их компонентами
Благодаря использованию контейнеров для отдельных сервисов приложения мы достигаем большей переносимости и универсальности относительно различных целевых платформ. На более высоком уровне абстракции с использованием оркестрации контейнерами и образами контейнеров, мы автоматизируем управление, конфигурирование, а также распределение трафика и нагрузки между контейнерами платформы.
Это позволяет проводить процессы непрерывной интеграции (continious integration) и балансировки нагрузки (load balancing) автоматически, срабатывая по триггерам или командам извне. Такой подход упрощает и ускоряет управление и поддержание приложения, делая его более гибким и адаптивным к изменениям.
3. Безопасность среды развертывания on-prem
Продукт предоставляется в виде готового программного решения, которое может быть развернуто силами IT-отдела заказчика на их инфраструктуре.

Комплект поставки включает следующее:
  1. Инструкцию по развертыванию и конфигурированию: Детальное руководство, которое помогает IT-отделу заказчика развернуть и настроить приложение.
  2. Docker-образы приложения: Упакованные образы приложения в формате Docker, что обеспечивает простоту и единообразие при установке и запуске.
  3. Базовые конфигурации для развертывания: Набор предварительно настроенных параметров, который облегчает процесс начальной конфигурации системы.
В дополнение к этому комплекту поставки могут быть предоставлены рекомендации по настройке программной и сетевой инфраструктуры.
Проект, разработанный в ходе выполнения работ, не содержит известных уязвимостей, что подтверждается проверкой на публично известных уязвимостей по данным ресурса https://bdu.fstec.ru. Кроме того, в проекте отсутствует публично доступный программный код и программные продукты, что способствует уровню безопасности проекта.