0

Utilizando o valt para armazenamento de senhas no Jboss 7.1

14 Flares 14 Flares ×

Utilizar o Vault (recurso do JBOSS) para armazenamento de senhas criptografadas

Keystore

O keystore pode ser definido como um repositório seguro para certificados e armazenamento de informações de forma segura. Neste caso, o valt esta utilizando o keystore para armazenamento das senhas e será acessado através de hash. Dessa forma, nenhuma senha será visível na configuração do jboss.

Gerando o keystore:

keytool -genkey -alias vault -keyalg RSA -keysize 1024 -keystore vault.keystore

Executando o script vault.sh:

/opt/jboss/bin/vault.sh

**********************************
****  JBoss Vault ********
**********************************
Please enter a Digit::   0: Start Interactive Session  1: Remove Interactive Session  2: Exit
0
Starting an interactive session
Enter directory to store encrypted files (end with either / or \ based on Unix or Windows:/root/JB248/
Enter Keystore URL:/root/JB248/vault.keystore
Enter Keystore password: <senha usada no comando keytool>
Enter Keystore password again: <denovo>
Values match
Enter 8 character salt:12345678
Enter iteration count as a number (Eg: 44):50
               
Please make note of the following:
********************************************
Masked Password:MASK-31x/z0Xn83H4JaL0h5eK/N
salt:12345678
Iteration Count:50
********************************************
               
Enter Keystore Alias:vault
Vault is initialized and ready for use
Handshake with Vault complete
Please enter a Digit::   0: Store a password  1: Check whether password exists  2: Exit
0  
Task:  Store a password
Please enter attribute value: <senha a ser gravada>
Please enter attribute value again: <confirma senha>
Values match
Enter Vault Block:DefaultOracleDS
Enter Attribute Name:senha
Attribute Value for (DefaultOracleDS, senha) saved
               
Please make note of the following:
********************************************
Vault Block:DefaultOracleDS
Attribute Name:senha
Shared Key:NDhmY2ZlYjAtZjEyOC00MjgxLWFhOTktNWE5MzNjYjg4MDFkTElORV9CUkVBS3ZhdWx0
Configuration should be done as follows:
VAULT::DefaultOracleDS::senha::NDhmY2ZlYjAtZjEyOC00MjgxLWFhOTktNWE5MzNjYjg4MDFkTElORV9CUkVBS3ZhdWx0
********************************************

Após adicionar a senha no keystore, copiar os arquivos vault.keystore Shared.dat ENC.dat para o diretório /opt/jboss/vault

Inserir as linhas abaixo no host.xml (logo após a entrada <host>):

    <vault>
<vault-option name="KEYSTORE_URL" value="/opt/jboss/vault/vault.keystore" />
<vault-option name="KEYSTORE_PASSWORD" value="MASK-3kuPeX9vCbjuGgh0AgBuuR" />
<vault-option name="KEYSTORE_ALIAS" value="vault" />
<vault-option name="SALT" value="12345678" />
<vault-option name="ITERATION_COUNT" value="50" />
<vault-option name="ENC_FILE_DIR" value="/opt/jboss/vault" />
    </vault>

No arquivo domain.xml, substituir as senhas dos datasources pela sua respectiva shared key:

<password>${VAULT::DefaultOracleDS::senha::MDZjZWU1YWMtOGQ4My00MjE0LTg0ZjQtZmY1OTA2ZTYxZDBhTElORV9CUkVBS3ZhdWx0MTAx}</password>

Restart do jboss e validação através dos logs

:wq!

RECOMENDADO PARA VOCÊ

Avelino Ferreira

"Meu egoísmo é tão egoísta que o auge do meu egoísmo é querer ajudar..."

Dúvidas? Deixe seu comentário ou entre em contato.