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

Проверка подписи ZFS и других внешних модулей

В НАЙС.ОС механизм подписей применяется не только к модулям, поставляемым вместе с ядром. Его можно проверять и на внешних модулях, например для файловой системы OpenZFS.

ZFS — файловая система, предназначенная в том числе для серверов и хранилищ. В некоторых конфигурациях её поддержка устанавливается отдельным пакетом модулей под определённую версию ядра.

1. Посмотрите, установлена ли ZFS

uname -r
rpm -q zfs zfs-utils linux-kmod-zfs

Если пакет не установлен, команда RPM так и сообщит. Это не означает, что в НАЙС.ОС отсутствует поддержка ZFS: пакет может быть доступен в репозитории, но не установлен на данном компьютере.

Доступность пакетов можно посмотреть без установки:

tdnf search zfs

В репозиториях могут присутствовать несколько выпусков linux-kmod-zfs для разных версий ядра. Для работы важно совпадение модуля с запущенным ядром.

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

Если ZFS уже установлена:

K="$(uname -r)"
modinfo -k "$K" -F filename zfs
modinfo -k "$K" -F signer zfs
modinfo -k "$K" -F sig_id zfs
modinfo -k "$K" -F sig_hashalgo zfs

На соответствующей сборке НАЙС.ОС в полях подписи может отображаться:

NiceOS GOST test module signing
PKCS#7
GOST R 34.11-2012 with 256 bit hash

Путь к модулю будет отличаться от dummy: например, он может находиться в extra/zfs/zfs.ko. Если modinfo сообщает, что модуль не найден, проверьте наличие подходящего linux-kmod-zfs для используемой версии ядра.

3. Установка ZFS на отдельном стенде — при необходимости

Этот шаг изменяет систему. Выполняйте его только если ZFS действительно нужна и у вас есть резервная копия и доступ к консоли. Для простой проверки ГОСТ-подписей устанавливать ZFS не требуется: используйте штатный dummy.

На тестовом стенде администратор может выполнить:

tdnf search zfs
tdnf install zfs linux-kmod-zfs

Перед подтверждением транзакции проверьте предлагаемые версии пакетов. В зависимости от репозитория дополнительно могут устанавливаться zfs-utils и zfs-zed. Затем повторите просмотр метаданных через modinfo.

4. Проверка загрузки — только на учебном сервере

Если тестовому стенду действительно требуется ZFS, администратор может загрузить её обычной командой:

modprobe -v zfs
lsmod | grep -E '^(zfs|spl)\b'

Успешная загрузка подтверждает, что модуль совместим с запущенным ядром и допущен действующими правилами. Если sig_enforce=N, одного этого факта недостаточно, чтобы доказать успешную криптографическую проверку его подписи: в разрешительном режиме ядро может принимать неподписанные модули.

Сообщения вида:

spl: loading out-of-tree module taints kernel
zfs: module license 'CDDL' taints kernel

относятся к диагностическим отметкам ядра о внешнем модуле и его лицензии. Сами по себе они не означают, что ГОСТ-подпись недействительна. О значении таких сообщений см. раздел диагностики.

5. Почему здесь важно различать подпись и файловую систему

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

Подробнее: проверка ГОСТ-подписей и проверка в строгом режиме на учебном стенде.