VPN kliento atsisiuntimas yra vienkartinis sprendimas; jo APT saugyklos pridėjimas – ne. Antrasis nurodo paketų tvarkytuvei, iš kur gali ateiti būsima programinė įranga, ir tai yra nuolatinis įgaliojimų perdavimas, o ne atsisiuntimas. Tai gali būti tinkama tvarka, kai tiekėjas tinkamai prižiūri saugyklą. Vis dėlto tai nusipelno sąmoningo sprendimo, o dauguma diegimo vadovų tai praleidžia.

Parašas patvirtina archyvą, o ne jo kodą

APT patikrina pasirašytus saugyklos metaduomenis ir tada pasitiki tų metaduomenų viduje esančiomis kontrolinėmis sumomis paketams, kuriuos gauna. Tai įrodo, kad archyvas atitinka tai, ką paskelbė rakto savininkas, ir nieko apie jame esantį kodą. Teisingai pasirašytas paketas vis tiek gali turėti nesaugių prižiūrėtojo scenarijų, ir tie scenarijai vykdomi kaip root diegiant paketą. apt-secure vadove brėžiama būtent ši riba tarp archyvo patvirtinimo ir programinės įrangos peržiūros.

Taigi naudingas klausimas yra ne tai, ar parašas galioja, nes sugadintas parašas vis tiek sustabdo diegimą. Klausimas yra, kuo parašu jūs nuo šiol pasirenkate pasitikėti. Pavogtas pasirašymo raktas yra blogiau nei pavogtas paketas, nes užpuolėjas ir toliau kuria galiojančius metaduomenis dar ilgai po pirmojo blogo leidimo. Vienintelis taisymas yra rakto rotacija, ir ji priklauso nuo to, ar tiekėjas paskelbs naują raktą kanalu, kurį galite patikrinti savarankiškai.

Štai kodėl rakto tapatybė nusipelno tiek pat dėmesio, kiek saugyklos URL. Raktas, paimtas iš adreso sename forumo atsakyme, nieko neįrodo apie leidėją, o HTTPS apsaugo perdavimą iki to, kas atsiliepė telefonu. Perdavimo saugumas ir leidėjo tapatybė yra atskiri klausimai, ir tik pirmąjį išsprendžia sertifikatas.

Apribokite raktą šaltiniu, o ne sistema

Šiuolaikinis APT priima šaltiniui būdingą nuorodą Signed-By. Operatoriaus valdomas raktas gali būti /etc/apt/keyrings/ kataloge, o šaltinio įrašas nurodo raktą, kuriam leidžiama patvirtinti tą archyvą. Tai siauriau nei įmesti tą patį raktą į visuotinai patikimą rinkinį, kur jis gali laiduoti už šaltinius, kurių niekada nenorėjote leisti. Vadovaukitės įdiegta APT versija ir dabartinėmis tiekėjo instrukcijomis, o ne maišykite fragmentus iš skirtingų vadovų kartų.

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

Niekada netaisykite parašo klaidos išjungdami tikrinimą ar pažymėdami nežinomą archyvą kaip patikimą. Tai keičia matomą klaidą į nematomą, o nematoma tęsiasi tol, kol kas nors patikrina šaltinių sąrašą. Jei raktas nesutampa, teisingas sprendimas yra rasti tinkamą raktą, o ne pašalinti patikrą.

Gaukite saugyklos duomenis ir rakto tapatybę iš projekto arba valdomo administratoriaus. Iš tinklaraščio įrašo nukopijuotas raktas yra teiginys apie autorystę, o ne jos įrodymas. Kai tiekėjas paskelbia rotacijos kanalą, užsirašykite jį kartu su raktu, nes būtent tas kanalas leidžia kitą rotaciją.

Šaltinio prisegimas nėra paketų leidžiamųjų sąrašas

Rakto apribojimas vienu šaltiniu riboja, kurį archyvą jis gali patvirtinti, o ne tai, kokius paketus tas archyvas gali skelbti. Saugykla gali atsiųsti kur kas daugiau nei norimą VPN klientą, o tai, kuri tinkama versija laimės, sprendžia APT kandidatų atranka ir prioritetai. Peržiūrėkite siūlomą operaciją prieš patvirtindami, įskaitant priklausomybių sąrašą, nes priklausomybės ateina iš to paties archyvo. Rakto apimtis negali išreikšti „tik šis paketas“.

Jei reikia stipresnės kontrolės, išreikškite ją kaip politiką dėl paketų pavadinimų ar versijų ir laikykite tą politiką konfigūracijos valdymo srityje. Operacijos perskaitymas užima minutę; netikėto paketo atradimas po pusmečio užima peržiūrą.

Netikėti paketai yra sustojimo, o ne tęsimo momentas, o klausimas saugyklos savininkui – kodėl jie reikalingi. Saugykla, skelbianti tuziną paketų aplink vieną klientą, yra normali tiekėjui, siunčiančiam darbalaukio rinkinį. Tai taip pat didesnis paviršius, nei numanė diegimo vadovas, ir būtent šią dalį verta užrašyti. Nė vienas iš dviejų rezultatų nėra priežastis nepasitikėti parašu; abu yra priežastis užrašyti, ką priėmėte.

Užrašykite įgaliojimą ir kaip jį pašalinti

Užrašykite saugyklos savininką, palaikomą operacinės sistemos leidimą, rakto rotacijos kanalą ir pašalinimo procedūrą. Tie keturi faktai yra tai, ko įpėdiniui reikia, kai klientas išimamas arba tiekėjas keičia savo raktą. Be jų kitas žmogus paveldi šaltinio eilutę ir rakto failą be jokios istorijos.

Pašalinimas yra žingsnis, kuris praleidžiamas, todėl užrašykite jį diegimo metu. Ištrinkite šaltinio įrašą ir jo skirtą raktą kartu ir prieš šalindami failą patikrinkite, ar tas raktas kur nors kitur nenurodytas. Bendras raktas, ištrintas be šios patikros, paverčia tvarkymą nesusijusiu trikdžiu, o tai yra blogiausias įprasto pakeitimo rezultatas. Tada patvirtinkite, kad įprasti atnaujinimai vis dar išsprendžiami, kai įrašo nebėra.

Vienas dalykas lieka pašalinus saugyklą: bet kuris jau iš jos įdiegtas paketas veikia toliau, kol kažkas jį pakeis. Sąžiningas klausimas yra, kokį įgaliojimą pridėjote ir kaip siaurai buvo išreikštas jo vaidmuo.

Susiję straipsniai