Verificando a Integridade do Pacote Usando MD5 Checksums ou GnuPG


Depois de fazer o download do pacote MariaDB que serve às suas necessidades e antes de tentar instalá-lo, você deve ter certeza de que ele esta intacto e não foi manipulado.

A MariaDB Foundation oferece dois tipos de verificação de integridade: MD5 checksums e assinaturas criptografadas usando GnuPG, o GNU Privacy Guard.

Verificando o MD5 Checksum

Depois de fazer o download do pacote, você deve verificar se o MD5 checksum corresponde a aquele fornecido na página de download do MariaDB. Cada pacote tem um checksum individual, que você pode verificar com o seguinte comando:

shell> md5sum <pacote>

Note que nem todos os sistemas operacionais suportam o comando md5sum - em alguns ele é simplesmente chamado md5, outros não o possuem. No Linux, ele é parte do pacote GNU Text Utilities, que está disponível para uma grande faixa de plataformas. Você pode fazer o download do código fonte em http://www.gnu.org/software/textutils/. Se você tiver o OpenSSL instalado, você também pode usar o comando openssl md5 <pacote>. Uma implementação do comando md5 para DOS/Windows está disponível em http://www.fourmilab.ch/md5/.

Exemplo:

shell> md5sum mysql-standard-4.0.10-gamma-pc-linux-i686.tar.gz
155836a7ed8c93aee6728a827a6aa153
 mysql-standard-4.0.10-gamma-pc-linux-i686.tar.gz

Você deve verificar se o resultado do checksum corresponde a aquele impresso no página de download logo abaixo do respectivo pacote.

A maioria do sites mirrors também oferecem um arquivo chamado MD5SUMS, que também inclui o MD5 checksums para todos os arquivos incluídos no diretório Downloads. Note no entanto que é muito fácil de modificar este arquivo e ele não é um método muito confiável. Caso esteja em dúvida, você deve consultar diferentes sites mirroers e comparar os resultados.

Verificação de Assinatura Usando GnuPG

Um método de verificação de integridade de um pacote mais confiável é o uso de assinaturas criptografadas. A MariaDB Foundation usa o GNU Privacy Guard (GnuPG), uma alternativa Open Source para o bem conhecido Pretty Good Privacy (PGP) de Phil Zimmermann. Veja http://www.gnupg.org/ and http://www.openpgp.org/ para mais informações sobre OpenPGP/GnuPG e como obter e instalar o GnuPG em seus sistema. A maioria das distribuições de Linux já vêm com o GnuPG instalado por padrão.

A partir do MariaDB 4.0.10 (Fevereiro de 2003), a MariaDB Foundation começou a assinar o seus pacotes de download com GnuPG. Assinaturas criptografadas são um método bem mais confiável de verificação da integridade e autenticidade de um arquivo.

Para verificar a assinatura de um pacote específico, você primeiro precisa obtter uma cópia da chave pública GPG da MariaDB Foundation (<build@mysql.com>). Você também pode cortá-la e colá-la diretamente daqui ou obtê-la em http://www.keyserver.net/.

Key ID:
pub 1024D/5072E1F5 2003-02-03
 MariaDB Package signing key (www.mysql.com) <build@mysql.com>
Fingerprint: A4A9 4068 76FC BD3C 4567 70C8 8C71 8D3B 5072 E1F5
Public Key (ASCII-armored):
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org mQGiBD4+owwRBAC14GIfUfCyEDSIePvEW3SAFUdJBtoQHH/nJKZyQT7h9bPlUWC3
RODjQReyCITRrdwyrKUGku2FmeVGwn2u2WmDMNABLnpprWPkBdCk96+OmSLN9brZ fw2vOUgCmYv2hW0hyDHuvYlQA/BThQoADgj8AW6/0Lo7V1W9/8VuHP0gQwCgvzV3
BqOxRznNCRCRxAuAuVztHRcEAJooQK1+iSiunZMYD1WufeXfshc57S/+yeJkegNW hxwR9pRWVArNYJdDRT+rf2RUe3vpquKNQU/hnEIUHJRQqYHo8gTxvxXNQc7fJYLV K2HtkrPbP72vwsEKMYhhr0eKCbtLGfls9krjJ6sBgACyP/Vb7hiPwxh6rDZ7ITnE kYpXBACmWpP8NJTkamEnPCia2ZoOHODANwpUkP43I7jsDmgtobZX9qnrAXw+uNDI QJEXM6FSbi0LLtZciNlYsafwAPEOMDKpMqAK6IyisNtPvaLd8lH0bPAnWqcyefep rv0sxxqUEMcM3o7wwgfN83POkDasDbs3pjwPhxvhz6//62zQJ7Q7TXlTUUwgUGFj a2FnZSBzaWduaW5nIGtleSAod3d3Lm15c3FsLmNvbSkgPGJ1aWxkQG15c3FsLmNv bT6IXQQTEQIAHQUCPj6jDAUJCWYBgAULBwoDBAMVAwIDFgIBAheAAAoJEIxxjTtQ cuH1cY4AnilUwTXn8MatQOiG0a/bPxrvK/gCAJ4oinSNZRYTnblChwFaazt7PF3q zIhMBBMRAgAMBQI+PqPRBYMJZgC7AAoJEElQ4SqycpHyJOEAn1mxHijft00bKXvu cSo/pECUmppiAJ41M9MRVj5VcdH/KN/KjRtW6tHFPYhMBBMRAgAMBQI+QoIDBYMJ YiKJAAoJELb1zU3GuiQ/lpEAoIhpp6BozKI8p6eaabzF5MlJH58pAKCu/ROofK8J Eg2aLos+5zEYrB/LsrkCDQQ+PqMdEAgA7+GJfxbMdY4wslPnjH9rF4N2qfWsEN/l xaZoJYc3a6M02WCnHl6ahT2/tBK2w1QI4YFteR47gCvtgb6O1JHffOo2HfLmRDRi Rjd1DTCHqeyX7CHhcghj/dNRlW2Z0l5QFEcmV9U0Vhp3aFfWC4Ujfs3LU+hkAWzE
7zaD5cH9J7yv/6xuZVw411x0h4UqsTcWMu0iM1BzELqX1DY7LwoPEb/O9Rkbf4fm Le11EzIaCa4PqARXQZc4dhSinMt6K3X4BrRsKTfozBu74F47D8Ilbf5vSYHbuE5p
/1oIDznkg/p8kW+3FxuWrycciqFTcNz215yyX39LXFnlLzKUb/F5GwADBQf+Lwqq a8CGrRfsOAJxim63CHfty5mUc5rUSnTslGYEIOCR1BeQauyPZbPDsDD9MZ1ZaSaf anFvwFG6Llx9xkU7tzq+vKLoWkm4u5xf3vn55VjnSd1aQ9eQnUcXiL4cnBGoTbOW I39EcyzgslzBdC++MPjcQTcA7p6JUVsP6oAB3FQWg54tuUo0Ec8bsM8b3Ev42Lmu QT5NdKHGwHsXTPtl0klk4bQk4OajHsiy1BMahpT27jWjJlMiJc+IWJ0mghkKHt92
6s/ymfdf5HkdQ1cyvsz5tryVI3Fx78XeSYfQvuuwqp2H139pXGEkg0n6KdUOetdZ Whe70YGNPw1yjWJT1IhMBBgRAgAMBQI+PqMdBQkJZgGAAAoJEIxxjTtQcuH17p4A n3r1QpVC9yhnW2cSAjq+kr72GX0eAJ4295kl6NxYEuFApmr1+0uUq/SlsQ==
=YJkx
-----END PGP PUBLIC KEY BLOCK-----

Você pode importar esta chave em seu pasta de chaves publicas GPG usando gpg --import. Veja a documentação de GPG para mais informações de como trabalhar com chaves públicas.

Depois de fazer o download e importar a chave publica criada, faça o download do pacote MariaDB desejado e da assinatura correspondente, que também está disponível na página de download. A assinatura tem a extensão .asc. Por exemplo, a assinatura de mysql-standard-4.0.10-gamma-pc-linux-i686.tar.gz seria mysql-standard-4.0.10-gamma-pc-linux-i686.tar.gz.asc. Tenha certeza que ambos os arquivos estão armazenados no mesmo diretório e então execute o seguinte comando para verificar a assinatura para este arquivo:

shell> gpg --verify <package>.asc
Exemplo:
shell> gpg --verify mysql-standard-4.0.10-gamma-pc-linux-i686.tar.gz.asc
gpg: Warning: using insecure memory!
gpg: Signature made Mon 03 Feb 2003 08:50:39 PM MET using DSA key ID 5072E1F5
gpg: Good signature from
 'MySQL Package signing key (www.mysql.com) <build@mysql.com>'

A mensagem 'Good signature' indica que está tudo certo.

Verificando Assinatura Usando RPM

Para pacotes RPM, não há assinaturas separadas - pacotes RPM atualmente têm uma assinatura GPG incluída e MD5 checksum. Você pode verificá-los executando o seguinte comando:

shell> rpm --checksig <package>.rpm
Exemplo:
shell> rpm --checksig MySQL-server-4.0.10-0.i386.rpm
MySQL-server-4.0.10-0.i386.rpm: md5 gpg OK

Nota: Se você estiver usando RPM 4.1 e ele reclamar sobre (GPG) NOT OK (MISSING KEYS: GPG#5072e1f5) (mesmo se você a importou para detro de sua pasta de chaves publicas GPG), você precisa importá-las para dentro de sua pasta de chaves RPM primeiro. RPM 4.1 não utiliza mais ias suas pastas de chaves GPG (e o próprio GPG), mas mantém sua própria pasta de chaves (porque ele é um aplicativo do sistema e a pasta de chaves públicas do GPG é um arquivo específico do usuário). Para importar a chave pública do MariaDB em uma pasta de chaves RPM, use os seguintes comandos:

shell> rpm --import <pubkey>
Exemplo:
shell> rpm --import mysql_pubkey.asc

Caso você note que as assinaturas MD5 checksum ou GPG não coincidem, tente primeiro fazer o download do pacote respectivo mais uma vez, talvez de outro site mirror. Se você não obter sucesso na verificação da integridade do pacote repetidas vezes, notifique-nos sobre tais incidentes incluindo o nome completo do pacote e o site que você tem utilizado para fazer o download pelos emails <webmaster@mysql.com> ou <build@mysql.com>.

Retornar