Обеспечение безопасности#

Для повышения уровня защищенности платформы следует учитывать и применять ряд рекомендуемых мер защиты при развертывании, настройке и технической поддержке.

Критерии безопасности#

Безопасность 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 предоставляет гибкие инструменты и конфигурируемые параметры, позволяющие организациям находить баланс между этими требованиями в соответствии со своими специфическими потребностями и политиками безопасности.