Вопросы о ГОСТ-подписях модулей и диагностике¶
Почему в modinfo указан ГОСТ, а в конфигурации ядра — SHA-512?¶
CONFIG_MODULE_SIG_SHA512=y относится к настройке механизма подписи при сборке ядра. Поле modinfo -F sig_hashalgo показывает хэш-алгоритм данного конкретного модуля. Поэтому эти значения могут отличаться. Для определения алгоритма подписи смотрите именно метаданные выбранного файла, а не только конфигурацию ядра.
Строка GOST R 34.11-2012 with 256 bit hash означает, что модуль подписан ГОСТ Р 34.10-2012?¶
Нет, по одной этой строке такой вывод сделать нельзя. ГОСТ Р 34.11-2012 — это алгоритм вычисления хэша; ГОСТ Р 34.10-2012 — алгоритм электронной подписи. Проверка типа ключа и алгоритма подписи требует отдельного анализа сертификата и контейнера подписи.
Почему sig_enforce=N, хотя модуль подписан?¶
Поддержка подписей, наличие подписанного файла и обязательная проверка — разные настройки. N означает разрешительный режим: ядро может загружать неподписанные модули. Чтобы посмотреть текущий режим, выполните:
Изменять этот режим на рабочем сервере ради проверки не требуется.
Если modinfo показывает подпись, ядро точно ей доверяет?¶
Нет. modinfo читает метаданные, но не удостоверяет цепочку доверия и не выполняет полноценную проверку файла. Доверенный ключ и действующий режим оцениваются ядром во время загрузки. Для отдельного файла доверие проверяется практическим опытом в обязательном режиме на тестовой машине.
Почему modprobe zfs пишет taints kernel?¶
Слово taints означает, что ядро установило диагностическую отметку об особенностях загруженного компонента. У внешнего ZFS это может быть связано с модулем, собираемым вне дерева ядра, и лицензией CDDL. Сообщение не тождественно ошибке проверки цифровой подписи.
Для просмотра отметок состояния:
Ненулевое значение следует интерпретировать по документации ядра; оно может включать одновременно несколько причин. Отметка может сохраняться даже после выгрузки модуля.
В журнале встречается alg: No test for gost.... Это ошибка криптографии?¶
Нет, само по себе такое сообщение не является доказательством неисправности. Оно указывает, что при регистрации названной реализации ядро не выполнило для неё соответствующий встроенный самотест. Чтобы оценить функциональность, проверьте наличие алгоритма в /proc/crypto и, когда необходимо, проведите отдельные контрольные вычисления или проверки тестовыми векторами.
Почему пакет ZFS найден в репозитории, но modinfo zfs не находит модуль?¶
Наличие пакета в поисковой выдаче не означает, что он установлен. Кроме того, пакет модуля должен соответствовать запущенной версии ядра. Выполните:
Значит ли ГОСТ-подпись модуля, что весь компьютер защищён от вредоносных программ?¶
Нет. Подпись модулей — дополнительный механизм защиты загрузки компонентов ядра. Она не устраняет уязвимости самого подписанного драйвера, не защищает все пользовательские программы и не заменяет резервные копии, обновления, ограничения прав и контроль доступа.
Можно ли проверять всё это без прав администратора?¶
Большая часть команд для чтения (uname, modinfo, /proc/crypto) доступна обычному пользователю. Просмотр некоторых системных ключей, чтение журналов и загрузка модулей могут требовать привилегий. Для большинства пользователей достаточно краткой проверки; менять режим безопасности не нужно.