• JBOSS数据源加密


    1 引言

    1.1 编写目的

    加强安全管理规范,对用户密码加密。

    2 Jboss数据源加密

    2.1 生产加密串

    1. 生产Jboss密码串

    Jboss 服务器执行,生产目录 server 的上一级目录

    /home/jboss/jboss-eap-4.3/jboss-as

    2. 执行命令,生产加密串,同时修改对应的部署名称,黄色标注

    [jboss@ssvttser01 jboss-as]$ java -cp lib/jboss-common.jar:lib/jboss-jmx.jar:server/uat8580/lib/jbosssx.jar:server/uat8580/lib/jboss-jca.jar org.jboss.resource.security.SecureIdentityLoginModule hS0DOQtw

    Encoded password: 190fecaa7fc63e11df8592078de921bc

    2.2 修改Jboss数据源

    1. 停止Jboss服务

    Ps –ef |grep java

    Kill -9

    2. 备份 oracle-ds.xml,修改oracle-ds.xml

    数据源目录:

    /home/jboss/jboss-eap-4.3/jboss-as/server/uat8680/deploy

      <local-tx-datasource>

        <jndi-name>platformDataSource</jndi-name>

        <connection-url>jdbc:oracle:thin:@10.1.1.2:1521:corevttdb</connection-url>  

        <use-java-context>false</use-java-context>

        <driver-class>oracle.jdbc.OracleDriver</driver-class>

    <user-name>caicdj</user-name>

        <password>admin_yz</password>  <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>

         <new-connection-sql>ALTER session set NLS_DATE_FORMAT='YYYY-MM-DD'</new-connection-sql>

          <min-pool-size>5</min-pool-size>

          <max-pool-size>50</max-pool-size>

          <blocking-timeout-millis>5000</blocking-timeout-millis>

          <idle-timeout-minutes>5</idle-timeout-minutes>

          <metadata>

             <type-mapping>Oracle9i</type-mapping>

          </metadata>

      </local-tx-datasource>

    我们把local-tx-datasource中的用户名和密码两个节点删除或注释,加个安全域<security-domain>EncryptDBPassword_1</security-domain>

    安全域中的值任意,但要和login-config.xml 配置为中的值对应起来。

    修改改好

    <local-tx-datasource>

        <jndi-name>platformDataSource</jndi-name>

        <connection-url>jdbc:oracle:thin:@10.1.1.2:1521:corevttdb</connection-url>  

        <use-java-context>false</use-java-context>

        <driver-class>oracle.jdbc.OracleDriver</driver-class>

    <security-domain>EncryptDBPassword_1</security-domain>

    <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>

         <new-connection-sql>ALTER session set NLS_DATE_FORMAT='YYYY-MM-DD'</new-connection-sql>

          <min-pool-size>5</min-pool-size>

          <max-pool-size>50</max-pool-size>

          <blocking-timeout-millis>5000</blocking-timeout-millis>

          <idle-timeout-minutes>5</idle-timeout-minutes>

          <metadata>

             <type-mapping>Oracle9i</type-mapping>

          </metadata>

      </local-tx-datasource>

    3. 修改JBOSS的安全登录配置文,login-config.xml,其中application-policy name和安全域的值一样,修改用户,密码为Jboss加密串,第三个module-option 中的name 要和JNDI数据源中名称一致

    文件目录:

    /home/jboss/jboss-eap-4.3/jboss-as/server/uat8680/conf

    <application-policy name = "EncryptDBPassword_1">  

         <authentication>  

             <login-module code="org.jboss.resource.security.SecureIdentityLoginModule" flag="required">  

                 <module-option name="username">CAICDJ</module-option>  

                 <module-option name="password">-42c13cf25f6db50d</module-option>  

                 <module-option name="managedConnectionFactoryName">jboss.jca:name=platformDataSource,service=LocalTxCM</module-option>  

             </login-module>  

         </authentication>  

    </application-policy>

    备注:通常做法 oracle-ds.xml中安全域的名称,login-config.xmlapplication-policy name 的名称,还有module-option name 的名称设置的都一样,都和数据源中JNDI名称一样。

    4. 启动Jboss服务器,查看日志是否报错

  • 相关阅读:
    让Oracle高效并行执行的13个必备知识点
    oracle使用并行踩过的坑
    oracle parellel 案例
    并行查询 最基本
    ORACLE parallel 3个层面的影响
    Mac下百度网盘破解
    vscode整个项目的查找替换快捷键
    mysql---group_concat
    mysql-group by 与 where
    npm安装指定版本包
  • 原文地址:https://www.cnblogs.com/rencheng/p/6618653.html
Copyright © 2020-2023  润新知