Installer VPN dari mirror? Verifikasi penerbitnya dulu
Kanal unduhan menentukan kode mana yang berjalan dan siapa yang dapat memperbaruinya. Periksa dulu tanda tangan, sumber checksum, dan penerbit profil.
Tunnel berfungsi, antarmuka muncul, dan sesi tetap stabil selama seminggu. Tidak satu pun dari itu memberi tahu Anda siapa yang membangun installer. Klien VPN berjalan dengan hak istimewa yang cukup untuk menulis ulang rute dan membaca kredensial, jadi penerbit adalah bagian dari model ancaman, bukan catatan kaki.
Lakukan pemeriksaan secara berurutan dan berhenti pada yang pertama gagal. Semuanya murah, dan masing-masing menutup celah yang berbeda.
Langkah pertama: Unduh dari kanal yang disebutkan proyek
Setiap proyek mendokumentasikan tempat rilisnya berada, dan halaman itu adalah rujukannya. Build komunitas, daftar toko, dan portal vendor semuanya kanal yang sah. Masing-masing sah hanya ketika proyek itu sendiri menunjuk ke sana. Itulah ujiannya, dan itu tidak sama dengan terlihat resmi.
File yang dinamai menurut proyek tidak membuktikan apa pun. Mengganti nama installer adalah operasi satu detik, dan nama itulah yang pertama ditampilkan hasil pencarian.
Langkah kedua: Verifikasi tanda tangan terhadap identitas yang dikenal
Verifikasi tanda tangan menjawab pertanyaan sempit dengan baik. Ia memberi tahu Anda bahwa identitas tertentu menandatangani biner ini dan bahwa biner tersebut tidak berubah sejak saat itu. Ia menjawab satu pertanyaan dan menolak pertanyaan lain. Ia tidak dapat memberi tahu Anda apakah identitas itu adalah yang ingin Anda percayai.
# 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
Bacalah identitasnya, bukan kata statusnya. Pengembang tak terkait dengan sertifikat yang valid menghasilkan tanda tangan yang valid. Sistem operasi yang melaporkan penerbit yang dikenali hanya memberi tahu Anda bahwa seseorang membayar sertifikat.
Langkah ketiga: Bandingkan hash dengan sumber independen
Checksum membuktikan kesesuaian dengan nilai rujukan. Jika rujukan itu datang bersama unduhan, keduanya bisa sama-sama salah dan perbandingannya tetap lolos. Itulah pola kegagalan di sebagian besar tutorial. Hash berada di halaman yang sama dengan file yang dijelaskannya.
# 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
Ketika sebuah proyek menerbitkan checksum bertanda tangan atau manifes rilis bertanda tangan, verifikasi tanda tangan pada daftar, bukan pada setiap file secara terpisah. Dengan begitu satu rujukan tepercaya mencakup seluruh rilis.
Setelah instalasi: Pertahankan jalur pembaruan
Kanal yang didukung tetap penting setelah instalasi selesai. Build yang dikemas ulang dapat membawa pembaru sendiri, dan pembaru itulah yang menentukan apa yang berjalan bulan depan. Build yang tidak pernah diperbarui bukan lebih aman. Ia hanya lebih tua.
Catat bagaimana klien seharusnya diperbarui dan apakah sistem manajemen memiliki langkah itu. Jika jawabannya adalah unduhan manual dari forum, pertanyaan rantai pasokan tidak pernah benar-benar tertutup.
Dua asal, bukan satu
Pengembang klien dan penerbit profil adalah pihak yang terpisah. Klien resmi yang mengimpor profil dari operator tak terkait adalah pengaturan yang normal, dan profil itu layak mendapat pemeriksaan sendiri: siapa yang menerbitkannya, bagaimana pengirimannya, dan apakah sertifikat server cocok dengan nama yang Anda harapkan.
Jaga kedua asal tetap dapat dikenali dalam catatan Anda. Saat klien diganti atau perangkat dipulihkan dari cadangan, dua baris itulah yang mencegah build tak dikenal atau profil tak dikenal kembali bersama data lainnya.