Cloudflare alerta para chave de assinatura do apt exposta no Debian, Ubuntu e derivados

Cloudflare alerta para chave de assinatura do apt exposta no Debian, Ubuntu e derivados
Cloudflare alerta para chave de assinatura do apt exposta no Debian, Ubuntu e derivados

A Cloudflare divulgou em seu blog uma falha de segurança que afeta a chave de assinatura do apt exposta no Debian, Ubuntu e derivados. A empresa disse que está tentando solucionar o problema o mais rápido possível. “Para ver porque isso é um problema, temos que entender como o apt baixa e verifica os pacotes de software”, diz a Cloudflare. Veja a seguir que a Cloudflare alerta para chave de assinatura do apt exposta no Debian, Ubuntu e derivados.

Recentemente, recebemos um relatório de recompensa de bug em relação à chave de assinatura GPG usada para pkg.cloudflareclient.com, o repositório de pacotes Linux para nossos produtos Cloudflare WARP. O relatório afirma que esta chave privada foi exposta. Desde então, giramos essa chave e estamos tomando medidas para garantir que um problema semelhante não aconteça novamente. Antes de continuar lendo, se você for um usuário Linux do Cloudflare WARP, siga estas instruções para girar a chave pública Cloudflare GPG confiável para seu gerenciador de pacotes. Isso afeta apenas os usuários do WARP que instalaram o WARP no Linux. Isso não afeta os clientes Cloudflare de qualquer um de nossos outros produtos ou usuários WARP em dispositivos móveis.

No entanto, eles também perceberam que o impacto de uma chave privada protegida incorretamente pode ter consequências que vão além do escopo de um repositório de terceiros. Na postagem do blog, eles mostram como melhorar a segurança do apt com repositórios de terceiros.

O impacto inesperado

A princípio, pensamos que a chave de assinatura exposta só poderia ser usada por um invasor para forjar pacotes distribuídos por meio de nosso repositório de pacotes. No entanto, ao revisar o impacto para as plataformas Debian e Ubuntu, descobrimos que nossas instruções estavam desatualizadas e inseguras. Na verdade, descobrimos que a maioria dos repositórios de pacotes Debian na Internet estavam fornecendo a mesma orientação ruim: baixe a chave GPG de um site da Web e, em seguida, canalize-a diretamente para o apt-key ou copie-a /etc/apt/trusted.gpg.d/. Este método adiciona a chave como uma raiz confiável para instalação de software de qualquer fonte

Cloudflare alerta para chave de assinatura do apt exposta no Debian, Ubuntu e derivados

Cloudflare alerta para chave de assinatura do apt exposta no Debian, Ubuntu e derivados

A seguir a Cloudflare dá dicas de como esse processo pode ser aperfeiçoado.

E se você pudesse dizer ao apt para confiar apenas nessa chave GPG para uma fonte específica? Isso, combinado com o uso de https, reduziria significativamente o impacto de um comprometimento de chave. Acontece que existe uma maneira de fazer isso! Você precisará fazer duas coisas:

  1. Certifique-se de que a chave não esteja dentro /etc/apt/trusted.gpgou /etc/apt/trusted.gpg.d/mais. Se a chave for seu próprio arquivo, a maneira mais fácil de fazer isso é movê-la para /usr/share/keyrings/. Certifique-se de que o arquivo pertence ao root e apenas o root pode gravar nele. Este passo é importante, porque evita que o apt use esta chave para verificar todos os repositórios na lista de fontes.
  2. Modifique o arquivo de origem /etc/apt/sources.list.d/informando ao apt que este repositório particular pode ser “assinado por” uma chave específica. Quando terminar, a linha deve ser parecida com esta:
deb [signed-by=/usr/share/keyrings/cloudflare-client.gpg] https://pkg.cloudflareclient.com/ bullseye main

Algumas listas de fontes contêm outros metadados que indicam que a fonte só é válida para certas arquiteturas. Se for esse o caso, basta adicionar um espaço no meio, assim:

deb [amd64 signed-by=/usr/share/keyrings/cloudflare-client.gpg] https://pkg.cloudflareclient.com/ bullseye main

Atualizamos as instruções em nossos próprios repositórios para o Cliente WARP e Cloudflare com essas informações e esperamos que outros sigam o exemplo.

Se você executar apt-key listem sua própria máquina, provavelmente encontrará várias chaves que são muito mais confiáveis do que deveriam. Agora você sabe como consertá-los!

Para aqueles que executam seu próprio repositório, agora é um ótimo momento para revisar suas instruções de instalação. Se suas instruções dizem aos usuários para curl um arquivo de chave pública e canalizá-lo direto para sudo apt-key, talvez haja uma maneira mais segura. Enquanto você estiver lá, garantir que o repositório de pacotes suporte https é uma ótima maneira de adicionar uma camada extra de segurança (e se você hospedar seu tráfego via Cloudflare, é fácil de configurar e gratuito. Você pode seguir esta postagem do blog para aprender como configurar corretamente o Cloudflare para armazenar pacotes Debian em cache).

Acesse a versão completa
Sair da versão mobile