Я хотел бы получить более полное представление о последствиях для безопасности запуска докера в службе докеров внутри Kubernetes.
Моя установка следующая:
Kubernetes pod
+---------------------------------------------+
| Privileged container |
| +---------------+ |
| | Docker Daemon | |
| +-------^-------+ |
| | tcp connection to Docker service |
| +-------+---------+ |
| | Docker compose | |
| +-----------+-----+ |
| | |
| +----+ Compose service 1 |
| | |
| +----+ Compose service 2 |
| |
+---------------------------------------------+
Подводя итог диаграмме:
--privileged
), так что концепция «докер в докере» работает.docker-compose
. Подключение к демону Docker в другом контейнере осуществляется с помощью tcp (предоставляется DOCKER_HOST
переменная среды) 0.0.0.0
. Затем они открываются для более широкого мира.Насколько я понимаю, довольно легко выйти из привилегированных контейнеров докеров и в этом случае получить доступ к базовому узлу Kubernetes.
Я хотел бы получить больше ясности в отношении потенциальных угроз, связанных с этой моделью, и некоторых мер по их устранению (например, запуск контейнера демона Docker в виртуальной машине, такой как контейнеры Kata или аналогичные).