encriptar con codigo algoritmo encryption active-directory wildfly

encryption - con - encriptar codigo python



¿Cómo encripto la contraseña bindCredential en Wildfly? (1)

Usa la bóveda de seguridad . Puede encontrar un capítulo sobre Password Vaults en la documentación de JBoss EAP; la configuración debe ser la misma para WildFly.

En general, debe seguir los siguientes pasos.

  1. Crear el almacén de claves JCEKS con una clave secreta

keytool -genseckey -alias vault -storetype jceks -keyalg AES -keysize 128 / -storepass vault22 -keypass vault22 / -dname "CN=vault, O=ACME, C=CZ" / -keystore /path/to/vault.keystore

  1. Crea un directorio de Vault, crea la bóveda y pon tu contraseña en ella

mkdir /path/to/vault-data-dir ${JBOSS_HOME}/bin/vault.sh -a passa -b LdapLogin / -e /path/to/vault-data-dir / -i 22 -k /path/to/vault.keystore -p vault22 -s 87654321 -v vault / -x mypassword

  1. Configure la bóveda en el WildFly:

${JBOSS_HOME}/bin/jboss-cli.sh / -c ''/core-service=vault:add(vault-options=[("KEYSTORE_URL" => "/path/to/vault.keystore"), ("KEYSTORE_PASSWORD" => "MASK-Ci5JS1kjxPX"), ("KEYSTORE_ALIAS" => "vault"), ("SALT" => "87654321"),("ITERATION_COUNT" => "22"), ("ENC_FILE_DIR" => "/path/to/vault-data-dir/")])''

  1. Use la contraseña abovedada en su módulo de inicio de sesión

<module-option name="bindCredential" value="${VAULT::LdapLogin::passa::1}"/>

Estoy intentando configurar un dominio de seguridad en Wildfly (8.2.1) para enlazarlo a nuestro Active Directory. Necesito tratar de encontrar una forma de encriptar la contraseña bindCredential. Puedo encriptar las contraseñas de la fuente de datos simplemente usando Picketbox. Solo pude averiguar para hacer esta encriptación para JBoss V6.x o antes y el método utilizado ya no parece existir en Wildfly. Alguien ha hecho esto y está dispuesto a compartir cómo se puede lograr.

Aquí está mi dominio de seguridad:

<security-domain name="ADDomain" cache-type="default"> <authentication> <login-module code="org.jboss.security.auth.spi.LdapExtLoginModule" flag="required" > <module-option name="java.naming.provider.url" value="ldap://ad.mycompany.com:389/"/> <module-option name="bindDN" value="cn=myuserid"/> <module-option name="bindCredential" value="mypassword"/> <--- I want to encrypt this. <module-option name="java.naming.factory.initial" value="com.sun.jndi.ldap.LdapCtxFactory"/> <module-option name="java.naming.security.authentication" value="simple"/> <module-option name="baseCtxDN" value="dc=mycompany,dc=com"/> <module-option name="baseFilter" value="(uid={0})"/> <module-option name="rolesCtxDN" value="dc=mycompany,dc=com"/> <module-option name="roleFilter" value="(uniqueMember={1})"/> <module-option name="roleAttributeID" value="cn"/> <module-option name="roleNameAttributeID" value="cn"/> <module-option name="roleRecursion" value="0"/> <module-option name="throwValidateError" value="true"/> <module-option name="java.naming.referral" value="follow"/> <module-option name="referralUserAttributeIDToCheck" value="uniqueMember"/> </login-module> </authentication> </security-domain>