Перейти к содержанию

TODO

1. GPG (OpenPGP) на YubiKey — must-have для любого devops

Самый мощный кейс — хранить GPG subkeys на YubiKey. Сценарии:

✔️ Подпись пакетов (DEB/RPM), пакетов репозиториев дистрибутива YubiKey как HSM: хранит приватный GPG-ключ внутри (невозможно экспортировать); идеально подходит для подписи пакетов при сборках. Если ты участвуешь в разработке дистрибутива — это реально промышленный стандарт.

✔️ Git commit signing (podpis коммитов GPG) С подписями коммитов + GitHub/GitLab Verified Badge.

✔️ Подпись артефактов в CI/CD Можно выдавать runner-ам временный доступ (через touch-to-sign), чтобы: подписывать релизы, подписывать контейнеры (через cosign можно использовать GPG).

2. SSH через FIDO2 (ssh -o SecurityKeyProvider)

Если у тебя уже есть один SSH-ключ на YubiKey — можно усилить сценарии:

✔️ FIDO2 resident keys (ключи, хранящиеся внутри yubikey) Позволяют подключаться без ~/.ssh/id_* на диске. Можно пойти дальше:

✔️ SSH с PIN + Touch То есть: PIN → защита от подбора боковым софтом Touch → защита от malware Сам приватный ключ → на YubiKey По уровню защиты — почти как SmartCard.

3. PIV / SmartCard (PKCS#11) — корпоративный уровень

Можно использовать YubiKey как:

✔️ PKCS#11 токен для OpenSSH (через ssh -I /usr/lib/.../pkcs11.so) Эта схема отличается от FIDO2: приватный ключ создаётся как RSA/ECDSA на самом токене. ✔️ Аутентификация в VPN: OpenVPN (через PKCS#11) strongSwan IPsec (EAP-TLS) WireGuard через агенты (непрямо, но можно)

✔️ S/MIME подпись почты (Thunderbird, mutt)

4. PAM + FIDO2 → вход в Linux через ключ

Это ты уже упоминал, но можно улучшить:

✔️ Полное отключение пароля (passwordless) Используя:

bash Копировать код fido2-token -L /dev/hidrawX pamu2fcfg > ~/.config/fido/pam-u2f ✔️ Multi-factor login: пароль + YubiKey touch или

PIN + YubiKey touch

✔️ Sudo с FIDO2 (да, можно) Используя pam_u2f для sudo.

5. LUKS + YubiKey: аппаратная расшифровка дисков

Есть несколько режимов:

✔️ challenge-response для LUKS Схема:

YubiKey генерирует HMAC-SHA1 или FIDO2 challenge-response Результат → ключ для LUKS Это очень мощно, т.к. без физического ключа диск не расшифруется вообще. ✔️ LUKS + YubiKey + TPM (комбинированный unlock) Можно делать advanced схемы для дистрибутива/серверов.

6. 2FA для sudo без пароля

Можно сделать: sudo → asks YubiKey touch only Сценарий удобен для продакшен-серверов: ты залогинен по SSH ключу, но sudo требует физическую авторизацию.

7. Подпись контейнеров (cosign/sigstore) через YubiKey

cosign может использовать: PIV (pkcs11) GPG (через subkey) FIDO2 (относительно новые фичи) Можно подписывать образы:

nginx Копировать код cosign sign --key yubikey:// ... И проверять их при деплое в Kubernetes.

8. Secure bootstrap / Secure update system для дистрибутива

Если ты разрабатываешь свой Linux-дистрибутив:

✔️ YubiKey как root-of-trust Хранишь: ключ подписи репозиториев, ключ подписи образов ISO, ключ подписи обновлений. Touch-to-sign делает это безопаснее обычного HSM.

9. Автогенерация OTP для Linux-доступов

Используется реже, но можно: ✔️ Yubikey → OTP → login via pam_yubico Работает через YubiCloud или локальный YubiHSM.```