Автоматически обнаруживать и классифицировать конфиденциальные данные (PII, PHI, финансовые) во всех бакетах S3.
→Включить Amazon Macie и настроить автоматические задания по обнаружению конфиденциальных данных. Использовать управляемые идентификаторы данных для распространенных типов данных и создавать пользовательские идентификаторы данных для проприетарных форматов.
Почему: Macie предоставляет управляемое, масштабируемое решение для классификации данных S3. Чтобы подавлять обнаружения для известных нечувствительных данных (например, тестовых данных), используйте списки разрешений Macie.
Применить несколько элементов управления безопасностью к бакету S3, например, требовать SSE-KMS с определенным ключом и запрещать HTTP-запросы.
→Использовать политику бакета с несколькими операторами `Deny` и ключами условий: `aws:SecureTransport: false`, `s3:x-amz-server-side-encryption: "aws:kms"`, и `s3:x-amz-server-side-encryption-aws-kms-key-id: "key-arn"`.
Почему: Политики бакета обеспечивают детальный контроль на уровне ресурсов. Использование нескольких ключей условий в операторах Deny является стандартным способом обеспечения многоуровневой безопасности для бакета.
Гарантировать, что все новые тома EBS зашифрованы определенным управляемым клиентом ключом KMS, в масштабах всей организации.
→Включить шифрование EBS по умолчанию в настройках учетной записи для каждого региона, указав CMK. Применить SCP, который запрещает `ec2:CreateVolume`, если параметр `encrypted` имеет значение `false`, в качестве превентивной меры.
Почему: Настройка по умолчанию обеспечивает удобство, а SCP предоставляет жесткую превентивную меру, создавая многоуровневый подход к шифрованию неактивных данных для EBS.
Шифровать большие объекты данных (> 4 КБ) с использованием AWS KMS.
→Использовать конвертное шифрование. Вызвать `KMS:GenerateDataKey` для получения ключа данных в открытом виде и зашифрованного ключа данных. Использовать ключ в открытом виде для локального шифрования большого объекта. Хранить зашифрованный объект и зашифрованный ключ данных вместе. Отбросить ключ в открытом виде.
Почему: API KMS Encrypt имеет ограничение в 4 КБ. Конвертное шифрование позволяет шифровать данные любого размера, при этом небольшой ключ данных защищен KMS, что снижает затраты и задержку по сравнению с потоковой передачей данных через KMS.
Источник↗
Использовать один и тот же ключ шифрования в нескольких регионах AWS для аварийного восстановления или обеспечения глобальной согласованности приложений.
→Создать первичный ключ KMS с поддержкой нескольких регионов в одном регионе и создать ключи-реплики в других регионах. Данные, зашифрованные ключом в одном регионе, могут быть расшифрованы репликой в другом.
Почему: Мультирегиональные ключи используют один и тот же материал ключа и идентификатор ключа, что обеспечивает переносимость данных между регионами без вызовов API между регионами для расшифровки.
Безопасно хранить и автоматически ротировать учетные данные (например, пароли баз данных, API ключи), используемые приложениями.
→Хранить учетные данные в AWS Secrets Manager. Настроить автоматическую ротацию с использованием пользовательской или предоставленной AWS функции ротации Lambda. Приложения извлекают секреты во время выполнения через роль IAM.
Почему: Secrets Manager — это специально разработанный сервис для всего жизненного цикла секретов, включая безопасное хранение, контроль доступа, аудит и автоматическую ротацию, что снижает риск использования жестко закодированных или устаревших учетных данных.
Управлять как публичными TLS-сертификатами для веб-сайтов, так и частными сертификатами для внутренней коммуникации микросервисов (mTLS).
→Использовать AWS Certificate Manager (ACM) для бесплатных публичных сертификатов, интегрированных с ELB/CloudFront. Создать частный центр сертификации с помощью ACM Private CA для выдачи и управления частными сертификатами для внутренних сервисов.
Почему: Это разделяет публичную и частную PKI, используя подходящий инструмент для каждого случая. ACM управляет жизненным циклом публичных сертификатов, а ACM Private CA предоставляет полностью управляемую иерархию частной PKI.
Хранить данные неизменяемо в течение фиксированного периода хранения, когда даже root-пользователь не может их удалить.
→Включить S3 Object Lock в бакете. Установить для объектов период хранения в режиме Compliance Mode.
Почему: Compliance Mode — это самый строгий контроль WORM (Write-Once-Read-Many), предотвращающий удаление любым пользователем. Режим Governance может быть обойден авторизованными субъектами.
Защитить резервные копии от удаления (например, из-за программ-вымогателей или скомпрометированных учетных данных) на обязательный период хранения.
→Включить AWS Backup Vault Lock в режиме Compliance Mode с минимальным сроком хранения.
Почему: Vault Lock в режиме Compliance Mode делает хранилище резервных копий совместимым с WORM, предотвращая удаление точек восстановления любым пользователем, включая root, до истечения срока хранения.
Обрабатывать высокочувствительные данные, когда данные никогда не должны быть доступны операционной системе, гипервизору или операторам AWS.
→Использовать AWS Nitro Enclaves для создания криптографически изолированной вычислительной среды. Использовать аттестацию KMS, чтобы гарантировать, что только проверенные анклавы могут расшифровывать данные.
Почему: Nitro Enclaves обеспечивают самый высокий уровень защиты данных в использовании на AWS, используя аттестацию на аппаратном уровне для создания доверенной среды выполнения.
Использовать сервисы AWS с ключами шифрования, которые физически хранятся и управляются в локальном HSM, вне AWS.
→Настроить KMS External Key Store (XKS), который проксирует криптографические операции из KMS во внешний менеджер ключей.
Почему: XKS позволяет клиентам сохранять контроль над своим ключевым материалом за пределами AWS для удовлетворения требований суверенитета или соответствия, при этом интегрируясь с сервисами AWS, поддерживающими KMS.
Обеспечить строгое применение политики "нет публичных бакетов S3" по всей организации с превентивными и детективными мерами контроля.
→Включить S3 Block Public Access на уровне организации из управляющей учетной записи. Дополнить SCP, который запрещает действия типа `s3:PutBucketPolicy`, если политика разрешает публичный доступ. Использовать AWS Config для обнаружения отклонений.
Почему: Этот многоуровневый подход обеспечивает блокировку по умолчанию (настройка организации), превентивную защиту, предотвращающую неправильные конфигурации (SCP), и детективную меру контроля для непрерывного мониторинга (Config).