Todo sobre Apple, Android, Juegos Apks y Sitios de Peliculas

Cómo obligar a los usuarios a cambiar sus contraseñas en Linux

Las contraseñas son la piedra angular de la seguridad de la cuenta. Le mostraremos cómo restablecer contraseñas, establecer períodos de caducidad de contraseñas y aplicar cambios de contraseña en su red Linux.

La contraseña existe desde hace casi 60 años

Hemos estado demostrando a las computadoras que somos quienes decimos ser desde mediados de la década de 1960, cuando se introdujo por primera vez la contraseña. Siendo la necesidad la madre de la invención, la Sistema de tiempo compartido compatible desarrollado en el Instituto de Tecnología de Massachusetts Necesitaba una forma de identificar diferentes personas en el sistema. También era necesario evitar que las personas vieran los archivos de los demás.

Fernando J. Corbató propuso un esquema que asignaba un nombre de usuario único a cada persona. Para demostrar que alguien era quien decía ser, tenía que usar una contraseña personal y privada para acceder a su cuenta.

El problema con las contraseñas es que funcionan como una clave. Cualquiera que tenga una clave puede usarla. Si alguien encuentra, adivina o descubre su contraseña, esa persona puede acceder a su cuenta. Hasta autenticación multifactor está disponible universalmente, la contraseña es lo único que mantiene a personas no autorizadas (actores de amenazaen lenguaje de ciberseguridad) fuera de su sistema.

Las conexiones remotas realizadas mediante Secure Shell (SSH) se pueden configurar para usar claves SSH en lugar de contraseñas, y eso es genial. Sin embargo, ese es sólo un método de conexión y no cubre los inicios de sesión locales.

Claramente, la gestión de contraseñas es vital, al igual que la gestión de las personas que las utilizan.

Relacionado: Cómo crear e instalar claves SSH desde el Shell de Linux

La anatomía de una contraseña

¿Qué hace que una contraseña sea buena? Bueno, una buena contraseña debe tener todos los siguientes atributos:

  • Es imposible adivinar o descifrar.
  • No lo has usado en ningún otro lugar.
  • No ha estado involucrado en una violación de datos.

El ¿Me han engañado? (HIBP) contiene más de 10 mil millones de conjuntos de credenciales violadas. Con cifras tan altas, es probable que alguien más haya usado la misma contraseña que usted. Esto significa que su contraseña podría estar en la base de datos, aunque no fue su cuenta la que fue violada.

Si su contraseña está en el sitio web de HIBP, esto significa que está en las listas de contraseñas que utilizan las herramientas de ataque de diccionario y fuerza bruta de los actores de amenazas cuando intentan descifrar una cuenta.

Una contraseña verdaderamente aleatoria (como 4HW@HpJDBr%*Wt@#b~aP) es prácticamente invulnerable, pero, por supuesto, nunca la recordarías. Le recomendamos encarecidamente que utilice un administrador de contraseñas para cuentas en línea. Generan contraseñas complejas y aleatorias para todas sus cuentas en línea, y usted no tiene que recordarlas: el administrador de contraseñas le proporciona la contraseña correcta.

Para cuentas locales, cada persona debe generar su propia contraseña. También necesitarán saber cuál es una contraseña aceptable y cuál no. Habrá que decirles que no reutilicen contraseñas en otras cuentas, y así sucesivamente.

Esta información suele estar en la Política de contraseñas de una organización. Indica a las personas que utilicen una cantidad mínima de caracteres, mezclen letras mayúsculas y minúsculas, incluyan símbolos y puntuación, etc.

Sin embargo, según un papel nuevor de un equipo en Universidad de Carnegie mellon, todos estos trucos añaden poco o nada a la solidez de una contraseña. Los investigadores descubrieron que los dos factores clave para la solidez de las contraseñas son que sean al menos 12 Personajes largos y suficientemente fuertes. Midieron la seguridad de la contraseña utilizando una serie de programas de descifrado de software, técnicas estadísticas y redes neuronales.

A 12-El mínimo de caracteres puede parecer desalentador al principio. Sin embargo, no piense en términos de una contraseña, sino más bien de una frase de contraseña de tres o cuatro palabras no relacionadas separadas por puntuación.

Por ejemplo, el Comprobador de contraseñas experto dijo que se necesitarían 42 minutos para descifrar “chicago99”, pero 400 mil millones de años para descifrar “chimney.purple.bag”. También es fácil de recordar y escribir, y contiene sólo 18 caracteres.

Relacionado: Por qué debería utilizar un administrador de contraseñas y cómo empezar

Revisar la configuración actual

Antes de cambiar algo relacionado con la contraseña de una persona, es prudente echar un vistazo a su configuración actual. Con el comando passwd, puedes revisar su configuración actual con su opción -S (estado). Note que también tendrás que usar

 sudo 

con passwd si estás trabajando con la configuración de contraseña de otra persona.

Escribimos lo siguiente:

sudo passwd -S mary

Se imprime una sola línea de información en la ventana del terminal, como se muestra a continuación.

Verá la siguiente información (de izquierda a derecha) en esa breve respuesta:

  • El nombre de inicio de sesión de la persona.
  • Aquí aparece uno de los tres posibles indicadores siguientes:
    • PAG: Indica que la cuenta tiene una contraseña válida y funcional.
    • L: Significa que la cuenta ha sido bloqueada por el propietario de la cuenta raíz.
    • NOTARIO PÚBLICO: No se ha establecido una contraseña.
  • La fecha en que se cambió la contraseña por última vez.
  • Edad mínima de la contraseña: El período mínimo de tiempo (en días) que debe transcurrir entre los restablecimientos de contraseña realizados por el propietario de la cuenta. Sin embargo, el propietario de la cuenta raíz siempre puede cambiar la contraseña de cualquier persona. Si este valor es 0 (cero), no hay restricción en la frecuencia de los cambios de contraseña.
  • Edad máxima de la contraseña: Al propietario de la cuenta se le solicita que cambie su contraseña cuando alcance esta edad. Este valor se proporciona en días, por lo que un valor de 99.999 significa que la contraseña nunca caduca.
  • Periodo de aviso de cambio de contraseña: Si se aplica una antigüedad máxima para la contraseña, el propietario de la cuenta recibirá recordatorios para cambiar su contraseña. El primero de ellos se enviará la cantidad de días que se muestran aquí antes de la fecha de reinicio.
  • Periodo de inactividad de la contraseña: Si alguien no accede al sistema durante un período de tiempo que se superpone a la fecha límite para restablecer la contraseña, la contraseña de esta persona no se cambiará. Este valor indica cuántos días transcurre el período de gracia después de la fecha de vencimiento de la contraseña. Si la cuenta permanece inactiva esta cantidad de días después de que caduque la contraseña, la cuenta se bloquea. Un valor de -1 desactiva el período de gracia.

Establecer una edad máxima para la contraseña

Para establecer un período de restablecimiento de contraseña, puede usar la opción -x (días máximos) con una cantidad de días. No dejas un espacio entre -x y los dígitos, por lo que lo escribirías de la siguiente manera:

sudo passwd -x45 mary

Se nos dice que el valor de vencimiento ha cambiado, como se muestra a continuación.

Utilice la opción -S (estado) para comprobar que el valor ahora es 45:

sudo passwd -S mary

Ahora, en 45 días, se deberá establecer una nueva contraseña para esta cuenta. Los recordatorios comenzarán siete días antes. Si no se establece una nueva contraseña a tiempo, esta cuenta se bloqueará inmediatamente.

También puede usar un comando para que otras personas en su red tengan que cambiar sus contraseñas la próxima vez que inicien sesión. Para hacer esto, usaría la opción -e (caducar), de la siguiente manera:

sudo passwd -e mary

Luego se nos dice que la información de caducidad de la contraseña ha cambiado.

Comprobemos con la opción -S y veamos qué pasó:

sudo passwd -S mary

La fecha del último cambio de contraseña se establece en el primer día de 1970. La próxima vez que esta persona intente iniciar sesión, tendrá que cambiar su contraseña. También deben proporcionar su contraseña actual antes de poder escribir una nueva.

¿Debería hacer cumplir los cambios de contraseña?

Obligar a las personas a cambiar sus contraseñas con regularidad solía ser de sentido común. Era uno de los pasos de seguridad de rutina para la mayoría de las instalaciones y se consideraba una buena práctica comercial.

El pensamiento actual es el polo opuesto. En el Reino Unido, el Centro Nacional de Seguridad Cibernética recomienda encarecidamente contra la aplicación de renovaciones periódicas de contraseñasy el Instituto Nacional de Estándares y Tecnología en Estados Unidos está de acuerdo. Ambas organizaciones recomiendan aplicar un cambio de contraseña solo si sabe o sospecha que existe una. conocido por otros.

Obligar a las personas a cambiar sus contraseñas se vuelve monótono y fomenta el uso de contraseñas débiles. La gente suele empezar a reutilizar una contraseña base con una fecha u otro número etiquetado. O los escribirán porque tienen que cambiarlos con tanta frecuencia que no pueden recordarlos.

Las dos organizaciones que mencionamos anteriormente recomiendan las siguientes pautas para la seguridad de las contraseñas:

  • Utilice un administrador de contraseñas: Tanto para cuentas en línea como locales.
  • Active la autenticación de dos factores: Siempre que esta sea una opción, úsala.
  • Utilice una frase de contraseña segura: Una excelente alternativa para aquellas cuentas que no funcionan con un administrador de contraseñas. Tres o más palabras separadas por puntuación o símbolos es un buen modelo a seguir.
  • Nunca reutilice una contraseña: Evite usar la misma contraseña que usa para otra cuenta y definitivamente no use una que aparece en ¿Me han engañado?.

Los consejos anteriores le permitirán establecer un medio seguro para acceder a sus cuentas. Una vez que tenga estas pautas implementadas, sígalas. ¿Por qué cambiar su contraseña si es fuerte y segura? Si cae en las manos equivocadas (o sospecha que es así), puede cambiarlo en ese momento.

Sin embargo, a veces esta decisión está fuera de tu alcance. Si los poderes fácticos hacen cumplir los cambios de contraseña, no tiene muchas opciones. Puede defender su caso y dar a conocer su puesto, pero a menos que sea el jefe, tendrá que seguir la política de la empresa.

Relacionado: ¿Debería cambiar sus contraseñas con regularidad?

El comando cambiar

Puedes usar el comando de cambio para cambiar la configuración relativa a la caducidad de la contraseña. Este comando recibe su nombre de “cambiar antigüedad”. Es como el comando passwd sin los elementos de creación de contraseña.

La opción -l (lista) presenta la misma información que el comando passwd -S, pero de una manera más amigable.

Escribimos lo siguiente:

sudo chage -l eric

Otro toque interesante es que puede establecer una fecha de vencimiento de la cuenta usando la opción -E (vencimiento). Pasaremos una fecha (en formato año-mes-fecha) para establecer una fecha de vencimiento del 30 de noviembre de 2020. En esa fecha, la cuenta se bloqueará.

Escribimos lo siguiente:

sudo chage eric -E 2020-11-30

A continuación, escribimos lo siguiente para asegurarnos de que se haya realizado este cambio:

sudo chage -l eric

Vemos que la fecha de vencimiento de la cuenta cambió de “nunca” al 30 de noviembre de 2020.

Para establecer un período de vencimiento de la contraseña, puede usar la opción -M (días máximos), junto con la cantidad máxima de días que una contraseña puede usar antes de que deba cambiarse.

Escribimos lo siguiente:

sudo chage -M 45 mary

Escribimos lo siguiente, usando la opción -l (lista), para ver el efecto de nuestro comando:

sudo chage -l mary

La fecha de vencimiento de la contraseña ahora está establecida en 45 días a partir de la fecha que la configuramos, que, como se muestra, será el 1 de diciembre. 82020.

Realizar cambios de contraseña para todos en una red

Cuando se crean cuentas, se utiliza un conjunto de valores predeterminados para las contraseñas. Puede definir cuáles son los valores predeterminados para los días mínimo, máximo y de advertencia. Luego se guardan en un archivo llamado “/etc/login.defs”.

Puede escribir lo siguiente para abrir este archivo en gedit:

sudo gedit /etc/login.defs

Desplácese hasta los controles de antigüedad de la contraseña.

Puede editarlos para adaptarlos a sus necesidades, guardar los cambios y luego cerrar el editor. La próxima vez que cree una cuenta de usuario, se aplicarán estos valores predeterminados.

Si desea cambiar todas las fechas de vencimiento de las contraseñas de las cuentas de usuario existentes, puede hacerlo fácilmente con un script. Simplemente escriba lo siguiente para abrir el editor gedit y crear un archivo llamado “password-date.sh”:

sudo gedit password-date.sh

A continuación, copie el siguiente texto en su editor, guarde el archivo y luego cierre gedit:

#!/bin/bash

reset_days=28

for username in $(ls /home)

do

sudo chage $username -M $reset_days

echo $username password expiry changed to $reset_days

done

Esto cambiará la cantidad máxima de días para cada cuenta de usuario a 28 y, por lo tanto, la frecuencia de restablecimiento de contraseña. Puede ajustar el valor de la variable reset_days para adaptarlo.

Primero, escribimos lo siguiente para que nuestro script sea ejecutable:

chmod +x password-date.sh

Ahora, podemos escribir lo siguiente para ejecutar nuestro script:

sudo ./password-date.sh

Luego, cada cuenta se procesa, como se muestra a continuación.

Escribimos lo siguiente para verificar la cuenta de “maría”:

sudo change -l mary

El valor máximo de días se ha establecido en 28 y se nos dice que caerá el 21 de noviembre de 2020. También puede modificar fácilmente el script y agregar más comandos chage o passwd.


La gestión de contraseñas es algo que debe tomarse en serio. Ahora tienes las herramientas que necesitas para tomar el control.