Tlačidlo stiahnutia na portáli VPN vracia presne jeden súbor a ten súbor môže byť jedna z dvoch veľmi odlišných vecí: hotový inštalátor dodávateľa s konfiguračným profilom, ktorý cestuje vedľa neho, alebo zostavenie, ktoré si organizácia zostavila sama. Stránka vyzerá v oboch prípadoch rovnako, takže tlačidlo vám nemôže povedať, ktorý máte. Za ním stoja tri otázky — kto publikoval spustiteľný súbor, akú konfiguráciu inštalácia zapisuje a kto ju opraví, keď príde ďalšie vydanie klienta. Na prvú odpovedáte z metadát artefaktu, na druhú z obsahu balíka a na tretiu len z tímu, ktorý vlastní zavedenie.

Zámok v prehliadači kryje prenos, nie artefakt.

Čo koncový bod sťahovania skutočne vracia

Väčšina portálov odovzdá požiadavku na stiahnutie malému obslužnému programu, ktorý buď streamuje uložený súbor, alebo zostaví súbor na mieste, a potom nastaví názov súboru a typ obsahu predtým, než odpoveď odíde. To, čo príde, je kontajner: MSI, PKG, DEB alebo RPM, alebo samorozbaľovací obal okolo jedného z nich. Vnútri je binárny súbor klienta a nič v názve súboru spoľahlivo nehovorí, či ten binárny súbor prišiel od dodávateľa alebo z internej zostavovacej linky. Súbor s názvom client-setup.exe zaznamenáva rozhodnutie o pomenovaní, nie skutočnosť o pôvode.

Porovnajte stiahnuté bajty s kontrolným súčtom, ktorý zverejnil dodávateľ. Nezhoda nedokazuje zlý úmysel; dokazuje, že súbor nie je zostavenie dodávateľa, a to je rozdiel, pre ktorý sa oplatí konať.

Kde sa profil dostáva do klienta

Predvyplnené nastavenia zvyčajne cestujú ako samostatný súbor, ktorý inštalátor skopíruje do cesty pre jednotlivého používateľa alebo pre celý počítač: profil JSON alebo XML vo Windows, konfiguračný profil v macOS, fragment pod /etc v Linuxe. Hodnoty v tomto súbore — názvy hostiteľov brány, kotvy dôvery, niekedy materiál na zápis — sa pri prvom spustení stanú predvolenými hodnotami klienta. Preto môže jedno stiahnutie niesť tajomstvá aj kód.

Opýtajte sa, čo robí cesta aktualizácie s profilom. V závislosti od balenia môže prežiť aktualizáciu klienta, byť ňou prepísaný alebo zlyhať pri validácii schémy v novej verzii.

Čo reťazec podpisov nedokazuje

Podpisovanie kódu viaže identitu vydavateľa na hash súboru a vo Windows umožňuje časová pečiatka Authenticode podpisu žiť dlhšie ako certifikát, ktorý ho vytvoril. Platný výsledok odpovedá na dve otázky: ktorý vydavateľ podpísal tieto bajty a či sa potom zmenili. Neuvádza služby inštalátora, zápisy do registra ani priložené ovládače a nerozhoduje, či sa tomu vydavateľovi má tu veriť. Dokumentácia Authenticode od Microsoftu opisuje mechanizmus a je výslovná k tomuto úzkemu rozsahu.

Overovanie na portáli odpovedá na tretiu otázku: či relácia dosiahla zamýšľaný server. Tri rôzne kontroly, tri rôzne režimy zlyhania.

Overte artefakt, než ho ktokoľvek spustí

Umiestnite súbor na izolovaný počítač a prečítajte si jeho metadáta, než čokoľvek spustíte. Tieto príkazy odpovedajú na otázku vydavateľa na troch hlavných platformách.

# Windows PowerShell
Get-AuthenticodeSignature .\client-setup.exe | Format-List Status, SignerCertificate, TimeStamperCertificate

# macOS
pkgutil --check-signature ./Client.pkg
codesign -dv --verbose=4 /Applications/Client.app

# Debian/Ubuntu
dpkg-deb -I ./client_amd64.deb
sha256sum ./client_amd64.deb

Čítajte subjekt podpisujúceho, nielen slovo stavu. Interná certifikačná autorita podpisujúca interné zostavenie je očakávaná; ten istý certifikát na balíku, ktorý tvrdí, že je vydaním dodávateľa, očakávaný nie je.

Pri balíku iba s profilom otvorte archív a každé vložené meno hostiteľa a kľúč berte ako údaje, z ktorých treba vyúčtovať. Ak profil obsahuje niečo opakovane použiteľné, distribúcia portálom z toho urobí zdieľané tajomstvo s plánom zavedenia.

Určenie vlastníctva pred zavedením

Za poslednou otázkou nestojí žiadny príkaz. Zistite, kto aktualizuje artefakt, keď dodávateľ vydá nového klienta, kto drží podpisový kľúč pre interné zostavenie a ako sa profil rotuje, keď sa koncový bod presunie. Napíšte tie mená vedľa odkazu na stiahnutie.

Ak tú odpoveď nikto nevlastní, stiahnutie je distribučný kanál bez zmluvy o údržbe, a to je zistenie, ktoré stojí za nahlásenie.

Súvisiace články