Verificando descargas y archivos con md5sum 

Copyright © 2005-2017 LinuxTotal.com.mx
Se concede permiso para copiar, distribuir y/o modificar este documento siempre y cuando se cite al autor y la fuente de linuxtotal.com.mx y según los términos de la GNU Free Documentation License, Versión 1.2 o cualquiera posterior publicada por la Free Software Foundation.

Autor: Sergio González D.  

Observa la imagen siguiente, que corresponde a uno de los sitios de descargas de MySQL y notarás que todos los archivos que pueden descargarse tienen una secuencia de caracteres MD5, también conocido como hash md5 o suma de comprobación md5.


Esto es algo común en muchos programs que pueden ser descargados y sirve para que compruebes la integridad del archivo una vez que este en tu computadora, es decir, que se haya descargado completo, que no este corrupto o puede ser que este completo pero alterado, etc. Aqui lo importante es que MySQL nos da el hash del programa a descargar en su mismo sitio y podemos comprobarlo de manera sumamente sencilla con el comando md5sum.

En este ejemplo descargué el servidor 5.018-0 (Server), después de descargarlo simplemente indico el nombre del paquete y vemos que suma de comprobación resulta:

$> md5sum MySQL-server-5.0.18-0.i386.rpm
e079d568bc8fadf4c3c242b13679bdd2  MySQL-server-5.0.18-0.i386.rpm

Obsérvese que es exactamente el mismo que la página Web de MySQL muestra, entonces el paquete esta íntegro y sin alteraciones conforme al original empaquetado.

Voy a crear un pequeño archivo llamado prueba que tan solo contendrá la palabra 'Linus' y checamos su hash md5:

$> echo "Linus" > prueba
$> ll prueba
-rw-r--r--  1 sergon users 6 2006-02-01 19:45 prueba
$> md5sum prueba
aad7e32c2a5c7d19a2386efb654027c2  prueba

Ahora con cualquier editor cambiamos 'Linus' por 'Linux', es decir solo un caracter cambia y se vuelve a comprobar el archivo con md5sum:

$> vi prueba  
$> more prueba
Linux
$> md5sum prueba
1b61f2a016f7478478fcb13130fcec7b  prueba

Al cambiar tan solo un byte, la suma de comprobación es totalmente distinta. Esto te sirve por ejemplo para guardar a cierta fecha la suma de comprobación de uno o varios archivos que te interese verificar no hayan sido alterados y cuando tengas duda, volver a comprobarlos y si alguno muestra un hash distinto indica que entonces fue alterado o modificado.

#> md5sum /etc/samba/* > samba_01FEB2006_md5
#> more samba_01FEB2006_md5
851c373aace809f07b8d729eddb786af  /etc/samba/lmhosts
7a9dd9a2d87eafaee4e92f54ecd18e3f  /etc/samba/secrets.tdb
ba5767a9aabac800aed908ad9b8655e3  /etc/samba/smb.conf
75b22ed2cecc6a9250c5ed5c90a8e49a  /etc/samba/smbpasswd
4a3978de93bdba690f47e2b266cc72ff  /etc/samba/smbusers

El archivo donde se guardaron los hashes de samba (samba_01FEB2006_md5) será conveniente sacarlo fuera del equipo para mas seguridad. Esto funciona bien para el control de algunos cuantos directorios y archivos pero si te interesa monitorear cambios en todos los archivos críticos del sistema es mejorar usar una herramienta que haga precisamente lo expuesto aqui pero en todo el disco duro, mas alertas, notificaciones, etc. Y una de las mejores en esto es Tripwire.

Por último también md5sum te puede servir para generar hashes de contraseñas, tan solo invoca md5sum sin argumentos:

$> md5sum
abracadabra
<ctrl><d> (para terminar)
97640ef51df557fb1b1a105a422b6af0  -

Pues ahí tienes md5sum una sencilla pero muy útil herramienta para comprobar la integridad de lo que descargas y de archivos que te interese monitorear en su integridad.


LinuxTotal en:

Si encuentras útil la información que proveé LinuxTotal, considera realizar un donativo que estimule a seguir proporcionando contenido de calidad y utilidad. Gracias.

Más artículos de LinuxTotal

Una tarea administrativa algo común, es eventualmente tener que añadir un nuevo disco duro (IDE) al o a los que ya se tienen, de....


La siguiente combinación de comandos te permite extraer los 10 comandos más usados directamente del historial (comando history) ....


Sistemas basados en GNU/Linux (Al igual que sus parientes basados en Unix como BSD o los de Macinstosh) conservan la tradición de....


yum es un paquete administrador de software(software package manager). Es una muy útil herramienta para instalar, actualizar y re....


En este tutorial sobre listas de control de acceso en squid, aprenderás lo básico de como configurarlas y establecerlas en la co....


Linux ofrece multitud de servicios o servidores, estos pueden iniciar o arrancar junto con la carga del sistema o pueden después ....


Hay múltiples maneras de cometer errores (algunos muy graves y desastrosos) cuando se administran servidores GNU/Linux, conócelo....


Ya no es nada raro que un centro de cómputo o en un site se encuentren varios sistemas Linux actuando como servidores de archivos....


El siguiente script te presenta la manera de colocar un reloj (hora y fecha) en la parte superior derecha de una terminal de texto....


En ambientes donde varios usuarios usan uno o más sistemas GNU/Linux, es necesario otorgar distintos permisos o privilegios para ....



Copyright © LinuxTotal.com.mx 2006-2017
info@linuxtotal.com.mx · linuxtotal.com.mx@gmail.com