Перейти к содержимому
TelegramGitHub

Fundamentals of Data Engineering, глава 10: Безопасность и приватность

Главная мысль: безопасность это привычка людей, а не набор бумаг. Самое слабое звено это человек. Главная защита приватности: не собирать данные, которые не нужны.

Безопасность по трём уровням: люди, процессы, технологии, и главный риск каждого

Авторы рассматривают безопасность в таком порядке: люди, процессы, технологии.

  • Считайте, что вы всегда цель атаки. Думайте о худших сценариях (negative thinking).
  • Собирайте чувствительные данные только при реальной нужде.
  • Если у вас просят credentials, сомневайтесь. Проверьте запрос у коллег. Звонок дешевле, чем ransomware.
  • Вы первая линия защиты приватности и этики. Если сомневаетесь в том, как обращаются с данными, скажите об этом.
ТемаСуть
Security theater и security habitПолитика на сотни страниц ради аудита (SOC-2, ISO 27001) создаёт иллюзию защиты. Нужны простые правила, которые выполняют каждый день
Active securityИзучайте реальные атаки. Думайте об уязвимостях и мотивах именно вашей организации
Least privilegeДавайте людям и сервисам только нужные права и только на нужное время. Не давайте admin всем
Shared responsibilityОблако защищает дата-центр. Вы отвечаете за свои системы. Большинство утечек из-за ошибок настройки
BackupДелайте резервные копии и проверяйте восстановление. Это защита от ransomware
  • Используйте доступ на уровне колонок, строк и ячеек.
  • Маскируйте PII. Создавайте views только с нужными полями.
  • Редкие данные держите за процессом broken glass. Это экстренное согласование, после работы доступ закрывается сразу.
  • SSO везде и multifactor authentication.
  • Не делиться паролями. Беречься phishing.
  • Старые credentials удалять.
  • Секреты не хранить в коде. Использовать secrets manager.
  • Устройства под управлением (можно стереть удалённо). При screen sharing показывать только нужное окно.
  • Обновлять браузер и ОС. Не ставить beta.
  • Patch и обновления. Устаревшее ПО уязвимо. Managed сервисы обновляются сами. Свой код и зависимости обновляйте автоматически или по alerts.
  • Encryption at rest. Full-disk на ноутбуках, server-side в хранилищах, шифрование backups.
  • Encryption in transit. HTTPS по умолчанию. Избегайте FTP. Следите за ключами. Шифрование не поможет, если bucket открыт всем.
  • Network access. Не открывайте S3 bucket, SSH на 0.0.0.0/0 или базу всему интернету. Знайте, какие порты открыты, для кого и зачем. Разрешайте только нужные IP.
  • Zero trust и perimeter. Облако ближе к zero trust: каждое действие требует аутентификации. Air-gapped серверы это жёсткий периметр, но и они уязвимы из-за людей.
  • Low-level engineering. Любая библиотека и даже CPU могут быть уязвимостью.
  • Internal security research. Каждый инженер знает свои системы лучше всех и должен искать в них слабые места.

Четыре области мониторинга безопасности: access, resources, billing, excess permissions

  • Access: кто, что, когда и откуда.
  • Resources: CPU, память, диск и I/O.
  • Billing: резкий рост счёта может означать чужое использование ресурсов.
  • Excess permissions: убирайте права, которыми не пользуются.
  • Нужен общий dashboard и план реакции на инциденты, который регулярно репетируют.
Термин (EN)Что значит
Security theaterФормальное соблюдение требований без реальной защиты
Active securityАктивный поиск угроз под вашу организацию
Least privilegeМинимум прав, только когда нужно
Shared responsibilityОблако и клиент делят ответственность за безопасность
Broken glassЭкстренный доступ с согласованием и сроком
PIIПерсональные данные
Zero trustКаждый запрос проверяется, нет доверия по умолчанию
Air gapПолная изоляция от сетей
Secrets managerСервис для безопасного хранения секретов
  • Перед приёмом данных спросите: нужно ли это поле. Если нет, не собирайте.
  • Выдавайте IAM roles по задаче и на срок. Проверяйте права регулярно.
  • Секреты только в secrets manager. Никогда в git.
  • Проверьте публичные buckets, открытые порты и 0.0.0.0/0.
  • Настройте alerts по доступу и по расходам.
  • Раз в период проверяйте восстановление из backup.
  1. Чем security theater отличается от security habit?
  2. Что такое least privilege и как применять его к сервисным аккаунтам?
  3. Почему шифрование не решает проблему открытого bucket?
  4. Какие четыре области нужно мониторить?

Предыдущая: Выдача данных. Следующая: Будущее профессии.