As listas de repositórios são seguras? Existe uma versão HTTPS?

18

As atualizações do repositório são seguras?

Como um pequeno cérebro do lado do desenvolvedor, não consigo entender por que a lista de repositórios é http://security.ubuntu.com e os outros http (inseguros) sites listados em /etc/apt/sources.list . Sem uma correspondência de cadeia de certificados, isso aparece como "pergunte a qualquer respondente por uma lista de pacotes a serem atualizados" em vez de "perguntar ao site ubuntu.com ..."

Qualquer rede pode optar por falsificar os sites de atualização, e é uma prática comum fornecer uma cópia em cache e verificada localmente?

    
por Charles Merriam 03.10.2013 / 03:04

1 resposta

27

Em suma, sim, eles são seguros, por causa da criptografia de chave pública usada para assinar os arquivos.

Todos os arquivos baixados pelo APT possuem uma assinatura que permite que o arquivo baixado seja verificado em relação às chaves públicas armazenadas no seu computador como sendo assinadas pelo Ubuntu e somente pelo Ubuntu. Isso verifica se o arquivo que você recebeu foi autorizado pelo Ubuntu em algum momento e não foi modificado ou violado desde então.

Uma explicação técnica de como isso funciona está disponível do Ubuntu (e do Debian que usa o mesmo sistema).

Devido ao uso de HTTP em vez de HTTPS, sim, os espiões podem ver quais arquivos você está baixando, mas a privacidade provavelmente não será sua preocupação neste caso. Uma tentativa man-in-the-middle de modificar os pacotes para injetar código prejudicial ainda falharia porque iria quebrar o mecanismo de assinatura.

Uma pegadinha possível nesse mecanismo de assinatura é que não garante que você esteja obtendo a versão mais atualizada do pacote (na verdade, às vezes os espelhos demoram a ser atualizados). Para ajudar a atenuar esse problema, o arquivo de versão assinado inclui uma data "Válido até", após a qual todos os arquivos referenciados devem ser considerados obsoletos. Seria plausível que um man-in-the-middle substituísse um arquivo por uma versão anterior não modificada do arquivo dentro dessa data de validade e fizesse com que seu APT acreditasse que não há atualizações. Mas eles não podem fazer nenhuma modificação arbitrária nos pacotes nem podem voltar no tempo além de um certo ponto.

Os mecanismos de assinatura fornecem segurança muito melhor do que HTTPS nesse tipo de ambiente distribuído, em que os arquivos são espelhados em muitos servidores não controlados pelo Ubuntu. Em essência, você só precisa confiar no Ubuntu, não no espelho, então você precisa provar que os arquivos originalmente vieram do Ubuntu e não foram modificados desde então - não há necessidade de verificar a identidade do espelho.

Note que quando você adiciona um repositório não oficial à sua lista de fontes, como um PPA, você estará recebendo arquivos que não são assinados pelo Ubuntu. O APT deve avisá-lo sobre isso, porque eles não foram assinados por um certificado que corresponde a qualquer uma das chaves públicas instaladas no seu computador, conforme autorizado pelo Ubuntu.

    
por thomasrutter 03.10.2013 / 04:46