🔒 Отключаем анонимный доступ к kube-apiserver, но оставляем health checks! Привет! Недавно ко мне пришел коллега-безопасник (Дима привет!) с интересным вопросом: как полностью отключить анонимный доступ к API-серверу Kubernetes, но оставить рабочими проверки /livez, /readyz и /healthz? 🤔 Сходу не ответил, полез копаться в исходниках и KEPах. Проблема в том, что по умолчанию (`--anonymous-auth=true`) любой может дернуть эндпоинты health-чеков и не только health-чеков: curl -k https://<API_SERVER_IP>:6443/livez # Output: ok Это удобно, но создает потенциальный вектор атаки, если RBAC настроен не идеально или найдется уязвимость. Безопасники такое не любят. 😟 К счастью, в KEP-4633 сообщество Kubernetes предложило решение! Теперь можно тонко настроить, к каким путям разрешен анонимный доступ, даже если глобально он выключен. Сделать это можно так: Сначала выключаем глобальный анонимный доступ в манифесте kube-apiserver: spec: containers: - command: - kube-apiserver # ... другие
🔒 Отключаем анонимный доступ к kube-apiserver, но оставляем health checks
14 апреля 202514 апр 2025
1 мин