Debe introducir al menos 3 caracteres en el buscador.
Inicio / Wikis / Tutoriales / Guía de Seguridad del Administrador de Linux - Seguridad de contraseñas

Guía de Seguridad del Administrador de Linux - Seguridad de contraseñas

 ***** (7 opiniones)
Creative Commons Tutorial de Kurt Seifried - 16 de Febrero de 2006
Temas Relacionados: Linux
8. Seguridad de contraseñas
En todo sistema operativo tipo UNIX se dan varias constantes, y una de ellas es el fichero /etc/passwd y la forma en que funciona. Para que la autentificación de usuario funcione correctamente se necesitan (como mínimo) algún tipo de fichero(s) con UID a mapas de nombres de usuarios, GID a mapas de nombres de grupos, contraseñas para todos los usuarios y demás información variada. El problema es que todo el mundo necesita acceso al fichero de contraseñas, cada vez que se hace un ls, se verifica el fichero de contraseñas, de modo que ¿cómo se consigue almacenar todas las contraseñas con seguridad y a la vez mantenerlas legibles por el mundo? Durante muchos años, la solución ha sido bastante simple y efectiva, simplemente, haz un hash de las contraseñas y guarda el hash, cuando un usuario necesite autentificar, toma la contraseña que introduce, pásala por el hash y si coincide, evidentemente se trataba de la misma contraseña. El problema que tiene esto es que la potencia computacional ha crecido enormemente, y ahora se puede coger una copia del fichero de contraseñas e intentar abrirlo mediante fuerza bruta en una cantidad de tiempo razonable. Para resolver esto hay varias soluciones:

  • Utiliza un algoritmo de hashing "mejor", como MD5. Problema: se pueden romper muchas cosas si están esperando algo más.
  • Almacena las contraseñas en alguna otra parte. Problema: el sistema/usuarios siguen necesitando tener acceso a ellas, y podría hacer que fallasen algunos programas si no están configurados de esta forma.

Varios SO’s han escogido la primera opción, Linux ha implementado la segunda desde hace tiempo, se llama contraseñas con shadow. En el fichero de contraseñas, se reemplaza la contraseña por una ‘x’, lo cual le indica al sistema que verifique tu contraseña contra el fichero shadow (se hace lo mismo con el fichero de grupos y sus contraseñas). Parece lo suficientemente simple, pero hasta hace bien poco, implementar el shadow era una ardua tarea. Había que recompilar todos los programas que verificasen la contraseña (login, ftpd, etc, etc) y esto, por supuesto, implica una considerable cantidad de esfuerzo. Es aquí donde brilla Red Hat, con su confianza en PAM.

Para implementar contraseñas con shadow hay que hacer dos cosas. La primera es relativamente simple, cambiar el fichero de contraseñas, pero la segunda puede ser un calvario. Hay que asegurarse que todos tus programas tienen soporte para contraseñas con shadow, lo cual puede ser bastante penoso en algunos casos (esta es una más que importante razón por la cual un mayor número de distribuciones deberían venir con PAM).

Debido a la confianza de Red Hat en PAM para la autentificación, para implementar un esquema nuevo de autentificación todo lo que se necesita es añadir un módulo PAM que lo entienda y editar el fichero de configuración para cualquier programa (digamos el login) permitiéndole que use ese módulo para hacer la autentificación. No hace falta recompilar, y hay poco tejemaneje, ¿a que sí? En Red Hat 6.0, durante la instalación se te da la opción de elegir contraseñas con shadow, o puedes implementarlas más tarde vía las utilidades pwconv y grpconv que vienen con el paquete de utilidades shadow. La mayoría del resto de distribuciones también tienen soporte para contraseñas con shadow, y la dificultad de implementación varía de un modo u otro. Ahora, para que un atacante mire las contraseñas con hash, tiene que esforzarse un poco más que simplemente copiar el fichero /etc/passwd. También asegúrate de ejecutar cada cierto tiempo pwconv, para tener la certeza de que todas las contraseñas efectivamente tienen shadow. Hay veces que las contraseñas se quedan en /etc/passwd en lugar de enviarse a /etc/shadow como deberían, lo cual hacen algunas utilidades que editan el fichero de contraseñas.



Reventando contraseñas

En Linux las contraseñas se guardan en formato hash, sin embargo ello no las hace irrecuperables, no es posible hacer ingeniería inversa de la contraseña a partir del hash resultante, sin embargo sí que puedes hacer un hash de un lista de palabras y compararlas. Si el resultado coincide, entonces has encontrado la contraseña, es por esto que es crítica la elección de buenas contraseñas, y las palabras sacadas de un diccionario son una idea horrible. Incluso con un fichero de contraseñas con shadow, el root puede acceder a las contraseñas, y si se han escrito scripts o programas que se ejecuten como root (pongamos un script CGI para www) los atacantes pueden recuperar el fichero de contraseñas. La mayoría del software para reventar contraseñas también te permite la ejecución en múltiples hosts en paralelo para acelerar las cosas.

John the ripper ("Juan el destripador")

Un eficiente revienta contraseñas disponible en: http://www.false.com/security/john/

Crack

El revienta contraseñas original y ampliamente extendido (según me consta), lo puedes conseguir en: http://www.users.dircon.uk/~crypto/

Saltine cracker

Otro revienta contraseñas con capacidades de red, lo puedes descargar de: http://www.thegrid.net/gravitino/products.html

VCU

VCU (Velocity Cracking Utilities) es un programa basado en windows para ayudar a reventar contraseñas "VCU intenta facilitar la tarea de reventar contraseñas a usuarios de ordenadores de cualquier nivel". Lo puedes descargar desde: http://wilter.com/wf/vcu/

Espero que esto sea suficiente motivo para utilizar contraseñas con shadow y un hash más robusto como el MD5 (el cual soporta Red Hat 6.0, no conozco otras distribuciones que lo soporten).
Tabla de contenidos
  1. 1 - Cómo determinar qué asegurar y cómo asegurarlo
  2. 2 - Instalación segura de Linux
  3. 3 - Conceptos generales, servidores versus estaciones de trabajo, etc
  4. 4 - Ficheros del sistema
  5. 5 - Seguridad de Ficheros / Sistema de ficheros
  6. 6 - PAM
  7. 7 - Seguridad Física / de Arranque
  8. 8 - Seguridad de contraseñas
  9. 9 - Almacenamiento de Contraseñas
  10. 10 - Seguridad basica de servicios de red
  11. 11 - Ficheros basicos de configuración de red
  12. 12 - TCP-IP y seguridad de redes
  13. 13 - Seguridad PPP
  14. 14 - Seguridad IP (IPSec)
  15. 15 - Cifrado de servicios / datos
  16. 16 - Rutado
  17. 17 - Software de Proxy
  18. 18 - Cortafuegos
  19. 19 - Telnet
  20. 20 - SSH
  21. 21 - FTP
  22. 22 - HTTP / HTTPS
  23. 23 - SMTP
  24. 24 - POP
  25. 25 - IMAPD
  26. 26 - DNS
  27. 27 - NNTP
  28. 28 - DHCPD
  29. 29 - RSH, REXEC, RCP
  30. 30 - NFSD
  31. 31 - TFTP
  32. 32 - BOOTP
  33. 33 - SNMP
  34. 34 - Finger
  35. 35 - Identd
  36. 36 - NTPD
  37. 37 - CVS
  38. 38 - rsync
  1. 39 - lpd
  2. 40 - Samba
  3. 41 - Servidores LDAP Linux
  4. 42 - Sistema X Window
  5. 43 - Conectividad SNA
  6. 44 - Software de Autoridad de Certificación para Linux
  7. 45 - El kernel de Linux
  8. 46 - Parches de seguridad del kernel y del compilador
  9. 47 - Herramientas administrativas
  10. 48 - Gestión de Software
  11. 49 - Herramientas de monitorización de Hosts
  12. 50 - Ficheros de Log y otros métodos de monitorización
  13. 51 - Limitación y monitorización de usuarios
  14. 52 - Lista de comprobación para la conexión a Internet
  15. 53 - Métodos de compartición de ficheros
  16. 54 - Lectores de correo basados en WWW
  17. 55 - Autentificación Basada en Red
  18. 56 - Software de Listas de correo
  19. 57 - Escaneo / herramientas de prueba de intrusos
  20. 58 - Herramientas de escaneo y detección de intrusos
  21. 59 - Sniffers de Paquetes
  22. 60 - Normas de comportamiento / integridad de ficheros
  23. 61 - Gestión de auditorías
  24. 62 - Copias de Seguridad
  25. 63 - Enfrentandose a los ataques
  26. 64 - Ataques de Negación de Servicio
  27. 65 - Ejemplos de ataques
  28. 66 - Virus, Caballos de Troya y Gusanos
  29. 67 - Distribuciones seguras de Linux
  30. 68 - Información específica por Distribuidor / Vendedor
  31. 69 - Información de contacto con vendedores
  32. 70 - Programación segura
  33. 71 - Apéndice A: Libros y Revistas
  34. 72 - Apéndice B: Otra documentación de seguridad sobre Linux
  35. 73 - Apéndice C: Documentación de seguridad en línea
  36. 74 - Apéndice D: Sitios de seguridad en general
  37. 75 - Apéndice E: Sitios de Linux en general
Autor y licencia de 'Guía de Seguridad del Administrador de Linux - Seguridad de contraseñas'
Kurt Seifried Extraído de: http://es.tldp.org/Manuales-LuCAS/GSAL/gsal-19991128-htm/

Creative Commons License
Esta obra está bajo una licencia de Creative Commons.
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.

Wikis relacionados con 'Guía de Seguridad del Administrador de Linux - Seguridad de contraseñas'

A lo largo de este trabajo se va a intentar hacer un repaso de los... Más »
WiFi (Wireless Fidelity) es un nombre comercial desarrollado por un grupo de comercio industrial llamado... Más »
WiFI describe los productos de WLAN basados en los estándares 802.11 y está pensado en... Más »
Monografía sobre la implementación de una política de Prevención de Riesgos Laborales en empresas de... Más »
Si eres aspirante a instructor de tiro de Seguridad Privada este es el lugar donde... Más »
¿Estás seguro de que deseas eliminar este capítulo?