Recuperando senhas de datasources encriptados em JBoss
Dica publicada em Java / Segurança
Recuperando senhas de datasources encriptados em JBoss
Esta dica tem como alvo administradores de servidores de aplicações JBoss nas versões 3.x até 6.x, onde por segurança, as senhas dos datasources responsáveis por prover as credenciais e outras configurações de banco para determinada aplicação são armazenadas.
Por padrão, as senhas dos datasources são configuradas em texto plano, como mostra o exemplo abaixo.
exemplo-ds.xml:
Manter a senha desta forma a deixa explícita, e qualquer pessoa que possua acesso ao servidor pode obter usuário e senha do banco de dados utilizado pela aplicação.
Esta dica tem como principal objetivo mostrar uma forma bem básica de recuperar a senha caso a mesma seja esquecida, e tendo em mãos somente o password encriptado.
Para isso, faça download do "passEncryptDecryptDSJboss.jar" e siga as instruções abaixo.
Suponhamos que temos a senha "413688894eba7e4" encriptada e precisamos descriptá-la por algum motivo:
# java -jar passEncryptDecryptDSJboss.jar decode 413688894eba7e4
A dica na íntegra, encontra-se em:
Abs.
Por padrão, as senhas dos datasources são configuradas em texto plano, como mostra o exemplo abaixo.
exemplo-ds.xml:
<datasources>
<local-tx-datasource>
<jndi-name>logreaderDS</jndi-name>
<connection-url>jdbc:mysql://10.11.152.88:3306/banco</connection-url>
<connection-property name="autoReconnect">true</connection-property>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<user-name>usuário</user-name>
<password>senha</password>
<min-pool-size>5</min-pool-size>
<max-pool-size>20</max-pool-size>
<idle-timeout-minutes>0</idle-timeout-minutes>
<metadata>
<type-mapping>mySQL</type-mapping>
</metadata>
</local-tx-datasource>
</datasources>
<local-tx-datasource>
<jndi-name>logreaderDS</jndi-name>
<connection-url>jdbc:mysql://10.11.152.88:3306/banco</connection-url>
<connection-property name="autoReconnect">true</connection-property>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<user-name>usuário</user-name>
<password>senha</password>
<min-pool-size>5</min-pool-size>
<max-pool-size>20</max-pool-size>
<idle-timeout-minutes>0</idle-timeout-minutes>
<metadata>
<type-mapping>mySQL</type-mapping>
</metadata>
</local-tx-datasource>
</datasources>
Manter a senha desta forma a deixa explícita, e qualquer pessoa que possua acesso ao servidor pode obter usuário e senha do banco de dados utilizado pela aplicação.
Esta dica tem como principal objetivo mostrar uma forma bem básica de recuperar a senha caso a mesma seja esquecida, e tendo em mãos somente o password encriptado.
Para isso, faça download do "passEncryptDecryptDSJboss.jar" e siga as instruções abaixo.
Suponhamos que temos a senha "413688894eba7e4" encriptada e precisamos descriptá-la por algum motivo:
# java -jar passEncryptDecryptDSJboss.jar decode 413688894eba7e4
Pass decoded: teste
A dica na íntegra, encontra-se em:
Abs.