默认情况下,我们配置在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  -storepass mypassword -keystore C:\jboss-eap-6.3\bin\vault.keystore

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

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

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

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

2. 运行C:\jboss-eap-6.3\bin\vault.bat

输入0,进入交互模式

Starting an interactive session

Enter directory to store encrypted files:C:\jboss-eap-6.3\bin\ --这里输入keystore文件所在目录
Enter Keystore URL:C:\jboss-eap-6.3\bin\vault.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.3\bin\vault.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.3\bin\"/>
</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::
********************************************

4.修改jboss配置文件

<vault>
<vault-option name="KEYSTORE_URL" value="C:\jboss-eap-6.3\bin\vault.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.3\bin\"/>
</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,搞定。

jboss加密敏感信息的更多相关文章

  1. jboss eap 6.2+ 版本中 加密datasource密码等敏感信息

    默认情况下,在jboss eap 6.2+ 管理控制台创建datasource后,会在standalone.xml(独立模式)或host.xml(域模式)中以明文保存相关敏感信息. 这会给服务器留下安 ...

  2. 【Java编码准则】の #02不要在client存储未加密的敏感信息

    当构建CS模式的应用程序时,在client側存储敏感信息(比如用户私要信息)可能导致非授权的信息泄漏. 对于Web应用程序来说,最常见的泄漏问题是在client使用cookies存放server端获取 ...

  3. 【Android平台安全方案】の #00-请不要在外部存储(SD卡)加密存储的敏感信息

    本文翻译自https://www.securecoding.cert.org/confluence/display/java/DRD00-J.+Do+not+store+sensitive+infor ...

  4. Spring Boot: 加密应用配置文件敏感信息

    Spring Boot: 加密应用配置文件敏感信息 背景 我们的应用之前使用的是Druid数据库连接池,由于需求我们迁移到HikariCP连接池,druid 数据源加密提供了多种方式: 可以在配置文件 ...

  5. logstash 对配置文件conf敏感信息,密码等加密

    logstash的配置文件conf经常会涉及敏感信息,比如ES,mysql的账户密码等,以下使用logstash导入mysql为例子,加密隐藏mysql的密码. 在向keystore中添加key及其s ...

  6. SharedPreferences漏洞, 无法避免,所以不要在里面存储敏感信息

     1. SharedPreferences漏洞, 无法避免,所以不要在里面存储敏感信息2. 数据存储检测,content://com.starcor.launcherInfo/deviceInfo&q ...

  7. 使用jni技术进行android应用签名信息核查及敏感信息保护

           近期业余时间写了一款应用<摇啊摇>,安智.安卓.360等几个应用商店已经陆续审核通过并上线.从有想法到终于将产品做出来并公布,断断续续花了近二个半月的业余时间,整体来讲还算顺 ...

  8. 对Java配置文件中敏感信息进行加解密的工具类

    在 JavaEE 配置文件中,例如 XML 或者 properties 文件,由于某些敏感信息不希望普通人员看见,则可以采用加密的方式存储,程序读取后进行解密. 常见的如: 数据库用户密码,短信平台用 ...

  9. Spring拓展接口之BeanFactoryPostProcessor,占位符与敏感信息解密原理

    前言 开心一刻 一只被二哈带偏了的柴犬,我只想弄死隔壁的二哈 what:是什么 BeanFactoryPostProcessor接口很简单,只包含一个方法 /** * 通过BeanFactoryPos ...

随机推荐

  1. 在Windows Server 下安装 Oracle 11G 的一般步骤

  2. ES6学习(2)——arrows箭头函数

    Arrows => 箭头函数 箭头函数,若有了解过coffeeScript的同学,或许对此印象深刻,因为它可以让语法省略不少,特别是对于回调函数,会让代码更清晰简洁. expression 让我 ...

  3. 【转】iOS 硬件授权检测:定位服务、通讯录、日历、提醒事项、照片、蓝牙共享、麦克风、相机等

    iOS系统版本的不断升级的前提,伴随着用户使用设备的安全性提升,iOS系统对于App需要使用的硬件限制也越来越严格,App处理稍有不妥,轻则造成功能不可用用户还不知道,重则会造成App Crash. ...

  4. POJ 2185 Milking Grid(KMP)

    Milking Grid Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 4738   Accepted: 1978 Desc ...

  5. Spring入门(3)-Spring命名空间与Bean作用域

    Spring入门(3)-Spring命名空间与Bean作用域 这篇文章主要介绍Spring的命名空间和Bean作用域 0. 目录 Spring命名空间 Bean作用域 1. Spring命名空间 在前 ...

  6. 《数据通信与网络》笔记--SCTP

    SCTP(stream control transmission protocol)是一种新的可靠的,面向报文的传输层控制协议.它兼有UDP和TCP的特性,它是可靠的面向报文的协议,它保存报文的边界, ...

  7. VHDL TestBench基础(转)

    TestBench的主要目标是: 实例化DUT-Design Under Test 为DUT产生激励波形 产生参考输出,并将DUT的输出与参考输出进行比较 提供测试通过或失败的指示 TestBench ...

  8. CodeForces 732A Buy a Shovel (水题)

    题意:你手中有10元的钱,还有一个r元的零钱,要买一个价格为k的物品,但是你要求不找零钱,求最少要买多少物品. 析:直接暴力,最多买10个物品就够了1-10. 代码如下: #pragma commen ...

  9. 8天玩转并行开发——第一天 Parallel的使用

    转自:http://www.cnblogs.com/huangxincheng/archive/2012/04/02/2429543.html 随着多核时代的到来,并行开发越来越展示出它的强大威力,像 ...

  10. MVC生命周期

    MVC之前的那点事儿系列 转自:http://www.cnblogs.com/TomXu/p/3756794.html http://www.cnblogs.com/Joans/archive/201 ...