Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Índice

4
Índice
maxLevel
outlinetrue
exclude.*ndice
stylenone

Objetivo 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.

Nota

Esse procedimento pode ser realizado para encriptação da senha de todos os bancos de dados homologados pela matriz Matriz de portabilidade Portabilidade do fluigTOTVS Fluig Plataforma.


Encriptação de senha

...

A encriptação de senha do banco de dados do fluig da plataforma é 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.

Painel
titleoculto

Informação interna:

Este passo a passo foi duplicado para o artigo: https://centraldeatendimento.fluig.com/hc/pt-br/articles/360033268194

Se for feita alguma atualização, lembrar de repassar pra lá.


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:

deck
Deck of Cardspanel
history
false
idEncriptação
Card
id01
labelPasso 01

Navegue até a pasta raiz

do fluig

de instalação, e acesse a pasta appserver.

Linux              ==> /opt/fluig/appserver

Windows        ==> c:\fluig\appserver

Card
id02
labelPasso 02

Gere a senha encriptada.

Linux:

Bloco de código
titleA partir da atualização 1.7
../jdk-64/bin/java -cp 
             ==>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
5.
9
0.
6
3.Final.jar org.picketbox.datasource.security.
SecureIdentityLoginModule 
SecureIdentityLoginModule senha#do#banco@123!

Windows        ==>

Bloco de código
titleAté a atualização 1.6.5
../jdk-64/bin/java -cp 
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
.SecureIdentityLoginModule senha#do#banco@123!


Windows:

Bloco de código
titleA partir da atualização 1.7
java -cp modules/system/layers/base/org/picketbox/main/picketbox-5.0.3.Final.jar org.picketbox.datasource.security.SecureIdentityLoginModule senha#do#banco@123!
Bloco de código
titleAté a atualização 1.6.5
java -cp modules/system/layers/base/org/picketbox/main/picketbox-4.9.6.Final.jar org.picketbox.datasource.security.SecureIdentityLoginModule senha#do#banco@123!
Nota

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

...

Nota
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.

deck
Deck of Cardspanel
history
false
idPolítica
Card
id01
labelPasso 01

Navegue até a pasta raiz de instalação do

fluig. Depois vá até

TOTVS Fluig Plataforma e acesse a pasta de

configuração 

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

procure pela tag:

Bloco de código
languagexml
<subsystem xmlns="urn:jboss:domain:security:1.2">

fluig 1.6.5-190514

Dentro da tag <security-domains>

deve-se

é necessário inserir os seguintes blocos:

Bloco de código
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
usuario 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
usuario 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
usuario 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>
fluig 1.6

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

Bloco de código
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
usuario 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
usuario 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


fluig 1.6.5-190514

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

Bloco de código
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">

fluig 1.6

Edite o arquivo domain.xml alterando o bloco de acesso ao banco de dados. Ao abrir o arquivo, procure pelas tags:
Bloco de código
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

é necessário eliminar o seguinte bloco:

Bloco de código
languagexml
<security>
<user-name>admin</user-name>
<password>senhaDeTextoPlano</password>
</security>

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

Bloco de código
languagexml
<security>
     <security-domain>encrypted-
ds-
FluigDS</security-domain>
</security>

No segundo datasource cujo pool-name é FluigDSRO,

deve-se

é necessário eliminar o seguinte bloco:

Bloco de código
languagexml
<security>
<user-name>admin</user-name>
<password>senhaDeTextoPlano</password>
</security>

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

Bloco de código
languagexml
<security>
     <security-domain>encrypted
-ds
-FluigDSRO</security-domain>
</security>
Para fluig

A partir da versão 1.6.5-190514

No terceiro datasource cujo pool-name é AppDS,

deve-se

é necessário eliminar o seguinte bloco:

Bloco de código
languagexml
<security>
<user-name>admin</user-name>
<password>senhaDeTextoPlano</password>
</security>

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

Bloco de código
languagexml
<security>
     <security-domain>encrypted
-ds
-AppDS</security-domain>
</security>


Pronto!

...

Após estes procedimentos, o fluig sua plataforma pode ser iniciado iniciada 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.

HTML
<script>
	$("b:contains('oculto')").parent().parent().hide();
</script>