OPIS
Począwszy od wersji 0.6 apt zawiera kod sprawdzający sygnatury plików "Release" wszystkich archiwów. Zapewnia to, że pakiety w archiwum nie mogą być zmieniane przez ludzi nie mających dostępu do klucza używanego do podpisywania plików "Release".
Jeśli pakiet pochodzi z archiwum niemającego sygnatury lub mającego sygnaturę, dla której APT nie ma klucza, to pakiet taki jest uznawany za niezaufany, a podczas jego instalacji zostanie wypisane ostrzeżenie. Obecnie apt-get tylko wypisuje ostrzeżenia o niepodpisanych archiwach, przyszłe wydania mogą wymuszać, by wszystkie źródła były zweryfikowane, zanim w ogóle APT spróbuje z nich pobrać pakiety.
Nakładki na APT typu apt-get(8), aptitude(8) i synaptic(8) obsługują ten nowy sposób autoryzacji pakietów.
ZAUFANE ARCHIWA
Łańcuch zaufania prowadzący z archiwum APT do użytkownika końcowego składa się z kilku różnych kroków. apt-secure jest ostatnim z nich. Ufanie archiwum nie oznacza, że pakiety z tego archiwum nie zawierają złośliwego kodu, ale oznacza ufanie opiekunowi archiwum. Obowiązkiem opiekuna archiwum jest zapewnienie poprawności integralności archiwum.
apt-secure nie sprawdza sygnatur na poziomie pakietów. Aby sprawdzać te rzeczy, powinno się przyjrzeć poleceniom debsig-verify i debsign (dostarczanych odpowiednio w pakietach debsig-verify i devscripts).
Łańcuch zaufania w Debianie zaczyna się od wgrania nowego pakietu lub nowej wersji pakietu przez jego opiekuna do archiwum Debiana. Dostarczony przez opiekuna pakiet musi być podpisany przez klucz opiekuna znajdujący się w składnicy kluczy opiekunów Debiana (dostępnej w pakiecie debian-keyring). Klucze opiekunów są podpisane przez innych opiekunów, tak jak wymagają tego odpowiednie procedury używane w Debianie do identyfikacji posiadacza klucza.
Po tym jak dostarczony przez opiekuna pakiet zostanie zweryfikowany i dołączony do archiwum, sygnatura opiekuna jest usuwana, a sumy kontrolne pakietu są wyliczane i umieszczane w pliku Packages. Sumy kontrolne wszystkich plików Packages są następnie wyliczane i umieszczane w pliku Release. Plik Release jest następnie podpisywany przy użyciu klucza archiwum tego wydania dystrybucji Debian i dystrybuowany wraz z pakietami i plikami Packages przez serwery lustrzane Debian. Klucze archiwum znajdują się w składnicy kluczy Debian dostępnej w pakiecie debian-archive-keyring.
Użytkownicy końcowi mogą sprawdzić sygnaturę pliku Release, wydobyć z niego sumę kontrolną MD5 pakietu i porównać ją z sumą kontrolną MD5 pobranego pakietu. Mogą też polegać na tym, że APT zrobi to automatycznie.
Proszę zauważyć, że jest to czym innym niż sprawdzanie sygnatur poszczególnych pakietów. Zostało to zaprojektowane tak, aby uchronić przed dwoma możliwymi typami ataków:
- • Ataki sieciowe "człowiek pośrodku" (ang. "man in the middle"). Jeżeli sygnatury nie są sprawdzane, to ktoś złośliwy może wprowadzić siebie w proces pobierania pakietów i dostarczyć złośliwe oprogramowanie albo przez przejęcie kontroli elementu infrastruktury sieciowej (router, przełącznik itp.), albo przez przekierowanie ruchu do fałszywego serwera (przez rozsyłanie fałszywych pakietów ARP lub DNS, ang. "ARP (DNS) spoofing").
- • Złamanie zabezpieczeń sieci serwerów lustrzanych (ang. "mirror network compromise"). Jeśli sygnatury nie są sprawdzane, to ktoś złośliwy może włamać się na serwer lustrzany, zmodyfikować tam pliki, co spowodowałoby udostępnienie złośliwego oprogramowania wszystkim użytkownikom pobierającym pakiety z tego serwera.
Jednakże nie chroni przed złamaniem zabezpieczeń głównego serwera Debiana (używanego do podpisywania pakietów) lub złamaniem zabezpieczeń klucza używanego do podpisywania plików Release. Mechanizm ten stanowi uzupełnienie dla sprawdzania sygnatur poszczególnych pakietów.
KONFIGURACJA UŻYTKOWNIKA
apt-key jest programem służącym do zarządzania listą kluczy używanych przez APT. Można go użyć do dodania lub usunięcia klucza, chociaż zainstalowanie bieżącego wydania automatycznie dostarczy domyślny klucz używany w repozytoriach pakietów Debiana do podpisywania archiwów Debiana.
Aby dodać nowy klucz, należy go najpierw pobrać (używając zaufanego kanału komunikacji podczas pobierania), dodać go poleceniem apt-key oraz uruchomić apt-get update, tak żeby APT mogło pobrać i zweryfikować pliki InRelease lub Release.gpg ze skonfigurowanych archiwów.
KONFIGURACJA ARCHIWUM
Aby dołączyć sygnatury do archiwum, którym się opiekujesz, należy:
- • Utworzyć plik Release w katalogu najwyższego poziomu, jeśli jeszcze nie istnieje. Można to zrobić używając apt-ftparchive release (dostarczanego w pakiecie apt-utils).
- • Podpisać go. Można to zrobić za pomocą poleceń gpg --clearsign -o InRelease Release i gpg -abs -o Release.gpg Release.
- • Opublikować odcisk klucza (ang. "key fingerprint"), tak żeby użytkownicy wiedzieli, który klucz zaimportować, żeby móc autoryzować plików w archiwum.
Po każdej zmianie zawartości archiwum (dodaniu lub usunięciu pakietów), opiekun archiwum musi wykonać pierwsze dwa z wymienionych powyżej kroków.
BUGS
m[blue]Strona błędów APTm[][3]. Aby zgłosić błąd w APT, proszę przeczytać /usr/share/doc/debian/bug-reporting.txt lub opis polecenia reportbug(1).
AUTOR
APT zostało napisane przez zespół APT <[email protected]>.
AUTORZY STRONY PODRĘCZNIKA
Ta strona podręcznika jest oparta na pracy następujących osób: Javier Fernández-Sanguino Peña, Isaac Jones, Colin Walters, Florian Weimer i Michael Vogt.
TŁUMACZENIE
Tłumaczenie stron podręcznika: Robert Luberda <[email protected]>, 2000-2012. Tłumaczenie przewodnika offline: Krzysztof Fiertek <[email protected]>, 2004
Proszę zauważyć, że przetłumaczony dokument może zawierać fragmenty nieprzetłumaczone. Ma to na celu uniknięcie utracenia istotnych informacji, w przypadkach gdy oryginał zostanie zaktualizowany, a tłumaczenie - nie.
AUTORZY
Jason Gunthorpe
zespół APT
PRZYPISY
- 1.
- Debian Security Infrastructure
- 2.
- Strong Distribution HOWTO
- 3.
-
Strona błędów APT