Odmowa instalowania aktualizacji bezpieczeństwa to tylko jeden zły tydzień od stania się czyimś problemem, a brama, która wpuszcza klientów, jest najłatwiejszym miejscem do wykształcenia tego nawyku. Zwykłą przyczyną nie jest brakująca trasa, lecz brakująca decyzja: nikt nie powiedział, jak sam host ma dotrzeć do repozytorium, gdy przekazywanie klientów jest celowo wąskie. Tę decyzję trzeba podjąć wprost i musi być ona węższa niż wyłączenie polityki wyjściowej na jedno popołudnie.

Cztery etapy, czterech różnych właścicieli

Niepowodzenie aktualizacji to nazwany etap, niezależnie od tego, czy komunikat to mówi, a każdy etap należy do innego właściciela. Nazwa, której nie można rozwiązać, to pytanie do resolvera. Połączenie, które przekracza limit czasu, to pytanie do transportu, proxy lub drugiego końca. Błąd tożsamości TLS to pytanie o zaufanie, a odrzucone metadane archiwum to pytanie o podpis. Cztery etapy, czterech właścicieli, a reguła portu zawsze odpowiada tylko na jedno z nich.

The failure text mentionsWhich component owns itWhat you check firstWhat you must not change
a name that will not resolvethe resolver policy for this hostwhich resolver is used, and whether its path is permittednothing in the firewall: no repository packet has left yet
a connection that times outrouting, proxy or the far endthe destination, port and proxy the manager actually attemptsthe egress policy, before you know that destination
a TLS identity mismatchtrust configuration and the server's identitythe chain the manager is presented withverification settings, which only hide the mismatch
rejected archive metadatathe repository's signing metadatawhether the source carries valid, trusted metadatathe signature check, which is not a routing question

Ping i rozwiązywanie nazw to dwa testy, po które ludzie sięgają najpierw, i oba odpowiadają na pytania, których nikt nie zadał. Odpowiedź echo używa innego protokołu niż połączenie z repozytorium, a udane zapytanie zatrzymuje się na rozwiązywaniu nazw, nie testując pobierania. Oba mogą przejść, gdy rzeczywista transakcja zawodzi, i oba mogą zawieść z powodów niezwiązanych ze ścieżką.

Przeczytaj ścieżkę, którą menedżer faktycznie podąża

Sprawdź skonfigurowane URI źródłowe i faktyczny układ proxy, zamiast zakładać którykolwiek z nich. Reguła napisana dla zwykłego HTTP nie jest naprawą, gdy repozytorium mówi HTTPS, a organizacja wymagająca proxy już wybrała ścieżkę. Menedżery pakietów respektują zmienne środowiskowe i własną konfigurację, a ustawienia specyficzne dla hosta mogą nadpisać globalne. To, co robi interaktywna przeglądarka, nie musi być tym, co robi menedżer.

apt-get update -o Debug::Acquire::http=true
apt-config dump | grep -i proxy
env | grep -i proxy

Dokumentacja transportu APT opisuje, które ustawienia dotyczą którego schematu URI i jak zapisuje się wybory specyficzne dla hosta. Zachowaj dane wyjściowe poleceń przy zgłoszeniu, ponieważ szybciej oddzielają problem proxy od brakującej trasy niż jakakolwiek liczba wyników ping. Zapisz dokładny cel, port i protokół, których próbuje menedżer, i pozwól, by zmiana firewalla opierała się na tym zapisie, a nie na zgadywanym adresie lustra, który starzeje się w ciągu miesięcy.

Wybierz politykę konserwacji, a nie wyjątek

Trzy polityki są obronne: konserwacja przez tunel, konserwacja przez zarządzane proxy aktualizacji lub konserwacja przez wąsko autoryzowaną trasę bezpośrednią. Każda z nich zakłada pasujący do niej układ resolvera. Nieobronny jest wyjątek, który po cichu staje się nieograniczoną trasą zapasową, ilekroć tunel padnie.

Zapisz wybraną politykę wraz z właścicielem, ponieważ następny operator znajdzie regułę, a nie uzasadnienie za nią. Zastosuj uprawnienie przez istniejący firewall i właściciela sieci, zamiast czyścić reguły lub dodawać drugiego menedżera polityk dla jednego hosta. Obejmij rodziny adresów i punkty końcowe usług, których używa rzeczywiste źródło, i przejrzyj listę, gdy repozytorium się przeniesie.

Weryfikuj bez osłabiania zaufania

Udany transport nie jest pozwoleniem na poluzowanie weryfikacji: uwierzytelnianie archiwum i tożsamość serwera TLS to dwie odrębne kontrole, a wyłączenie którejkolwiek sprawia, że błąd znika, zmieniając to, co host zaakceptuje. Proxy przechwytujące jest decyzją o zaufaniu właściciela sieci, a nie powodem do wyłączenia kontroli lokalnie, a poświadczenia repozytorium nie należą do współdzielonej diagnostyki, ponieważ szczegółowy log to najłatwiejsze miejsce na ich wyciek.

Zaakceptuj zmianę przy kontrolowanym pobraniu metadanych, a następnie jednej zatwierdzonej transakcji pakietu, potem sprawdź, co się dzieje, gdy tunel padnie. Ścieżka konserwacji, która po cichu się rozszerza podczas awarii, jest gorsza niż ta, która zawodzi zamknięta, a wynikiem powinna być ścieżka aktualizacji z nazwanym właścicielem i ograniczonym zakresem.

Powiązane artykuły