Gestión de contraseñas en Zimbra Collaboration Suite Edición de código abierto

La administración de contraseñas siempre ha sido uno de los problemas más importantes asociados con la operación segura de los sistemas de información. La capacidad de almacenar de forma segura y cambiar rápidamente las contraseñas de varias cuentas, la capacidad de los usuarios de restablecer de forma segura una contraseña olvidada y la capacidad de restablecer de forma segura una contraseña de administrador: todas estas funciones no son menos importantes que la política de seguridad de contraseña de la que hablamos anteriormente. En este artículo, veremos cómo se implementan estas funciones en Zimbra OSE.



Cambiar la

contraseña de usuario y administrador global La contraseña de administrador global se establece durante la instalación de Zimbra OSE y posteriormente se puede cambiar en la configuración del cliente web. La contraseña del usuario se establece inicialmente al crear la cuenta, sin embargo, el administrador puede habilitar el cambio forzado de contraseña cuando el usuario inicia sesión por primera vez en el cliente web para que el usuario no olvide establecer su propia contraseña.

En caso de que el usuario olvide su contraseña, Zimbra OSE proporciona una función de recuperación de contraseña. Esta función, si está habilitada por el administrador, permite al usuario especificar un buzón de respaldo al que llegará un código de confirmación temporal. Con este código único, un usuario puede acceder al cliente web Zimbra OSE y cambiar su contraseña.

Sin embargo, si el administrador de repente olvidó la contraseña de su cuenta y debido a esto no puede iniciar sesión en el cliente web para cambiar la contraseña, puede usar el atributo  setPassword o simplemente  sp en la línea de comando. Por ejemplo, el comando  zmprov sp admin@company.ru qwerty le  permite cambiar la contraseña del administrador a qwerty sin iniciar sesión en el cliente web Zimbra OSE. Se puede usar el mismo comando para cambiar la contraseña de cualquier otro usuario.

Tenga en cuenta también que el administrador no tiene la opción de ver la contraseña del usuario. Esta limitación se debe al hecho de que Zimbra OSE, en principio, no almacena las contraseñas de los usuarios en texto claro. En cambio, Zimbra OSE solo almacena hashes de contraseña salados y, cuando intenta iniciar sesión, compara el hash de la contraseña ingresada por el usuario con lo que está almacenado en el servidor LDAP.

Cambio de contraseña durante la autenticación a través de AD

Si AD se usa para autenticar usuarios, las contraseñas tampoco se almacenan en el servidor. En cambio, Zimbra OSE simplemente pasa AD la entrada del usuario y recibe una respuesta sobre si esta cuenta está autenticada o no. Y dado que toda la información de la cuenta se almacena en otro servidor, cuando se usa AD externo, generalmente se recomienda deshabilitar la función de cambio automático de contraseña en el cliente web Zimbra OSE.

Sin embargo, hay una manera de combinar la autenticación de usuario a través de AD con la capacidad de cambiar de forma independiente la contraseña para los usuarios. Esto puede hacerse mediante una extensión llamada  Active Directory Change Password . Cambia la funcionalidad del botón de cambio de contraseña en el cliente web Zimbra OSE para que cambie la contraseña en AD. 

La extensión es bastante fácil de instalar y funciona de la siguiente manera:

  • El usuario hace clic en el botón de cambio de contraseña
  • Introducir la contraseña
  • La extensión define el DN del usuario
  • Busca un servidor AD externo
  • Realiza cambios en la contraseña de la cuenta a través de una conexión segura

La extensión se instala en la línea de comandos utilizando los siguientes comandos:
 
 mkdir -p /opt/zimbra/lib/ext/adpassword
  wget https://github.com/Zimbra-Community/ADPassword/raw/master/out/artifacts/ADPassword_jar/ADPassword.jar -O /opt/zimbra/lib/ext/adpassword/adPassword.jar
  su zimbra
  zmprov md domain.ext zimbraAuthLdapBindDn "%u@company.ru"
  zmprov md domain.ext zimbraAuthLdapSearchBase «CN=Users,DC=DOMAIN,DC=EXT»
  zmprov md domain.ext zimbraAuthLdapSearchBindDn «CN=serviceAccount,CN=Users,DC=DOMAIN,DC=EXT»
  zmprov md domain.ext zimbraAuthLdapSearchBindPassword "*********"
  zmprov md domain.ext zimbraAuthLdapSearchFilter "(samaccountname=%u)"
  zmprov md domain.ext zimbraAuthLdapURL «ldaps://ad.company.ru:636»
  zmprov md domain.ext zimbraExternalGroupLdapSearchBase «CN=Users,DC=DOMAIN,DC=EXT»
  zmprov md domain.ext zimbraExternalGroupLdapSearchFilter "(samaccountname=%u)"
  zmprov md domain.ext zimbraAuthMech «ad»
  zmprov md domain.ext zimbraAuthMechAdmin «ad»
  zmprov md domain.ext zimbraPasswordChangeListener ADPassword
  zmprov gd domain.ext | grep -i ldap | grep -v Gal
  zmprov gd domain.ext | grep -i zimbraPasswordChangeListener
  zmprov md domain.ext zimbraAuthFallbackToLocal FALSE
  zmcontrol restart

Además, si sus servidores Zimbra OSE y Active Directory usan diferentes certificados SSL, debe agregar el certificado AD a la lista de confianza en el servidor Zimbra OSE. Si ambos sistemas de información usan el mismo certificado, puede omitir este paso.

Por lo tanto, después de instalar esta extensión, sus usuarios podrán cambiar su contraseña directamente en el cliente web Zimbra OSE, incluso cuando utilicen la autenticación mediante AD.

Restablecimiento masivo de contraseña

Es una situación bastante aceptable en la que es posible que deba restablecer rápidamente las contraseñas para una gran cantidad de usuarios de Zimbra OSE. En el caso de que el número de usuarios sea lo suficientemente grande, restablecer las contraseñas manualmente llevará mucho tiempo, lo que puede ser simplemente inaceptable en una situación crítica. Un script puede ayudar a optimizar esta tarea, que puede restablecer automáticamente las contraseñas de los usuarios de un dominio separado y un servidor de correo completo.

Por ejemplo, restablezca las contraseñas de todos los usuarios del dominio company.ru. Para hacer esto, inicie sesión en el servidor y ejecute el comando  zmprov -l gaa company.ru> /tmp/domainusers.txt . Como resultado de la ejecución de este comando, se creará el archivo de texto domainusers.txt, en el que se enumerarán todos los usuarios del dominio especificado por nosotros. Si no especifica un dominio en este comando, todas las cuentas en este servidor se escribirán en el archivo de texto.

Después de eso, puede eliminar del archivo de texto recibido todas las cuentas del sistema, como galsync o spam, así como aquellos usuarios cuya contraseña no se restablecerá. Cuando el archivo esté listo, puede ejecutar el siguiente script:

para i en `cat / tmp / domainusers.txt`; do newpass = "Z1mBr @` openssl rand -base64 12`0a "&& / opt / zimbra / bin / zmprov sp $ i $ newpass && echo $ i $ newpass >> newlogin.txt && echo $ i && sleep 5s; hecho

El resultado de este script será un archivo newlogin.txt con nuevas contraseñas de cuenta. Le recomendamos que lo guarde en un lugar seguro lo antes posible y elimine este archivo del servidor. Después de eso, puede informar a los usuarios de sus nuevas contraseñas para que puedan continuar trabajando en Zimbra OSE.

Contraseña separada para dispositivos móviles.

Otra característica interesante que está disponible después de instalar Zextras Suite de extensiones para Zimbra OSE es una contraseña separada para ingresar al buzón desde un dispositivo móvil. En otras palabras, se crea una contraseña adicional para una cuenta usando su cuenta en un dispositivo móvil, con la cual puede sincronizar su dispositivo con un buzón, pero no puede iniciar sesión en el cliente web Zimbra OSE. Esta característica puede aumentar significativamente la seguridad del uso del correo electrónico fuera de la oficina, ya que el dispositivo móvil puede verse comprometido o incluso robado, y la función de contraseña móvil ayudará a evitar que la contraseña de la cuenta real caiga en manos de los atacantes.


Crear una contraseña para dispositivos móviles es bastante simple. Esto se puede hacer tanto en la consola de administración usando el complemento Zextras como en la línea de comandos. Entonces, por ejemplo, usando el comando  zxsuite mobile setAccountMobilePassword manager@company.ru Z1mBr @, le dará al usuario manager@company.ru la contraseña Z1mBr @. Usando el comando  zxsuite mobile getAccountMobilePassword manager@company.ru puede ver la contraseña móvil del usuario manager@company.ru, y usando el comando zxsuite mobile unsetAccountMobilePassword manager@company.ru puede eliminar por completo la contraseña móvil del usuario especificado. 

Para todas las preguntas relacionadas con la Suite Zextras, puede contactar al representante de la empresa Zextras Ekaterina Triandafilidi por correo electrónico katerina@zextras.com

All Articles