Я проверил 48 проверок IAM Pro... Заметка
DEV Community на русском

Я проверил 48 проверок IAM Prowler с помощью созданного мной линтера и обнаружил реальный пробел.

Автор разработал инструмент на Python под названием iam-lint для сканирования документов политик AWS IAM на предмет рисков безопасности. iam-lint выявляет такие проблемы, как действия с подстановочными знаками, ресурсы с подстановочными знаками, неограниченные iam:PassRole и отсутствие условий MFA. Он помечает критические и высокоприоритетные риски, а также риски средней степени, такие как отсутствие требований MFA для конфиденциальных действий. Инструмент предназначен для интеграции в конвейеры CI с кодом выхода, указывающим на соответствие политики. При разработке iam-lint автор сравнил его проверки с Prowler, широко используемым инструментом безопасности облачных вычислений с открытым исходным кодом. Было обнаружено, что Prowler уже охватывал некоторые проверки iam-lint, делая эти конкретные правила избыточными. Однако был выявлен существенный пробел: Prowler не имел проверки политик, которые разрешают конфиденциальные действия без требования условия aws:MultiFactorAuthPresent. Это различие имеет решающее значение, поскольку наличие MFA на уровне учетной записи не гарантирует, что определенные критические действия будут требовать MFA. Автор подал "Запрос на новую проверку" в Prowler для этого выявленного пробела, предложив новую проверку под названием iam_policy_sensitive_actions_require_mfa_condition. Этот процесс подчеркивает ценность тщательного изучения существующих инструментов и внесения вклада в них, а не просто создания изолированных решений. Логика предлагаемой проверки уже реализована и протестирована в iam-lint.