Butang muat turun portal VPN mengembalikan tepat satu fail, dan fail itu boleh jadi dua perkara yang sangat berbeza: pemasang sedia vendor dengan profil konfigurasi yang bergerak di sisinya, atau binaan yang organisasi susun sendiri. Halaman kelihatan sama dalam kedua-dua kes, jadi butang tidak boleh memberitahu anda yang mana satu anda ada. Di belakangnya ada tiga soalan — siapa menerbitkan fail boleh laku, konfigurasi apa yang ditulis oleh pemasangan, dan siapa yang membaikinya apabila keluaran klien seterusnya tiba. Anda menjawab yang pertama daripada metadata artifak, yang kedua daripada kandungan pakej, dan yang ketiga hanya daripada pasukan yang memiliki penggunaan.

Kunci penyemak imbas meliputi pemindahan, bukan artifak.

Apa yang sebenarnya dikembalikan oleh titik akhir muat turun

Kebanyakan portal menyerahkan permintaan muat turun kepada pengendali kecil yang sama ada menstrim fail tersimpan atau menyusun fail serta-merta, kemudian menetapkan nama fail dan jenis kandungan sebelum respons pergi. Apa yang tiba ialah bekas: MSI, PKG, DEB atau RPM, atau pembalut yang mengekstrak sendiri di sekeliling salah satu daripadanya. Di dalamnya terletak binari klien, dan tiada apa dalam nama fail yang boleh dipercayai mengatakan sama ada binari itu datang dari vendor atau dari saluran binaan dalaman. Fail bernama client-setup.exe merekod keputusan penamaan, bukan fakta asal usul.

Bandingkan bait yang dimuat turun dengan checksum yang diterbitkan vendor. Ketidakpadanan tidak membuktikan niat jahat; ia membuktikan fail itu bukan binaan vendor, dan itulah perbezaan yang wajar ditindaklanjuti.

Di mana profil masuk ke dalam klien

Tetapan yang telah diisi biasanya bergerak sebagai fail berasingan yang disalin pemasang ke laluan setiap pengguna atau setiap mesin: profil JSON atau XML di Windows, profil konfigurasi di macOS, serpihan di bawah /etc di Linux. Nilai dalam fail itu — nama hos gateway, sauh kepercayaan, kadangkala bahan pendaftaran — menjadi lalai klien pada pelancaran pertama. Itulah sebabnya satu muat turun boleh membawa rahsia serta kod.

Tanya apa yang laluan naik taraf lakukan dengan profil. Bergantung pada pembungkusan, ia mungkin bertahan daripada kemas kini klien, ditimpa olehnya, atau gagal pengesahan skema dalam versi baharu.

Apa yang tidak dibuktikan oleh rantai tandatangan

Penandatanganan kod mengikat identiti penerbit kepada hash fail, dan di Windows cap masa Authenticode membolehkan tandatangan hidup lebih lama daripada sijil yang menciptanya. Hasil yang sah menjawab dua soalan: penerbit mana yang menandatangani bait ini, dan sama ada ia berubah selepas itu. Ia tidak menyenaraikan perkhidmatan pemasang, tulisan registri atau pemacu yang dibundel, dan ia tidak memutuskan sama ada penerbit itu harus dipercayai di sini. Dokumentasi Authenticode Microsoft menerangkan mekanisme dan jelas tentang skop sempit itu.

Pengesahan portal menjawab soalan ketiga: bahawa sesi sampai ke pelayan yang dimaksudkan. Tiga pemeriksaan berbeza, tiga mod kegagalan berbeza.

Sahkan artifak sebelum sesiapa menjalankannya

Letakkan fail pada mesin terasing dan baca metadatanya sebelum melaksanakan apa-apa. Perintah ini menjawab soalan penerbit pada tiga platform utama.

# 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

Baca subjek penandatangan dan bukan hanya perkataan status. Pihak berkuasa sijil dalaman yang menandatangani binaan dalaman adalah dijangka; sijil yang sama pada pakej yang mendakwa sebagai keluaran vendor tidak.

Untuk pakej profil sahaja, buka arkib dan layan setiap nama hos dan kunci terbenam sebagai data yang mesti dipertanggungjawabkan. Jika profil mengandungi apa-apa yang boleh diguna semula, pengedaran portal menjadikannya rahsia kongsi dengan jadual pelancaran.

Menetapkan pemilikan sebelum pelancaran

Soalan terakhir tiada perintah di belakangnya. Ketahui siapa mengemas kini artifak apabila vendor menghantar klien baharu, siapa memegang kunci tandatangan untuk binaan dalaman, dan bagaimana profil diputar apabila titik akhir bergerak. Tulis nama itu di sebelah pautan muat turun.

Jika tiada siapa memiliki jawapan itu, muat turun ialah saluran pengedaran tanpa kontrak penyelenggaraan, dan itulah penemuan yang wajar dilaporkan.

Artikel berkaitan