VPN-portalens installasjonsprogram: pakke, profil eller gjenoppbygging?
En nedlasting fra portalen kan være et signert installasjonsprogram fra leverandøren, en pakke med bare profil eller en intern gjenoppbygging. Sjekk utgiver, innhold og eier av oppdateringer før utrulling.
Nedlastingsknappen på en VPN-portal returnerer nøyaktig én fil, og den filen kan være to svært forskjellige ting: et ferdig installasjonsprogram fra leverandøren med en konfigurasjonsprofil som reiser ved siden av, eller en bygg som organisasjonen har satt sammen selv. Siden ser lik ut i begge tilfeller, så knappen kan ikke fortelle deg hvilken du har. Bak den står tre spørsmål — hvem som publiserte den kjørbare filen, hvilken konfigurasjon installasjonen skriver, og hvem som reparerer den når neste klientversjon kommer. Du svarer på det første fra metadataene til artefakten, det andre fra innholdet i pakken, og det tredje bare fra teamet som eier utrullingen.
Hengelåsen i nettleseren dekker overføringen, ikke artefakten.
Hva nedlastingsendepunktet faktisk returnerer
De fleste portaler gir en nedlastingsforespørsel til en liten behandler som enten strømmer en lagret fil eller setter sammen en fil på stedet, og deretter setter et filnavn og en innholdstype før svaret går ut. Det som kommer, er en beholder: en MSI, en PKG, en DEB eller RPM, eller en selvutpakkende innpakning rundt en av dem. Inni ligger klientens binære fil, og ingenting i filnavnet sier pålitelig om den binære filen kom fra leverandøren eller fra en intern byggepipeline. En fil som heter client-setup.exe registrerer en navnebeslutning, ikke et faktum om opprinnelse.
Sammenlign de nedlastede bytene med leverandørens publiserte sjekksum. Avvik beviser ikke ondskap; det beviser at filen ikke er leverandørens bygg, og det er den forskjellen det er verdt å handle på.
Hvor profilen kommer inn i klienten
Forhåndsutfylte innstillinger reiser vanligvis som en separat fil som installasjonsprogrammet kopierer til en bane per bruker eller per maskin: en JSON- eller XML-profil på Windows, en konfigurasjonsprofil på macOS, et fragment under /etc på Linux. Verdiene i den filen — gateway-vertsnavn, tillitsankre, noen ganger registreringsmateriale — blir klientens standardverdier ved første oppstart. Derfor kan én nedlasting bære hemmeligheter så vel som kode.
Spør hva oppgraderingsbanen gjør med profilen. Avhengig av pakking kan den overleve en klientoppdatering, bli overskrevet av den, eller feile skjemavalidering i den nye versjonen.
Hva signaturkjeden ikke beviser
Kodesignering binder en utgiveridentitet til en filhash, og på Windows lar Authenticode-tidsstempelet en signatur leve lenger enn sertifikatet som laget den. Et gyldig resultat svarer på to spørsmål: hvilken utgiver som signerte disse bytene, og om de endret seg etterpå. Det lister ikke opp installasjonsprogrammets tjenester, registerskrivinger eller medfølgende drivere, og det avgjør ikke om den utgiveren bør stoles på her. Microsofts Authenticode-dokumentasjon beskriver mekanismen og er tydelig om dette smale omfanget.
Portalautentisering svarer på et tredje spørsmål: at økten nådde den tiltenkte serveren. Tre forskjellige kontroller, tre forskjellige feilmoduser.
Verifiser artefakten før noen kjører den
Legg filen på en isolert maskin og les metadataene før du kjører noe. Disse kommandoene svarer på utgiverspørsmålet på de tre vanligste plattformene.
# 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
Les signerens subjekt i stedet for bare statusordet. En intern sertifikatmyndighet som signerer et internt bygg er forventet; det samme sertifikatet på en pakke som hevder å være leverandørens utgivelse er det ikke.
For en pakke med bare profil, åpne arkivet og behandle hvert innebygde vertsnavn og hver nøkkel som data det må gjøres rede for. Hvis profilen inneholder noe gjenbrukbart, gjør portaldistribusjon det til en delt hemmelighet med en utrullingsplan.
Fastslå eierskap før utrulling
Det siste spørsmålet har ingen kommando bak seg. Finn ut hvem som oppdaterer artefakten når leverandøren sender en ny klient, hvem som har signeringsnøkkelen for et internt bygg, og hvordan profilen roteres når et endepunkt flytter seg. Skriv navnene ved siden av nedlastingslenken.
Hvis ingen eier det svaret, er nedlastingen en distribusjonskanal uten vedlikeholdsavtale, og det er funnet som er verdt å rapportere.