GNU/Linux >> Znalost Linux >  >> Linux

Proč stránka Apt-key Man nedoporučuje používat její příkaz Add?

Manuálová stránka Ubuntu pro apt-key obsahuje následující poznámku týkající se apt-key add :

Poznámka:Místo použití tohoto příkazu by měl být svazek klíčů umístěn
přímo do adresáře /etc/apt/trusted.gpg.d/ s
popisným názvem a buď „gpg“ nebo „asc“ jako soubor rozšíření.

Myslím, že jsem tuto radu nikde jinde neviděl. Většina projektů, které hostují své vlastní repozitáře, říká, že mají stáhnout svůj soubor klíče a přidat jej pomocí apt-key .

  1. Jaká je motivace této rady?
  2. Je to Ubuntu-ismus nebo se to vztahuje na jakoukoli distribuci založenou na APT?

Přijatá odpověď:

Tyto projekty mají zastaralé pokyny. Vím to, protože publikuji repozitář Debianu a aktualizoval jsem své pokyny, když jsem se dozvěděl o změnách v Debian 9 APT. Tato část příručky je nyní skutečně zastaralá, protože se jedná o nesprávný adresář.

To ve skutečnosti nemá co dělat s .d adresáře a další související s prevencí zranitelnosti mezi weby v APT. Starší systém používal pro pohodlí samostatné soubory svazků klíčů, ale to je nyní pro bezpečnost nutnost; vaše zabezpečení.

Toto je zranitelnost. Zvažte dva vydavatele repozitářů, A a B. Ve světě Debianu 8 a dřívějších byly klíče obou vydavatelů uloženy v jediném globálním svazku klíčů na počítačích uživatelů. Pokud by vydavatel A mohl nějak zařídit nahrazení WWW stránky úložiště vydavatele B, pak by A mohl publikovat podvratné balíčky, podepsané vlastním klíčem A , který by APT s radostí přijal a nainstaloval. Klíč A je koneckonců globálně důvěryhodný pro všechna úložiště.

Zmírnění spočívá v tom, že uživatelé použijí samostatné svazky klíčů pro jednotlivé vydavatele a odkazovat na tyto klíčenky pomocí jednotlivých Signed-By nastavení v jejich definicích úložiště. Konkrétně klíč vydavatele A se používá pouze v Signed-By úložiště A a klíč vydavatele B se používá pouze v Signed-By úložiště B. Tímto způsobem, pokud vydavatel A nahradí úložiště vydavatele B, APT z něj nepřijme podvratné balíčky, protože ony i úložiště jsou podepsány klíčem vydavatele A, nikoli vydavatelem B.

Soubor /etc/apt/trusted.gpg.d Mechanismus po ruce je starší Poor Man's poněkud chybný dům na půli cesty k tomu, zhruba z roku 2005, což není dost dobré. Nastaví svazek klíčů do samostatného souboru, takže jej lze zabalit a pouze nainstalovat v jednom kroku správcem balíčků (nebo stáhnout pomocí fetch /curl /wget ) jako jakýkoli jiný soubor. (Správce balíčků se stará o to, aby vydavatel A zabránil speciálnímu toto-je-můj-repository-klíčen balíček z instalace přes vydavatele B, normálním způsobem, který řeší konflikty souborů mezi balíčky obecně.) Ale stále jej přidává do sady klíčů, která je globálně důvěryhodná pro všechna úložiště. Úplný mechanismus, který nyní existuje, používá samostatné, ne globálně důvěryhodné soubory svazků klíčů v /usr/share/keyrings/ .

Můj návod už tam je. ☺ Probíhají kroky k přesunu vlastních úložišť Debianu do tohoto mechanismu, aby již nepoužívaly globálně důvěryhodné klíče. Možná si budete chtít promluvit s těmi „většinou projektů“, které jste našli. Koneckonců, aktuálně vám dávají pokyn, abyste jim předali globální přístup k APT na vašem počítači.

Související:Slack – zkratka nebo příkaz pro spuštění vlákna ve Slacku?

Další čtení

  • Daniel Kahn Gillmor (2017-05-02). Klíče specifické pro vydání zasílejte samostatně mimo /etc/apt/trusted.gpg.d/ . Chyba Debianu #861695.
  • Daniel Kahn Gillmor (27. 7. 2017). debian sources.list položky by měly mít možnosti podepsaného odkazem na konkrétní klíče . Chyba Debianu #877012.
  • „Sources.list entry“. Pokyny k připojení k úložišti třetí strany . Debian wiki. 2018.
  • Proč není přidání do sources.list bezpečnostním rizikem?
  • Debian 9, APT a „Chyba GPG:… InRelease:Následující podpisy byly neplatné:“

Linux
  1. Použití –exclude With The Du Command?

  2. Jak funguje Tee Command?

  3. Proč Lun World Wide ID začíná číslem 3 v Linuxu dm-multipath

  1. Získávání cyklů procesoru pomocí RDTSC – proč se hodnota RDTSC vždy zvyšuje?

  2. Žádná manuálová stránka pro příkaz cd

  3. Proč příkaz free a dmidecode ukazují různé hodnoty pro RAM?

  1. Jak funguje příkaz ps?

  2. Proč má pvremove v manuálové stránce duplicitní sílu?

  3. Proč slabtop -o vrací pouze prvních 23 řádků, když je příkaz rourou?