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 -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加密敏感信息的更多相关文章
- jboss eap 6.2+ 版本中 加密datasource密码等敏感信息
默认情况下,在jboss eap 6.2+ 管理控制台创建datasource后,会在standalone.xml(独立模式)或host.xml(域模式)中以明文保存相关敏感信息. 这会给服务器留下安 ...
- 【Java编码准则】の #02不要在client存储未加密的敏感信息
当构建CS模式的应用程序时,在client側存储敏感信息(比如用户私要信息)可能导致非授权的信息泄漏. 对于Web应用程序来说,最常见的泄漏问题是在client使用cookies存放server端获取 ...
- 【Android平台安全方案】の #00-请不要在外部存储(SD卡)加密存储的敏感信息
本文翻译自https://www.securecoding.cert.org/confluence/display/java/DRD00-J.+Do+not+store+sensitive+infor ...
- Spring Boot: 加密应用配置文件敏感信息
Spring Boot: 加密应用配置文件敏感信息 背景 我们的应用之前使用的是Druid数据库连接池,由于需求我们迁移到HikariCP连接池,druid 数据源加密提供了多种方式: 可以在配置文件 ...
- logstash 对配置文件conf敏感信息,密码等加密
logstash的配置文件conf经常会涉及敏感信息,比如ES,mysql的账户密码等,以下使用logstash导入mysql为例子,加密隐藏mysql的密码. 在向keystore中添加key及其s ...
- SharedPreferences漏洞, 无法避免,所以不要在里面存储敏感信息
1. SharedPreferences漏洞, 无法避免,所以不要在里面存储敏感信息2. 数据存储检测,content://com.starcor.launcherInfo/deviceInfo&q ...
- 使用jni技术进行android应用签名信息核查及敏感信息保护
近期业余时间写了一款应用<摇啊摇>,安智.安卓.360等几个应用商店已经陆续审核通过并上线.从有想法到终于将产品做出来并公布,断断续续花了近二个半月的业余时间,整体来讲还算顺 ...
- 对Java配置文件中敏感信息进行加解密的工具类
在 JavaEE 配置文件中,例如 XML 或者 properties 文件,由于某些敏感信息不希望普通人员看见,则可以采用加密的方式存储,程序读取后进行解密. 常见的如: 数据库用户密码,短信平台用 ...
- Spring拓展接口之BeanFactoryPostProcessor,占位符与敏感信息解密原理
前言 开心一刻 一只被二哈带偏了的柴犬,我只想弄死隔壁的二哈 what:是什么 BeanFactoryPostProcessor接口很简单,只包含一个方法 /** * 通过BeanFactoryPos ...
随机推荐
- NodeJS学习:爬虫小探
说明:本文在个人博客地址为edwardesire.com,欢迎前来品尝. 今天来学习alsotang的爬虫教程,跟着把CNode简单地爬一遍. 建立项目craelr-demo 我们首先建立一个Expr ...
- Apache Spark GraphX的特点
GraphX 的特点是离线计算.批量处理,基于同步的 BSP 模型(Bulk Synchronous Parallel Computing Model,整体同步并行计算模型),这样的优势在于可以提升数 ...
- 【转】iOS开发工具系列(按功能分)
http://www.cocoachina.com/newbie/basic/2014/0417/8187.html 这是我们多篇iOS开发工具系列篇中的一篇,此前的文章比如:那些不能错过的Xcode ...
- Sqoop 命令
1)list-databases List available databases on a server sqoop list-databases --connect jdbc:db2:// ...
- thymeleaf条件表达式
条件表达式形式:condition, then and else <tr th:class="${row.even}? 'even' : 'odd'"> ... < ...
- hdu 4578 Transformation(线段树)
线段树上的多操作... 题目大意: 树上 的初始值为0,然后有下列三种操作和求和. 1 x y c 在X-Y的之间全部加上C. 2 x y c 在X-Y的之间全部乘上C. 3 x y c ...
- socket的shutdown与close
shutdown原型 int shutdown(int socket, int how); socket 指定socket的文件描述符 how 指定shutdown的类型 SHUT_RD 禁止读 ...
- java实现简单的素数判断
素数的这个问题由来已久,大学刚接触语言的时候遇到过找素数的问题,找工作笔试的时候也遇到过素数的问题,今天就特地写这篇博文,缅怀一下. 一.什么是素数? 除了1和它本身以外不再有其他的除数整除. 二.判 ...
- mysql全库备份数据库脚本
#!/bin/sh DATE=`date +%Y%m%d` DEL_DATE=$(date -d '-30 days' "+%Y%m%d") HOST USER=admin PAS ...
- CSS开启硬件加速 hardware accelerated
作者:孙志勇 微博 日期:2016年12月6日 一.时效性 所有信息都具有时效性.文章的价值,往往跟时间有很大关联.特别是技术类文章,请注意本文创建时间,如果本文过于久远,请读者酌情考量,莫要浪费时间 ...