apt-get
(e outros comandos de manipulação de pacotes, que são um front-end para as mesmas bibliotecas APT) podem usar HTTP, HTTPS e FTP (e sistemas de arquivos montados). Se você especificar https://
URLs em /etc/apt/sources.list
e /etc/apt/sources.list.d/*
, o APT usará HTTPS.
O APT verifica a assinatura dos pacotes. Portanto, você não precisa ter uma forma de transporte que forneça autenticação de dados. Se um invasor modificar os arquivos que você está baixando, isso será notado. Usar uma verificação de assinatura é melhor do que usar uma conexão HTTPS, porque detecta um ataque ao servidor do qual você está fazendo download, não apenas um ataque em trânsito.
Mais precisamente, o fluxo de dados (simplificado) de um pacote é o seguinte:
- O pacote é produzido em uma máquina de construção.
- O pacote está assinado na máquina de construção.
- O pacote assinado é copiado para um espelho de download.
- Você faz o download do pacote.
HTTPS garante que a etapa 4 aconteça corretamente. As assinaturas do pacote garantem que as etapas 2 a 4 aconteçam corretamente.
Na verdade, há um pequeno benefício para o HTTPS na etapa 4: as assinaturas de pacote garantem apenas que o pacote seja autêntico. Um invasor na etapa 4 pode representar um servidor legítimo e servir versões desatualizadas do pacote. Por exemplo, o invasor pode impedir que você faça o download de atualizações de segurança, na esperança de explorar uma vulnerabilidade em sua máquina que você teria corrigido se não fosse pelo ataque. Este não é um cenário muito realista, porque requer um atacante ativo (de modo que teria que ser alguém no controle de sua conexão com a Internet), mas isso poderia acontecer em princípio.
O outro benefício para HTTPS seria se você estivesse tentando esconder o fato de estar baixando pacotes do Ubuntu de alguém que está bisbilhotando sua conexão de rede. Mesmo assim, o intruso poderia ver a que host você está se conectando; Se você se conectar a um espelho do Ubuntu e baixar centenas de megabytes, fica claro que você está baixando pacotes do Ubuntu. O bisbilhoteiro também pode descobrir quais pacotes você está baixando do tamanho dos arquivos. Então, o HTTPS só seria útil se você estivesse baixando de um servidor que também oferecesse outros arquivos de tamanho similar - não vejo nenhum ponto, exceto para pacotes de terceiros, e apenas em circunstâncias muito incomuns.
Para reiterar: o benefício usual do HTTPS, que é saber que você está conectado ao servidor real, é inútil quando você está baixando pacotes do Ubuntu. A verificação de assinatura nos pacotes oferece uma garantia mais strong do que o que o HTTPS pode fornecer.