VPN APT-kilde: hvad den giver, og hvordan du begrænser den
En VPN APT-kilde er en stående tilladelse, ikke en download. Begræns nøglen til den kilde, læs transaktionen, og skriv fjernelsestrinet, før du tilføjer den.
At downloade en VPN-klient er en engangsbeslutning; at tilføje dens APT-lager er det ikke. Det andet fortæller pakkehåndteringen, hvor fremtidig software må komme fra, og det er en stående overdragelse af myndighed snarere end en download. Det kan være den rigtige ordning, når leverandøren vedligeholder et lager ordentligt. Det fortjener stadig en bevidst beslutning, og de fleste installationsvejledninger springer det over.
En signatur bekræfter et arkiv, ikke dets kode
APT verificerer signerede lager-metadata og stoler derefter på kontrolsummerne i disse metadata for de pakker, den henter. Det beviser, at arkivet svarer til det, nøgleindehaveren udgav, og intet om koden indeni. En korrekt signeret pakke kan stadig indeholde usikre vedligeholder-scripts, og disse scripts kører som root, mens pakken installeres. apt-secure-manualen drager netop denne grænse mellem arkivbekræftelse og en gennemgang af softwaren.
Så det nyttige spørgsmål er ikke, om signaturen validerer, da en brudt signatur alligevel stopper installationen. Det er, hvis signatur du fra nu af vælger at stole på. En stjålet signeringsnøgle er værre end en stjålet pakke, fordi angriberen bliver ved med at producere gyldige metadata længe efter den første dårlige udgivelse. Rotation er den eneste reparation, og den afhænger af, at leverandøren udgiver en ny nøgle gennem en kanal, du kan verificere uafhængigt.
Derfor fortjener nøgleidentiteten lige så meget opmærksomhed som lagerets URL. En nøgle taget fra en adresse i et gammelt forumssvar fastslår intet om udgiveren, mens HTTPS beskytter transporten til den, der svarede i telefonen. Transportsikkerhed og udgiveridentitet er separate spørgsmål, og kun det første løses af et certifikat.
Begræns nøglen til kilden, ikke til systemet
Moderne APT accepterer en kildespecifik Signed-By-reference. En operatørstyret nøgle kan ligge under /etc/apt/keyrings/, og kildeposten angiver den nøgle, der må bekræfte det arkiv. Det er snævrere end at smide den samme nøgle i et globalt betroet sæt, hvor den kan gå i god for kilder, du aldrig mente at tillade. Følg den installerede APT-version og leverandørens aktuelle instruktioner i stedet for at blande fragmenter fra forskellige generationer af vejledninger.
curl -fsSL https://repo.example.com/vpn-key.gpg -o /etc/apt/keyrings/vpn.gpg
echo "deb [signed-by=/etc/apt/keyrings/vpn.gpg] https://repo.example.com/debian stable main" > /etc/apt/sources.list.d/vpn.listReparer aldrig en signaturfejl ved at slå verifikationen fra eller markere et ukendt arkiv som betroet. Det bytter en synlig fejl ud med en usynlig, og den usynlige varer, indtil nogen reviderer kildelisten. Hvis nøglen ikke passer, er den korrekte løsning at finde den rigtige nøgle, ikke at fjerne kontrollen.
Få lageroplysningerne og nøgleidentiteten fra projektet eller en administreret administrator. En nøgle kopieret fra et blogindlæg er en påstand om forfatterskab, ikke bevis for det. Når en leverandør udgiver en rotationskanal, skal du notere den sammen med nøglen, fordi den kanal er det, der gør den næste rotation mulig.
Kildepinning er ikke en pakke-hvidliste
At begrænse en nøgle til én kilde begrænser, hvilket arkiv den kan bekræfte, ikke hvilke pakker det arkiv må udgive. Lageret kan levere meget mere end den VPN-klient, du ønskede, og APTs kandidatvalg og prioriteter afgør, hvilken kvalificeret version der vinder. Gennemgå den foreslåede transaktion, før du bekræfter den, inklusive afhængighedslisten, fordi afhængigheder kommer fra samme arkiv. En nøgleramme kan ikke udtrykke ’kun denne pakke’.
Hvis du har brug for stærkere kontrol, udtryk det som politik for pakkenavne eller -versioner og hold den politik under konfigurationsstyring. At læse en transaktion tager et minut; at opdage en uventet pakke seks måneder senere tager en gennemgang.
Uventede pakker er øjeblikket til at stoppe snarere end at fortsætte, og spørgsmålet til arkivejeren er, hvorfor de er nødvendige. Et lager, der udgiver et dusin pakker omkring én klient, er normalt for en leverandør, der leverer en skrivebordspakke. Det er også en større overflade, end installationsvejledningen antydede, og det er den del, der er værd at notere. Ingen af de to udfald er en grund til at mistro signaturen; begge er grunde til at skrive ned, hvad du accepterede.
Notér myndigheden og hvordan den fjernes
Skriv arkivejeren ned, den understøttede operativsystemudgivelse, nøglerotationskanalen og fjernelsesproceduren. De fire fakta er, hvad en efterfølger har brug for, når klienten udfases, eller leverandøren roterer sin nøgle. Uden dem arver den næste person en kildelinje og en nøglefil uden nogen historie.
Fjernelse er det trin, der springes over, så skriv det ved installationen. Slet kildeposten og dens dedikerede nøgle sammen, og kontroller, om nøglen refereres andre steder, før du fjerner filen. En delt nøgle slettet uden den kontrol gør en oprydning til en urelateret afbrydelse, hvilket er det værste udfald for en rutineændring. Bekræft derefter, at almindelige opdateringer stadig kan løses, når posten er væk.
Én ting er tilbage, efter at lageret er fjernet: enhver pakke, der allerede er installeret derfra, kører videre, indtil noget erstatter den. Det ærlige spørgsmål er, hvilken myndighed du tilføjede, og hvor snævert dens rolle var udtrykt.