更新时间:2024-10-31 GMT+08:00
分享

配置阶段安全增强

安全地设置环境变量

环境变量HUAWEI_KMS_INFO中包含敏感信息,建议使用如下设置方式:
  1. 设置临时环境变量:使用密态数据库时,通过export命令设置环境变量;使用完,即通过unset命令清理环境变量。该方法中操作系统日志可能会记录敏感信息,建议使用进程级环境变量或使用JDBC接口对connection连接参数进行设置。
  2. 设置进程级环境变量:在应用程序代码中,通过编程接口设置环境变量,不同编程语言设置示例如下:
    1. C/C++:setenv(name, value)。
    2. Go:os.Setenv(name, value)。
    3. java暂不支持设置进程级环境变量,仅支持通过JDBC接口设置connection连接参数。

外部密钥服务的身份验证

当数据库驱动访问华为云密钥管理服务时,为避免攻击者伪装为密钥服务,在数据库驱动与密钥服务建立https连接的过程中,可通过CA证书验证密钥服务器的合法性。为此,需提前配置CA证书,如果未配置,将不会验证密钥服务的身份。配置方法如下:

华为云场景下,需在环境变量中增加如下参数:
export HUAWEI_KMS_INFO='其他参数, iamCaCert=路径/IAM的CA证书文件, kmsCaCert=路径/KMS的CA证书文件'

大部分浏览器均会自动下载网站对应的CA证书,并提供证书导出功能。虽然,诸如https://www.ssleye.com/ssltool/certs_down.html等很多网站也提供自动下载CA证书的功能,但可能因本地环境中存在代理或网关,导致CA证书无法正常使用。所以,建议借助浏览器下载CA证书。下载方式如下:

由于我们使用restful接口访问密钥服务,当我们在浏览器输入接口对应的url时,可忽略下述2中的失败页面,因为即使在失败的情况下,浏览器早已提前自动下载CA证书。

  1. 输入域名:打开浏览器,在华为云场景中,分别输入IAM服务的域名:iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens与KMS的域名:kms.cn-north-4.myhuaweicloud.com/v1.0。
  2. 查找证书:在每次输入域名后,找到SSL连接相关信息,单击后会发现证书,继续单击可查看证书内容。

  3. 导出证书:在证书查看页面,可能会看到证书分为很多级,我们仅需要域名的上一级证书即可,选择该证书并单击导出,便可直接生成证书文件,即我们需要的证书文件。

  4. 上传证书:将导出的证书上传至应用端,并配置到上述参数中即可。

相关文档