Otro método cada día más utilizado para proteger las contraseñas
de los usuarios el denominado Shadow Password u oscurecimiento de
contraseñas. La idea básica de
este mecanismo es impedir que los usuarios sin privilegios puedan leer el
fichero donde se almacenan las claves cifradas; en el punto anterior hemos
comentado que el fichero /etc/passwd tiene que tener permiso de lectura
para todo el mundo si queremos que el sistema funcione correctamente. En
equipos con oscurecimiento de contraseñas este fichero sigue siendo legible
para todos los usuarios, pero a diferencia del mecanismo tradicional, las
claves cifradas no se guardan en él, sino en el archivo /etc/shadow,
que sólo el root puede leer. En el campo correspondiente a la clave
cifrada de /etc/passwd no aparece ésta, sino un símbolo que indica
a determinados programas (como /bin/login) que han de buscar las claves
en /etc/shadow, generalmente una x:
toni:x:1000:100:Antonio Villalon,,,:/export/home/toni:/bin/sh
El aspecto de /etc/shadow es en cierta forma similar al de /etc/passwd que ya hemos comentado: existe una línea por cada usuario del
sistema, en la que se almacena su login y su clave cifrada. Sin embargo,
el resto de campos de este fichero son diferentes; corresponden a información
que permite implementar otro mecanismo para proteger las claves de los usuarios,
el envejecimiento de contraseñas o Aging Password, del que hablaremos a
continuación:
toni:LEgPN8jqSCHCg:10322:0:99999:7:::
Desde hace un par de años, la gran mayoría de Unices del mercado
incorporan este mecanismo; si al instalar el sistema operativo las claves
aparecen almacenadas en /etc/passwd podemos comprobar si existe la orden
pwconv, que convierte un sistema clásico a uno oscurecido. Si no es
así, o si utilizamos un Unix antiguo que no posee el mecanismo de Shadow Password, es muy conveniente que consigamos el paquete que lo
implementa (seguramente se tratará de un fichero shadow.tar.gz que
podemos encontar en multitud de servidores, adecuado a nuestro clon de Unix) y
lo instalemos en el equipo. Permitir que todos los usuarios lean las
claves cifradas ha representado durante años, y sigue representando, uno de
los mayores problemas de seguridad de Unix; además, una de las actividades
preferidas de piratas novatos es intercambiar ficheros de claves de los sistemas
a los que acceden y crackearlos, con lo que es suficiente una persona que
lea nuestro fichero para tener en poco tiempo una colonia de intrusos en
nuestro sistema.
© 2002 Antonio Villalón Huerta