Kubernetes ValidatingWebhookConfiguration
Автором цієї сторінки є Guillaume
Визначення
ValidatingWebhookConfiguration - це ресурс Kubernetes, який визначає валідаційний вебхук, що є компонентом на стороні сервера, який перевіряє вхідні запити API Kubernetes на відповідність набору попередньо визначених правил і обмежень.
Мета
Мета ValidatingWebhookConfiguration полягає в тому, щоб визначити валідаційний вебхук, який буде забезпечувати дотримання набору попередньо визначених правил і обмежень для вхідних запитів API Kubernetes. Вебхук перевірятиме запити на відповідність правилам і обмеженням, визначеним у конфігурації, і поверне помилку, якщо запит не відповідає правилам.
Приклад
Ось приклад ValidatingWebhookConfiguration:
Основна різниця між ValidatingWebhookConfiguration та політиками :
ValidatingWebhookConfiguration (VWC) : Ресурс Kubernetes, який визначає валідаційний вебхук, що є компонентом на стороні сервера, який перевіряє вхідні запити API Kubernetes на відповідність набору попередньо визначених правил і обмежень.
Kyverno ClusterPolicy: Визначення політики, яке специфікує набір правил і обмежень для валідації та забезпечення ресурсів Kubernetes, таких як поди, деплойменти та сервіси
Enumeration
Зловживання Kyverno та Gatekeeper VWC
Як ми можемо бачити, всі встановлені оператори мають принаймні один ValidatingWebHookConfiguration(VWC).
Kyverno та Gatekeeper є обома механізмами політики Kubernetes, які надають структуру для визначення та впровадження політик у кластері.
Виключення стосуються конкретних правил або умов, які дозволяють обійти або змінити політику за певних обставин, але це не єдиний спосіб!
Для kyverno, оскільки є дійсна політика, вебхук kyverno-resource-validating-webhook-cfg
заповнюється.
Для Gatekeeper є YAML файл gatekeeper-validating-webhook-configuration
.
Обидва мають значення за замовчуванням, але команди адміністраторів можуть оновити ці 2 файли.
Використання
Тепер визначте наступний вихід:
Тут мітка kubernetes.io/metadata.name
відноситься до назви простору імен. Простори імен з назвами в списку values
будуть виключені з політики:
Перевірте наявність просторів імен. Іноді, через автоматизацію або неправильну конфігурацію, деякі простори імен могли не бути створені. Якщо у вас є дозвіл на створення простору імен, ви можете створити простір імен з назвою в списку values
, і політики не будуть застосовуватися до вашого нового простору імен.
Мета цієї атаки полягає в тому, щоб експлуатувати неправильну конфігурацію всередині VWC, щоб обійти обмеження операторів, а потім підвищити свої привілеї за допомогою інших технік.
Abusing Roles/ClusterRoles in KubernetesПосилання
Last updated