Apt-key man sayfası neden add komutunu kullanmamanızı tavsiye ediyor?


10

Apt-tuşunun Ubuntu adam sayfası ile ilgili şu notu içerir apt-key add:

Not: Bu komutu kullanmak yerine, doğrudan /etc/apt/trusted.gpg.d/ dizinine açıklayıcı bir ad ve "gpg" veya "asc" dosya uzantısı olarak bir anahtarlık yerleştirilmelidir.

Bu tavsiyeyi daha önce başka bir yerde gördüğümü sanmıyorum. Kendi depolarını barındıran çoğu proje, anahtar dosyalarını indirip eklediklerini söyler apt-key.

  1. Bu tavsiyenin arkasındaki motivasyon nedir?
  2. Bu bir Ubuntu-ism mi, yoksa herhangi bir APT tabanlı dağıtım için mi geçerli?


1
Bir değil , gerçek yinelenen başına; ancak temel soru ( .ddizinleri neden kullanmalı ?) aynıdır.
DopeGhoti

3
Gerçek cevap, çünkü hiç bir yinelenen değil yapmamasını arzu gerekse başka ile .ddizinleri.
JdeBP

Yanıtlar:


12

Bu projelerin güncel olmayan talimatları var. Bunu biliyorum, çünkü bir Debian deposu yayınladım ve Debian 9 APT'deki değişiklikleri öğrendiğimde talimatlarımı güncelledim. Aslında, el kitabının bu kısmı artık yanlış dizin olduğu için güncel değil.

Bu gerçekten .ddizinlerle ilgili değildir ve APT'de siteler arası güvenlik açığını önlemekle ilgilidir. Eski sistem kolaylık sağlamak için ayrı anahtarlık dosyaları kullandı, ancak bu artık güvenlik için bir gereklilik; senin güvenliği.

Bu güvenlik açığıdır. Debian 8 ve öncesinde dünyadaki iki veri havuzu yayıncısını düşünün. Yayıncı A bir şekilde yayıncı B'nin depo WWW sitesini tamamlamayı ayarlayabilirse, A , APT'nin memnuniyetle kabul edeceği ve yükleyeceği A'nın kendi anahtarıyla imzalanan yıkıcı paketleri yayınlayabilir . A'nın anahtarı, sonuçta, tüm depolar için küresel olarak güvenilmesidir.

Azaltma, kullanıcıların tek tek yayıncılar için ayrı anahtar kelimeler kullanması ve bu anahtar kelimeleri Signed-Bydepo tanımlarında ayrı ayarlarla referans göstermesidir . Özellikle, yayıncı A'nın anahtarı yalnızca Signed-Bydepo A'da kullanılır ve yayıncı B'nin anahtarı yalnızca Signed-Bydepo B'de kullanılır . Bu şekilde, yayıncı A yayıncı B'nin deposunu destekliyorsa, APT onlar ve veri havuzu, yayıncı B'ler tarafından değil, yayıncı A'nın anahtarı tarafından imzalanır.

Eldeki /etc/apt/trusted.gpg.dmekanizma, daha yaşlı bir Zavallı Adam'ın yarı yolda kalan evi, 2005'e kadar, bu kadar iyi değil. Anahtarlığı ayrı bir dosyada kurar, böylece paket yöneticisi tarafından bir adımda paketlenebilir ve yeni bir dosya olarak yüklenebilir (veya fetch/ curl/ ile indirilebilir wget). (Paket yöneticisi, yayıncı A'nın özel bu-havuz-anahtar-anahtarlık paketinin, genel olarak paketler arasındaki dosya çakışmalarını ele alması için normal olarak yayıncı B'lerine yüklenmesini engeller .) Ancak yine de bunu anahtar kümesine ekler. tüm depolar için dünya çapında güvenilirdir. Şu anda var olan tam mekanizma, içinde genel olarak güvenilir olmayan ayrı anahtarlık dosyaları kullanıyor /usr/share/keyrings/.

Talimatlarım zaten orada. ☺ Debian'ın kendi depolarını bu mekanizmaya taşımak için ayakta hareketler var, böylece artık küresel olarak güvenilen anahtarları kullanmıyorlar. Bulduğunuz "en fazla projeyle" ilgili bir kelimeye sahip olmak isteyebilirsiniz. Sonuçta, şu anda makinenizdeki APT'ye küresel erişimi onlara vermenizi istiyorlar.

daha fazla okuma


IMO bu cevabın ÇOK daha fazla oyu olmalı! Açıkçası bir üçüncü taraf repo eklemenin her zaman bazı güvenlik etkileri vardır, ama hadi kötü şeyler için fırsatı en aza indirelim mi ?!
Jeremy Davis

1

apt-key delkeyidanahtarın anlamsız bir karması olan, alır .

Dosya adı gibi anlamlı bir ad kullanarak anahtarları kaldırabiliyorsanız daha kolaydır.

JdeBP'nin dediği gibi, bu bir debian paketinin parçası olarak yüklenen güvenilir anahtar dosyalarıyla iyi çalışır. Bir anahtar dosyasını manuel olarak yüklediğinizde de daha güzel olabileceğini düşünüyorum.

Halihazırda "ilk testte" olan yeni mekanizmada bu daha da basitleştirilmiştir. Yalnızca bir şeyi kaldırmanız / devre dışı bırakmanız gerekir : depo (sources.list / sources.list.d içinde). Bu otomatik olarak o repo için yapılandırılmış anahtara izin vermeyi durdurur (başka bir repo tarafından da kullanılmadıkça).

Yeni güvenlik mekanizmasından nasıl yararlanacağımı bilmiyorum. Sadece paketlerini kullanırsam birine güvenmem gerektiğini varsayıyorum. Paket yükleme işlemi hala root:-) olarak çalışıyor .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.