AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / Perguntas / 463072
Accepted
Andrew
Andrew
Asked: 2018-08-17 13:19:17 +0800 CST2018-08-17 13:19:17 +0800 CST 2018-08-17 13:19:17 +0800 CST

Por que a página de manual apt-key desaconselha o uso de seu comando add?

  • 772

A página de manual do Ubuntu para apt-key inclui a seguinte nota sobre apt-key add:

Nota: Em vez de usar este comando, um chaveiro deve ser colocado diretamente no diretório /etc/apt/trusted.gpg.d/ com um nome descritivo e "gpg" ou "asc" como extensão de arquivo.

Acho que nunca vi esse conselho em nenhum outro lugar. A maioria dos projetos que hospedam seus próprios repositórios diz para baixar seu arquivo de chave e adicioná-lo com apt-key.

  1. Qual é a motivação por trás deste conselho?
  2. Isso é um Ubuntu-ismo ou se aplica a qualquer distribuição baseada em APT?
apt
  • 2 2 respostas
  • 4374 Views

2 respostas

  • Voted
  1. Best Answer
    JdeBP
    2018-08-18T01:18:03+08:002018-08-18T01:18:03+08:00

    Esses projetos têm instruções desatualizadas. Eu sei disso porque publiquei um repositório Debian e atualizei minhas instruções quando descobri as mudanças no Debian 9 APT. De fato, esta parte do manual está desatualizada, pois é o diretório errado.

    Isso não tem a ver com .ddiretórios e mais com a prevenção de uma vulnerabilidade entre sites no APT. O sistema mais antigo usava arquivos de chaveiro separados por conveniência, mas agora isso é uma necessidade de segurança; sua segurança.

    Essa é a vulnerabilidade. Considere dois editores de repositório, A e B. No mundo do Debian 8 e anteriores, as chaves de ambos os editores ficavam no único chaveiro global nas máquinas dos usuários. Se o publicador A pudesse, de alguma forma, suplantar o repositório do site WWW do publicador B, então A poderia publicar pacotes subversivos, assinados com a própria chave de A , que o APT aceitaria e instalaria de bom grado. A chave de A é, afinal, confiável globalmente para todos os repositórios.

    A mitigação é para que os usuários usem keyrings separados para editores individuais e façam referência a esses keyrings com configurações individuais Signed-Byem suas definições de repositório. Especificamente, a chave do editor A é usada apenas no Signed-Byrepositório A e a chave do editor B é usada apenas no Signed-Byrepositório B. Dessa forma, se o editor A suplantar o repositório do editor B, o APT não aceitará os pacotes subversivos dele, pois eles e o repositório são assinados pela chave do editor A e não pelo editor B.

    O /etc/apt/trusted.gpg.dmecanismo em questão é um meio-termo um tanto falho de um Homem Pobre mais velho para isso, de volta em 2005 ou algo assim, que não é bom o suficiente. Ele configura o chaveiro em um arquivo separado, para que possa ser empacotado e instalado em uma única etapa por um gerenciador de pacotes (ou baixado com fetch/ curl/ wget) como qualquer outro arquivo. (O gerenciador de pacotes evita que o pacote especial this-is-my-repository-keyring do editor A seja instalado sobre o do editor B, da maneira normal que lida com conflitos de arquivo entre pacotes em geral.) Mas ainda o adiciona ao conjunto de chaves que é globalmente confiável para todos os repositórios. O mecanismo completo que existe agora usa arquivos de chaveiro separados, não confiáveis ​​globalmente no formato /usr/share/keyrings/.

    Minhas instruções já estão lá. ☺ Há movimentos em andamento para mover os próprios repositórios do Debian para este mecanismo, para que eles também não usem chaves globalmente confiáveis. Você pode querer ter uma palavra com aqueles "a maioria dos projetos" que você encontrou. Afinal, eles estão instruindo você a entregar o acesso global ao APT em sua máquina para eles.

    Leitura adicional

    • Daniel Kahn Gillmor (2017-05-02). Envie as chaves específicas da versão separadamente fora do/etc/apt/trusted.gpg.d/ . Erro Debian #861695.
    • Daniel Kahn Gillmor (2017-07-27). entradas debiansources.list devem ter opções assinadas apontando para chaves específicas . Erro Debian #877012.
    • "Entrada Sources.list" . Instruções para se conectar a um repositório de terceiros . Wiki do Debian. 2018.
    • Por que não é um risco de segurança adicionar a sources.list?
    • Debian 9, APT e "erro GPG: ... InRelease: As seguintes assinaturas eram inválidas:"
    • 26
  2. sourcejedi
    2018-08-18T04:30:27+08:002018-08-18T04:30:27+08:00

    apt-key delleva o keyid, que é um hash sem sentido da chave.

    É mais simples se você puder desinstalar as chaves usando um nome significativo... como um nome de arquivo.

    Como o JdeBP diz, isso funciona bem com arquivos de chave confiáveis ​​que são instalados como parte de um pacote debian. Eu acho que também pode ser melhor quando você instalou manualmente um arquivo de chave.

    No novo mecanismo que está atualmente em "teste inicial", isso é ainda mais simplificado. Você só precisa remover/desabilitar uma coisa: o repositório (em sources.list / sources.list.d). Isso interromperá automaticamente a permissão da chave configurada para esse repositório (a menos que também tenha sido usada por outro repositório).

    Não sei como aproveitar o novo mecanismo de segurança. Eu apenas assumo que preciso confiar em alguém se eu usar seu pacote. O processo de instalação do pacote ainda está sendo executado como root:-).

    • 1

relate perguntas

  • O que procurar ao misturar software em diferentes versões de uma distribuição?

  • Entendendo a saída da lista apt

  • Tentar instalar o pacote debian npm faz com que o apt-get remova o libssl-dev

  • Como baixar o pacote não instalá-lo com o comando apt-get?

  • Qual é o benefício de /etc/apt/sources.list.d sobre /etc/apt/sources.list

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    ssh Não é possível negociar: "nenhuma cifra correspondente encontrada", está rejeitando o cbc

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    Como descarregar o módulo do kernel 'nvidia-drm'?

    • 13 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Wong Jia Hau ssh-add retorna com: "Erro ao conectar ao agente: nenhum arquivo ou diretório" 2018-08-24 23:28:13 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Bagas Sanjaya Por que o Linux usa LF como caractere de nova linha? 2017-12-20 05:48:21 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve