敏感信息加密配置 |
在进行数据库配置、token配置等时,用户名、密码等敏感信息会以明文方式记录在配置文件中,存在信息泄漏隐患。鉴于此,iServer、iPortal、iEdge 等产品在产品包中提供了用于信息加密的脚本文件,您可以通过该脚本将敏感信息转换为加密格式后写入配置文件,以提高产品的安全性。
加密脚本文件位于【SuperMap iServer/iPortal/iEdge 安装目录】\bin目录下,其中 StringEncryptionCLI.bat 文件(Windows平台),StringEncryptionCLI.sh文件(Linux平台)可以将输入的字符串转换为加密格式。下面介绍该脚本的具体使用方法:
在Windows环境下,双击打开 StringEncryptionCLI.bat文件,在Linux环境下,切换到 %SuperMap iPortal_HOME%\bin 目录后,输入如下命令:
sh stringencryptioncli.sh
输入待加密的字符串(如数据库的用户名)后,脚本会生成加密后的字符串,将加密后的字符串拷贝至配置文件中替换原有的明文信息,即可直接启动并使用iPortal。
iServer、iPortal 及 iEdge 使用的加密算法中的密钥支持修改,修改后,对应的加密结果也会发生改变。在高度安全的环境中,建议您定期更改密钥,并更新配置文件中的敏感信息。修改加密密钥的流程包括:
生成密钥的方式包括以下两种:
KeyStore Explorer 是一个用于管理密钥库文件的开源项目,可通过直观的图形界面创建密钥。下载并安装KeyStore Explorer 后,按如下步骤操作:
打开命令行窗口,输入如下命令,创建一个.keystore密钥:
keytool -genseckey -keystore supermap.keystore -storetype jceks -storepass supermap -keyalg AES -keysize 256 -keypass supermap -alias supermap
其中粗体部分可按实际进行修改,修改后需记住设置的值。
生成.keystore格式密钥后,修改【SuperMap iServer/iPortal/iEdge 安装目录】\bin\StringEncryptionCLI.bat 脚本(Windows环境中):
rem set _JAVA_OPTIONS=-Dsystem.root.keyStoreFile=/path/to/example.keystore -Dsystem.root.keyStorePassword=psw1 -Dsystem.root.keyPassword=psw2 -Dsystem.root.keyAlias=example
去掉rem注释符,其余参数说明如下:
在Linux环境下,需修改 StringEncryptionCLI.sh脚本,操作与之类似。
打开【SuperMap iServer/iPortal/iEdge 安装目录】\bin\Catalina.bat 脚本(Windows环境),在setlocal 行后添加如下内容:
set JAVA_OPTS=%JAVA_OPTS% -Dsystem.root.keyStoreFile=/path/to/example.keystore -Dsystem.root.keyStorePassword=psw1 -Dsystem.root.keyPassword=psw2 -Dsystem.root.keyAlias=example
参数说明如下:
在Linux环境下,需修改Catalina.sh脚本,操作与之类似。
注意:若您的iPortal配置了独立部署的服务代理,还需同步修改【SuperMap iPortal Proxy安装目录】\bin\Catalina.bat(sh)文件。
以上即完成了 iServer、iPortal、iEdge 等产品加密密钥的修改,您可通过StringEncryptionCLI.bat (sh)重新加密敏感信息,并在配置文件中同步更新。