Код-ревью Middle Облако и контейнеры обновлено
Ревью: Terraform для хранилища и сети
Вопрос
Найдите проблемы безопасности в конфигурации Terraform.
resource "aws_s3_bucket" "exports" {
bucket = "acme-customer-exports"
}
resource "aws_s3_bucket_acl" "exports" {
bucket = aws_s3_bucket.exports.id
acl = "public-read"
}
resource "aws_security_group_rule" "db" {
type = "ingress"
from_port = 5432
to_port = 5432
protocol = "tcp"
cidr_blocks = ["0.0.0.0/0"]
security_group_id = aws_security_group.db.id
}
resource "aws_iam_role_policy" "app" {
role = aws_iam_role.app.id
policy = jsonencode({ Statement = [{ Effect = "Allow", Action = "*", Resource = "*" }] })
}
Коротко
Это три самые частые облачные ошибки: публичное хранилище, открытая база и права «на всё». Сканеры IaC (Checkov, tfsec, Trivy) находят их до применения.
Что должен найти ревьюер
- Безопасностьстрока 7Бакет с выгрузками клиентов публичен для чтения. Закрыть, включить блокировку публичного доступа на уровне аккаунта, отдавать файлы подписанными ссылками.
- Безопасностьстрока 1Нет настроек шифрования ключом KMS, версионирования и логирования доступа к бакету.
- Безопасностьстрока 15Порт PostgreSQL открыт всему интернету. Разрешить только подсети приложений.
- Безопасностьстрока 20Политика роли
Action = "*"наResource = "*": права администратора аккаунта у приложения.
Разбор
Это три самые частые облачные ошибки: публичное хранилище, открытая база и права «на всё». Сканеры IaC (Checkov, tfsec, Trivy) находят их до применения.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.