tgoop.com/softwareengineervlog/2301
Last Update:
🚨 Ваш Kubernetes небезопасен: 3 ошибки, которые делают все (и как их исправить за 5 минут)
Люблю Docker, K8s и кликбейтные заголовки. Но если серьёзно, то ошибок при конфигурировании кубера можно сделать очень много.
Сейчас многие играют с облаками (и я в том числе) в моей конфигурации опытный девопс сходу нашел 3 ошибки, из-за которых кластеры взламывают, майнят крипту или просто случайно роняют продакшен.
🔴 Ошибка 1: default
namespace — мусорка, которая сожжёт вам всё
- Проблема: запустил поды в default
, забыв про изоляцию.
- Чем опасно: Взлом одного сервиса = доступ ко всем.
- Как исправить: kubectl create namespace my-app
kubectl config set-context --current --namespace=my-app
🔴 Ошибка 2: ServiceAccount с правами бога
- Проблема: сервисный аккаунт default:default
имеет права cluster-admin (да, было лень разбираться с правами).
- Чем опасно: Злоумышленник → получил токен → полный контроль над кластером.
- Как исправить:
kubectl create rolebinding restricted-view \
--clusterrole=view \
--serviceaccount=default:default \
--namespace=default
🔴 Ошибка 3: Не включён PodSecurityPolicy (или его аналоги)
- Проблема: Поды могут запускаться от root, монтировать /etc
и делать другие жуткие вещи.
- Чем опасно: Escalation privileges → хостовая система под ударом.
- Как исправить:
# Для новых версий K8s (PSP deprecated, но есть замены):
kubectl label ns my-app pod-security.kubernetes.io/enforce=restricted
💥 Бонус: Если ваш кластер уже живёт с этим годами — проверьте его :
kubectl get pods --all-namespaces -o json | grep "serviceAccount: default"
Есть и другие ошибки, которые я сделал, если тема интересна, то напишите в комментариях пользуетесь ли k8s для своих проектов, что предпочитаете manages cluster или колхоз а-ля minicube?
BY S0ER
Share with your friend now:
tgoop.com/softwareengineervlog/2301