Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >jboss eap 6.2+ 版本中 加密datasource密码等敏感信息

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

作者头像
菩提树下的杨过
发布于 2018-01-19 02:38:49
发布于 2018-01-19 02:38:49
1.7K0
举报

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

这会给服务器留下安全隐患,不过官方已经考虑到了这一点,给出了vault机制来进行加密,步骤如下:

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

keytool -genseckey -alias ctas -storetype jceks -keyalg AES -keysize 128 -storepass mypassword -keystore /Users/jimmy/vault/vault.keystore

解释一下:keytool是jdk自带的小工具

红色的部分是大家要根据自身情况修改的,蓝色的可改可不改。

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

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

-keystore 后的/Users/jimmy/vault/vault.keystore为keystore文件的保存路径,注:该文件jboss必须具有读写权限。

整个keystore相当于一个敏感信息的文件数据库,可以把一些敏感信息,比如db连接密码,ftp密码,邮件密码保存在这里。

蓝色部分AES为加密算法,可以改成RSA之类,128为加密强度,具体可参考jboss文档。

2. JBOSS_HOME/bin/vault.sh ,进入vault交互模式,会出现类似如下输出:

==========================================   JBoss Vault   JBOSS_HOME: /Users/jimmy/Downloads/app/jboss-eap-6.2   JAVA: /Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/bin/java ========================================== ********************************** ****  JBoss Vault  *************** ********************************** Please enter a Digit::   0: Start Interactive Session  1: Remove Interactive Session  2: Exit 输入0,进入交互模式。

Starting an interactive session

Enter directory to store encrypted files:/Users/jimmy/vault/ 这里输入keystore文件所在目录 Enter Keystore URL:/Users/jimmy/vault/vault.keystore 这里输入keystore文件完整路径 Enter Keystore password:  这里输入keystore的密码,与刚才步骤1中的密码要相同 Enter Keystore password again: 再次输入密码进行验证 Values match Enter 8 character salt:20150720 撒点盐,大家根据需要修改(必须是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="/Users/jimmy/vault/vault.keystore"/>   <vault-option name="KEYSTORE_PASSWORD" value="MASK-2W0YkkQmW8vbjUxlq79j/1"/>   <vault-option name="KEYSTORE_ALIAS" value="cnblogs"/>   <vault-option name="SALT" value="20150720"/>   <vault-option name="ITERATION_COUNT" value="43"/>   <vault-option name="ENC_FILE_DIR" value="/Users/jimmy/vault/"/> </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 ********************************************

注意红色部分,辛苦了半天,就是要这一行,最后按2退出,同时停止jboss(如果jboss在运行的话)

4.修改jboss配置文件,以standalone.xml为例

    </extensions>     <vault>         <vault-option name="KEYSTORE_URL" value="/Users/jimmy/vault/vault.keystore"/>         <vault-option name="KEYSTORE_PASSWORD" value="MASK-2W0YkkQmW8vbjUxlq79j/1"/>         <vault-option name="KEYSTORE_ALIAS" value="cnblogs"/>         <vault-option name="SALT" value="20150720"/>         <vault-option name="ITERATION_COUNT" value="43"/>         <vault-option name="ENC_FILE_DIR" value="/Users/jimmy/vault/"/>     </vault>     <management>

在</extensions>与<management>先插入第2步中刚才高亮大段标红的内容。如果是域(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,搞定。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2015-07-20 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
JMS + jboss EAP 6.2 示例
.Net中如果需要消息队列功能,可以很方便的使用微软自带的MSMQ,对应到Java中,这个功能就是JMS(Java Message Service). 下面以Jboss EAP 6.2环境,介绍一下基本的用法: JMS有二种基本的使用模式, 一种是点对点模式(即“一条”消息只能从“一个”发送方传输到“一个”接收方) - 这种模式下,发送方、接收方不必同时在线,消息在未取回走,一直存放在队列中。 另一种是发布/订阅模式,即一条消息(该模式下,称为“主题”),被一个发送方发送后,如果有多个接收方订阅了,这些接收
菩提树下的杨过
2018/01/24
1.7K0
JMS + jboss EAP 6.2 示例
jboss eap 6.3 域(Domain)模式配置
jboss提供了二种运行模式:standalone(独立运行模式)、domain(域模式),日常开发中,使用standalone模式足已;但生产部署时,一个app,往往是部署在jboss集群环境中的,如果所有jboss server均采用standalone模式,会给运维带来极大的工作量,需要每台jboss server上逐一部署/更新,显然不适合。 domain模式正是为了解决这一问题,该模式下,所有jboss server可以划分成不同的group(注:这里的jboss server并不一定要对应某台物
菩提树下的杨过
2018/01/24
1.6K0
jboss eap 6.3 域(Domain)模式配置
如何让jboss eap 6.2+ 的多个war应用共享 jar 包?
weblogic有一个很贴心的功能,允许把多个war应用共同依赖的jar包,打包一个单独的war,以libary方式部署,然后各应用在weblogic.xml里声明引用该libary即可,这样可大大减少打包后的war文件尺寸,可以加快部署的上传进度,对web server而言,这类共用jar包只加载一次,也节省资源。 但是jboss下想达到类似的功能就要复杂很多了,先来一个简单的示例: 一、基础篇 1.1 假如我们先开发了一个工具库,打包后生成的mylib.jar ,为了减少各种依赖项的干扰,这个工程不依赖
菩提树下的杨过
2018/01/18
1.7K0
如何让jboss eap 6.2+ 的多个war应用共享 jar 包?
wildfly(JBoss AS)应用服务器快速入门
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
程序新视界
2019/10/22
2.7K0
wildfly(JBoss AS)应用服务器快速入门
jboss CLI 命令行接口学习(适用JBOSS EAP 6.2+)
一、确认CLI所使用的端口 以domain模式为例,查看domain controller(也就是master主机)上的host.xml 1 <management-interfaces> 2 <native-interface security-realm="ManagementRealm"> 3 <socket interface="management" port="${jboss.management.native.port:9999}"/> 4 </native-i
菩提树下的杨过
2018/01/18
2.1K0
jboss CLI 命令行接口学习(适用JBOSS EAP 6.2+)
Linux下Jboss安装使用+Jboss部署脚本「建议收藏」
Jboss是Java EE应用服务器(就像Apache是web服务器一样),专门用来运行Java EE程序的。
全栈程序员站长
2022/09/27
5K0
Linux下Jboss安装使用+Jboss部署脚本「建议收藏」
wildfly 21使用指南
wildfly的前身是JBoss AS(JBoss Application Server),为了区别于JBoss的企业级应用JBoss EAP。在v8的时候改名为wildfly。
用户2323866
2021/06/22
2.8K0
jboss下载和安装[通俗易懂]
1. 下载 http://www.jboss.org/jbossas/downloads/ 选择Certified Java EE 6 Full Profile版本,我下载的是 jboss-as-7.1.1.Final.zip。 2. 解压 jboss-as-7.1.1.Final.zip 注意整个路径必须没有空格才行。 3. 配置环境变量 JRE 环境变量 JAVA_HOME JRE的路径 CLASSPATH %JAVA_HOME%\lib PATH %JAVA_HOME%\bin
全栈程序员站长
2022/09/28
2.6K0
jboss下载和安装[通俗易懂]
在wildfly 21中搭建cluster集群
wildfly是一个非常强大的工具,我们可以轻松的使用wildfly部署应用程序,更为强大的是,wildfly可以很方便的部署cluster应用。
用户2323866
2021/06/22
9770
vmware安装cent os 6.5 + oracle 11g xe + jboss eap 6.2 + weblogic 12c+ webshpere mq 7.5
mac系统发展速度确实很快,短短数年,mac os上已经能网银支付(中行、招行、工商、支付宝等均已全面支持mac os了),windows上的经典常用软件:qq、飞信、旺旺、有道词典、有道云笔记、迅雷、PPS影音、AcdSee,甚至微软自家的office全套都有for mac,今天下定决心把mac机上vmware里的windows 7给“打入冷宫”,准备把oracle、nexus、jboss、weblogic 这些跟java开发有端的“重量级”大家伙都放到cent os虚拟机里,日常开发只在mac 主机上保留eclipse/xcode/mono develop即可。
菩提树下的杨过
2018/09/20
1.5K0
vmware安装cent os 6.5 + oracle 11g xe + jboss eap 6.2 + weblogic 12c+ webshpere mq 7.5
MySQL 5.6升级为MySQL 5.7部署JBoss/WildFly应用项目
mv mysql-5.7  /usr/local/mysql5.7  或者其他文件夹
星哥玩云
2022/08/17
8810
Nginx部署Tomcat/WildFly集群负载均衡
docker run -p 80:80 --name nginx --restart=always  -v /root/nginx/www/:/usr/share/nginx/html -v /root/nginx/conf/conf.d:/etc/nginx/conf.d  -v /root/nginx/logs:/var/log/nginx -v /etc/localtime:/etc/localtime -d nginx
星哥玩云
2022/07/25
1K0
干货分享:基于JBoss的七个Java应用场景
声明 本文主要是针对EAP7的相关实验的记录,本文仅供参考。仅代表作者的个人观点。 在实验过程中,笔者得到了舒服力和Kylin的大力帮助,很多代码的review是和舒力一起完成的。 本文包含七个实验:RESTEasy框架构建应用、消息队列实验、web的安全试验、EAP的单机模式部署应用、EAP的高可用模式、通过web console管理EAP、CDI的实战。 前言:什么是EAP? 红帽JBoss企业应用平台 7 (JBoss EAP) 是一款市场领先的开源平台,适用于在任意环境中部署现代化 Java 应用
魏新宇
2018/03/22
2.3K0
干货分享:基于JBoss的七个Java应用场景
在CentOS 7上使用WildFly进行Java开发
JBoss AS(重命名为WildFly)已被使用多年,是最有名的高效和免费的Java社区应用服务器之一。当Red Hat开始为其企业版JBoss EAP的对内部部署,虚拟或云提供商业支持时,吸引了更多关注。红帽还为红帽企业Linux提供商业支持,并为客户提供多种产品的庞大生态系统。
用户1196457
2018/09/06
4.2K1
Jboss EAP:native management API学习
上一节已经学习了CLI命令行来控制JBOSS,如果想在程序中以编码方式来控制JBOSS,可以参考下面的代码,实际上在前面的文章,用代码控制Jboss上的DataSource,已经有所接触了,API与CLI是完全等价的,一个是人工敲指令,一个是代码控制,二者最终的效果一致。 import com.sun.javafx.sg.PGShape; import org.jboss.as.controller.client.ModelControllerClient; import org.jboss.as.cont
菩提树下的杨过
2018/01/18
6450
WildFly 14 增加MySQL 8.0.11 数据源
记录WildFly 14 增加MySQL 8.0.11 数据源的过程,希望对大家有所帮助。
星哥玩云
2022/07/19
4.7K1
WildFly 14 增加MySQL 8.0.11 数据源
Oracle 20c 新特性:强制大小写敏感密码文件 Force Password File Case Sensitive
墨墨导读:从Oracle Database 20c开始,数据库强制实施大小写敏感的口令文件,以实现更高的安全性。区分大小写的密码文件提供更高的安全性。Oracle建议使用区分大小写的密码文件。
数据和云
2020/05/15
1.1K0
Oracle 20c 新特性:强制大小写敏感密码文件 Force Password File Case Sensitive
Feign HTTP连接的几点建议 顶
为什么要使用Apache的HTTPClient,因为JDK自带的HTTP Client在JDK 9才支持HTTP 2.0,加上JDK 8 HTTP Client本身的各种缺陷。
算法之名
2019/12/16
7.1K0
Feign HTTP连接的几点建议
                                                                            顶
android签名/打包
Android 对apk进行重签名和查看签名(window 和mac)及生成签名 用apksigner进行批量签名的脚本 安卓重签名脚本——AndroidResigner.bat
tea9
2022/09/08
9610
Tomcat配置HTTPS协议
简介: SSL 协议的3个特性: 保密:通过SSL链接传输的数据是加密的 鉴别:通信双方的身份鉴别,通常是可选的,但至少有一方需要验证(通常是服务端)
星哥玩云
2022/07/13
7910
相关推荐
JMS + jboss EAP 6.2 示例
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档