Облачные вычисления
Compliance и аудит в облаке
В 2019 году Capital One потеряла данные 100 миллионов клиентов. Причина: misconfigured WAF + избыточные IAM permissions. CloudTrail записал всё - каждый API-вызов злоумышленника. Но никто не настроил алерты. Compliance - это не про бумаги. Это про автоматизированный контроль до и после.
- Netflix управляет тысячами AWS аккаунтов через Landing Zone - каждая команда получает изолированный аккаунт с guardrails, но без бюрократии
- Airbnb прошла SOC 2 Type II audit за 3 месяца благодаря Conformance Pack с готовыми Config Rules для каждого требования
- Goldman Sachs использует AWS Control Tower для автоматического provisioning новых аккаунтов для каждого проекта - от заявки до готового окружения 15 минут
AWS CloudTrail: каждое действие под запись
2012 год. Amazon запускает CloudTrail. Идея проста: каждый API-вызов в AWS - событие. Кто создал EC2, кто изменил Security Group, кто вошёл в консоль. Всё пишется в S3. Это стало фундаментом compliance в облаке.
CloudTrail event состоит из: `eventTime`, `userIdentity` (кто), `eventName` (что), `requestParameters` (с какими параметрами), `sourceIPAddress`, `awsRegion`. JSON-структура весом около 2KB на событие. Средний production AWS аккаунт генерирует 10-50 GB CloudTrail-логов в день.
Анализ CloudTrail в продакшне - это Athena + S3. Запрос "кто удалил RDS инстанс за последние 30 дней" занимает 3-5 секунд на петабайте логов. SIEM-системы (Splunk, Elastic Security, Datadog) коннектятся к CloudTrail через Kinesis Firehose для real-time alerting.
Management Events vs Data Events. Management: создание/удаление ресурсов - бесплатно первая копия. Data Events: S3 GetObject, PutObject, Lambda Invoke - платные и генерируют в 100x больше данных. Включать Data Events только для критичных бакетов.
CloudTrail записывает события в...
AWS Config: дрейф конфигурации под контролем
CloudTrail отвечает на вопрос 'кто это сделал'. AWS Config отвечает на 'что изменилось и соответствует ли это правилам'. Config непрерывно записывает состояние каждого AWS-ресурса и оценивает его по managed или custom rules.
Config Rule - это Lambda-функция или managed check. Managed rules написаны AWS: `encrypted-volumes`, `s3-bucket-public-read-prohibited`, `rds-instance-deletion-protection-enabled`. Более 200 managed rules из коробки. Custom rules пишутся на Python/Node.js и могут проверять любую бизнес-логику.
Config Timeline - хронология изменений ресурса с момента включения. Видно каждое изменение security group, каждую смену AMI у Launch Template, каждый update тега. Для compliance-аудитора это золото: можно восстановить состояние любого ресурса на любой момент времени за последние 90 дней (по умолчанию).
Conformance Pack - набор Config Rules + remediation actions, упакованный в YAML. AWS публикует готовые паки для SOC2, PCI-DSS, HIPAA, NIST. Развёртывается одной командой на все аккаунты через AWS Organizations.
Чем AWS Config отличается от CloudTrail?
Guardrails: preventive vs detective controls
Guardrail - это политика безопасности, применённая к организации или OU (Organizational Unit). Два типа: preventive (запрещают действие до его совершения) и detective (обнаруживают нарушение после).
Service Control Policies (SCP) - это preventive guardrails на уровне AWS Organizations. SCP не дают разрешений - они ограничивают максимально возможные разрешения в аккаунте. Даже root user в аккаунте не может обойти SCP родительского OU. Примеры: запрет выхода из региона, запрет отключения CloudTrail, запрет публичных AMI.
Auto-remediation через Systems Manager Automation: когда Config Rule находит нарушение, запускает SSM Document. Пример: обнаружили незашифрованный EBS - автоматически создаём зашифрованный снапшот и заменяем том. Без участия человека, но с нотификацией в Slack.
Service Control Policies (SCP) работают как...
Landing Zone: multi-account structure
Landing Zone - архитектурный паттерн для enterprise AWS. Не один аккаунт, а иерархия: Management Account -> Security OU -> Production OU -> Dev OU. Каждый workload в своём аккаунте - изоляция на уровне billing, network blast radius, IAM.
AWS Control Tower - managed service для автоматизации Landing Zone. Развёртывает структуру аккаунтов, настраивает CloudTrail, Config, guardrails за несколько часов вместо нескольких недель ручной работы. 65+ preventive и 25+ detective guardrails из коробки.
Security Hub - центральная панель compliance. Агрегирует findings из GuardDuty (threat detection), Macie (sensitive data), Inspector (vulnerability scanning), Config (compliance). Один дашборд, все аккаунты. Интеграция с Jira и PagerDuty для тикетов.
Один AWS аккаунт с правильными IAM-политиками достаточно для enterprise compliance
Multi-account изоляция - стандарт AWS Well-Architected и требование большинства compliance фреймворков
В одном аккаунте ошибка IAM-политики или компрометация дает доступ ко всему. Отдельные аккаунты изолируют blast radius: инцидент в dev не затрагивает production, billing раздельный, сети не пересекаются без явной настройки
Зачем держать Log Archive Account отдельным от Production?
Связанные темы
Compliance интегрируется с IAM, мониторингом и архитектурными фреймворками:
- Well-Architected Framework — Security pillar - часть WAF
- Observability — Аудит - специфика observability для compliance
Ключевые идеи
- CloudTrail - API audit log, кто и что делал. Athena для анализа, SIEM для real-time alerting
- AWS Config - состояние ресурсов и compliance rules. 200+ managed rules для стандартных требований
- Guardrails: SCP (preventive, до действия) + Config Rules (detective, после факта) + auto-remediation
- Landing Zone: multi-account структура с отдельными Log Archive и Security Tooling аккаунтами
Вопросы для размышления
- Как выбрать между preventive и detective guardrail для конкретного требования?
- Когда auto-remediation опасна и лучше остановиться на alerting?
- Как обеспечить compliance в Sandbox-аккаунтах, не блокируя эксперименты разработчиков?
Связанные уроки
- cloud-14 — IAM и политики - фундамент compliance
- cloud-16 — Well-Architected Framework включает Security pillar
- devops-16 — Prometheus/Grafana - мониторинг рядом с compliance
- bt-26-observability — Observability в приложениях - тот же принцип audit
- devops-13