APT zdroj pro VPN: co uděluje a jak ho omezit
APT zdroj pro VPN je trvalé oprávnění, ne stahování. Omezte klíč na tento zdroj, přečtěte si transakci a napište krok odstranění dřív, než ho přidáte.
Stáhnout VPN klienta je jednorázové rozhodnutí; přidat jeho APT repozitář nikoli. Druhé říká správci balíčků, odkud může budoucí software pocházet, což je trvalý přenos pravomoci, nikoli stahování. Může to být správné uspořádání, když dodavatel řádně udržuje repozitář. Přesto si zaslouží vědomé rozhodnutí a většina instalačních příruček ho vynechává.
Podpis ověřuje archiv, ne jeho kód
APT ověřuje podepsaná metadata repozitáře a poté důvěřuje kontrolním součtům uvnitř těchto metadat u balíčků, které stahuje. Dokazuje to, že archiv odpovídá tomu, co publikoval držitel klíče, a nic o kódu uvnitř něj. Správně podepsaný balíček může stále nést nebezpečné skripty správce a tyto skripty běží jako root během instalace balíčku. Příručka apt-secure vytyčuje přesně tuto hranici mezi ověřením archivu a kontrolou softwaru.
Užitečná otázka tedy není, zda se podpis validuje, protože poškozený podpis instalaci stejně zastaví. Je to, čímu podpisu se od nynějška rozhodnete důvěřovat. Ukradený podepisovací klíč je horší než ukradený balíček, protože útočník dál vytváří platná metadata dlouho po prvním špatném vydání. Rotace je jediná oprava a závisí na tom, zda dodavatel publikuje nový klíč kanálem, který můžete nezávisle ověřit.
Proto si identita klíče zaslouží stejnou pozornost jako URL repozitáře. Klíč převzatý z adresy ve staré odpovědi na fóru nic o vydavateli neprokazuje, zatímco HTTPS chrání přenos k tomu, kdo zvedl telefon. Zabezpečení přenosu a identita vydavatele jsou oddělené otázky a certifikát řeší jen první z nich.
Omezte klíč na zdroj, ne na systém
Moderní APT přijímá odkaz Signed-By specifický pro zdroj. Klíč spravovaný operátorem může žít v /etc/apt/keyrings/ a záznam zdroje pojmenovává klíč, který smí tento archiv ověřit. To je užší než hodit stejný klíč do globálně důvěryhodné sady, kde může ručit za zdroje, které jste nikdy nechtěli povolit. Řiďte se nainstalovanou verzí APT a aktuálními pokyny dodavatele, místo abyste míchali úryvky z různých generací příruček.
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.listNikdy neopravujte selhání podpisu vypnutím ověřování nebo označením neznámého archivu za důvěryhodný. Vyměníte viditelnou chybu za neviditelnou a neviditelná vydrží, dokud někdo neprojde seznam zdrojů. Pokud klíč nesedí, správná oprava je najít správný klíč, ne odstranit kontrolu.
Získejte podrobnosti o repozitáři a identitu klíče od projektu nebo od spravovaného administrátora. Klíč zkopírovaný z blogového příspěvku je tvrzení o autorství, ne důkaz. Když dodavatel publikuje kanál rotace, poznamenejte si ho spolu s klíčem, protože právě tento kanál umožňuje další rotaci.
Připnutí zdroje není seznam povolených balíčků
Omezení klíče na jeden zdroj omezuje, který archiv smí ověřit, ne které balíčky smí tento archiv publikovat. Repozitář může dodat mnohem víc než vámi chtěný VPN klient a o tom, která způsobilá verze vyhraje, rozhoduje výběr kandidáta a priority APT. Před potvrzením si projděte navrhovanou transakci včetně seznamu závislostí, protože závislosti přicházejí ze stejného archivu. Rozsah klíče neumí vyjádřit ’jen tento balíček’.
Pokud potřebujete silnější kontrolu, vyjádřete ji jako politiku nad názvy nebo verzemi balíčků a držte tuto politiku pod správou konfigurace. Přečtení transakce zabere minutu; objevení neočekávaného balíčku o šest měsíců později zabere revizi.
Neočekávané balíčky jsou okamžikem zastavit, ne pokračovat, a otázka pro vlastníka archivu zní, proč jsou nutné. Repozitář, který publikuje desítku balíčků kolem jednoho klienta, je u dodavatele dodávajícího desktopovou sadu normální. Je to také větší plocha, než instalační příručka naznačovala, a právě tuto část stojí za to zaznamenat. Ani jeden z výsledků není důvodem nedůvěřovat podpisu; oba jsou důvodem zapsat, co jste přijali.
Zaznamenejte pravomoc a jak ji odstranit
Zapište vlastníka archivu, podporované vydání operačního systému, kanál rotace klíče a postup odstranění. Tyto čtyři skutečnosti potřebuje nástupce, když klient končí nebo dodavatel rotuje svůj klíč. Bez nich další člověk zdědí řádek zdroje a soubor s klíčem bez jakéhokoli příběhu.
Odstranění je krok, který se přeskakuje, takže ho napište při instalaci. Smažte záznam zdroje a jeho vyhrazený klíč společně a před smazáním souboru zkontrolujte, zda na tento klíč neodkazuje něco jiného. Sdílený klíč smazaný bez této kontroly promění úklid v nesouvisející výpadek, což je pro rutinní změnu nejhorší výsledek. Poté ověřte, že běžné aktualizace se po zmizení záznamu stále vyřeší.
Po odstranění repozitáře zbývá jedna věc: každý balíček už z něj nainstalovaný běží dál, dokud ho něco nenahradí. Poctivá otázka je, jakou pravomoc jste přidali a jak úzce byla její role vyjádřena.