Обеспечение безопасности#
Для повышения уровня защищенности платформы рекомендуется учитывать и применять ряд мер защиты при развертывании, настройке и технической поддержке.
Критерии безопасности#
Безопасность Astra Automation основана на фундаментальной модели информационной безопасности, известной как триада CIA (Confidentiality, Integrity, Availability). Эта модель определяет три взаимосвязанных принципа, которые должны быть реализованы для защиты автоматизированной инфраструктуры и данных, обрабатываемых платформой.
Применение требований CIA триады в контексте Astra Automation обеспечивает построение защищенной автоматизированной среды путем предотвращения несанкционированного доступа, защиты от изменения данных и обеспечения непрерывной доступности критических сервисов.
Конфиденциальность (Confidentiality)#
Конфиденциальность гарантирует, что чувствительная информация доступна только авторизованным пользователям и процессам. Это означает защиту от несанкционированного доступа к данным, включая учетные данные, ключи доступа, персональные данные и конфиденциальную бизнес-информацию.
В контексте Astra Automation конфиденциальность охватывает следующие компоненты и действия:
Учетные данные:
Все учетные данные (пароли SSH, облачные ключи, токены API) хранятся в зашифрованном виде в базе данных.
Используется шифрование AES-256 в режиме CBC с добавлением HMAC SHA256 для аутентификации зашифрованных данных.
Секреты автоматизации никогда не экспортируются через REST API платформы, что предотвращает их случайное разглашение.
Переменные и чувствительные данные:
Использование Ansible Vault для шифрования чувствительных переменных в файлах инвентаря установки.
Применение атрибута
no_log: Trueв сценариях автоматизации для предотвращения записи в журналах конфиденциальной информации.Обозначение чувствительных переменных как «безопасных» для исключения их из вывода JSON callback в сценариях автоматизации.
Управление доступом:
Реализация Role-Based Access Control (RBAC) для ограничения доступа к объектам автоматизации на основе ролей пользователей.
Использование различных учетных данных для разных уровней автоматизации, что минимизирует риск от компрометации одного ключа.
Принцип наименьших привилегий (least privilege) при назначении привилегий.
Аутентификация и авторизация:
Поддержка множественных механизмов аутентификации: LDAP, SAML, TACACS+, RADIUS, OAuth 2.0, OIDC, Keycloak и GitHub.
Двухфакторная аутентификация (2FA/MFA) для защиты учетных записей пользователей.
Использование ключей SSH вместо аутентификации по паролям для подключений между компонентами.
Защита межкомпонентной коммуникации:
Применение TLS/SSL для всех веб-сервисов и взаимодействия между компонентами платформы.
Поддержка взаимной аутентификации TLS (mTLS) для коммуникации между сервисами и базой данных PostgreSQL.
Использование пользовательских сертификатов PKI вместо самоподписанных сертификатов по умолчанию для усиленной безопасности.
Использование внешних хранилищ секретов:
Интеграция с корпоративными хранилищами секретов (например, HashiCorp Vault) для централизованного управления учетными данными.
Отделение учетных данных администраторов от учетных данных, используемых для автоматизации, что улучшает аудит.
Целостность (Integrity)#
Целостность обеспечивает сохранность данных – данные остаются точными, полными и не изменяются несанкционированным образом, как случайно, так и намеренно. Это гарантирует надежность и достоверность информации на всем протяжении ее жизненного цикла.
Внедрение целостности в Astra Automation включает:
Аудит:
Централизованная регистрация всех действий в платформе с использованием встроенной ленты активности (activity stream).
Регистрация всех изменений конфигурации, выполнение заданий, изменения пользователей и доступа.
Синхронизация времени через NTP на всех компонентах для обеспечения корректных временных меток событий в журналах.
Криптографическая защита целостности:
Использование цифровых подписей для верификации подлинности журналов и предотвращения их подделки.
Применение контрольных сумм (checksums) и криптографических хешей для обнаружения несанкционированного изменения данных.
Защита инструментов ведения журналов от модификации путем применения хешей и цифровых подписей.
Контроль версий и доступа:
Управление версиями для критических файлов конфигурации и скриптов с целью обнаружения неавторизованных изменений.
Режим доступа к файлам (Unix permissions) для защиты конфиденциальных файлов на уровне операционной системы.
Ограничение административного доступа только авторизованному персоналу.
Взаимная аутентификация TLS:
Использование TLS для внутреннего взаимодействия между компонентами платформы, что предотвращает man-in-the-middle атаки.
Верификация подлинности как клиента, так и сервера при установлении соединений.
Резервное копирование и восстановление:
Регулярное резервное копирование критических данных и конфигураций.
Шифрование резервных копий и безопасное хранение ключей восстановления.
Проверка целостности резервных копий перед восстановлением.
Доступность (Availability)#
Доступность гарантирует, что авторизованные пользователи и процессы имеют надежный и своевременный доступ к информации и ресурсам, когда это необходимо. Это включает обеспечение функционирования систем без перерывов, а также возможность быстрого восстановления после сбоев.
Обеспечение доступности в Astra Automation реализуется следующим образом:
Архитектура высокой доступности:
Использование тестированных архитектур развертывания (tested reference architectures) для обеспечения максимальной надежности.
Реализация отказоустойчивых конфигураций для критических компонентов (Automation Controller, Private Automation Hub, Event-Driven Automation).
Развертывание каждого компонента на нескольких узлах для распределения нагрузки и исключения единой точки отказа.
Балансировка нагрузки:
Использование подсистем балансировки нагрузки (load balancers) для распределения входящих запросов между несколькими узлами компонентов.
Мониторинг доступности каждого узла и автоматическое перенаправление трафика при обнаружении проблем.
Конфигурирование DNS для масштабируемого доступа к компонентам платформы.
Отказоустойчивость базы данных:
Поддержка высокодоступной конфигурации PostgreSQL 15 с репликацией.
Использование взаимной аутентификации TLS для защиты соединений с базой данных.
Возможность восстановления от сбоев базы данных без потери данных.
Синхронизация и репликация состояния:
Использование механизма синхронизации состояния между компонентами (например, между контроллером и шлюзом платформы).
Обеспечение консистентности данных во всех реплицированных узлах.
Механизм восстановления при разрыве синхронизации.
Мониторинг и оповещение:
Непрерывный мониторинг доступности всех компонентов платформы.
Система оповещений для критических событий и состояний.
Быстрое обнаружение аномалий и потенциальных проблем до того, как это повлияет на пользователей.
Сетевая безопасность и доступность:
Ограничение доступа к критическим портам TCP (PostgreSQL порт 5432, SSH, HTTPS) только для доверенных сетей и клиентов.
Использование сетевых экранов для защиты от DDoS-атак и несанкционированного доступа.
Контролируемый доступ через VPN или защищенные сетевые каналы.
Планирование восстановления после сбоев (Disaster Recovery):
Разработка и тестирование планов восстановления для различных сценариев отказов.
Определение RTO (Recovery Time Objective) и RPO (Recovery Point Objective) в соответствии с требованиями бизнеса.
Регулярное проведение учений по восстановлению для проверки готовности.
Взаимодействие компонентов CIA#
Три компонента CIA являются взаимозависимыми и часто входят в конфликт при реализации, например:
Конфиденциальность и доступность:
Строгие меры контроля доступа для защиты конфиденциальности могут затруднить легальный доступ авторизованных пользователей к требуемым ресурсам.
Целостность и доступность:
Жесткие проверки целостности и валидация данных могут замедлить обработку и снизить доступность системы.
Конфиденциальность и целостность:
Шифрование данных для конфиденциальности усложняет проверку целостности без дешифрования.
Astra Automation предоставляет гибкие инструменты и конфигурируемые параметры, позволяющие организациям находить баланс между этими требованиями в соответствии со своими специфическими потребностями и политиками безопасности.