VPN installer mula sa mirror? I-verify muna ang publisher
Ang download channel ang nagtatakda kung anong code ang tatakbo at sino ang makakapag-update nito. I-verify muna ang pirma, pinagmulan ng checksum at issuer ng profile.
Gumana ang tunnel, lumabas ang interface at nanatiling stable ang session sa loob ng isang linggo. Wala sa mga iyon ang nagsasabi kung sino ang gumawa ng installer. Ang VPN client ay tumatakbo na may sapat na pribilehiyo upang muling isulat ang mga ruta at basahin ang mga kredensyal, kaya bahagi ng threat model ang publisher, hindi footnote.
Gawin ang mga pagsusuri nang sunud-sunod at huminto sa unang mabibigo. Mura ang mga ito, at bawat isa ay nagsasara ng ibang puwang.
Unang hakbang: Mag-download mula sa channel na pinangalanan ng proyekto
Dokumentado ng bawat proyekto kung saan naroon ang mga release nito, at ang pahinang iyon ang reference. Ang mga community build, listing sa store at vendor portal ay lahat lehitimong channel. Bawat isa ay lehitimo lamang kapag ang proyekto mismo ang tumuturo doon. Iyon ang pagsubok, at hindi ito katulad ng pagmukhang opisyal.
Ang file na pinangalanan sa proyekto ay walang pinapatunayan. Ang pagpapalit ng pangalan ng installer ay operasyong isang segundo, at ang pangalan ang unang ipinapakita ng resulta ng paghahanap.
Ikalawang hakbang: I-verify ang pirma laban sa kilalang pagkakakilanlan
Mahusay na sinasagot ng pag-verify ng pirma ang isang makitid na tanong. Sinasabi nito na pinirmahan ng isang partikular na pagkakakilanlan ang binary na ito at hindi nagbago ang binary mula noon. Sinasagot nito ang isang tanong at tinatanggihan ang isa. Hindi nito masasabi kung ang pagkakakilanlang iyon ang nilayon mong pagkatiwalaan.
# 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
Basahin ang pagkakakilanlan, hindi ang salita ng status. Ang walang kaugnayang developer na may valid na certificate ay gumagawa ng valid na pirma. Ang operating system na nag-uulat ng kinikilalang publisher ay sinabi lamang na may nagbayad para sa certificate.
Ikatlong hakbang: Ihambing ang hash sa malayang pinagmulan
Pinatutunayan ng checksum ang pagsang-ayon sa isang reference na halaga. Kung dumating ang reference sa tabi ng download, pareho silang maaaring mali nang sabay at pumapasa pa rin ang paghahambing. Iyon ang paraan ng pagkabigo sa karamihan ng tutorial. Ang hash ay nasa parehong pahina ng file na inilalarawan nito.
# 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
Kapag naglathala ang isang proyekto ng mga pinirmahang checksum o pinirmahang release manifest, i-verify ang pirma sa listahan sa halip na sa bawat file nang hiwalay. Sa ganoon, isang pinagkakatiwalaang reference ang sumasaklaw sa buong release.
Pagkatapos ng pag-install: Panatilihin ang update path
Mahalaga pa rin ang sinusuportahang channel pagkatapos ng pag-install. Ang mga repackaged build ay maaaring magdala ng sariling updater, at ang updater na iyon ang nagtatakda kung ano ang tatakbo sa susunod na buwan. Ang build na hindi kailanman nag-a-update ay hindi mas ligtas. Mas luma lang ito.
Itala kung paano dapat mag-update ang client at kung pagmamay-ari ng management system ang hakbang na iyon. Kung ang sagot ay manu-manong download mula sa forum, hindi kailanman tunay na nagsara ang tanong ng supply chain.
Dalawang pinagmulan, hindi isa
Ang developer ng client at ang issuer ng profile ay magkahiwalay na partido. Ang opisyal na client na nag-aangkat ng profile mula sa walang kaugnayang operator ay normal na kaayusan, at ang profile ay karapat-dapat sa sariling pagsusuri: sino ang naglabas, paano ito naihatid at kung tumutugma ang certificate ng server sa pangalang inaasahan mo.
Panatilihing makikilala ang dalawang pinagmulan sa iyong mga tala. Sa sandaling palitan ang isang client o maibalik ang isang device mula sa backup, ang dalawang linyang iyon ang pumipigil sa hindi kilalang build o hindi kilalang profile na bumalik kasama ng natitirang data.