Servicios

Web hosting
Ver »
Páginas Web
Ver »
Soporte UNIX
Ver »
UNIX TIPS
Ver »

NPASSWD

Npasswd (http://www.utexas.edu/cc/unix/software/npasswd/) es un reemplazo para el comando passwd de Unix que forza a los usuarios a elegir contraseñas que son más difíciles de adivinar mediante programas tales como Crack o John The Ripper. El procedimiento de instalación y configuración de Npasswd es el siguiente:


   1. Ingresar al sistema donde desea instalarse Npasswd con una cuenta sin privilegios especiales y ejecutar el shell Korn Shell (ksh) :

ksh -o vi
export PATH=$PATH:/usr/ccs/bin:/usr/local/bin:/usr/local/sbin

   2. Asegurarse de que el servidor cuenta con un compilador funcional de lenguaje C. Si no se cuenta con una licencia para el compilador comercial, puede usarse GNU cc (gcc). Gcc puede ser descargado del sitio http://www.sunfreeware.com. El archivo precompilado para Solaris se llama gcc_small-3.4.2-sol9-sparc-local.gz, pero requiere de las librerías incluidas en el archivo libiconv-1.8-sol9-sparc-local.gz, por lo que el orden de instalación es el siguiente (el binario de gcc es instalado en el directorio /usr/local/bin):

gunzip libiconv-1.8-sol9-sparc-local.gz gcc_small-3.4.2-sol9-sparc-local.gz

pkgadd -d ./libiconv-1.8-sol9-sparc-local
pkgadd -d ./ gcc_small-3.4.2-sol9-sparc-local

 
   3. Transferir vía FTP/SFTP el código fuente del programa Npasswd (npasswd-2.05.tar.gz) y sus diccionarios (npasswd-words.tar.gz) al servidor dónde desea instalarse.

 
   4. Respaldar el programa /usr/bin/passwd:

cp -p /usr/bin/passwd /var/tmp


   5. Descomprimir y desempaquetar los archivos npasswd-2.05.tar.gz y npasswd-words.tar.gz en un directorio o sistema de archivos tal como /var/tmp/tools:

gunzip npasswd-2.05.tar.gz npasswd-words.tar.gz
tar xvf npasswd-2.05.tar

 
   6. Ingresar al directorio npasswd-2.05/dict y desempacar el archivo ../../npasswd-words.tar:

cd ./npasswd-2.05/dict
tar xvf ../../npasswd-words.tar


   7. Copiar el subdirectorio npasswd-2.00/dict al directorio actual y eliminar el subdirectorio npasswd-2.00:

cp ./npasswd-2.00/dict/* .
rm -rf npasswd-2.00

 
   8. Subir al directorio padre y configurar el ambiente de compilación:

cd ..
./Configure


   9. Realizar la instalación respondiendo siempre con las opciones por default, excepto para las siguientes opciones:

What command will force resolution on this system? [cc] gcc

Do you want to include NIS support? [y] n
…
The 'paranoid' option will cause npasswd to abort if the uid obtained via getpwnam(getlogin) does not equal the uid obtained via getuid().

If you allow multiple login names to have the same uid, then DO NOT enable this option.

Activate the "paranoid" option [n] y
…
Now you must run a make.

 
  10. Compilar Npasswd:

make


  11. Convertirse en superusuario (root) e instalar Npasswd:

make install


  12. Editar el archivo /usr/lib/passwd/passwd.conf y configurar las siguientes variables (descomentarlas y cambiar su valor por default):
vi /usr/lib/passwd/passwd.conf
passwd.AlphaOnly        false   Allow alpha-only passwords
passwd.CharClasses      4       Minimum number of character classes required
passwd.MinPassword      8       Minimum password length
passwd.PrintableOnly    true    Deny non-printable characters in passwords
passwd.WhiteSpace       false   Deny whitespace characters in passwords
passwd.History depth    6     How many passwords to Keep per user

  13. Ejecutar los siguientes comandos para recompilar Npasswd:

sh ./files/passwd.conf.SH
make realclean
make
make install


  14. Inicializar la BD de historia de contraseñas:

/usr/lib/passwd/history_admin load < /dev/null


  15. Probar el nuevo binario de Npasswd simulando cambiar la contraseña de algún usuario:

passwd username

 
Changing password for username on hostname

New password (? for help): ********

 
Deben cumplirse las siguientes condiciones:

 

o        El password debe tener una longitud mínima de 8 caracteres

o        El carácter de espacio no es un carácter válido

o        No son válidos los caracteres no imprimibles

o        No se aceptan contraseñas que contengan sólo caracteres

o        El password debe contener al menos un carácter en mayúscula, uno en minúscula, un dígito y un carácter de puntuación


 
Mensaje  de advertencia sobre el uso autorizado del sistema

Este sistema es para el uso exclusivo de usuarios autorizados, por lo
que las personas que lo utilicen sin autorizacion o con abuso de
autoridad, estaran sujetos al monitoreo de todas sus actividades en el
mismo. Cualquier persona que utilice este sistema permite expresamente
tal monitoreo y debe estar consciente de que si este revelara una
posible actividad criminal, el personal de sistemas proporcionara la
evidencia del monitoreo al personal de seguridad informatica, con el
fin de emprender las acciones civiles y/o legales que correspondan.

ADVERTENCIA A LOS USUARIOS: El uso de este sistema esta restringido a
usuarios autorizados.

Use of this network is restricted to authorized users only. User
activity may be monitored and/or recorded. Anyone using this network
expressly consents to such monitoring and/or recording. BE ADVISED: if
possible criminal activity is detected, these records, along with
certain personal information, may be provided to law enforcement
officials.

WARNING TO USERS: Use is restricted to authorized users.

Regresar


Random TIPS

EFFICIENT COMMANDS
In anytime I see someone code inefficiently. Here are three of the most common mistakes, followed by a better way to do the same thing.
Bad: cat somefile | grep something
Better: grep something somefile
Why: You're running one program (grep) instead of two (cat and grep).
Bad: ps -ef | grep something | grep -v grep
Better: ps -ef | grep [s]omething
Why: You're running two commands (grep) instead of three (ps and two greps).
Bad: cat /dev/null > somefile
Better: > somefile
Why: You're running a command (cat) with I/O redirection, instead of just redirection.
Although the bad way will have the same result, the good way is far faster. This may seem trivial, but the benefits will really show when dealing with large files or loops.

free counters