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 ...
随机推荐
- JVM内存结构
前言 在Java语言开发过程中,out of memory错误是很常见的一种错误.对于JVM的内存结构有更深入的了解,更更好的帮我们排查此类问题,有效的避免此类问题发生.在JAVA 8中内存结构有进行 ...
- ColorNote.疑难解答
首先感谢你对colornote的支持 在使用此应用的过程中,存在任何问题,请先在此页面查看是否有对应的解决方案[Ctrl + F 搜索] 如果问题无法解决,请在页面下方留言,或者邮件light.z@q ...
- overflow,white-space,text-overflow组合技,省略号!
这是一个很简单的组合技,灵活应用省略号.
- Linux 命令之last命令详解
last:命令解释show listing of last logged in users 指令所在路径:/usr/bin/last 命令输出字段介绍: 第一列:用户名 第二列:终端位置.pts/0 ...
- UVA 315 315 - Network(求割点个数)
Network A Telephone Line Company (TLC) is establishing a new telephone cable network. They are con ...
- linux下面的查找命令
在linux下面经常用查找命令,我自己最常用的是find whereis locate 关于find 我常用find的基本功能,如 find / -name filename 在某个目录下寻找文件. ...
- hdu 1689 Just a Hook
http://acm.hdu.edu.cn/showproblem.php?pid=1698 Just a Hook Time Limit: 4000/2000 MS (Java/Others) ...
- memcached全面剖析–2. 理解memcached的内存存储
Slab Allocation机制:整理内存以便重复使用 最近的memcached默认情况下采用了名为Slab Allocator的机制分配.管理内存. 在该机制出现以前,内存的分配是通过对所有记录简 ...
- oracle 的rowid和rownum
rowid就是唯一标志记录物理位置的一个id,对于rownum来说它是oracle系统顺序分配为从查询返回的行的编号,返回的第一行分配的是1,第二行是2,依此类推,这个伪字段可以用于限制查询返回的总行 ...
- 在Linux下部署activemq
今天的任务就是在一台新的服务器上继续部署activemq.其实都蛮简单的.首先先下载包:115U盘下载 2 上传到linux下的某个文件夹下.解压缩 tar -zxvf apache-activemq ...