Quais repositórios de pacotes do Linux distro são seguros e quais não são?

14

A maioria das distro que eu conheço tem algum tipo de funcionalidade de repositório onde novos pacotes podem ser baixados após a instalação. Que distros fazem isso de maneira segura e que não fazem isso de maneira segura.

Estou especialmente pensando em vetores de ataque como o man-in-middle e problemas como quebra de segurança no servidor meta do repositório e nos espelhos do repositório.

Ouvi dizer que tanto o Slackware quanto o Arch linux são muito vulneráveis porque não têm assinatura de pacotes. Isso é verdade? Existe alguma outra distribuição Linux importante que seja vulnerável a ataques man-in-middle simples?

    
por grm 07.07.2011 / 23:31

6 respostas

7

Esta não é uma resposta direta à sua pergunta, mas há várias coisas que você pode fazer para atenuar esse risco. O mais simples é verificar seus pacotes baixados contra as somas de verificação de um diferente espelho do que você baixou.

Quando meu gerenciador de pacotes ( poldek ) faz o download de um pacote, eu o configurei para manter uma cópia do rpm baixado em uma pasta de cache. Ele verifica automaticamente a soma de verificação do download em relação ao repositório de pacotes e avisa / anula em uma incompatibilidade, mas se você estivesse preocupado com o intermediário atacado contra seu repositório de distribuição, seria fácil escrever um script secundário que navegasse por Todos os seus pacotes baixados e verificá-los contra checksums que você baixar de um espelho diferente. Você pode até mesmo rodar sua primeira instalação como um dry-run para que os pacotes sejam baixados mas não instalados, então execute seu script de verificação, e então faça a instalação real.

Isso não impede que um pacote comprometido entre no repositório da distro, mas a maioria das distros tem outras formas de mitigar isso, e mesmo pacotes assinados não garantem que isso nunca foi um problema. O que ele faz é sufocar o vetor de ataque do tipo man-in-the-middle. Usando uma fonte separada e baixando em um canal separado, você mata a facilidade com que um pacote comprometido pode ser solto em uma linha digitada.

    
por 08.07.2011 / 08:09
10

Os pacotes do Debian são soma de verificação, e as somas de verificação são assinadas por uma chave no chaveiro do Debian. O gerenciador de pacotes apt garante que o pacote baixado tenha a soma de verificação correta e que o arquivo da soma de verificação tenha sido assinado corretamente.

    
por 08.07.2011 / 11:28
5

Os pacotes do Fedora são assinados e verificados. Até mesmo repositórios de terceiros, como o rpmfusion , assinam seus pacotes.

O Yum (o gerenciador de pacotes) exige um sinalizador especial ( --nogpgcheck ) para instalar pacotes que não foram assinados.

    
por 08.07.2011 / 14:58
3

Todos os pacotes do Arch Linux usam uma soma md5 ou sha1 para verificar se todos os bits estão no lugar. Cabe ao mantenedor do pacote escolher o algoritmo de hash. Os pacotes instalados a partir do AUR (geralmente apenas um pequeno arquivo de texto PKGBUILD) devem ser verificados pelo installee antes de serem instalados. Os repositórios contendo os pacotes binários oficiais são supervisionados por usuários confiáveis (TUs).

Atualizar : o Arch agora introduziu a assinatura de pacotes com o pacman 4

    
por 08.07.2011 / 01:06
1

Quem disse que o Slackware não tem assinatura de pacotes?

Os pacotes do Slackware são assinados com uma chave pública do Slackware. Então cada pacote tem sua assinatura com extensão .asc . Não apenas os pacotes, mas outros arquivos também são assinados, como CHECKSUMS.MD5 . Isso contém uma lista de somas de verificação dos pacotes.

A distro tem uma ferramenta oficial chamada slackpkg para baixar / instalar pacotes de um espelho. Depois de atualizar o banco de dados do repositório local com slackpkg update , a ferramenta verifica a validade da assinatura do novo arquivo MD5 e do changelog, etc ...

Depois de baixar um pacote (mas antes de instalar), a assinatura e o MD5 do pacote são verificados.

Pode-se obter a chave pública com slackpkg update gpg ou simplesmente importá-la do CD de instalação com gpg --import GPG-KEY

Existe uma outra ferramenta não oficial slapt-get para o Slackware. Suporta GPG-cheques também! De maneira semelhante a slackpkg .

    
por 03.02.2013 / 15:29
-2

OpenBSD de longe. Todo o projeto é dedicado à segurança, a equipe até colocou um patch de linha de 5000+ no apache original porque não achava que era seguro o suficiente para ser usado. Isso é via pkg_add, mas eu nunca tive problemas com isso.

    
por 09.07.2011 / 03:26