Проверка допуска подписанных модулей на учебной машине¶
Эта инструкция предназначена для администратора, которому необходимо убедиться, что ядро принимает подходящий подписанный модуль и отвергает неподписанный. Проводите такую проверку только в отдельной виртуальной машине НАЙС.ОС, со снимком системы, доступом к консоли и возможностью перезагрузки. На рабочем сервере достаточно проверки без изменений.
Подготовка¶
- Создайте снимок виртуальной машины и убедитесь, что можете открыть консоль, даже если сеть недоступна.
- Проверьте установленное и запущенное ядро (
uname -r,rpm -q linux). - Убедитесь, что штатный модуль
dummyприсутствует и имеет сведения о подписи. - Не используйте сервер, от которого зависят доступ к данным, сеть, виртуализация или резервное копирование.
Проверка штатного модуля¶
Для учебной виртуальной машины проверьте:
Если в ответе sig_enforce указано Y, обязательная проверка уже действует. В такой конфигурации для проверки допуска подписанного модуля достаточно:
Если dummy загрузился при sig_enforce=Y, это подтверждает, что ядро допустило данный модуль в условиях обязательной проверки. Если же был N, загрузка не является таким доказательством.
После завершения опыта, если модуль не используется:
Параметр numdummies=0 предотвращает создание тестовых сетевых интерфейсов в этом опыте. Если модуль уже загружен или занят, не выгружайте его насильно.
Строгий режим, если он ещё не включён¶
Не выполняйте эту операцию на рабочем компьютере. На специально подготовленной учебной машине администратор может включить обязательную проверку:
printf 'До изменения: '
cat /sys/module/module/parameters/sig_enforce
echo 1 > /sys/module/module/parameters/sig_enforce
printf 'После изменения: '
cat /sys/module/module/parameters/sig_enforce
Ожидается Y. В большинстве таких конфигураций вернуть режим в N простой записью нельзя: для возврата к первоначальной настройке может потребоваться перезагрузка учебной машины. На некоторых сборках переключение через этот файл может быть недоступно — в таком случае не пытайтесь обходить ограничение, а используйте заранее сконфигурированный стенд с обязательной проверкой.
После перехода в Y повторите загрузку подписанного dummy, как показано выше.
Как проверить отклонение неподписанного модуля¶
В отдельной лаборатории можно использовать специально подготовленный без подписи, совместимый с текущим ядром тестовый модуль. Не используйте изменённые драйверы рабочего компьютера и не подменяйте файлы в /lib/modules.
В режиме Y загрузка такого учебного файла командой администратора должна завершиться отказом. Пример возможного сообщения:
В журнале ядра может появиться:
Отказ неподписанному модулю — ожидаемый и правильный результат. Не пытайтесь отключать проверку, чтобы добиться его загрузки. Для рядового пользователя эта отрицательная проверка не требуется.
Завершение¶
Сохраните в служебном протоколе uname -r, результаты modinfo, значение sig_enforce, результат загрузки dummy и сообщения об отказе неподписанному модулю (если опыт проводился). Затем восстановите снимок учебной ВМ либо перезагрузите её, если требуется вернуть первоначальный режим проверки.
Важно: успешные проверки показывают поведение конкретной версии НАЙС.ОС. Они не являются испытаниями на сертификационное соответствие, не доказывают отсутствие уязвимостей в модулях и не подтверждают использование ГОСТ Р 34.10-2012 в математическом алгоритме их подписи.