开启Server端TLS认证

- 如果关闭TLS认证,会存在较高的网络安全风险。
- TLS认证是节点内的Client和Server通信,不涉及跨节点通信,Server端每个节点可以单独开启TLS认证,如果要开启多要个节点的TLS认证,需要登录到多个节点分别进行操作。
- MindSpore不涉及TLS认证,默认不开启。
前提条件
MindIO ACP已经安装成功。
TLS证书准备

证书安全要求:
- 需使用业界公认安全可信的非对称加密算法、密钥长度、Hash算法、证书格式等。
- 应处于有效期内。
MindIO ACP不提供数字证书、CA证书、密钥、吊销证书列表文件,需自行准备表1所列文件。
文件 |
说明 |
---|---|
CA文件 |
证书颁发机构(CA)签发的证书,用于验证服务器证书和客户端证书的可信度。CA证书是信任链的基础,可以是根证书或中间证书。格式为:PEM(*.crt)。 |
Server端的证书 |
由CA签发的证书,保证在有效期内。它用于在TLS连接中验证服务器的身份,并加密传输的数据。客户端会使用CA证书来验证服务器证书的真实性。格式为:PEM chain(*.pem)。 |
Server端的证书对应的私钥文件 |
要与Server端证书对应。私钥用于解密客户端发送的加密数据,并用于在TLS握手过程中证明客户端的身份。该文件必须严格保密,不能泄露给任何第三方。安装者要知道这个私钥文件的口令。格式为:PEM encrypted(*.pem)。 |
吊销证书列表文件 |
包含由CA发布的已被吊销的证书列表。服务器和客户端可以使用CRL来检查某个证书是否已被吊销,从而决定是否信任该证书。CRL用于维护证书的有效性和安全性,防止使用已吊销的证书进行通信。扩展名为*.crl。如无吊销证书,则可以不准备。 |
操作步骤
- 以安装用户{MindIO-install-user}登录要开启TLS认证的计算节点。
- 进入MindIO ACP安装路径。
cd {MindIO ACP安装路径}
安装路径在安装MindIO ACP时指定,如果未指定路径,则安装路径为默认值:“/opt”。
- 开启TLS认证操作。
- 执行以下命令开启TLS认证。
python3 mindio/scripts/config_mindio_tls_cert.py -a {CA文件的路径} -c {Server端证书的路径} -k {Server端私钥路径} -l {吊销证书列表文件} {MindIO安装路径}
参数
说明
-a {CA文件的路径}
一个自签名的证书,可以签发其它证书。格式为:PEM(*.crl)。
-c {Server端证书的路径}
由CA签发的证书,保证在有效期内。格式为:PEM chain(*.pem)。
-k {Server端私钥路径}
要与证书对应,安装者要知道这个私钥文件的口令。格式为:PEM encrypted(*.pem)。
-l {吊销证书列表文件}
给出吊销证书列表文件,格式为:PEM(*.crl)。可选参数,如无吊销证书,可以不带此参数。
{MindIO安装路径}
MindIO ACP安装路径,可以直接填“$PWD”。
- 输入私钥口令。
Password for private key file: {私钥口令} Retype password for private key file: {私钥口令}
需根据提示输入私钥密码。- 密码需具有健壮性并保密,请勿使用弱口令,关于口令复杂度的要求,请参见口令复杂度要求章节。
- 用户提供的证书/私钥等文件,请在完成上诉操作后尽快删除,避免带来安全风险。
- 执行以下命令开启TLS认证。
- 重启服务进程。
systemctl restart ockiod