Application security: безопасность приложений в Kubernetes | OTUS
⚡ Подписка на курсы OTUS!
Интенсивная прокачка навыков для IT-специалистов!
Подробнее

Курсы

Программирование
Backend-разработчик на PHP
-9%
Алгоритмы и структуры данных
-9%
Team Lead
-6%
Архитектура и шаблоны проектирования Разработчик IoT
-13%
C# Developer. Professional
-9%
HTML/CSS
-11%
C# ASP.NET Core разработчик
-5%
Kotlin Backend Developer
-8%
iOS Developer. Professional
-8%
Java Developer. Professional JavaScript Developer. Professional Базы данных Android Developer. Professional Framework Laravel Cloud Solution Architecture Highload Architect Reverse-Engineering. Professional Vue.js разработчик Agile Project Manager VOIP инженер Scala-разработчик Супер-практикум по использованию и настройке GIT Symfony Framework Java Developer. Basic Unity Game Developer. Professional Супер-интенсив Azure
Инфраструктура
Экспресс-курс «IaC Ansible»
-10%
Administrator Linux.Basic
-10%
Мониторинг и логирование: Zabbix, Prometheus, ELK
-10%
Экспресс-курс «CI/CD или Непрерывная поставка с Docker и Kubernetes»
-30%
Administrator Linux. Professional
-6%
Дизайн сетей ЦОД
-13%
NoSQL Основы Windows Server MS SQL Server Developer Инфраструктурная платформа на основе Kubernetes Cloud Solution Architecture Highload Architect Разработчик голосовых ассистентов и чат-ботов VOIP инженер Супер-практикум по работе с протоколом BGP Супер - интенсив по паттернам проектирования Супер - интенсив по Kubernetes Супер-интенсив "Tarantool"
Специализации Курсы в разработке Подготовительные курсы
+7 499 938-92-02

Application security: безопасность приложений в Kubernetes

В этой статье поговорим о последнем уровне из набора по безопасности Kubernetes. Тут уместно ещё раз вспомнить «первую заповедь» докеровода: «Не храните secrets в докер-файлах». Но даже если мы не храним их в докер-images, мы храним их где-нибудь в Kubernetes, что тоже небезопасно.

1-20219-9e83e3.png

По умолчанию Kubernetes Secrets не шифруются, они просто кодируются, следовательно, любой человек может их прочитать, забрать себе и получить доступ к базе уже со своего компьютера. Но есть и хорошая новость: начиная с релиза 1.13, в Kubernetes стало поддерживаться шифрование secrets в etcd. Но если у вас есть не только Kubernetes, а какое-то ещё решение/приложение то возникает другая проблема: в etcd оно уже не полезет.

Да, у нас есть стандартный инструмент etcd, который: — давно на рынке; — безопасен; — поддерживает Dynamic secrets, о которых можно говорить долго.

Но есть одно но: дружба Vault с Кубером чисто формальная. Главная проблема — автоматизация доставки Vault Secrets в поды (приходится это делать вручную). В принципе, проблема решаема, для чего существуют два паттерна: 1. Sidecar containers. Создаётся Sidecar-контейнер, запускаемый при инициализации подов. Паттерн не очень удобен тем, что нужно для каждого пода писать команды. 2. Custom resource definitions. Создаётся специальный IP-объект Vault Secret, который уже расшифровывается. Фактически, он динамически получает Secret из Vault’а и записывает его в нужные папки в поде.

Вот, в принципе, и всё, осталось предложить вам список ссылок с полезными проектами для интеграции с Vault:

2-20219-9dbd7a.png

Читайте также по этой теме: • Безопасность в Kubernetes. Docker Image Security; • Безопасность в Kubernetes: Host Level Security; • Безопасность в Kubernetes: Container Runtime Security; • Сетевая безопасность в Kubernetes; • Внутренняя безопасность в Kubernetes.

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться