Диагностика ГОСТ-дисков и LUKS2 в НАЙС.ОС¶
Быстрая проверка встроенного шифрования¶
uname -r
KVER=$(uname -r)
grep '^CONFIG_CRYPTO_NICEOS_GOST_KUZNYECHIK=y' "/boot/config-$KVER"
cryptsetup --version
lsblk -o NAME,SIZE,TYPE,FSTYPE,UUID,MOUNTPOINTS
ГОСТ встроен в пакет ядра НАЙС.ОС. Проверяйте конфигурацию CONFIG_*=y, реестр /proc/crypto, доступность xts(kuznyechik) и реальную работу зашифрованного тома. Сведения о внешних модулях не показывают состояние встроенной криптографии.
Проверка шифра XTS¶
python3 - <<'PY'
import socket
with socket.socket(socket.AF_ALG,socket.SOCK_SEQPACKET) as sock:
sock.bind(('skcipher','xts(kuznyechik)'))
print('XTS Кузнечик: доступен')
PY
Для реального испытания шифрования используйте AF_ALG-практикум. Проверка bind показывает доступность режима, но не заменяет шифрование и обратное восстановление данных.
Исследование существующего LUKS2¶
cryptsetup isLuks /ПУТЬ/К/LUKS && echo 'LUKS найден'
cryptsetup luksDump /ПУТЬ/К/LUKS
cryptsetup status ИМЯ_ОТКРЫТОГО_ТОМА
Для зашифрованного содержимого ищите строку cipher: kuznyechik-xts-plain64. Строки Keyslots: Cipher: aes-xts-plain64, PBKDF: argon2id, Hash: sha256 относятся к защите ключа и служебным операциям LUKS2, а не к шифру файловой системы.
Типовые проблемы¶
| Ошибка | Причина | Исправление |
|---|---|---|
Device does not exist |
не указан правильный путь к устройству | проверить lsblk, losetup -j и /dev/disk/by-uuid |
No key available with this passphrase |
неверный пароль/раскладка или не тот контейнер | перепроверить пароль и UUID, не форматировать |
Cipher ... not available |
не та версия ядра или шаблон отсутствует | проверить CONFIG_CRYPTO_*, AF_ALG, журнал |
| Не монтируется ext4 | том закрыт или устройство не отформатировано | сначала cryptsetup open, затем проверять ФС |
| Система не открывает корень | нарушено раннее окружение | проверить lsinitrd, драйвер диска, LUKS и GRUB2 |
В /proc/crypto нет kuznyechik |
запущено другое ядро либо ошибка регистрации | сверить uname -r, конфигурацию и журнал ядра |
Проверка dracut¶
KVER=$(uname -r)
lsinitrd -m "/boot/initramfs-$KVER.img"
lsinitrd "/boot/initramfs-$KVER.img" | grep -E 'systemd-cryptsetup|libcryptsetup|dracut-crypt-lib|dm_crypt' | head -40
Алгоритмы ГОСТ не требуют отдельной загрузки. Если dm_crypt собран модулем, он должен быть включён в раннее окружение с зависимостями; то же относится к драйверам накопителя и файловой системы, когда они не встроены.
Как передавать журналы для диагностики¶
Укажите uname -r, сведения о запущенном ядре, содержимое конфигурации, cryptsetup --version, cryptsetup status, фрагмент luksDump, lsinitrd -m и сообщение ошибки. Не передавайте пароль, содержимое секретных ключей и образ диска с рабочими данными.