Пенетрационный тестер получил доступ root к нашему кластеру Kubernetes за 15 минут. Вот что они использовали. Цепочка атаки: - Обнаружен открытый дашборд Kubernetes (наша ошибка) - Дашборд имел учетную запись сервиса только для чтения (мы думали, что это безопасно) - Учетная запись сервиса могла перечислять секреты во всех пространствах имен - Найдены учетные данные AWS в секрете - Использованы учетные данные AWS для доступа к профилю экземпляра EC2 - Профиль экземпляра имел полный доступ администратора Kubernetes через IAM - Использован kubectl для создания привилегированного пода - Удаление на узел - Доступ root ко всему кластеру Что мы думали, что сделали правильно: - Дашборд был только для чтения - Секреты были зашифрованы в состоянии покоя - Сетевые политики были на месте - Регулярные обновления безопасности Что мы упустили: - Дашборд не должен быть открыт вообще - Учетные записи сервиса должны следовать принципу наименьших привилегий - Секреты не должны содержать учетные данные AWS (используйте IRSA вместо этого) - Политики безопасности подов не были применены - Доступ к узлу не был защищен Исправление заняло 2 недели: - Полностью удален дашборд Kubernetes - Реализован IRSA для всего доступа AWS подов - Применены строгие PSP/Стандарты безопасности подов...