zoukankan      html  css  js  c++  java
  • jboss加密敏感信息

    默认情况下,我们配置在domain.xml或host.xml文件中的信息都是明文,对一些敏感信息就显得安全性不够,可以使用jboss提供的vault机制来进行加密

    下面的内容来自 http://www.cnblogs.com/yjmyzz/p/how-to-encrypt-datasource-password-with-jboss-eap-6.html

    1. 利用keytool生成keystore文件,参考命令如下:

    keytool -genseckey -alias ctas -storetype jceks -keyalg AES -keysize 128 -storepass mypassword -keystore C:jboss-eap-6.3invault.keystore

    说明:keytool是jdk自带的小工具,红色的部分是大家要根据自身情况修改的,蓝色(ES为加密算法,可以改成RSA之类,128为加密强度)的可改可不改。

    -alias 后的ctas为别名,可以随便改

    -storepass 后的mypassword为访问keystore文件的密码

    -keystore 后的C:jboss-eap-6.3invault.keystore为keystore文件的保存路径,整个keystore相当于一个敏感信息的文件数据库,可以把一些敏感信息,比如db连接密码,ftp密码,邮件密码保存在这里

    2. 运行C:jboss-eap-6.3invault.bat

    输入0,进入交互模式

    Starting an interactive session
    
    Enter directory to store encrypted files:C:jboss-eap-6.3in --这里输入keystore文件所在目录
    Enter Keystore URL:C:jboss-eap-6.3invault.keystore --这里输入keystore文件完整路径
    Enter Keystore password:  --这里输入keystore的密码,与刚才步骤1中的密码要相同
    Enter Keystore password again: --再次输入密码进行验证
    Values match
    Enter 8 character salt:20151214 --撒点盐,大家根据需要修改(必须是8位字符)
    Enter iteration count as a number (Eg: 44):43 --加密的迭代次数(可以随便改)
    Enter Keystore Alias:cnblogs --别名,可以随便改

    这些弄完后,会输出下面这一段:

    Initializing Vault
    Jul 20, 2015 11:37:09 PM org.picketbox.plugins.vault.PicketBoxSecurityVault init
    INFO: PBOX000361: Default Security Vault Implementation Initialized and Ready
    Vault Configuration in AS7 config file:
    ********************************************
    ...
    </extensions>
    <vault>
      <vault-option name="KEYSTORE_URL" value="C:jboss-eap-6.3invault.keystore"/>
      <vault-option name="KEYSTORE_PASSWORD" value="MASK-2W0YkkQmW8vbjUxlq79j/1"/>
      <vault-option name="KEYSTORE_ALIAS" value="cnblogs"/>
      <vault-option name="SALT" value="20151214"/>
      <vault-option name="ITERATION_COUNT" value="43"/>
      <vault-option name="ENC_FILE_DIR" value="C:jboss-eap-6.3in"/>
    </vault><management> ...
    ********************************************
    Vault is initialized and ready for use
    Handshake with Vault complete
    Please enter a Digit::   0: Store a secured attribute  1: Check whether a secured attribute exists  2: Exit

    注意:红色部分,意思是让你把这一段,加到standalone.xml或host.xml的相应位置。(注:建议把这一段复制出来,等会儿再加到配置文件中)

    3. 保持刚才的交互模式,不要退出,继续:

    输入0,准备存储敏感信息

    Task: Store a secured attribute
    Please enter secured attribute value (such as password): --这里输入要存储的敏感信息,比如mysql的连接密码
    Please enter secured attribute value (such as password) again: --再输入一次
    Values match
    Enter Vault Block:ctasDS_PWD   --容器别名,随便起
    Enter Attribute Name:password
    Secured attribute value has been stored in vault. 
    Please make note of the following:
    ********************************************
    Vault Block:ctasDS_PWD
    Attribute Name:password
    Configuration should be done as follows:
    VAULT::ctasDS_PWD::password::1
    ********************************************

    4.修改jboss配置文件

    <vault>
      <vault-option name="KEYSTORE_URL" value="C:jboss-eap-6.3invault.keystore"/>
      <vault-option name="KEYSTORE_PASSWORD" value="MASK-2W0YkkQmW8vbjUxlq79j/1"/>
      <vault-option name="KEYSTORE_ALIAS" value="cnblogs"/>
      <vault-option name="SALT" value="20151214"/>
      <vault-option name="ITERATION_COUNT" value="43"/>
      <vault-option name="ENC_FILE_DIR" value="C:jboss-eap-6.3in"/>
    </vault>

    域(domain)模式下,这一段要插入到host.xml文件的<management>之前,每台slave机器的host.xml里都要做同样的处理,keystore文件也要复制到每台slave机器上。

    然后找到testDS的位置(域模式下datasource是在master机器的domain.xml里),把密码换成:

    <datasource jta="false" jndi-name="java:/testDS" pool-name="testDS" enabled="true" use-ccm="false">
                      ...
                        <security>
                            <user-name>root</user-name>
                            <password>${VAULT::ctasDS_PWD::password::1}</password>
                        </security>
                        ...
                    </datasource>

    重启jboss,搞定。

  • 相关阅读:
    Tribonacci UVA 12470 (简单的斐波拉契数列)(矩阵快速幂)
    P1091 合唱队形
    P1481 魔族密码 (LIS)
    xiaowuga poj3735—Training little cats(特殊操作转化为矩阵操作)
    P2665 [USACO08FEB]连线游戏Game of Lines
    1875 丢手绢 (模拟+打表)
    Recurrences UVA 10870 (斐波拉契的一般形式推广)
    Choosing number ZOJ 3690 (矩阵快速幂)
    根据屏幕文件生成RPG代码的思路
    基于配置文件的查询,xml文件sample
  • 原文地址:https://www.cnblogs.com/yhzh/p/5032731.html
Copyright © 2011-2022 走看看