1.概述
征程 6X 系统在 release 编译时支持内核模块签名验证,仅加载使用正确密钥进行数字签名的内核模块。禁止加载未签名的内核模块或使用错误密钥签名的内核模块,客户需要替换成自己的 key 进行签名。
模块签名启用后,Linux 内核将仅加载使用正确密钥进行数字签名的内核模块。禁止加载未签名的内核模块或使用错误密钥签名的内核模块来进一步强化系统安全。
关于内核模块签名的介绍请看下文:
2.配置
2.1 内核配置选项
在 menuconfig 中选中 CONFIG_MODULE_SIG,对应生成的 config 就被默认选中相关配置来支持模块签名。
2.2 配置说明
项目 | 描述 |
---|---|
CONFIG_MODULE_SIG_FORCE | 对于严格的方法,必须存在有效的签名 |
CONFIG_MODULE_SIG_ALL | 内核模块不自动签名,该选项自动签名所有模块 |
用于签名的\ 哈希算法\ :SHA-512
… code:: text
CONFIG_MODULE_SIG_SHA512
CONFIG_MODULE_SIG_HASH=“sha512”
3.密钥签名
执行签名可执行程序,使用密钥对内核模块进行签名。
3.1 Make Module_Install 签名
将内核配置为对模块进行签名,则