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

FIND OPEN TCP PORTS AND PIDs

PCP script to find open TCP ports and PIDs in Solaris

PCP is a script that can help you quickly find Processes (PIDs)
having particular TCP Port(s) open, TCP ports open by specific PIDs
or even list all the TCP Ports open by all PIDs running on your system.

PIDs for TCP Port
Run PCP with "-p" option to show the PIDs of processes having a
TCP port (say Port 22)
Example:
test@mx3 # ksh "pcp.ksh" -p 22 PID Process Name and Port
_________________________________________________________
26308 sshd 22
sockname: AF_INET 10.0.0.7 port: 22
sockname: AF_INET 10.0.0.7 port: 22
sockname: AF_INET 10.0.0.7 port: 22
_________________________________________________________

TCP Ports open by PIDs
Run PCP with "-P" option to show the TCP ports open by specific PID

PIDs for all open TCP Ports
Use the "-a" option to list all TCP ports open with all the PIDs

Many thanks for this Script Sam Nelson and Daniel Trinkle trinkle

free counters