Instalator VPN dintr-o oglindă? Verificați mai întâi editorul
Canalul de descărcare decide ce cod rulează și cine îl poate actualiza. Verificați mai întâi semnătura, sursa sumei de control și emitentul profilului.
Tunelul a funcționat, interfața a apărut și sesiunea a rămas stabilă o săptămână. Nimic din toate acestea nu vă spune cine a construit instalatorul. Un client VPN rulează cu privilegii suficiente pentru a rescrie rute și a citi acreditări, așa că editorul face parte din modelul amenințărilor, nu este o notă de subsol.
Faceți verificările în ordine și opriți-vă la prima care eșuează. Sunt ieftine, iar fiecare închide o altă breșă.
Primul pas: Descărcați de pe canalul pe care proiectul îl numește
Fiecare proiect documentează unde se află versiunile sale, iar acea pagină este referința. Build-urile comunității, listările din magazine și portalurile furnizorilor sunt toate canale legitime. Fiecare este legitim doar când proiectul însuși indică spre el. Acesta este testul și nu este același lucru cu a părea oficial.
Un fișier numit după proiect nu dovedește nimic. Redenumirea unui instalator este o operațiune de o secundă, iar numele este ceea ce afișează mai întâi un rezultat de căutare.
Al doilea pas: Verificați semnătura față de o identitate cunoscută
Verificarea semnăturii răspunde bine la o întrebare îngustă. Vă spune că o anumită identitate a semnat acest binar și că binarul nu s-a schimbat de atunci. Răspunde la o întrebare și refuză alta. Nu vă poate spune dacă acea identitate este cea în care intenționați să aveți încredere.
# macOS: who signed this app, and is the signature intact?
codesign -dv --verbose=4 /Applications/Tunnel.app
spctl -a -vvv -t install /Applications/Tunnel.app
# Windows: signature and publisher of the installer
Get-AuthenticodeSignature .\tunnel-setup.exe | Format-List Status, SignerCertificate
# Linux: detached signature from the project's release page
gpg --verify tunnel-1.4.2.tar.gz.asc tunnel-1.4.2.tar.gz
Citiți identitatea, nu cuvântul de stare. Un dezvoltator nelegat cu un certificat valid produce o semnătură validă. Un sistem de operare care raportează un editor recunoscut v-a spus doar că cineva a plătit pentru un certificat.
Al treilea pas: Comparați hash-ul cu o sursă independentă
O sumă de control dovedește potrivirea cu o valoare de referință. Dacă referința a sosit lângă descărcare, ambele pot fi greșite împreună, iar comparația tot trece. Acesta este modul de eșec din majoritatea tutorialelor. Hash-ul stă pe aceeași pagină cu fișierul pe care îl descrie.
# Linux and macOS
shasum -a 256 tunnel-1.4.2.dmg
# compare against the value published on the project's own release page
# not against a value copied from the same mirror
Când un proiect publică sume de control semnate sau un manifest de versiune semnat, verificați semnătura pe listă, nu pe fiecare fișier separat. Astfel o singură referință de încredere acoperă întreaga versiune.
După instalare: Păstrați calea de actualizare
Un canal acceptat rămâne important după ce instalarea se termină. Build-urile reambalate pot avea propriul actualizator, iar acel actualizator decide ce rulează luna viitoare. Un build care nu se actualizează niciodată nu este mai sigur. Este pur și simplu mai vechi.
Notați cum ar trebui actualizat clientul și dacă un sistem de gestionare deține acel pas. Dacă răspunsul este o descărcare manuală de pe un forum, întrebarea despre lanțul de aprovizionare nu s-a închis niciodată cu adevărat.
Două origini, nu una
Dezvoltatorul clientului și emitentul profilului sunt părți separate. Un client oficial care importă un profil de la un operator nelegat este o aranjare normală, iar profilul merită propria examinare: cine l-a emis, cum a fost livrat și dacă certificatul serverului corespunde numelui pe care îl așteptați.
Păstrați ambele origini identificabile în notele dumneavoastră. În momentul în care un client este înlocuit sau un dispozitiv este restaurat dintr-o copie de siguranță, exact acele două rânduri împiedică un build necunoscut sau un profil necunoscut să revină împreună cu restul datelor.