Lanzamiento de credcheck 4.1
Durban, Sudáfrica – 19 de octubre de 2025
Extensión credcheck para PostgreSQL
La extensión de PostgreSQL credcheck permite realizar comprobaciones generales de credenciales durante la creación de un usuario, durante el cambio de contraseña y el cambio de nombre de usuario. Mediante esta extensión, es posible definir un conjunto de reglas:
- permitir un conjunto específico de credenciales
- rechazar cierto tipo de credenciales
- negar contraseñas fáciles de descifrar
- establecer el uso de una fecha de caducidad para la contraseña con un mínimo de días
- definir una política de reutilización de contraseñas
- definir el número de intentos de autenticación erróneos permitidos antes de bloquear a un usuario
- añadir un retardo tras cada fallo de autenticación
- exigir que los usuarios cambien su contraseña después del primer inicio de sesión
- generar una advertencia con un N días antes de que expire la contraseña del usuario
Se ha publicado la versión 4.1, que incluye las siguientes novedades:.
- Al crear un usuario o cambiar una contraseña, credcheck establece automáticamente la cláusula
VALID UNTIL en
now() + credcheck.password_valid_until días, siempre que dicha cláusula esté presente en la sentencia. - Se amplía la funcionalidad de las GUC ‘username_contain’ y ‘username_not_contain’ para permitir a los usuarios utilizar subcadenas en lugar de solo caracteres individuales.
- Se añade una función que permite enviar una advertencia al usuario N días antes de que su contraseña caduque. El número de días puede definirse con el parámetro
credcheck.password_valid_warning
. Por defecto, la función está desactivada. La advertencia se envía mediante un event trigger que se ejecuta al iniciar sesión, pero este trigger debe configurarse manualmente en cada base de datos donde se quiera activar la función. - Se cambia la vista pg_banned_role para mostrar el nombre del rol en lugar del oid del rol.
- Ya no se producen errores si no se utiliza la cláusula VALID UNTIL en las sentencias CREATE/ALTER ROLE. Se establece de forma automática cuando la directiva de configuración password_valid_until se establece en un valor superior a 0.
- Evita que la función de primer inicio de sesión se aplique a los nombres de usuario en la lista blanca.
- Se añaden pruebas de CI para comprobar automáticamente credcheck con PostgreSQL > 13
- Se añade la función de cambio obligatorio de contraseña al primer inicio de sesión. Esta función permite exigir a los usuarios que cambien su contraseña tras la creación de la cuenta. Dicha función se activa al habilitar
credcheck.password_change_first_login
. También es posible exigir a cualquier usuario que actualice su contraseña en cualquier momento utilizando:ALTER USER user1 SET credcheck_internal.force_change_password = true;
La nota de lanzamiento de la versión 3.0 nunca se ha publicado, por lo que resumimos aquí las nuevas características que aporta esta versión.
- Se añade una variable de configuración para evitar que algunos usuarios sean baneados. Con
credcheck.whitelist_auth_failure
es posible definir una lista blanca con los nombres de usuario que se desea excluir. Ejemplo de uso:
credcheck.whitelist_auth_failure = ‘appuser1,appuser2’
La actualización requiere un reinicio de PostgreSQL para recargar la biblioteca de credcheck.
La lista completa de cambios está disponible aquí
Enlaces y créditos
credcheck es un proyecto abierto bajo licencia PostgreSQL mantenido por HexaCluster. Se agradece cualquier contribución que nos ayude a mejorar la herramienta. Pueden enviar sus ideas, peticiones de funcionalidades o parches a través de las herramientas de GitHub.
Enlaces :
- Descargas: https://github.com/HexaCluster/credcheck/releases/
- Soporte: utilicen la herramienta para reportes de GitHub en https://github.com/HexaCluster/credcheck/issues
Información sobre credcheck
La extensión credcheck es un proyecto original de MigOps Inc. Desde que MigOPs fue cerrada, Gilles Darold está desarrollando y manteniendo la extensión en HexaCluster. Si necesitan más información, contáctennos.
Documentación en https://github.com/HexaCluster/credcheck#readme