Обеспечение безопасности#
Для повышения уровня защищенности платформы следует учитывать и применять ряд рекомендуемых мер защиты при развертывании, настройке и технической поддержке.
Критерии безопасности#
Безопасность 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, OAuth2, OIDC, Keycloak и GitHub.
Двухфакторная аутентификация (2FA/MFA) для защиты учетных записей пользователей.
Использование ключей SSH вместо аутентификации по паролям для подключений между компонентами.
Защита межкомпонентной коммуникации:
Применение TLS/SSL для всех веб-сервисов и взаимодействия между компонентами платформы.
Поддержка взаимной аутентификации TLS (mTLS) для коммуникации между сервисами и базой данных PostgreSQL.
Использование пользовательских сертификатов PKI вместо самоподписанных сертификатов по умолчанию для усиленной безопасности.
Использование внешних хранилищ секретов:
Интеграция с корпоративными хранилищами секретов (например, HashiCorp Vault) для централизованного управления учетными данными.
Отделение учетных данных администраторов от учетных данных, используемых для автоматизации, что улучшает аудит.
Целостность (Integrity)#
Целостность обеспечивает сохранность данных – данные остаются точными, полными и не изменяются несанкционированным образом, как случайно, так и намеренно. Это гарантирует надежность и достоверность информации на всем протяжении ее жизненного цикла.
Внедрение целостности в Astra Automation включает:
Аудит:
Централизованная регистрация всех действий в платформе с использованием встроенного журнала активности (activity stream).
Регистрация всех изменений конфигурации, выполнение заданий, изменения пользователей и доступа.
Синхронизация времени через NTP на всех компонентах для обеспечения корректных временных меток событий в журналах.
Криптографическая защита целостности:
Использование цифровых подписей для верификации подлинности журналов и предотвращения их подделки.
Применение контрольных сумм (checksums) и криптографических хешей для обнаружения несанкционированного изменения данных.
Защита инструментов ведения журналов от модификации путем применения хешей и цифровых подписей.
Контроль версий и доступа:
Управление версиями для критических файлов конфигурации и scripts с целью обнаружения неавторизованных изменений.
Файловые разрешения (Unix permissions) для ограничения доступа к конфиденциальным файлам на уровне операционной системы.
Ограничение административного доступа только авторизованным персоналу.
Взаимная аутентификация TLS:
Использование TLS для внутреннего взаимодействия между компонентами платформы, что предотвращает man-in-the-middle атаки.
Верификация подлинности как клиента, так и сервера при установлении соединений.
Резервное копирование и восстановление:
Регулярное резервное копирование критических данных и конфигураций.
Шифрование резервных копий и безопасное хранение ключей восстановления.
Проверка целостности резервных копий перед восстановлением.
Доступность (Availability)#
Доступность гарантирует, что авторизованные пользователи и процессы имеют надежный и своевременный доступ к информации и ресурсам, когда это необходимо. Это включает обеспечение функционирования систем без перерывов, а также возможность быстрого восстановления после сбоев.
Обеспечение доступности в Red Hat Ansible Automation Platform реализуется следующим образом:
Архитектура высокой доступности:
Использование тестированных архитектур развертывания (tested reference architectures) для обеспечения максимальной надежности.
Реализация отказоустойчивых конфигураций для критических компонентов (Automation Controller, Private Automation Hub, Event-Driven Ansible).
Развертывание каждого компонента на нескольких узлах для распределения нагрузки и исключения единой точки отказа.
Балансировка нагрузки:
Использование подсистем балансировки нагрузки (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 предоставляет гибкие инструменты и конфигурируемые параметры, позволяющие организациям находить баланс между этими требованиями в соответствии со своими специфическими потребностями и политиками безопасности.