WEB开发网
开发学院软件开发Java Geronimo V2.1.5 中的安全提升 阅读

Geronimo V2.1.5 中的安全提升

 2010-07-02 00:00:00 来源:WEB开发网   
核心提示: KeyStore 相关工具的改进KeyStore 是 Java 安全技术中的重要组成部份,用于保存私钥或数字证书,Geronimo V2.1.5 中的安全提升(5),以帮助与应用服务器建立安全的连接,在 Geronimo V2.1.5 中也对应用了 KeyStore 的相关工具也进行了改进,如果

KeyStore 相关工具的改进

KeyStore 是 Java 安全技术中的重要组成部份,用于保存私钥或数字证书,以帮助与应用服务器建立安全的连接。在 Geronimo V2.1.5 中也对应用了 KeyStore 的相关工具也进行了改进,大大增强了使用时的安全性。

使用文件中保存的密码

在以前的版本中,当 Geronimo 的 deploy 工具使用安全的 JMX Connector 连接到服务器时,需要指定 javax.net.ssl.keyStore,javax.net.ssl.keyStorePassword,javax.net.ssl.trustStore 和 javax.net.ssl. trustStorePassword 四个系统属性 (JAVA_OPTS),如清单 6 所示。

清单 6. 采用安全的 JMX Connector 连接到服务器

 export JAVA_OPTS=" 
  -Djavax.net.ssl.keyStore=$GERONIMO_HOME/var/security/keystores/geronimo-default 
  -Djavax.net.ssl.keyStorePassword=secret 
  -Djavax.net.ssl.trustStore=$GERONIMO_HOME/var/security/keystores/geronimo-default 
  -Djavax.net.ssl.trustStorePassword=secret" 
 $GERONIMO_HOME/bin/deploy.sh --secure list-modules 

上面这条 deploy 命令通过指定 --secure 选项进行安全的 JMX 连接,但前提是在 JAVA_OPTS 中需要通过明文设置好 keyStorePassword 与 trustStorePassword 的这两个密码——“secrect”,这样其实十分危险,当系统后台有人对进程进行检测时,如运行”ps auxww | grep deployer.jar”,则可以直接看到 keyStore 和 trustStore 的密码。

为了规避这类风险,在 V2.1.5 中,禁止从系统属性中明文设置密码,取而代之的是从文件中读取密码,并且这个密码需要用上一节介绍的”deploy encrypt”命令加密。所采用的方法是,通过定义 -Dorg.apache.geronimo.keyStoreTrustStorePasswordFile 这个系统属性,指定密码文件的位置。如果用户没有编写这个密码文件,Geronimo V2.1.5 会在 config-substitutions.properties 文件中寻找 keyStorePassword 和 trustStorePassword 的两个默认值,如清单 7 所示。

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:Geronimo 安全 提升

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接