Índice
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.
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:
Navegue até a pasta raiz do fluig, e acesse a pasta appserver. Linux ==> /opt/fluig/appserver Windows ==> c:\fluig\appserver |
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/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!
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.
Antes de fazer qualquer alteração, é importante manter uma cópia do arquivo domain.xml original, caso seja necessário retornar alguma configuração. |
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 arquivo em modo administrador ou root.
Linux ==> /opt/fluig/appserver/domain/configuration Windows ==> c:\fluig\appserver\domain\configuration |
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: <subsystem xmlns="urn:jboss:domain:security:1.2"> |
Dentro da tag <security-domains> deve-se inserir os seguintes blocos: <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> |
Os atributos security-domain name, serão usados posteriormente na configuração de acesso ao banco de dados. |
Edite o arquivo domain.xml alterando o bloco de acesso ao banco de dados. Ao abrir o arquivo, procure pelas tags: <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/FluigDSRO" jta="false" pool-name="AppDS" use-java-context="false"> |
No primeiro datasource cujo pool-name é FluigDS, deve-se eliminar o seguinte bloco: <security>
<user-name>admin</user-name>
<password>senhaDeTextoPlano</password>
</security> |
Após remover o bloco acima, substituí-lo pelo bloco abaixo: <security>
<security-domain>encrypted-ds-FluigDS</security-domain>
</security> |
No segundo datasource cujo pool-name é FluigDSRO, deve-se eliminar o seguinte bloco: <security>
<user-name>admin</user-name>
<password>senhaDeTextoPlano</password>
</security> |
Após remover o bloco acima, substituí-lo pelo bloco abaixo. <security>
<security-domain>encrypted-ds-FluigDSRO</security-domain>
</security> |
No terceiro datasource cujo pool-name é AppDS, deve-se eliminar o seguinte bloco: <security>
<user-name>admin</user-name>
<password>senhaDeTextoPlano</password>
</security> |
Após remover o bloco acima, substituí-lo pelo bloco abaixo. <security>
<security-domain>encrypted-ds-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.