Mi Blog

No te olvides seguirme en Facebook.

Tan solo tienes que hacer click en Me Gusta

 

 

x

⋆ Cómo generar y comprobar checksums en GNU/Linux

⋆ Cómo generar y comprobar checksums en GNU/Linux

Comprobar la veracidad e integridad de los ficheros que descargamos de Internet es muy sencillo en cualquier sistema operativo. Aunque la mayoría de las veces, los programas que descargamos de Internet provienen de sitios de confianza, muchas veces es necesario hacer una comprobación de veracidad e integridad.

Para saber si podemos confiar en los ficheros descargados de Internet, tenemos una técnica de seguridad llamada checksum (suma de comprobación).

Seguid leyendo si queréis aprender a comprobar la integridad de los ficheros que descargáis...

 

 

¿QUÉ ES UN CHECKSUM?

Un checksum es un algoritmo al cual se le conoce como hash criptográfico y que ejecutamos sobre un fichero ó archivo para comprobar su veracidad, integridad y confiabilidad.

Con checksum comparamos el hash del fichero descargado a un equipo comparándolo con el hash proporcionado en el origen del fichero. Existen diferentes checksums: MD5, SHA1, SHA224, SHA256, SHA384, SHA512, RIPEMD160, etc... Si los hashes coinciden, podemos estar seguros de que el archivo es confiable, que no ha sido manipulado por nadie en la descarga y que no supone una amenaza que ponga en riesgo el equipo.  De esta forma se verifica que los 2 ficheros son idénticos.

 

 

Con checksum comprobamos la veracidad y confiabilidad de los ficheros

 

 

1.- ELEMENTOS NECESARIOS PARA ESTE TUTORIAL

  • Un equipo con GNU/Linux
  • Conexión a Internet (por si necesitamos instalar algún programa)

 

 

2.- DESCARGAR FICHEROS Y CHECKSUMS

Si queréis ver un ejemplo real, en la siguiente URL https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/ tenéis unas imágenes ISO de GNU/Linux Debian y sus correspondientes ficheros de checksums. Podemos descargar cualquiera de las isos y uno de los checksums (MD5, SHA1, SHA256 etc...)

Checksums GNU/LinuxFicheros y Checksums

 

 

En mi caso, ya tengo unas imágenes ISO descargadas en mi PC con sus correspondientes ficheros de checksum. Para explicar el tutorial me basaré en los ficheros ya descargados. Los ficheros que tengo son los siguientes:

raul@debian-sid:~/isos$ ls -l
total 2187264
-rw-r--r-- 1 raul users 536870912 Nov 20 09:28 debian8-x86.iso
-rw-r--r-- 1 raul users 629145600 Nov 20 09:28 debian9-x86.iso
-rw-r--r-- 1 raul users 335544320 Nov 20 09:28 redhat7-x64.iso
-rw-r--r-- 1 raul users 754974720 Nov 20 09:28 redhat8-x64.iso
-rw-r--r-- 1 raul users 125829120 Nov 20 09:29 windows7-x32.iso
-rw-r--r-- 1 raul users 335544320 Nov 20 09:29 windows7-x64.iso

 

 

3.- COMPROBAR UN SOLO CHECKSUM

Una vez que tenemos descargado un fichero de Internet con su correspondiente fichero de cheksum, comprobaremos el checksum "remoto" con el checksum que obtendremos del fichero descargado a local.

La sintaxis para generar el checksum de un fichero es muy sencilla y en función del hash que queramos generar, hay que usar uno u otro comando, pero son todos iguales:

raul@debian-sid:~$ [md5sum|sha1sum|sha256sum|sha512sum] fichero

 

 

Por ejemplo, con el siguiente comando generamos el checksum de tipo SHA1 para la iso redhat7-x64.iso. Este checksum hay que comprobarlo con el checksum que hemos bajado. La comprobación puede ser manual o utilizando la herramienta de comprobación que veremos más adelante.

raul@debian-sid:~/isos$ sha1 redhat7-x64.iso
2ac2f3368e6c9fe4d7201d85ad85528698aeaf08  redhat7-x64.iso

 

 

Para comprobar el checksum de forma automática usaremos el siguiente comando, donde SHA1SUM es el fichero de checksums que hemos descargado. Como se puede ver, la veracidad e integridad del fichero descargado es correcta, por tanto, sabemos que los 2 ficheros (local  y remoto) son 100% idénticos.

raul@debian-sid:~/isos$ sha1 -c SHA1SUM
redhat7-x64.iso: OK

 

 

 

 

4.- GENERAR Y COMPROBAR VARIOS CHECKSUMS

Hay ocasiones que nos interesa bajarnos muchos ficheros y comprobar su veracidad de forma rápida. El procedimiento es exactamente el mismo que para un único fichero. Descargaremos todos los ficheros que necesitemos y su fichero de checksums. Generalmente, cuando hay muchos ficheros en un directorio remoto se hace un único fichero de checksums para todos los ficheros. De esta forma podremos verificar los checksums de una forma rápida como veremos a continuación.

Para el tutorial he descargado 6 ISOS de un directorio de Internet y he bajado los ficheros de checksums MD5SUM, SHA1SUM y SHA256SUM para probarlos todos, aunque con uno es suficiente. Para comprobar el checksum de todos los ficheros en un solo paso, ejecutaremos lo siguiente:

Para comprobar checksum MD5:

raul@debian-sid:~/isos$ md5sum -c MD5SUM 
debian8-x86.iso: OK
debian9-x86.iso: OK
redhat7-x64.iso: OK
redhat8-x64.iso: OK
windows7-x32.iso: OK
windows7-x64.iso: OK

 

 

Para comprobar checksum SHA1:

raul@debian-sid:~/isos$ sha1sum -c SHA1SUM 
debian8-x86.iso: OK
debian9-x86.iso: OK
redhat7-x64.iso: OK
redhat8-x64.iso: OK
windows7-x32.iso: OK
windows7-x64.iso: OK

 

 

Para comprobar checksum SHA256:

raul@debian-sid:~/isos$ sha256sum -c SHA256SUM 
debian8-x86.iso: OK
debian9-x86.iso: OK
redhat7-x64.iso: OK
redhat8-x64.iso: OK
windows7-x32.iso: OK
windows7-x64.iso: OK

 

 

En los 3 pasos anteriores se ve perfectamente como las imágenes ISO descargadas son idénticas a las remotas. Pero ¿que pasa si hacemos alguna modificación en un byte de un ISO? Pues logicamente, nos avisará que el checksum no es el mismo :)

Para comprobar checksum MD5:

raul@debian-sid:~/isos$ md5sum -c MD5SUM 
debian8-x86.iso: OK
debian9-x86.iso: OK
redhat7-x64.iso: OK
redhat8-x64.iso: OK
windows7-x32.iso: FAILED
windows7-x64.iso: OK
md5sum: WARNING: 1 computed checksum did NOT match

 

 

Para comprobar checksum SHA1:

raul@debian-sid:~/isos$ sha1sum -c SHA1SUM 
debian8-x86.iso: OK
debian9-x86.iso: OK
redhat7-x64.iso: OK
redhat8-x64.iso: OK
windows7-x32.iso: FAILED
windows7-x64.iso: OK
sha1sum: WARNING: 1 computed checksum did NOT match

 

 

Para comprobar checksum SHA256:

raul@debian-sid:~/isos$ sha256sum -c SHA256SUM 
debian8-x86.iso: OK
debian9-x86.iso: OK
redhat7-x64.iso: OK
redhat8-x64.iso: OK
windows7-x32.iso: FAILED
windows7-x64.iso: OK
sha256sum: WARNING: 1 computed checksum did NOT match

 

  

5.- GENERAR FICHERO DE CHECKSUMS

Si lo que queremos es poner a disposición de terceros unos ficheros, lo que tendremos que hacer es generar el checksum de los ficheros. Para generar los ficheros de checksums para todos los ficheros ISO que queremos distribuir, hay que utilizar el siguiente comando:

Para comprobar checksum MD5:

raul@debian-sid:~/isos$ md5sum *.iso > MD5SUM

 

 

Para comprobar checksum SHA1:

raul@debian-sid:~/isos$ sha1sum *.iso > SHA1SUM

 

 

Para comprobar checksum SHA256:

raul@debian-sid:~/isos$ sha256sum *.iso > SHA256SUM

 

 

ENJOY!


Raúl Prieto Fernández

Sitio Web: raulprietofernandez.net

Si quieres ir rápido, ve solo. Si quieres llegar lejos, ve acompañado.

Escribir un comentario

   

Código de seguridad
Refescar