Nexolinux
Sistemas Linux, servidores web, certificaciones, LPIC, Linux básico y profesional
Navigation
  • Home
  • Bash
  • LPIC
  • Noticias
  • Seguridad
  • Servicios
  • HowTo’s
You are here: Home › Linux General › ¿Cómo cifra linux las contraseñas?

¿Cómo cifra linux las contraseñas?

12 marzo, 2013 | Filed under: Linux General, Seguridad and tagged with: /etc/shadow, cifrado linux, cifrar contraseñas, hash, md5, password, salt bits, seguridad linux, servidor, servidores, sha256, sha512

Recientemente en el artículo donde explicaba los ficheros de usuario principales  /etc/passwd y /etc/shadow/  comenté con detalle que significaba cada campo, pero si lo recordáis a la hora de explicar el campo 2 del /etc/shadow sólo puse textualmente:

<password cifrado> Pues eso…

Pero lo bueno se hace esperar y quería dedicar un artículo a completar esa información pues creo que aun no siendo un experimentado en cifrado de contraseñas, hay algunos conceptos que está bien conocer o repasar.

Tomamos como ejemplo este usuario de mi equipo local:

m3t4g4m3:$6$OrqRmooe$2XSkIJNgd3Te/xPUd6S1wdysNgPhFrT7UFHkbhvjECkt/L9Z3rmqBUbRDBcfLf4sz/Z775X.WgJTaijVG7mhn1:15754:0:99999:7::

Esta es mi contraseña cifrada:

$6$OrqRmooe$2XSkIJNgd3Te/xPUd6S1wdysNgPhFrT7UFHkbhvjECkt/L9Z3rmqBUbRDBcfLf4sz/Z775X.WgJTaijVG7mhn1

En términos de cifrado hay varios algoritmos (de cifrado seguro) hash usados. el número destacado en rojo $6$ indica en qué tipo de hash está mi contraseña cifrada, en este caso se trata de SHA-512,  (Secure Hash Algorithm) y por lo tanto tiene 86 caracteres en total.

Este es un resumen de los más conocidos cuando os los encontréis en este fichero, dependiendo del primer número entre símbolos $ será una codificación u otra.

$1$=MD5      (22 caracteres)
$2$=blowfish
$5$=SHA-256  (43 Caracteres)
$6$=SHA-512  (86 Caracteres)

Al poner  una contraseña a un usuario, una función hash la cifra con el algoritmo determinado según sea el cifrado. Toma un bloque arbitrario de datos y devuelve una cadena con una determinada longitud (valor hash). Los datos para ser codificados son denominados «el mensaje» y el valor hash se le denomina «message digest» o simplemente «digest»

 

531px-Hash_function2-es.svg

Imagen extraída de es.wikipedia.org

Pero no es todo… pues si dos contraseñas fueran iguales o supieramos el algoritmo usado quizás podríamos descifrarlo sabiendo unas cuantas contraseñas básicas y comparando el digest hasta sacar unas equivalencias.

Para evitar esto y cerrar completamente el cerco de seguridad de la contraseña, se le añaden los bit salt, que son datos al azar añadidos a la contraseña para posteriormente cifrar con el hash. Digamos que lo enmascaramos en más datos y así no sabremos si qué parte es la contraseña real y cuales son los datos sin valor.

Teniendo la contraseña de ejemplo de antes:

$6$OrqRmooe$2XSkIJNgd3Te/xPUd6S1wdysNgPhFrT7UFHkbhvjECkt/L9Z3rmqBUbRDBcfLf4sz/Z775X.WgJTaijVG7mhn1

Todo lo marcado en azul serían los salt bits, desde el segundo «$» hasta el siguiente.

Los cifrado con bits salt se usan en muchos sistemas modernos, desde seguridad de credenciales a Seguridad en Internet. Hacen mucho más lentos los ataque por diccionario y fuerta bruta para el crackeo. Sin estos como introducimos anteriormente un atacante que descifra una contraseña, sólo necesita adivinarla uno vez y con ella tiene la llave para aligerar la velocidad de crackeo de las demás.

En la autenticacion pam se pueden definir el tipo de algoritmo usado en particular para servicios

En Red Hat se define el tipo de cifrado en este fichero como ejemplo:

[root@nexolinux ~]# cat /etc/pam.d/system-auth
password sufficient pam_unix.so md5 shadow nullok try_first_pass use_authtok

Comparte esto:

  • Facebook
  • Twitter
  • LinkedIn

Me gusta esto:

Me gusta Cargando...

4 Responses to "¿Cómo cifra linux las contraseñas?"

  1. Keenna Keayahô dice:
    23 enero, 2015 a las 11:10

    Muy detallado y útil. ¡Se agradece el post!

    Responder
  2. Perico dice:
    23 septiembre, 2014 a las 19:41

    Muy bueno le pongo un 9, nunca vi esto también explicado

    Responder
    1. sergio dice:
      1 marzo, 2017 a las 20:56

      en la wikipedia profundizan más, pero no me uejo del artículo, muy bien explicado!

      Responder
  3. eric dice:
    15 noviembre, 2013 a las 18:57

    Muy bueno!

    Responder

Deja un comentarioCancelar respuesta

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Categorías.

  • Bases de datos
  • Bash & Comandos
  • HowTo
  • Linux General
  • LPIC
  • LPIC-2
  • Nivel Avanzado
  • Nivel Basico
  • Noticias
  • Seguridad
  • Servicios
  • Servidor Web

Entradas y Páginas Populares

  • Comando fuser, Localizamos procesos que usan un fichero.
    Comando fuser, Localizamos procesos que usan un fichero.
  • Ejemplos usos mount y umount
    Ejemplos usos mount y umount
  • Ficheros de usuarios /etc/passwd y /etc/shadow
    Ficheros de usuarios /etc/passwd y /etc/shadow
  • Instruccion READ en Bash
    Instruccion READ en Bash
  • ¿Cómo cifra linux las contraseñas?
    ¿Cómo cifra linux las contraseñas?
  • Proxy Squid, control de accesos ACL (II)
    Proxy Squid, control de accesos ACL (II)
  • 15 dispositivos que funcionan con Linux
    15 dispositivos que funcionan con Linux
  • fichero fstab
    fichero fstab
  • HowTo:Ejecutar comando como otro usuario.
    HowTo:Ejecutar comando como otro usuario.
  • Comandos más usados para gestionar Iptables
    Comandos más usados para gestionar Iptables

© 2025 Nexolinux

Utilizamos cookies propias y de terceros para mejorar nuestros servicios y mostrar publicidad relacionada con tus preferencias. cerrar Política de cookies
Privacidad y política de cookies

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Siempre activado
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Non-necessary
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.
GUARDAR Y ACEPTAR
 

Cargando comentarios...
 

    %d