Learning Platform
Глоссарий Troubleshooting
Урок 07.01 · 20 мин
Средний
Data SecurityEncryptionThreat Model

Основы безопасности данных

Введение

Безопасность данных — это не отдельная дисциплина, а фундаментальный слой Data Governance. Без надёжной защиты все остальные элементы governance — каталоги, политики качества, compliance-процессы — теряют смысл. Утечка конфиденциальных данных может уничтожить репутацию организации и привести к многомиллионным штрафам.

В этом уроке мы рассмотрим принципы Data Security (безопасность данных), подходы к шифрованию, моделирование угроз и стратегию defence in depth.

Принципы Data Security

Data Security (безопасность данных) охватывает три ключевых области, известных как CIA-триада:

ПринципОписаниеПример нарушения
Confidentiality (конфиденциальность)Данные доступны только авторизованным пользователямУтечка клиентских данных через незащищённый API
Integrity (целостность)Данные не изменены несанкционированноSQL-инъекция, подменяющая записи в БД
Availability (доступность)Данные доступны, когда нужныDDoS-атака на аналитическое хранилище

Каждый элемент governance-программы должен учитывать все три аспекта. Шифрование обеспечивает confidentiality, контрольные суммы — integrity, резервное копирование — availability.

Шифрование данных

Data Encryption (шифрование данных) — преобразование данных в нечитаемый формат с использованием криптографических алгоритмов. Шифрование применяется на двух уровнях:

At Rest (на диске)

Данные шифруются при хранении — на дисках серверов, в бэкапах, в облачных хранилищах.

-- PostgreSQL: field-level encryption с pgcrypto
-- Шифрование PII-столбца email
INSERT INTO customers (email_encrypted)
VALUES (pgp_sym_encrypt('[email protected]', 'encryption_key'));

-- Дешифрование при чтении
SELECT pgp_sym_decrypt(email_encrypted, 'encryption_key')
FROM customers;

Основные подходы:

  • Transparent Data Encryption (TDE) — шифрование на уровне СУБД, прозрачно для приложений
  • Field-level encryption — шифрование отдельных столбцов (PII, финансовые данные)
  • Disk encryption — шифрование всего диска (BitLocker, LUKS)

In Transit (при передаче)

Данные шифруются при передаче между системами — API-вызовы, репликация, ETL.

# TLS 1.3 для PostgreSQL
ssl = on
ssl_cert_file = '/etc/ssl/server.crt'
ssl_key_file = '/etc/ssl/server.key'
ssl_min_protocol_version = 'TLSv1.3'

Key Management (управление ключами) — критически важный процесс: ключи хранятся в Hardware Security Module (HSM) или Key Management Service (KMS), ротируются регулярно, доступ к ним ограничен.

Данные
Шифрование
Шифротекст
Дешифрование
Данные
Проверка знанийKnowledge check
Почему field-level encryption (шифрование на уровне столбцов) предпочтительнее disk encryption для защиты PII в аналитическом хранилище?
ОтветAnswer
Disk encryption защищает данные только от физического доступа к диску (кража сервера, неавторизованный доступ к ЦОД). Но любой авторизованный пользователь СУБД видит данные в открытом виде. Field-level encryption защищает конкретные PII-столбцы: даже пользователь с SELECT-правами видит зашифрованные значения, если у него нет ключа дешифрования. Это принцип defence in depth -- несколько слоёв защиты.

Моделирование угроз

Моделирование угроз (threat modeling) — систематический процесс выявления потенциальных атак и уязвимостей. Для данных используется подход STRIDE:

УгрозаОписаниеПример в контексте данных
SpoofingПодмена идентичностиИспользование чужих учётных данных для доступа к БД
TamperingНесанкционированное изменениеПодмена записей аудит-лога
RepudiationОтрицание действияПользователь отрицает удаление записей (нет audit trail)
Information DisclosureУтечка данныхSQL-инъекция, экспортирующая PII
Denial of ServiceОтказ в обслуживанииПерегрузка аналитического хранилища
Elevation of PrivilegeПовышение привилегийАналитик получает admin-доступ через эксплойт
Внешние угрозы
Внутренние угрозы
Системные угрозы

Сценарий: DataTech Solutions (ДатаТех Солюшенз)

В DataTech обнаружили критическую уязвимость: все 7 сотрудников команды данных используют общие учётные данные для доступа к PostgreSQL. Один аккаунт datauser с паролем, который не менялся 2 года. Последствия:

  • Spoofing: невозможно определить, кто выполнил запрос — все используют одни credentials
  • Repudiation: сотрудник может отрицать удаление записей — нет идентификации
  • Information Disclosure: увольняющийся сотрудник сохраняет доступ — пароль общий
  • Отсутствие audit trail: все действия записываются как datauser

Defence in Depth

Стратегия Defence in Depth (эшелонированная защита) предполагает несколько слоёв безопасности, где каждый слой компенсирует потенциальные слабости других:

СлойМеханизмЧто защищает
СетевойFirewall, VPN, network segmentationПериметр доступа
ИдентификацияSSO, MFA, Identity ManagementАутентификация
АвторизацияRBAC, ABAC, Row-Level SecurityПрава доступа
ДанныеEncryption, masking, tokenizationСодержимое данных
МониторингAudit logging, alerting, SIEMОбнаружение инцидентов

Zero Trust (нулевое доверие) — архитектурный подход, при котором ни один пользователь или система не получает доверие по умолчанию. Каждый запрос аутентифицируется и авторизуется, даже внутри корпоративной сети. Принцип: never trust, always verify.

Проверка знанийKnowledge check
DataTech решает внедрить defence in depth. Первый шаг -- замена общих credentials на индивидуальные аккаунты PostgreSQL. Какие слои defence in depth это затрагивает?
ОтветAnswer
Индивидуальные аккаунты затрагивают три слоя: (1) Идентификация -- каждый пользователь аутентифицируется своими credentials; (2) Авторизация -- теперь можно назначить разные RBAC-роли разным пользователям; (3) Мониторинг -- audit log записывает действия конкретного пользователя, а не анонимного datauser. Один шаг улучшает несколько слоёв -- это ключевое свойство defence in depth.

Итоги

  • CIA-триада (Confidentiality, Integrity, Availability) — фундамент безопасности данных
  • Шифрование at rest и in transit — базовый механизм защиты конфиденциальности
  • Key Management — управление ключами критично: хранить в HSM/KMS, ротировать регулярно
  • Моделирование угроз (STRIDE) — систематический подход к выявлению уязвимостей
  • Defence in depth — несколько слоёв защиты, где каждый компенсирует слабости других
  • Zero Trust — never trust, always verify, даже внутри периметра

В следующем уроке мы рассмотрим RBAC (Role-Based Access Control) — основную модель контроля доступа, и реализуем её в PostgreSQL на примере FinSecure Bank.

Проверьте понимание

Результат: 0 из 0
Аналитический
Вопрос 1 из 4. DataTech Solutions использует общий аккаунт datauser для доступа к PostgreSQL. При моделировании угроз по STRIDE, какая угроза НЕ может быть обнаружена в этой ситуации?

Закончили урок?

Отметьте его как пройденный, чтобы отслеживать свой прогресс

Войдите чтобы оценить урок

Прогресс модуля
0 из 6