Tres herramientas útiles de gestión de contraseñas

3 Herramientas de Gestión Contraseñas Que Ayudan a Mejorar la Seguridad de Sistemas

adminNoticias, Tutoriales

Uno de los primeros consejos para garantizar la seguridad de cualquier sistema es usar «contraseñas seguras» y cambiarlas periódicamente. Esto aplica tanto a los usuarios del sistema como del dominio. En este post repasamos brevemente qué se puede considerar como una buena contraseña y qué herramientas Linux pueden ayudar a los administradores a mejorar la seguridad de los sistemas referente a los usuarios y sus contraseñas.

¿Qué se considera una buena contraseña?

La robustez de una buena contraseña frente a un ataque de fuerza bruta depende tanto de su longitud como de la cardinalidad del conjunto de símbolos entre los que escogemos. Por eso conviene construir contraseñas de al menos 8 caracteres, entre los que se encuentren mayúsculas, minúsculas, números y caracteres especiales.

Por supuesto, también tendremos que ser cuidadosos de no apuntar o transmitir esta contraseña usando métodos inseguros. Debemos tener en cuenta, además, que incluso una buena contraseña, una vez ha sido ‘crackeada’, pasa a formar parte de los diccionarios utilizados por los ‘crackers’. Por consiguiente, se convierte en un punto débil en la cadena de seguridad del sistema.

Herramientas para gestionar contraseñas

Existen varios comandos y funcionalidades que permiten a los administradores de sistemas reforzar la seguridad de las contraseñas. Nos gustaría destacar estos tres:

1. Comando: samba-tool domain passwordsettings

La herramienta «samba-tool domain passwordsettings» permite establecer una serie de parámetros para las contraseñas de todos los usuarios del dominio: Longitud mínima y complejidad de la contraseña, Longitud del historial de la contraseña, Antigüedad mínima y máxima de la contraseña y Bloqueo de la cuenta, entre otros.

samba-tool domain passwordsettings command options

Opciones del comando samba-tool domain passwordsettings

Podemos ver las todas opciones disponibles con el siguiente comando:

samba-tool domain passwordsettings --help

Es importante tener en cuenta que se puede usar en entornos mixtos (unido en un controlador de dominio Windows). Sin embargo, si hay alguna política de grupo existente referente a contraseñas, esta tendrá preferencia. También debemos tener en cuenta que la versión de Samba (4.7) integrada en Zentyal todavía no soporta PSOs (Password Settings Objects). Esto significa que los requisitos establecidos para las contraseñas se aplicarán a todos los usuarios del dominio.

2. Comando: chage

El comando ‘chage’ es un acrónimo de «change age» (cambiar duración). Como su nombre indica, este comando se usa principalmente para cambiar la duración de la contraseña de un usuario del sistema concreto (NOTA: no usuario del dominio). Podemos usarlo para ver la fecha del último cambio de contraseña o establecer el número de días entre los cambios de contraseña. También permite inhabilitar una cuenta después de haber pasado un tiempo definido de inactividad.

Chage command options

Opciones del comando chage

Con el siguiente comando podemos obtener más información:

chage --help

3. Módulo PAM: ‘pam_pwquality’

Este módulo nos permite aplicar políticas de contraseñas robustas ya que revisa la calidad de las contraseñas cuando son introducidas por los usuarios. Al tener esta funcionalidad instalada y configurada, cuando a un usuario del sistema trate de cambiar su contraseña, se le avisará si la nueva contraseña introducida es suficientemente segura.

Además de realizar controles básicos de la contraseña (la nueva contraseña no está en el diccionario, no es un palíndromo, es suficientemente diferente a la anterior, tiene una longitud mínima…), el administrador puede configurar parámetros como:

  • Número de veces el usuario puede intentar crear una contraseña segura
  • Número máximo de caracteres repetidas
  • Número mínimo de mayúsculas, minúsculas y números
  • Número de caracteres que deben ser diferentes de los de la contraseña anterior
  • Número de palabras del nombre de usuario que la contraseña puede incluir

Para ver las posibilidades que ofrece y establecer la configuración, debemos editar el siguiente archivo de configuración:

/etc/security/pwquality.conf

Consejos adicionales

Hay muchas utilidades para gestionar contraseñas, aparte de las que facilitan los propios sistemas operativos. Por ejemplo, KeePass es un proyecto de código abierto maduro y muy cómodo de usar que, además, tiene «ports» para Linux y Mac OS X. Esta aplicación nos ayudará a generar contraseñas a partir de conjuntos de caracteres personalizados o simplemente a guardar nuestras propias contraseñas.

KeePass tiene un sistema de doble autenticación a través del uso de contraseñas y/o «key file» (se puede utilizar ambos o sólo uno de ellos). Generamos un pequeño archivo llave desde la propia aplicación y lo mantenemos seguro. Usando esta aplicación, la seguridad de nuestras contraseñas se habrá incrementado en gran medida.

En la medida de lo posible, es recomendable utilizar «frases de contraseñas» (“passphrases”) escogiendo cuatro o cinco palabras incluyendo números y caracteres especiales. Este tipo de contraseñas son más fáciles de recordar y son especialmente útiles para aquellos recursos a los que debemos acceder repetidamente a lo largo de la jornada.

Además, deberíamos cambiar periódicamente las contraseñas (KeePass ayudará también a gestionar esta tarea) y estar atento a las filtraciones de datos. Para ello son muy útiles servicios como Firefox Monitor.

Para terminar, el mejor consejo que podemos dar si se necesita un extra de seguridad respecto al usuario estándar de la Internet es que nos familiaricemos con John the Ripper y sus formas de trabajar.