Nedladdningsknappen på en VPN-portal returnerar exakt en fil, och den filen kan vara två mycket olika saker: ett färdigt installationsprogram från leverantören med en konfigurationsprofil som reser bredvid, eller en bygge som organisationen själv har satt ihop. Sidan ser likadan ut i båda fallen, så knappen kan inte säga vilken du har. Bakom den står tre frågor — vem som publicerade den körbara filen, vilken konfiguration installationen skriver och vem som reparerar den när nästa klientversion kommer. Du svarar på den första utifrån artefaktens metadata, den andra utifrån paketets innehåll och den tredje bara utifrån teamet som äger utrullningen.

Hänglåset i webbläsaren täcker överföringen, inte artefakten.

Vad nedladdningsslutpunkten faktiskt returnerar

De flesta portaler lämnar en nedladdningsbegäran till en liten hanterare som antingen strömmar en lagrad fil eller sätter ihop en fil på plats, och anger sedan ett filnamn och en innehållstyp innan svaret lämnar systemet. Det som anländer är en behållare: en MSI, en PKG, en DEB eller RPM, eller ett självutpackande omslag runt en av dem. Inuti ligger klientens binärfil, och ingenting i filnamnet säger pålitligt om den binärfilen kom från leverantören eller från en intern byggpipeline. En fil som heter client-setup.exe registrerar ett namngivningsbeslut, inte ett faktum om ursprung.

Jämför de nedladdade byten med leverantörens publicerade kontrollsumma. En avvikelse bevisar inte illvilja; den bevisar att filen inte är leverantörens bygge, och det är den skillnad som det är värt att agera på.

Var profilen kommer in i klienten

Förifyllda inställningar reser vanligtvis som en separat fil som installationsprogrammet kopierar till en sökväg per användare eller per maskin: en JSON- eller XML-profil på Windows, en konfigurationsprofil på macOS, ett fragment under /etc på Linux. Värdena i den filen — gateway-värdnamn, förtroendeankare, ibland registreringsmaterial — blir klientens standardvärden vid första starten. Därför kan en enda nedladdning bära både hemligheter och kod.

Fråga vad uppgraderingsvägen gör med profilen. Beroende på paketering kan den överleva en klientuppdatering, skrivas över av den eller misslyckas med schemavalidering i den nya versionen.

Vad signaturkedjan inte bevisar

Kodsignering binder en utgivaridentitet till en filhash, och på Windows låter Authenticode-tidsstämpeln en signatur leva längre än certifikatet som skapade den. Ett giltigt resultat svarar på två frågor: vilken utgivare som signerade dessa byten, och om de ändrades efteråt. Det räknar inte upp installationsprogrammets tjänster, registerskrivningar eller medföljande drivrutiner, och det avgör inte om den utgivaren bör betros här. Microsofts Authenticode-dokumentation beskriver mekanismen och är tydlig om den snäva omfattningen.

Portalautentisering svarar på en tredje fråga: att sessionen nådde den avsedda servern. Tre olika kontroller, tre olika fellägen.

Verifiera artefakten innan någon kör den

Lägg filen på en isolerad maskin och läs dess metadata innan du kör något. Dessa kommandon svarar på utgivarfrågan på de tre vanligaste plattformarna.

# 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

Läs signerarens subjekt i stället för bara statusordet. En intern certifikatmyndighet som signerar ett internt bygge är att vänta; samma certifikat på ett paket som hävdar att det är leverantörens release är det inte.

För ett paket med bara profil, öppna arkivet och behandla varje inbäddat värdnamn och varje nyckel som data som måste redovisas. Om profilen innehåller något återanvändbart gör portaldistributionen det till en delad hemlighet med en utrullningsplan.

Fastställa ägarskap före utrullning

Den sista frågan har inget kommando bakom sig. Ta reda på vem som uppdaterar artefakten när leverantören skickar en ny klient, vem som har signeringsnyckeln för ett internt bygge och hur profilen roteras när en slutpunkt flyttar sig. Skriv namnen bredvid nedladdningslänken.

Om ingen äger det svaret är nedladdningen en distributionskanal utan underhållsavtal, och det är fyndet som är värt att rapportera.

Relaterade artiklar