Cómo verificar correctamente la integridad de una imagen ISO de tu distro
Seguramente has descargado una distribución GNU/Linux para instalarla. Por lo general, muchos usuarios optan por no verificar nada, simplemente descargan la imagen ISO, la queman en un medio booteable y se disponen a instalar su distribución. En el mejor de los casos, algunos verifican la suma pero no la autenticidad de la propia suma. Pero esto podría dar lugar a que tenga archivos corruptos o modificados por terceros con malas intenciones…
Recuerda que no solo te puede salvar de archivos corruptos, sino de que algún ciberdelincuente haya modificado intencionadamente la imagen para incluir cierto malware o puertas traseras con las que espiar a los usuarios. De hecho, no es la primera vez que ocurre uno de estos ataques a servidores de descargas de distros y otros programas con estos fines.
Lo que necesitas saber antes
Bien, como sabrás, cuando descargas la distro hay varios tipos de archivos de verificación. Están los MD5 y los SHA. Lo único que varía en ellos es el algoritmo de cifrado que se ha empleado en cada uno de ellos, pero ambos sirven para lo mismo. Preferiblemente deberías usar el SHA.
Los archivos típicos que puedes encontrar al descargar la distro, además de la propia imagen ISO son:
- nombre-distro-image.iso: es el que contiene la imagen ISO de la distro en sí. Puede tener nombres muy diversos. Por ejemplo, ubuntu-20.04-desktop-amd64.iso. En este caso indica que se trata de la distro Ubuntu 20.04 para escritorio y para la arquitectura AMD64 (x86-64 o EM64T, en definitiva, x86 de 64-bit).
- MD5SUMS: contiene las sumas de verificación de las imágenes. En este caso se usa MD5.
- MD5SUMS.gpg: en este caso contiene la firma digital de verificación del anterior archivo, para verificar que sea auténtico.
- SHA256SUMS: contiene las sumas de verificación de las imágenes. En este caso se usa SHA256.
- SHA256SUMS.gpg: en este caso contiene la firma digital de verificación del anterior archivo, para verificar que sea auténtico.
Ya sabes que si haces la descarga usando el .torrent no hará falta verificar, ya que se incluye la verificación en el proceso de descarga con este tipo de clientes.
Ejemplo
Ahora bien, vamos a poner un ejemplo práctico de cómo se debería proceder a la verificación en un caso real. Vamos a suponer que queremos descargar Ubunut 20.04 y verificar su imagen ISO usando SHA256:
Los programas que necesitas suelen venir preinstalados. De lo contrario necesitarás instalar los paquetes coreutils y gnupg- Descargar la imagen ISO de Ubuntu adecuada.
- Descargar los archivos de verificación. Es decir, tanto SHA256SUMS como SHA256SUMS.gpg.
- Ahora debes ejecutar desde el directorio donde los has descargado los siguientes comandos (suponiendo que están en Descargas) para verificar:
cd Descargas gpg --keyid-format long --verify SHA256SUMS.gpg SHA256SUMS gpg --keyid-format long --keyserver hkp://keyserver.ubuntu.com --recv-keys 0xD94AA3F0EFE21092 sha256sum -c SHA256SUMS
Los resultados arrojados por estos comandos no deberían alertarte. El segundo comando mostraría la información de la firma con las credenciales de Ubuntu en este caso. Si lees un mensaje «No hay indicios de que la firma pertenezca al propietario» o «There is no indication that the signature belongs to the owner» no te asustes. Suele ocurrir cuando no se ha declarado como confiable. Por eso debes estar seguro de que la clave descargada pertenece a la entidad (en este caso de los desarrolladores de Ubuntu), y por ello el tercer comando que he puesto…
El cuarto comando te deberían indicar que todo está OK o un «La suma coincide» si no se ha modificado el archivo de imagen ISO. De lo contrario, debería alertarte de que algo va mal…