Stiahnutie VPN klienta je jednorazové rozhodnutie; pridanie jeho APT repozitára ním nie je. Druhé hovorí správcovi balíkov, odkiaľ môže prichádzať budúci softvér, a to je trvalý prenos právomoci, nie stiahnutie. Môže to byť správne usporiadanie, keď dodávateľ riadne udržiava repozitár. Napriek tomu si zaslúži vedomé rozhodnutie a väčšina inštalačných príručiek ho vynecháva.

Podpis overuje archív, nie jeho kód

APT overuje podpísané metadáta repozitára a potom dôveruje kontrolným súčtom v nich pri balíkoch, ktoré sťahuje. Dokazuje to, že archív zodpovedá tomu, čo zverejnil držiteľ kľúča, a nič o kóde v ňom. Správne podpísaný balík môže stále obsahovať nebezpečné skripty správcu a tieto skripty bežia ako root počas inštalácie balíka. Príručka apt-secure vytyčuje presne túto hranicu medzi overením archívu a kontrolou softvéru.

Užitočná otázka teda nie je, či je podpis platný, keďže poškodený podpis inštaláciu aj tak zastaví. Je to, koho podpisu sa odteraz rozhodnete dôverovať. Ukradnutý podpisový kľúč je horší ako ukradnutý balík, pretože útočník ďalej vytvára platné metadáta ešte dlho po prvom zlom vydaní. Jediná oprava je rotácia kľúča a závisí od toho, či dodávateľ zverejní nový kľúč kanálom, ktorý môžete nezávisle overiť.

Preto si identita kľúča zaslúži rovnakú pozornosť ako URL repozitára. Kľúč prevzatý z adresy v starej odpovedi na fóre nič o vydavateľovi nepreukazuje, zatiaľ čo HTTPS chráni prenos k tomu, kto zdvihol telefón. Bezpečnosť prenosu a identita vydavateľa sú oddelené otázky a certifikát rieši iba prvú.

Obmedzte kľúč na zdroj, nie na systém

Moderný APT prijíma odkaz Signed-By špecifický pre zdroj. Kľúč spravovaný operátorom môže žiť v /etc/apt/keyrings/ a záznam zdroja pomenúva kľúč, ktorý smie tento archív overiť. To je užšie než hodiť ten istý kľúč do globálne dôveryhodnej sady, kde môže ručiť za zdroje, ktoré ste nikdy nechceli povoliť. Riaďte sa nainštalovanou verziou APT a aktuálnymi pokynmi dodávateľa, namiesto miešania úryvkov z rôznych generácií príručiek.

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.list

Nikdy neopravujte zlyhanie podpisu vypnutím overovania alebo označením neznámeho archívu za dôveryhodný. Vymeníte viditeľnú chybu za neviditeľnú a neviditeľná vydrží, kým niekto neprejde zoznam zdrojov. Ak kľúč nesedí, správna oprava je nájsť správny kľúč, nie odstrániť kontrolu.

Získajte podrobnosti o repozitári a identitu kľúča od projektu alebo od spravovaného administrátora. Kľúč skopírovaný z blogového príspevku je tvrdenie o autorstve, nie dôkaz. Keď dodávateľ zverejní kanál rotácie, poznamenajte si ho spolu s kľúčom, pretože práve tento kanál umožňuje ďalšiu rotáciu.

Pripnutie zdroja nie je zoznam povolených balíkov

Obmedzenie kľúča na jeden zdroj obmedzuje, ktorý archív smie overiť, nie ktoré balíky smie tento archív zverejňovať. Repozitár môže dodať oveľa viac než želaný VPN klient a o tom, ktorá spôsobilá verzia vyhrá, rozhoduje výber kandidáta a priority APT. Pred potvrdením si prejdite navrhovanú transakciu vrátane zoznamu závislostí, pretože závislosti prichádzajú z toho istého archívu. Rozsah kľúča nevie vyjadriť ’len tento balík’.

Ak potrebujete silnejšiu kontrolu, vyjadrite ju ako politiku nad názvami alebo verziami balíkov a držte túto politiku pod správou konfigurácie. Prečítanie transakcie zaberie minútu; objavenie neočakávaného balíka o pol roka zaberie revíziu.

Neočakávané balíky sú okamihom zastaviť, nie pokračovať, a otázka pre vlastníka archívu znie, prečo sú potrebné. Repozitár, ktorý zverejňuje desiatku balíkov okolo jedného klienta, je u dodávateľa dodávajúceho desktopovú sadu normálny. Je to aj väčšia plocha, než naznačovala inštalačná príručka, a práve túto časť stojí za to zaznamenať. Ani jeden z výsledkov nie je dôvodom nedôverovať podpisu; oba sú dôvodom zapísať, čo ste prijali.

Zaznamenajte právomoc a ako ju odstrániť

Zapíšte vlastníka archívu, podporované vydanie operačného systému, kanál rotácie kľúča a postup odstránenia. Tieto štyri fakty potrebuje nástupca, keď klient končí alebo dodávateľ rotuje svoj kľúč. Bez nich ďalší človek zdedí riadok zdroja a súbor s kľúčom bez akéhokoľvek príbehu.

Odstránenie je krok, ktorý sa preskakuje, takže ho napíšte pri inštalácii. Zmažte záznam zdroja a jeho vyhradený kľúč spolu a pred odstránením súboru skontrolujte, či na tento kľúč neodkazuje niečo iné. Zdieľaný kľúč zmazaný bez tejto kontroly premení upratovanie na nesúvislý výpadok, čo je pre rutinnú zmenu najhorší výsledok. Potom overte, že bežné aktualizácie sa po zmiznutí záznamu stále vyriešia.

Po odstránení repozitára zostáva jedna vec: každý už z neho nainštalovaný balík beží ďalej, kým ho niečo nenahradí. Poctivá otázka je, akú právomoc ste pridali a ako úzko bola jej úloha vyjadrená.

Súvisiace články