检查root用户的umask
如果root用户计划允许其他用户使用安装的python等软件,请执行以下操作。否则,请确认umask符合用户所在组织的安全设置规范。
以root用户登录待安装Linux环境。
执行如下命令,检查root用户的umask值。
umask
如果umask不等于077,请执行如下操作配置,在该文件的最后一行添加umask 077后保存。
- 在任意目录下执行如下命令,打开.bashrc文件:
vi ~/.bashrc
在文件最后一行后面添加umask 077内容。
- 执行:wq!命令保存文件并退出。
- 执行source ~/.bashrc命令使其立即生效。
建议在cmssign工具使用完毕后,将用户umask修改至符合安全规范。
安装步骤
- 以安装用户登录需要运行cmssign工具的Linux服务器。
- 在用户的家目录下,执行如下命令建立并载入虚拟python环境(如果创建失败,请根据提示安装所需组件)。
python3 -m venv env
source ~/env/bin/activate
当用户不需要使用cmssign工具时,可执行如下命令退出虚拟python环境:
deactivate
- 执行如下命令升级pip版本。
python -m pip install --upgrade pip
- 执行如下命令安装cmssign工具包。
python -m pip install cmssign==0.0.3
- 安装完毕后,用户可选择执行如下命令,加固安装文件权限、确认可载入的python库路径是否符合预期、目录和文件的属主及权限是否符合预期等。
chmod -R g-rwx,o-rwx ~/env
python -c "import sys; print('\n'.join(sys.path))"
find ~/env ! -user {用户名}
ls -ld ~/env
若执行find命令后返回的结果为空、执行Is命令显示该目录下其他用户不可读写,表示加固安装文件权限成功。
- 若已安装cmssign工具,可执行以下命令升级cmssign工具至0.0.3版本。
python3 -m pip install -U cmssign==0.0.3
- 数字签名文件使用的证书需使用安全的签名算法,例如使用无截断的sha2-256作为摘要和完整性验证算法、使用sha256_rsa作为签名摘要算法、使用安全的填充算法等。同时用户使用的算法、私钥长度、口令复杂度等需要符合所在组织的安全要求。
参数说明
使用cmssign工具时,用户根据实际需要选择对应参数。
使用
cmssign sign --help命令查询的参数请参见
表1所示。
表1 cmssign sign参数说明
选项 |
用途 |
--help | -h |
查询帮助信息。 |
--signer |
用于签名的证书文件,需指定。 |
--key |
用于签名的私钥文件,需指定。 |
--tssigner |
用于时间戳签名的证书文件,需指定。 |
--tskey |
用于时间戳签名的私钥文件,需指定。 |
--timestamp |
用于设置签名文件的时间戳,可选。若未设置该参数,则默认使用系统时间戳。配置格式示例如下: '20220101'或'20220101123000'。 |
--in |
需要进行签名的ini文件,需指定。 |
--out |
用于保存cms签名的文件,若未配置,将默认为“infile.cms”。 |
使用cmssign combine --help命令查询的参数请参见表2所示:
表2 cmssign combine参数说明
选项 |
用途 |
--help | -h |
查询帮助信息。 |
--cmsfile |
用于合成的cms签名文件,需指定。 |
--tsfile |
用于合成的时间戳文件,需指定。 |
--out |
用于保存合成后的cms签名的文件,需指定。 |