Сегодня мы рассмотрим одну из популярнейших проблем при использовании политик от
Policy Engine, что наша команда встречаем на своем опыте во время аудитов и пентестов Kubernetes кластеров.Речь пойдет о политике, отвечающей за проверку разрешенных
image registry. В OPA Gatekeeper обычно она базируется на ConstraintTemplate под названием K8sAllowedRepos, а в Kyverno на базе restrict-image-registries или advanced-restrict-image-registries (о них я писал тут).Если вы не догадались, то проблема на скриншотах заключается в том, что в путях имен
image registry отсутствует символ "/", без него данные политики достаточно просто обходить, подняв у себя домен желаемый_путь.evil.domen.com. Данные проверки обычно работают на базе инструкций startWith(), contains() и наш вредоносный домен будет удовлетворять данным требованиям ;)Печально что эти примеры политик широко распространены в интернете и многие их бездумно копируют к себе. Будьте аккуратнее копируя из интернета =)
