Официальный сайт
Бесплатная версия
Книга доступна бесплатно на сайте Google SRE.
Building Secure and Reliable Systems (Безопасные и надежные системы: Лучшие практики проектирования, внедрения и обслуживания как в Google)
Авторы: Heather Adkins, Betsy Beyer, Paul Blankinship, Piotr Lewandowski, Ana Oprea, Adam Stubblefield
Издательство: O'Reilly Media, Inc.
Объём: 555 страниц
Практики Google: Zero Trust, defense in depth, secure SDLC, incident response и культура безопасности.
Оригинал
Перевод«Building Secure and Reliable Systems» — это книга от команды Google, которая объединяет практики безопасности (Security) и надёжности (Reliability) в единый подход. Авторы показывают, что эти дисциплины не противоречат друг другу, а усиливают систему при правильном применении.
Структура книги
Introduction
Пересечение security и reliability, роль культуры, adversarial thinking.
Designing Systems
Принципы проектирования, least privilege, defense in depth, secure by default.
Implementing Systems
Безопасный код, тестирование, code review, dependency management.
Maintaining Systems
Incident response, recovery, постмортемы, continuous improvement.
Organization and Culture
Построение команд, культура безопасности, обучение и awareness.
Security + Reliability: Общий подход
Связь
SRE Book
Базовые практики SRE: SLO, error budgets, toil reduction.
Почему Security и Reliability связаны?
Общие цели:
- Защита системы от сбоев (внутренних и внешних)
- Минимизация blast radius инцидентов
- Быстрое обнаружение и реагирование
- Восстановление после сбоев
Общие практики:
- Defense in depth
- Least privilege
- Мониторинг и алертинг
- Incident response playbooks
Ключевой инсайт
"Security and reliability failures often look similar from a systems perspective: both result in unavailable or degraded systems, data loss, and loss of user trust."
Принципы безопасного проектирования
Least Privilege
Минимальные необходимые права для выполнения задачи. Применяется на всех уровнях: пользователи, сервисы, процессы, сетевые политики.
Примеры:
- Service accounts с минимальными IAM ролями
- Network policies: deny-all по умолчанию
- Temporary credentials вместо long-lived keys
- Just-in-time access для privileged операций
Defense in Depth
Многоуровневая защита: если один слой пробит, следующий остановит атаку.
Perimeter
WAF, DDoS protection, rate limiting
Application
Input validation, AuthN/AuthZ, encryption
Data
Encryption at rest, access logging, backups
Secure by Default
Безопасная конфигурация "из коробки". Пользователь должен явно ослаблять защиту, а не включать её.
❌ Плохо:
- Публичные S3 buckets по умолчанию
- Открытые порты 0.0.0.0/0
- Weak password policies
✓ Хорошо:
- Private buckets, explicit public access
- Deny-all network policies
- MFA required, strong passwords
Fail Securely
При сбоях система должна переходить в безопасное состояние, а не открытое.
// ❌ Fail open (небезопасно)
if (authService.isDown()) {
return allowAccess(); // Пропускаем всех при сбое auth
}
// ✓ Fail closed (безопасно)
if (authService.isDown()) {
return denyAccess(); // Блокируем при сбое auth
// + алерт для on-call
}Zero Trust Architecture
Принципы Zero Trust
"Never trust, always verify" — даже внутренний трафик должен быть аутентифицирован и авторизован.
1. Verify explicitly
Аутентификация и авторизация каждого запроса на основе всех доступных данных: identity, location, device, service, data classification.
2. Use least privilege access
Just-in-time и just-enough access. Временные credentials, risk-based adaptive policies.
3. Assume breach
Минимизация blast radius через сегментацию, end-to-end encryption, continuous monitoring.
Service-to-Service Authentication
Secure Development Lifecycle
Security на каждом этапе
| Этап | Security Activities | Инструменты |
|---|---|---|
| Design | Threat modeling, security review | STRIDE, Attack trees |
| Code | Secure coding, SAST | Semgrep, CodeQL |
| Build | Dependency scanning, SBOM | Snyk, Dependabot |
| Test | DAST, fuzzing, pen testing | OWASP ZAP, Burp Suite |
| Deploy | Container scanning, IaC security | Trivy, Checkov |
| Operate | Monitoring, incident response | SIEM, SOAR |
Threat Modeling
Систематический анализ угроз на этапе проектирования.
STRIDE Framework:
- Spoofing — подмена identity
- Tampering — изменение данных
- Repudiation — отрицание действий
- Information disclosure — утечка данных
- Denial of service — отказ в обслуживании
- Elevation of privilege — повышение привилегий
Supply Chain Security
Защита от атак через зависимости и build pipeline.
Практики:
- SBOM (Software Bill of Materials)
- Signed artifacts и verified builds
- Dependency pinning и lock files
- Private artifact registries
- SLSA framework compliance
Incident Response
Связь
Release It!
Паттерны устойчивости: Circuit Breaker, Bulkhead, Timeouts.
Security Incident Lifecycle
Detection
Мониторинг, алерты, anomaly detection. Время обнаружения (MTTD) — критическая метрика.
Triage
Оценка severity, scope, impact. Определение команды реагирования.
Containment
Изоляция affected систем, блокировка вредоносного трафика, revoke compromised credentials.
Eradication
Устранение root cause, патчинг уязвимостей, удаление malware.
Recovery
Восстановление сервисов, верификация integrity, мониторинг повторных атак.
Post-Incident Review
Blameless postmortem, lessons learned, улучшение процессов.
Культура безопасности
Security Champions
Выделенные представители в каждой команде, которые продвигают security practices.
- Проводят security review кода команды
- Участвуют в threat modeling
- Обучают коллег best practices
- Связь между командой и security team
Blameless Culture
Фокус на улучшении системы, а не на наказании людей за ошибки.
- Поощрение reporting уязвимостей
- Postmortems без обвинений
- Прозрачность инцидентов
- Continuous improvement mindset
Сравнение с другими книгами
| Книга | Фокус | Связь |
|---|---|---|
| SRE Book | Reliability, SLO/SLI | Базовые практики надёжности |
| Release It! | Stability patterns | Паттерны устойчивости |
| DDIA | Distributed systems | Теория распределённых систем |
| This Book | Security + Reliability | Интеграция обеих практик |
Применение на System Design Interview
Практика
API Gateway
Реализация authentication и authorization на уровне gateway.
1. Authentication & Authorization
Упоминайте Zero Trust, mTLS между сервисами, JWT/OAuth для пользователей, RBAC/ABAC для authorization.
2. Data Protection
Encryption at rest и in transit, key management (KMS), data classification, PII handling.
3. Blast Radius Reduction
Микросервисная изоляция, network segmentation, failure domains, rate limiting.
4. Observability
Security logging, audit trails, anomaly detection, distributed tracing для forensics.
Ключевые выводы
- ✓Security и Reliability усиливают друг друга — общие практики: defense in depth, least privilege, fail-safe
- ✓Zero Trust — never trust, always verify, даже для внутреннего трафика
- ✓Secure by Default — безопасная конфигурация из коробки, явное ослабление
- ✓Shift Left Security — интеграция безопасности на ранних этапах разработки
- ✓Blameless Culture — фокус на улучшении системы, а не на наказании
