0Pricing
Cyber Security Academy · Урок

Контроль доступа и шифрование

Защищайте данные в состоянии покоя

«Контроль доступа и шифрование» — бесплатный урок Cyber Security Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Cyber Security Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Cyber Security Academy содержит 4 уроков всего.

Защита данных в состоянии покоя

В базах данных хранятся самые ценные данные, поэтому важнее всего два средства защиты: контроль доступа (кто может обращаться к данным) и шифрование (оно делает данные бесполезными в случае кражи).

Вместе они защищают данные как во время работы системы, так и в случае кражи дисков или резервных копий.

Аутентификация и авторизация

Различайте эти два понятия:

  • Аутентификация подтверждает, кто Вы (вход в систему, сертификат, токен IAM).
  • Авторизация определяет, что Вам разрешено делать после установления личности.

Для надежной защиты базы данных нужны оба механизма: проверенные идентификаторы и разрешения с четко ограниченной областью действия.

Принцип минимальных привилегий

Предоставляйте каждой учетной записи только необходимые разрешения и ничего сверх этого. Служба формирования отчетов должна иметь доступ только для чтения, а приложению, записывающему данные, не следует разрешать выполнять DROP для таблиц.

CREATE ROLE report_reader;
GRANT SELECT ON sales.* TO report_reader;
GRANT report_reader TO 'analytics_svc'@'%';

Управление доступом на основе ролей

RBAC объединяет разрешения в роли и назначает роли пользователям. Такой подход лучше масштабируется, чем выдача привилегий каждому пользователю отдельно, и упрощает аудит.

  • Определите роли: read_only, app_writer, dba.
  • Назначьте пользователей ролям.
  • Регулярно проверяйте членство в ролях.

Защита на уровне строк и столбцов

Детализированный контроль ограничивает доступ к данным внутри таблицы.

  • На уровне столбцов: скрывайте столбцы с зарплатой или SSN от некоторых ролей.
  • Защита на уровне строк (RLS): клиент видит только собственные строки.
-- PostgreSQL row-level security
ALTER TABLE orders ENABLE ROW LEVEL SECURITY;
CREATE POLICY tenant_isolation ON orders
  USING (tenant_id = current_setting('app.tenant')::int);

Шифрование данных в состоянии покоя

Шифрование данных в состоянии покоя защищает данные на диске. Если кто-то украдет диск или резервный файл, его содержимое будет невозможно прочитать без ключа.

Возможные варианты: полнодисковое шифрование, шифрование файловой системы и встроенное в базу данных прозрачное шифрование данных (TDE).

Прозрачное шифрование данных

TDE автоматически шифрует файлы базы данных. Приложениям не требуются изменения: механизм шифрует данные при записи и расшифровывает при чтении. Это защищает от кражи файлов, но не от злоумышленника, у которого уже есть действующий сеанс работы с БД.

-- SQL Server example concept
CREATE DATABASE ENCRYPTION KEY
  WITH ALGORITHM = AES_256
  ENCRYPTION BY SERVER CERTIFICATE tde_cert;
ALTER DATABASE appdb SET ENCRYPTION ON;

Шифрование на уровне столбцов

Особенно чувствительные поля (номера карт, медицинские данные) следует шифровать на уровне отдельных столбцов. Открытый текст никогда не хранится в базе данных, даже если доступ к ней есть у DBA.

Компромисс: зашифрованные столбцы сложно индексировать и искать по ним, поэтому применяйте этот подход выборочно.

Шифрование при передаче

Данные также необходимо защищать во время передачи по сети. Требуйте TLS для всех соединений между клиентами и базой данных, чтобы учетные данные и наборы результатов нельзя было перехватить.

-- PostgreSQL: force SSL in pg_hba.conf
hostssl  appdb  webapp  0.0.0.0/0  scram-sha-256
-- reject non-TLS:
hostnossl appdb all 0.0.0.0/0 reject

Управление ключами

Надежность шифрования зависит от того, как Вы обращаетесь с ключами. Никогда не храните ключи рядом с данными, которые они защищают.

  • Используйте службу управления ключами (KMS) или HSM.
  • Регулярно меняйте ключи.
  • Разделяйте обязанности: DBA не должен одновременно хранить главный ключ.

Объединение средств защиты

Многоуровневая модель защиты данных в состоянии покоя:

  • Аутентифицируйте каждое соединение (TLS и надежные учетные данные).
  • Авторизуйте доступ с помощью RBAC и принципа минимальных привилегий.
  • Применяйте RLS и защиту на уровне столбцов там, где нужна детальная настройка.
  • Шифруйте данные в состоянии покоя (TDE), а также отдельные чувствительные столбцы.
  • Храните ключи в KMS отдельно от базы данных.

Быстрая проверка

Определите, от каких угроз защищает каждое средство.

Итоги

Защита данных в состоянии покоя обеспечивается сочетанием контроля доступа и шифрования:

  • Различайте аутентификацию и авторизацию.
  • Применяйте минимальные привилегии и RBAC, а при необходимости — защиту на уровне строк и столбцов.
  • Шифруйте данные в состоянии покоя (TDE, на уровне столбцов) и при передаче (TLS).
  • Храните ключи отдельно в KMS и регулярно меняйте их.

Часто задаваемые вопросы

Урок «Контроль доступа и шифрование» бесплатный?

Да — полный текст урока «Контроль доступа и шифрование» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Cyber Security Academy, подпишись на CoddyKit PRO. Курс Cyber Security Academy содержит 4 уроков всего.

Чему я научусь в уроке «Контроль доступа и шифрование»?

Защищайте данные в состоянии покоя Ты практикуешь Cyber Security Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Cyber Security Academy?

Предыдущий опыт не требуется. Cyber Security Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «Контроль доступа и шифрование»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Cyber Security Academy?

Да. Каждый урок Cyber Security Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Защита от SQL-инъекций
  2. Контроль доступа и шифрование
  3. Аудит и мониторинг
  4. Безопасность резервного копирования и восстановления
← Назад к Cyber Security Academy