Блог "Дети ОИТа"
/поиск

Объединенная статья: Погружение в технологии единого входа (SSO): архитектура, безопасность и лучшие практики и LUKS2 с TPM2 и Clevis: автоматическое монтирование и восстановление

Введение

В современном цифровом мире, где пользователи взаимодействуют с множеством приложений и сервисов, управление учетными данными становится критически важным аспектом информационной безопасности. Технология единого входа (Single Sign-On, SSO) позволяет пользователям аутентифицироваться один раз и получать доступ ко всем связанным приложениям без необходимости повторного ввода учетных данных.

Архитектура SSO

SSO основывается на централизованной системе аутентификации, которая управляет доступом к различным приложениям. В этой статье мы рассмотрим основные компоненты архитектуры SSO, включая Identity Provider (IdP), Service Provider (SP) и протоколы, такие как SAML и OAuth.

Безопасность SSO

Безопасность является ключевым аспектом SSO. Мы обсудим, как SSO защищает учетные данные пользователей, предотвращает атаки и обеспечивает соответствие нормативным требованиям. Особое внимание будет уделено вопросам защиты от несанкционированного доступа и управления сессиями.

Лучшие практики SSO

Внедрение SSO требует тщательного планирования и соблюдения лучших практик. Мы рассмотрим рекомендации по настройке и управлению SSO, включая интеграцию с существующими системами, мониторинг и аудит.

Заключение

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

LUKS2 с TPM2 и Clevis: автоматическое монтирование и восстановление

Аннотация

Практическое руководство по настройке автоматического разблокирования LUKS2 через TPM2 с резервными шардами PIN и сетевой разблокировкой (Clevis/Tang). Покрываем сценарии для серверов и рабочих станций, восстановление после обновления BIOS/прошивки и ротацию ключей.

1. Архитектура

Компоненты:

  • LUKS2: современный формат с поддержкой токенов.
  • TPM2: аппаратный корень доверия, seal/unseal ключей.
  • Clevis: фреймворк для бэнда (binding) с пинами (PINs).
  • Tang: сетевой сервер для NBDE (Network Bound Disk Encryption).
  • Shamir Secret Sharing: резервные шарды для восстановления.

Ключевые свойства:

  • Автоматическая разблокировка при доверенной загрузке.
  • Резервирование через PIN-коды и сетевые шарды.
  • Аудит и логирование попыток разблокировки.
  • Ротация ключей без перешифрования данных.

2. Предварительные условия

  • TPM2.0 включён и активирован в BIOS/UEFI.
  • Clear TPM перед первой настройкой (tpm2_clear).
  • Systemd с поддержкой TPM (systemd-cryptenroll).
  • Пакеты: clevis, clevis-luks, clevis-tang, tpm2-tools.
  • NTP: синхронизация времени для корректной работы политик.

3. Базовая настройка

3.1 Проверка TPM и создание ключа

# Проверка доступности
tpm2_getcap properties-fixed

# Очистка (если нужно)
tpm2_clear

# Создание и запись ключа в TPM
systemd-cryptenroll --tpm2-device=auto /dev/sda5

3.2 Добавление Clevis с TPM2

# Бэнд с TPM2
clevis luks bind -d /dev/sda5 tpm2 '{}'

# Проверка
clevis luks list -d /dev/sda5

3.3 Добавление резервного PIN

# PIN-код (6+ символов)
clevis luks bind -d /dev/sda5 pin '{"t": 1, "p": "ваш-пин-код"}'

3.4 Настройка Tang для сетевой разблокировки

На сервере Tang:

sudo dnf install tang
tang-show-keys
# Запомните JWED

На клиенте:

clevis luks bind -d /dev/sda5 tang '{"url":"http://tang.example.com"}'

4. Сценарии восстановления

4.1 После обновления BIOS/прошивки

  • TPM PCR изменились — автоматическая разблокировка не сработает.
  • Используйте резервный PIN или сетевой Tang.
  • После успешной загрузки пересоберите привязку:
    clevis luks unbind -d /dev/sda5 -s 1  # TPM slot
    

clevis luks bind -d /dev/sda5 tpm2 ‘{}’


### 4.2 Потеря TPM (замена материнской платы)

- Только резервные шарды (PIN/Tang) спасут данные.
- Рекомендуется иметь минимум 2 из 3 шардов (TPM+PIN+Tang).

## 5. Ротация ключей

```bash
# Добавление нового слота
cryptsetup luksAddKey /dev/sda5

# Удаление старого
cryptsetup luksRemoveKey /dev/sda5

# Для Clevis: перебинд на новый ключ
clevis luks unbind -d /dev/sda5 -s 0
clevis luks bind -d /dev/sda5 tpm2 '{}'

6. Безопасность и комплаенс

  • TPM PCR policies: привязка к ядру, initramfs, cmdline.
  • Запрет fallback на пароль при наличии TPM (опционально).
  • Аудит: логирование в journald, алерты на неудачные попытки.
  • Резервные копии только метаданных LUKS (header), не данных.
  • PCR-политики: systemd-measure для регистрации baseline; запрет загрузки при drift.
  • Alerting: journald rules на clevis/tang failures; rate-limit попыток.

7. Чек-лист внедрения

  • TPM2 включён и очищен.
  • LUKS2 сконвертирован (если был LUKS1).
  • TPM-бэнд создан и проверен.
  • Добавлен минимум один резервный механизм (PIN/Tang).
  • Тест восстановления после reboot.
  • Аудит и алерты настроены.
  • Документация и runbooks готовы.

8. Runbooks

8.1 Ручная разблокировка через PIN

  • Загрузка в rescue, clevis luks unbind/перебинд, проверка slot-ов.

8.2 Восстановление после смены платы

  • Использовать Tang или PIN; после загрузки пересоздать TPM-бэнд; зафиксировать новые PCR.

8.3 Ротация без простоя

  • Добавить новый ключ, перебинд Clevis, удалить старый; проверить на standby-ноде.

Заключение

Комбинация LUKS2+TPM2+Clevis даёт enterprise-уровень автоматизации без потери безопасности. Ключевые принципы: резервирование, аудит и регулярное тестирование сценариев восстановления.