System Design Space

    Глава 170

    Обновлено: 9 февраля 2026 г. в 20:31

    Building Secure and Reliable Systems (short summary)

    Прогресс части0/12

    Официальный сайт

    Бесплатная версия

    Книга доступна бесплатно на сайте 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 — переводПеревод

    «Building Secure and Reliable Systems» — это книга от команды Google, которая объединяет практики безопасности (Security) и надёжности (Reliability) в единый подход. Авторы показывают, что эти дисциплины не противоречат друг другу, а усиливают систему при правильном применении.

    Структура книги

    Part I

    Introduction

    Пересечение security и reliability, роль культуры, adversarial thinking.

    Part II

    Designing Systems

    Принципы проектирования, least privilege, defense in depth, secure by default.

    Part III

    Implementing Systems

    Безопасный код, тестирование, code review, dependency management.

    Part IV

    Maintaining Systems

    Incident response, recovery, постмортемы, continuous improvement.

    Part V

    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

    Service A
    Client
    Service B
    Resource
    Identity
    SPIRE / CA
    Policy
    OPA / Cedar
    Request allowed
    Проверка прошла, доступ выданПолитика отклонила запросmTLS + identity + policy

    Secure Development Lifecycle

    Security на каждом этапе

    ЭтапSecurity ActivitiesИнструменты
    DesignThreat modeling, security reviewSTRIDE, Attack trees
    CodeSecure coding, SASTSemgrep, CodeQL
    BuildDependency scanning, SBOMSnyk, Dependabot
    TestDAST, fuzzing, pen testingOWASP ZAP, Burp Suite
    DeployContainer scanning, IaC securityTrivy, Checkov
    OperateMonitoring, incident responseSIEM, 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

    1

    Detection

    Мониторинг, алерты, anomaly detection. Время обнаружения (MTTD) — критическая метрика.

    2

    Triage

    Оценка severity, scope, impact. Определение команды реагирования.

    3

    Containment

    Изоляция affected систем, блокировка вредоносного трафика, revoke compromised credentials.

    4

    Eradication

    Устранение root cause, патчинг уязвимостей, удаление malware.

    5

    Recovery

    Восстановление сервисов, верификация integrity, мониторинг повторных атак.

    6

    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 BookReliability, SLO/SLIБазовые практики надёжности
    Release It!Stability patternsПаттерны устойчивости
    DDIADistributed systemsТеория распределённых систем
    This BookSecurity + 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 — фокус на улучшении системы, а не на наказании

    Где найти книгу