jboss加密敏感信息
2015-12-14 17:02
489 查看
默认情况下,我们配置在domain.xml或host.xml文件中的信息都是明文,对一些敏感信息就显得安全性不够,可以使用jboss提供的vault机制来进行加密
下面的内容来自 /article/4607419.html
1. 利用keytool生成keystore文件,参考命令如下:
keytool -genseckey -alias ctas -storetype jceks -keyalg AES -keysize 128 -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,进入交互模式
这些弄完后,会输出下面这一段:
注意:红色部分,意思是让你把这一段,加到standalone.xml或host.xml的相应位置。(注:建议把这一段复制出来,等会儿再加到配置文件中)
3. 保持刚才的交互模式,不要退出,继续:
输入0,准备存储敏感信息
4.修改jboss配置文件
域(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,搞定。
下面的内容来自 /article/4607419.html
1. 利用keytool生成keystore文件,参考命令如下:
keytool -genseckey -alias ctas -storetype jceks -keyalg AES -keysize 128 -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::1 ********************************************
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,搞定。
相关文章推荐
- Android学习路线图
- 12月14号 宏定义、枚举和动态分配内存
- 第14周项目4(3)输出所有路径
- 第十六周 项目一 验证算法(6) 堆排序
- device_add()浅析
- 第14周SHH数据结构-【项目1-(2)验证分块查找算法】
- 第十五周项目一:验证算法
- 第十六周--归并排序算法的改进
- 第十六周——【项目2 - 大数据集上排序算法性能的体验】
- js 异步上传图片 限制图片的格式大小
- 浏览器兼容测试最坑爹,费时费力;今天推荐一个在线的浏览器兼容测试服务
- logback与Log4J的区别
- TinyOS论文09:Random Testing of Interrupt-Driven Software
- 浏览器兼容测试最坑爹,费时费力;今天推荐一个在线的浏览器兼容测试服务
- gulp压缩文件
- 第12周项目4(2)输出简单路径
- 第十二周 项目1 图基本算法库
- 第十五周 项目1 堆排序
- 第十六周 项目1.4——验证算法
- 第8周项目1 建立顺序串的算法库