Weigeren om beveiligingsupdates te installeren is maar één slechte week verwijderd van iemands anders probleem worden, en een gateway die clients toelaat is de gemakkelijkste plek om die gewoonte te ontwikkelen. De gebruikelijke oorzaak is geen ontbrekende route maar een ontbrekende beslissing: niemand heeft gezegd hoe de host zelf een repository moet bereiken wanneer het doorsturen van clients bewust smal is. Die beslissing moet expliciet worden genomen, en ze moet smaller zijn dan het uitgaande beleid een middag uitzetten.

Vier fasen, vier verschillende eigenaren

Een updatefout is een benoemde fase, of het bericht dat nu zegt of niet, en elke fase hoort bij een andere eigenaar. Een naam die niet oplost is een vraag voor de resolver. Een verbinding die een time-out krijgt is een vraag voor transport, proxy of de verre kant. Een TLS-identiteitsfout is een vertrouwensvraag, en afgewezen archiefmetadata is een handtekeningsvraag. Vier fasen, vier eigenaren, en een poortregel beantwoordt altijd maar één daarvan.

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 en naamresolutie zijn de twee tests waar mensen eerst naar grijpen, en beide beantwoorden vragen die niemand stelde. Een echo-antwoord gebruikt een ander protocol dan de repository-verbinding, en een geslaagde opzoeking stopt bij naamresolutie zonder het ophalen te testen. Beide kunnen slagen terwijl de echte transactie mislukt, en beide kunnen mislukken om redenen die niets met het pad te maken hebben.

Lees het pad dat de beheerder werkelijk neemt

Inspecteer de geconfigureerde bron-URI’s en de effectieve proxyregeling in plaats van een van beide aan te nemen. Een regel die voor gewoon HTTP is geschreven is geen reparatie wanneer de repository HTTPS spreekt, en een organisatie die een proxy verplicht stelt heeft het pad al gekozen. Pakketbeheerders respecteren omgevingsvariabelen en hun eigen configuratie, en hostspecifieke instellingen kunnen een globale overschrijven. Wat een interactieve browser doet hoeft niet te zijn wat de beheerder doet.

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

De APT-transportdocumentatie beschrijft welke instellingen op welk URI-schema van toepassing zijn en hoe hostspecifieke keuzes worden geschreven. Bewaar de uitvoer van de opdrachten bij het ticket, want die scheidt een proxyprobleem sneller van een ontbrekende route dan welk aantal ping-resultaten dan ook. Noteer de exacte bestemming, poort en protocol die de beheerder probeert, en laat de firewallwijziging op dat verslag rusten in plaats van op een geraden spiegeladres dat binnen maanden verouderd is.

Kies een onderhoudsbeleid, geen uitzondering

Drie beleidslijnen zijn verdedigbaar: onderhouden via de tunnel, onderhouden via een beheerde updateproxy, of onderhouden via een nauw geautoriseerde directe route. Elk impliceert een resolverregeling die daarbij past. Wat niet verdedigbaar is, is een uitzondering die stilletjes een onbeperkte terugval wordt zodra de tunnel platligt.

Schrijf het gekozen beleid op met een eigenaar, want de volgende operator vindt de regel en niet de reden erachter. Pas de toestemming toe via de bestaande firewall en de netwerkeigenaar in plaats van regels te legen of een tweede beleidsbeheerder voor één host toe te voegen. Dek de adresfamilies en service-eindpunten die de echte bron gebruikt, en herzie de lijst wanneer de repository verhuist.

Verifieer zonder vertrouwen te verzwakken

Een geslaagd transport is geen toestemming om de verificatie te versoepelen: archiefauthenticatie en TLS-serveridentiteit zijn twee afzonderlijke controles, en het uitschakelen van een van beide laat een fout verdwijnen terwijl het verandert wat de host accepteert. Een onderscheppende proxy is een vertrouwensbeslissing van de netwerkeigenaar en geen reden om de controle lokaal uit te schakelen, en repositoryreferenties horen niet in gedeelde diagnostiek, want een uitgebreid logboek is de gemakkelijkste plek om ze te lekken.

Accepteer de wijziging met een gecontroleerd ophalen van metadata gevolgd door één goedgekeurde pakkettransactie, en test dan wat er gebeurt als de tunnel wegvalt. Een onderhoudspad dat tijdens een storing stilletjes breder wordt is erger dan een dat gesloten faalt, en het resultaat zou een updatepad moeten zijn met een benoemde eigenaar en een begrensde omvang.

Gerelateerde artikelen