Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Índice

Table of Contents
maxLevel4
outlinetrue
exclude.*ndice
stylenone

Objetivo


Este guia tem como finalidade demonstrar os passos necessários para realizar a encriptação sobre a senha de acesso ao banco de dados.

Note

Esse procedimento pode ser realizado para encriptação da senha de todos os bancos de dados homologados pela matriz de portabilidade do fluig.

Encriptação de senha


A encriptação de senha do banco de dados do fluig é um procedimento muito importante, para evitar o acesso não autorizado à base de dados e com isso aumentar a segurança das suas informações.

Para realizar esse procedimento, é necessário seguir as etapas abaixo, que consistem em gerar a senha criptografada e, em seguida, criar a política de autenticação da aplicação com essa senha.

Encriptação da senha da base de dados (DataSource)


Nessa etapa, a senha da base de dados é encriptada usando o método principal da classe SecureIdentityLoginModule, passando como parâmetro a senha em texto plano do banco de dados utilizado. Para fazer a configuração, siga os passos abaixo:

Panel
Deck of Cards
idEncriptação
Card
id01
labelPasso 01

Navegue até a pasta raiz do fluig, e acesse a pasta appserver.

Linux              ==> /opt/fluig/appserver

Windows        ==> c:\fluig\appserver

Card
id02
labelPasso 02

Gere a senha encriptada.

Linux:
java -cp modules/system/layers/base/org/jboss/logging/main/jboss-logging-3.3.0.Final.jar:modules/system/layers/base/org/picketbox/main/picketbox-4.9.6.Final.jar org.picketbox.datasource.security.SecureIdentityLoginModule senha#do#banco@123!

Windows:
java -cp modules/system/layers/base/org/picketbox/main/picketbox-4.9.6.Final.jar org.picketbox.datasource.security.SecureIdentityLoginModule senha#do#banco@123!

Note

Neste caso senha#do#banco@123!, será a senha de acesso ao banco de dados, e o resultado será:

Encoded password: -73d03118655333edb6cf7435bc02950441a847c51697cc6c


Criar a política de autenticação da aplicação com a senha encriptada


Nessa etapa é mostrado onde fica o arquivo de configuração para acesso ao banco de dados (domain.xml), a aplicação da política de autenticação pelo aplicativo e a sua respectiva configuração.

Note
titleImportante!

Antes de fazer qualquer alteração, é importante manter uma cópia do arquivo domain.xml original, caso seja necessário retornar alguma configuração.

Panel
Deck of Cards
idPolítica
Card
id01
labelPasso 01

Navegue até a pasta raiz de instalação do fluig. Depois vá até a pasta de configuração  onde está o arquivo domain.xml. Abra esse arquivoem modo administrador ou root.


Linux              ==> /opt/fluig/appserver/domain/configuration

Windows        ==> c:\fluig\appserver\domain\configuration

Card
id02
labelPasso 02

Edite o arquivo domain.xml incluindo o bloco que contém a política de autenticação e a senha encriptada gerada na etapa anterior. Ao abrir o arquivo domain.xml, procurar pela tag:

Code Block
languagexml
<subsystem xmlns="urn:jboss:domain:security:1.2">

Dentro da tag <security-domains> deve-se inserir os seguintes blocos:

Code Block
languagexml
titleA partir da versão 1.6.5-190514
<security-domain name="encrypted-FluigDS" cache-type="default">
    <authentication>
        <login-module                code="org.picketbox.datasource.security.SecureIdentityLoginModule" flag="required">
            <module-option name="username" value="admin"/><!-- usuário do banco -->
            <module-option name="password" value="-73d03118655333edb6cf7435bc02950441a847c51697cc6c"/>
            <!-- senha encriptada -->
            <module-option name="managedConnectionFactoryName" value="jboss.jca:service=LocalTxCM,name=FluigDS"/>
        </login-module>
    </authentication>
</security-domain>


<security-domain name="encrypted-FluigDSRO" cache-type="default">
    <authentication>
        <login-module code="org.picketbox.datasource.security.SecureIdentityLoginModule" flag="required">
            <module-option name="username" value="admin"/><!-- usuário do banco -->
            <module-option name="password" value="-73d03118655333edb6cf7435bc02950441a847c51697cc6c"/>
            <!-- senha encriptada -->
            <module-option name="managedConnectionFactoryName" value="jboss.jca:service=NoTxCM,name=FluigDSRO"/>
        </login-module>
    </authentication>
</security-domain>

<security-domain name="encrypted-AppDS" cache-type="default">
    <authentication>
        <login-module code="org.picketbox.datasource.security.SecureIdentityLoginModule" flag="required">
            <module-option name="username" value="admin"/><!-- usuário do banco -->
            <module-option name="password" value="-73d03118655333edb6cf7435bc02950441a847c51697cc6c"/>
            <!-- senha encriptada -->
            <module-option name="managedConnectionFactoryName" value="jboss.jca:service=NoTxCM,name=AppDS"/>
        </login-module>
    </authentication>
</security-domain>
Code Block
languagexml
titleAté a versão 1.6.5-190507
<security-domain name="encrypted-FluigDS" cache-type="default">
    <authentication>
        <login-module                code="org.picketbox.datasource.security.SecureIdentityLoginModule" flag="required">
            <module-option name="username" value="admin"/><!-- usuário do banco -->
            <module-option name="password" value="-73d03118655333edb6cf7435bc02950441a847c51697cc6c"/>
            <!-- senha encriptada -->
            <module-option name="managedConnectionFactoryName" value="jboss.jca:service=LocalTxCM,name=FluigDS"/>
        </login-module>
    </authentication>
</security-domain>


<security-domain name="encrypted-FluigDSRO" cache-type="default">
    <authentication>
        <login-module code="org.picketbox.datasource.security.SecureIdentityLoginModule" flag="required">
            <module-option name="username" value="admin"/><!-- usuário do banco -->
            <module-option name="password" value="-73d03118655333edb6cf7435bc02950441a847c51697cc6c"/>
            <!-- senha encriptada -->
            <module-option name="managedConnectionFactoryName" value="jboss.jca:service=NoTxCM,name=FluigDSRO"/>
        </login-module>
    </authentication>
</security-domain>

Os atributos  security-domain name, serão usados posteriormente na configuração de acesso ao banco de dados.

Card
id03
labelPasso 03


Edite o arquivo domain.xml alterando o bloco de acesso ao banco de dados. Ao abrir o arquivo, procure pelas tags:

Code Block
languagexml
titleA partir da versão 1.6.5-190514
<subsystem xmlns="urn:jboss:domain:datasources:4.0">
    <datasources>
        <datasource enabled="true" jndi-name="java:/jdbc/FluigDS" jta="true" pool-name="FluigDS" use-java-context="false">
        <datasource enabled="true" jndi-name="java:/jdbc/FluigDSRO" jta="false" pool-name="FluigDSRO" use-java-context="false">
		<datasource enabled="true" jndi-name="java:/jdbc/AppDS" jta="false" pool-name="AppDS" use-java-context="false">
Code Block
languagexml
titleAté a versão 1.6.5-190507
<subsystem xmlns="urn:jboss:domain:datasources:4.0">
    <datasources>
        <datasource enabled="true" jndi-name="java:/jdbc/FluigDS" jta="true" pool-name="FluigDS" use-java-context="false">
        <datasource enabled="true" jndi-name="java:/jdbc/FluigDSRO" jta="false" pool-name="FluigDSRO" use-java-context="false">


No primeiro datasource cujo pool-name é FluigDS, deve-se eliminar o seguinte bloco:

Code Block
languagexml
<security>
<user-name>admin</user-name>
<password>senhaDeTextoPlano</password>
</security>

Após remover o bloco acima, substituí-lo pelo bloco abaixo:

Code Block
languagexml
<security>
     <security-domain>encrypted-FluigDS</security-domain>
</security>

No segundo datasource cujo pool-name é FluigDSRO, deve-se eliminar o seguinte bloco:

Code Block
languagexml
<security>
<user-name>admin</user-name>
<password>senhaDeTextoPlano</password>
</security>

Após remover o bloco acima, substituí-lo pelo bloco abaixo.

Code Block
languagexml
<security>
     <security-domain>encrypted-FluigDSRO</security-domain>
</security>

A partir da versão 1.6.5-190514

No terceiro datasource cujo pool-name é AppDS, deve-se eliminar o seguinte bloco:

Code Block
languagexml
<security>
<user-name>admin</user-name>
<password>senhaDeTextoPlano</password>
</security>

Após remover o bloco acima, substituí-lo pelo bloco abaixo.

Code Block
languagexml
<security>
     <security-domain>encrypted-AppDS</security-domain>
</security>

Pronto!


Após estes procedimentos, o fluig pode ser iniciado e passa a operar com a senha do banco encriptada, evitando acessos não autorizados e trazendo mais segurança para as suas informações.