Aktualizacja bramy VPN kończy się niepowodzeniem: przeczytaj etap, zanim otworzysz wyjście
Nieudana aktualizacja wskazuje etap, a nie brakujący port. Dopasuj komunikat do jego właściciela, przeczytaj ścieżkę proxy, a następnie świadomie zdecyduj o polityce konserwacji.
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 mentions | Which component owns it | What you check first | What you must not change |
|---|---|---|---|
| a name that will not resolve | the resolver policy for this host | which resolver is used, and whether its path is permitted | nothing in the firewall: no repository packet has left yet |
| a connection that times out | routing, proxy or the far end | the destination, port and proxy the manager actually attempts | the egress policy, before you know that destination |
| a TLS identity mismatch | trust configuration and the server's identity | the chain the manager is presented with | verification settings, which only hide the mismatch |
| rejected archive metadata | the repository's signing metadata | whether the source carries valid, trusted metadata | the 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.