Como verificar a integridade de uma imagem ISO de distribuição Linux

Como verificar a integridade de uma imagem ISO de distribuição Linux

Quando decidimos instalar um sistema operacional baseado no kernel Linux, a primeira coisa que fazemos é baixar sua imagem de instalação, ou ISO, no site oficial de distribuição. Antes de prosseguir com a instalação real, no entanto, é crucial verificar a integridade da imagem, para ter certeza de que é o que ela afirma ser, e ninguém a comprometiu. Neste tutorial, veremos as etapas básicas que podemos seguir para realizar esta tarefa.

Neste tutorial, você aprenderá:

  • Qual é a diferença básica entre criptografar e assinatura de GPG
  • Como baixar e importar uma chave pública GPG de um servidor de chaves
  • Como verificar uma assinatura de GPG
  • Como verificar a soma de verificação de um ISO
Como verificar a integridade da imagem ISO

Requisitos de software e convenções usadas

Requisitos de software e convenções de linha de comando Linux
Categoria Requisitos, convenções ou versão de software usada
Sistema Independente da distribuição
Programas GPG, SHA256SUM (deve ser instalado por padrão)
Outro Nenhum outro requisito
Convenções # - linux -commands a serem executados com privilégios de raiz diretamente como usuário root ou por uso de sudo comando
$-Linux-commands para serem executados como um usuário não privilegiado regular


As etapas envolvidas na verificação da integridade de um ISO baixado são basicamente dois:

  1. Verificando a assinatura do arquivo que contém a soma de verificação da ISO
  2. Verificar a soma de verificação fornecida no arquivo é a mesma do ISO real

Aqui vamos ver como executar as duas etapas.

Passo 1

Verificando a assinatura GPG do arquivo de soma de verificação

Para ter certeza de que um ISO baixamos não foi alterado, há uma coisa simples a se fazer: verifique se sua soma de verificação corresponde à indicada no arquivo que geralmente está disponível na mesma página que o ISO foi baixado de. Há apenas um problema: como podemos ter certeza de que esse arquivo em si não foi alterado? Devemos verificar sua assinatura de GPG! A propósito, o que é uma assinatura de GPG e qual é a diferença entre assinar e criptografar com GPG?

Criptografando versus assinatura

A criptografia GPG é baseada no uso de pares de chaves. Cada usuário gera uma chave privada e pública: o primeiro, como o nome sugere, é estritamente pessoal e deve ser mantido o mais seguro possível; o último, em vez disso, pode ser distribuído e acessado livremente pelo público. Há basicamente duas coisas que podemos fazer com GPG: criptografar e assinar.

Digamos que temos duas pessoas: Alice e Bob. Se eles querem se beneficiar do uso do GPG, a primeira coisa que eles devem fazer é trocar suas chaves públicas.

Se Alice quiser enviar uma mensagem privada para Bob, e tiver certeza de que apenas Bob é capaz de ler a mensagem, ela deve criptografá -la com a chave pública de Bob. Uma vez que a mensagem for criptografada, apenas a chave privada de Bob será capaz de descriptografá -la.

Essa é a criptografia GPG; A outra coisa que podemos fazer com GPG é criar uma assinatura digital. Suponha que Alice queira distribuir uma mensagem pública desta vez: todos devem poder lê -la, mas é necessário um método para verificar se a mensagem é autêntica e foi realmente escrita por Alice. Nesse caso, Alice deve usar sua chave privada para gerar um assinatura digital; Para verificar a assinatura de Alice, Bob (ou qualquer outra pessoa) usa a chave pública de Alice.



Um exemplo do mundo real - baixando e verificando o Ubuntu 20.04 ISO

Quando baixamos um ISO de um site oficial, também devemos fazer o download, para verificá -lo, também devemos baixar o arquivo de soma de verificação correspondente e sua assinatura. Vamos fazer um exemplo do mundo real. Suponha que queremos baixar e verificar o ISO da versão mais recente do Ubuntu (20.04). Navegamos até a página de liberação e rolamos até a parte inferior da página; Lá, encontraremos a lista de arquivos que podem ser baixados:

Ubuntu 20.04 Página de liberações

Supondo que queremos verificar e instalar a versão "Desktop" da distribuição, devemos pegar os seguintes arquivos:

  • Ubuntu-20.04-DESKTOP-AMD64.ISO
  • SHA256Sums
  • SHA256Sums.gpg

O primeiro arquivo é a própria imagem de distribuição; o segundo arquivo, SHA256Sums, contém a soma de verificação de todas as imagens disponíveis e dissemos que é necessário verificar se as imagens não foram modificadas. O terceiro arquivo, SHA256SUM.gpg Contém a assinatura digital do anterior: usamos para verificar se é autêntico.

Depois que baixamos todos os arquivos, a primeira coisa que precisamos fazer é verificar a assinatura GPG do arquivo de soma de verificação. Para fazer isso, devemos usar o seguinte comando:

GPG --verify SHA256Sums.GPG SHA256Sums 

Quando mais de um argumento é fornecido ao GPG --verificar Comando, o primeiro é considerado o arquivo que contém a assinatura e os outros a conter os dados assinados, que neste caso são a soma de verificação da imagem do Ubuntu. Se a distribuição de que estamos trabalhando atualmente não for o Ubuntu, e é a primeira vez que verificarmos uma imagem do Ubuntu, o comando deve retornar o seguinte resultado:

GPG: assinatura feita quinta 


A mensagem é clara: o GPG não pode verificar a assinatura porque não temos a chave pública associada à chave privada que foi usada para assinar dados. Onde podemos pegar a chave? A maneira mais fácil é baixá -lo de um KeyServer: neste caso, usaremos KeyServer.Ubuntu.com. Para baixar a chave e importá -la em nossos chaveiros, podemos executar:

$ gpg -KeyServer.Ubuntu.COM--RECV-KEYS D94AA3F0EFE21092 

Vamos tomar um momento para explicar o comando acima. Com o -KeyServer Opção, especificamos o KeyServer que queremos usar; o -RECV-KEYS opção, em vez disso, leva um ida-chave como argumento, e é necessário para referenciar a chave que deve ser importada do KeyServer. Nesse caso, o ID da chave que queremos pesquisar e importar é D94AA3F0EFE21092. O comando deve produzir esta saída:

GPG: KEY D94AA3F0EFE21092: Public Key "Ubuntu CD Image Automatic Signing Key (2012)" GPG importado: número total processado: 1 gpg: importado: 1 

Podemos verificar a chave agora em nosso chaveiro lançando o seguinte comando:

$ gpg-list-lkeys 

Devemos encontrar facilmente a entrada em relação à chave importada:

Pub RSA4096 2012-05-11 [SC] 843938DF228D22F7B3742BC0D94AA3F0EFE21092 UID [Desconhecido] Ubuntu CD Imagem Automatic Signing Key (2012)  

Agora que importamos a chave pública, podemos retirar novamente para verificar o SHA256SUM assinatura:

GPG --verify SHA256Sums.GPG SHA256Sums 

Desta vez, como esperado, o comando foi bem -sucedido e fomos notificados de uma boa assinatura:

GPG: assinatura feita qui 23 de abril de 2020 03:46:21 pm CEST gpg: Usando a chave RSA D94AA3F0EFE21092 GPG: Boa assinatura de "Ubuntu CD Image Automatic Signing Key (2012)" [Unknown] GPG: uma assinatura confiável! GPG: Não há indicação de que a assinatura pertence ao proprietário. Impressão digital da chave primária: 8439 38DF 228D 22F7 B374 2BC0 D94A A3F0 EFE2 1092 


Lendo a saída acima, uma pergunta quase certamente surgiria: o que o “Não há indicação de que a assinatura pertence ao proprietário” Mensagem média? A mensagem aparece porque, mesmo que importássemos a chave em nosso chaveiro, não a declaramos confiável, e não há prova real de que ela pertence ao proprietário especificado. Para nos livrar da mensagem, devemos declarar que confiamos na chave; Como podemos ter certeza de que é realmente confiar? Existem duas maneiras:

  1. Verifique pessoalmente se a chave pertence ao usuário ou entidade especificada;
  2. Verifique se foi assinado por uma chave que já confiamos, diretamente ou através de uma série de chaves intermediárias.

Além disso, existem vários níveis de confiança que podemos atribuir a uma chave; Se você está interessado neste assunto (você definitivamente deveria ser!), e quero saber mais sobre isso, o manual de privacidade da GNU é uma boa fonte de informação.

Passo 1

Verificando a folha de verificação da imagem

Agora que verificamos que o SHA256SUM A assinatura está OK, podemos prosseguir e verificar se a soma de verificação da imagem baixada corresponde àquele realmente armazenado no arquivo, que possui o seguinte conteúdo:

E5B72E9CFE20988991C9CD87BDE43C0B691E3B67B01F76D23F815061583CE11 *UBUNTU-20.04-DESKTOP-AMD64.ISO CAF3FD69C77C439F162E2BA6040E9C320C4FF0D69AAD1340A514319A9264DF9F *Ubuntu-20.04-Live-Server-AMD64.ISO 

Como você pode ver em cada linha do arquivo, temos uma soma de verificação associada a uma imagem. Assumindo o SHA256SUM O arquivo está localizado no mesmo diretório em que o Ubuntu 20.04 A imagem foi baixada, para verificar a integridade ISO, tudo o que precisamos fazer é executar o seguinte comando:

$ SHA256SUM -C SHA256SUM 


SHA256SUM é o programa usado para calcular e também verifique o sha256 Message Digest. Nesse caso, o lançamos usando o -c opção, que é a abreviação de --verificar. Quando esta opção é usada, ela instrui o programa a ler as somas de cheques armazenadas no arquivo aprovado como argumento (neste caso SHA256SUM) e verifique -o para a entrada associada. A saída do comando acima, neste caso, é o seguinte:

Ubuntu-20.04-DESKTOP-AMD64.ISO: OK SHA256SUM: Ubuntu-20.04-Live-Server-AMD64.ISO: não esse arquivo ou diretório ubuntu-20.04-Live-Server-AMD64.ISO: Falha aberta ou lida sha256sum: aviso: 1 arquivo listado não pôde ser lido 

Da saída, podemos ver que o Ubuntu-20.04-DESKTOP-AMD64.ISO ISO foi verificado e sua soma de verificação corresponde à indicada no arquivo. Também somos notificados que era impossível de ler e verificar a soma de verificação do Ubuntu-20.04-Live-Server-AMD64.ISO Imagem: Isso faz sentido, já que nunca o baixamos.

Conclusões

Neste tutorial, aprendemos a verificar um ISO baixado: aprendemos a verificar se sua soma de verificação corresponde à fornecida no arquivo de soma de verificação e como verificar a assinatura GPG deste último é boa. Para verificar uma assinatura de GPG, precisamos da chave pública correspondente à privada que a gerou: no tutorial, também vimos como baixar uma chave pública de um KeyServer, especificando seu id.

Tutoriais do Linux relacionados:

  • Como montar a imagem ISO no Linux
  • Coisas para instalar no Ubuntu 20.04
  • Uma introdução à automação, ferramentas e técnicas do Linux
  • Como abrir arquivos ISO no Ubuntu Linux
  • Coisas para fazer depois de instalar o Ubuntu 20.04 fossa focal linux
  • Como gerar e fazer backup de um Keyyair GPG no Linux
  • Mint 20: Melhor que o Ubuntu e o Microsoft Windows?
  • Como fazer bota dupla kali linux e windows 10
  • Download do Linux
  • Ubuntu 20.04 truques e coisas que você pode não saber