Инфраструктурные секреты — ключевые компоненты безопасности информационных систем и приложений. Это пароли, ключи API, SSH-ключи, токены и другие конфиденциальные данные — они позволяют приложениям и сервисам взаимодействовать друг с другом и функционировать безопасно. Неправильное управление этими данными может привести к серьёзным последствиям — от утечек и взломов до полной компрометации бизнес-процессов.
Согласно исследованиям, прямые экономические издержки от одной утечки в российских компаниях составляют в среднем 5,5 млн рублей. Вдобавок бизнес терпит ощутимый репутационный ущерб.
Чтобы снизить подобные риски, необходимы комплексный подход и внедрение передовых технологий и методов защиты. В частности, могут помочь специальные инструменты, такие как Deckhouse Stronghold — решение для безопасного управления секретами. В этой статье расскажем о его функциональности, принципе работы и сценариях применения.
Что такое Deckhouse Stronghold и в чём его особенности
Deckhouse Stronghold — Cloud Native-решение, разработанное с учётом облачной инфраструктуры и интегрированное в Deckhouse Kubernetes Platform. Продукт предназначен для централизованного управления секретами, их хранения и контролируемого распространения в безопасной и управляемой среде. Решение удобно в эксплуатации, имеет встроенные возможности аудита и мониторинга.
Ключевые возможности продукта:
- Поддержка различных методов аутентификации и гибкая настройка авторизации и политик доступа к хранилищу и секретам. Deckhouse Stronghold поддерживает множество методов аутентификации, включая LDAP, Dex, OAuth, JSON Web Token (JWT) и другие, обеспечивая гибкие возможности интеграции с существующими системами.
- Несколько безопасных способов автоматизированной доставки секретов в приложения. За них отвечает модуль secrets-store-integration. Автоматическая доставка секретов упрощает процесс интеграции и минимизирует ручной труд, а также уменьшает вероятность утечек данных.
- Сокращение количества возможных векторов атаки. В основе хранилища только один бинарный файл, что уменьшает количество потенциальных точек входа для атак, повышая общую безопасность системы.
- Простота использования. Удобный веб-интерфейс делает процесс управления секретами понятным и доступным для пользователей различного уровня.
- Управление через единый API, совместимый с API HashiCorp Vault. Полная совместимость с API HashiCorp Vault позволяет легко интегрировать Deckhouse Stronghold в существующие системы и использовать уже имеющиеся инструменты и скрипты.
- Возможность автоматического распечатывания (auto-unseal). Функция auto-unseal позволяет автоматически разблокировать хранилище после перезапуска или перезагрузки узлов, устраняя необходимость ручного вмешательства и снижая риск ошибки.
- Безопасность соединений. Все сетевые соединения в Deckhouse Stronghold проходят через протокол TLS с проверкой сертификатов удостоверяющего центра (Certificate Authority), что обеспечивает высокий уровень защиты данных при передаче.
- Регистрация в реестре отечественного ПО. Deckhouse Stronghold находится в реестре отечественного ПО (реестровая запись №22339 от 24.04.2024), что подтверждает его соответствие российским требованиям и стандартам безопасности.
Варианты инсталляции и функциональность
Deckhouse Stronghold поставляется в двух вариантах: в формате отдельной инсталляции (Standalone) или как хранилище секретов, развёрнутое в кластере Deckhouse Kubernetes Platform (High Availability).
Standalone
В этом варианте решение доставляется как бинарный файл или образ контейнера и выполняет базовые функции защищённого хранилища секретов.
High Availability
В этом варианте продукт разворачивается в кластере Deckhouse Kubernetes Platform (DKP) и предоставляет широкие функциональные возможности.
- Защищённое хранилище секретов. Секреты хранятся как key-value и шифруются как в состоянии покоя, так и при передаче данных. Доступ к секретам предоставляется на основе ролей (RBAC), что позволяет контролировать, кто и какие секреты может читать или изменять. Все действия, связанные с доступом и изменением секретов, логируются, что позволяет проводить аудит и обеспечивать дополнительный уровень безопасности.
- Отказоустойчивость и доступность. Решение может быть настроено в режиме кластера с несколькими узлами — это обеспечивает механизмы автоматического переключения при отказе одного из узлов.
- Балансировка. Равномерное распределение запросов между различными узлами кластера позволяет поддерживать высокую производительность системы, обеспечивая быстрый доступ к секретам, и предотвращает перегрузку отдельных узлов. Балансировка нагрузки помогает поддерживать доступность сервиса даже при увеличении числа запросов или при временных отказах отдельных узлов.
- Быстрое развёртывание. Deckhouse Stronghold бесшовно разворачивается в DKP за «пару кликов» и позволяет эффективно и безопасно организовать управление секретами из защищённого контура без привлечения специально обученных сотрудников.
- Мониторинг. Deckhouse Stronghold включает набор инструментов для мониторинга состояния системы и отслеживания активности. Поддержка экспорта метрик в системы мониторинга (например, Prometheus и Grafana) позволяет отслеживать производительность и состояние инфраструктуры в реальном времени, обеспечивая прозрачность и возможность быстрого реагирования на инциденты.
- Техническая поддержка. Два уровня поддержки (8/5, 24/7) позволяют получать консультации и помощь от экспертов Deckhouse в решении даже самых сложных технических проблем и оптимизации использования продукта.
Таким образом, в составе DKP решение обеспечивает консолидированное и безопасное управление секретами, а также лёгкость и прозрачность работы.
Сценарии использования
Мы выделяем пять основных сценариев использования Deckhouse Stronghold, которые могут использовать как команды DevOps/DevSecOps и сотрудники подразделений ИБ, так и разработчики.
Аутентификация и авторизация
- Интеграция с существующими системами аутентификации, такими как LDAP, Active Directory, GitHub, Okta и Kubernetes.
- Настройка политик доступа, чтобы контролировать — кто и к каким секретам может получить доступ.
Для кого полезно: команды DevOps и DevSecOps, сотрудники подразделений ИБ.
Секреты для DevOps и CI/CD
- Управление секретами и учётными данными для Jenkins, GitLab CI, CircleCI и других CI/CD-инструментов.
- Автоматическое обновление секретов и учётных данных в процессе развёртывания приложений.
Для кого полезно: команды DevOps и DevSecOps, сотрудники подразделений ИБ.
Безопасное хранение сертификатов и ключей
- Автоматическая выдача и управление SSL/TLS-сертификатами для внутреннего и внешнего использования.
- Хранение и управление ключами SSH для безопасного доступа к серверам.
Для кого полезно: команды DevOps и DevSecOps, сотрудники подразделений ИБ, разработчики.
Хранение секретов
- Приложения получают доступ к секретам через API, нет необходимости хранить их в коде или конфигурационных файлах.
- Для взаимодействия с внешними сервисами, такими как AWS, Azure и GCP, используется автоматическая ротация ключей API.
Для кого полезно: команды DevOps и DevSecOps, сотрудники подразделений ИБ, разработчики.
Управление учётными данными для БД
- Создание временных учётных данных для доступа разработчиков и приложений к базам данных PostgreSQL, MySQL и MongoDB.
- Автоматическое обновление (ротация) учётных данных для снижения риска их компрометации.
Для кого полезно: команды DevOps и DevSecOps, сотрудники подразделений ИБ, разработчики.
Принцип работы
Рассмотрим подробнее, как организован процесс доступа и управления данными в Deckhouse Stronghold.
Администратор с правами на управление начинает процесс, запрашивая доступ к данным через систему аутентификации. Получив запрос, Stronghold анализирует его и принимает решение о подтверждении или отклонении. По завершении аутентификации администратор получает возможность настроить политики доступа для пользователей, включая права на запись, чтение, изменение и другие операции.
После настройки политик пользователи могут получить доступ к данным также через систему аутентификации.
Когда приложению, запущенному в кластере Kubernetes, нужен доступ к секретам, оно аутентифицируется в Stronghold с использованием JWT, который генерируется в сервисном аккаунте соответствующего пода. Stronghold, в свою очередь, предоставляет приложению Token, который необходим для запроса секрета.
Приложение, используя полученный Token, запрашивает необходимый секрет у Stronghold. Если доступ разрешён, операция по чтению секрета будет выполнена. В случае отказа в доступе запрос отклоняется.
Получив секрет, приложение использует его для доступа к внешним ресурсам, обеспечивая таким образом безопасное и управляемое взаимодействие с критически важными данными.
Запрос демо или пробной версии
Если у вас остались вопросы и вы хотите запросить демонстрацию, чтобы больше узнать о Deckhouse Stronghold, — переходите по ссылке.
Оставить запрос на пробную 30-дневную версию продукта вы можете здесь.