Sumber APT VPN: apa yang diberikannya dan cara mengehadkannya
Sumber APT VPN ialah kebenaran kekal, bukan muat turun. Hadkan kunci pada sumber itu, baca transaksi, dan tulis langkah pembuangan sebelum menambahnya.
Memuat turun klien VPN ialah keputusan sekali sahaja; menambah repositori APT-nya bukan. Yang kedua memberitahu pengurus pakej dari mana perisian masa depan boleh datang, dan itu ialah pemindahan kuasa yang kekal, bukan muat turun. Itu boleh menjadi susunan yang betul apabila vendor menyelenggara repositori dengan betul. Namun begitu ia wajar mendapat keputusan yang sedar, dan kebanyakan panduan pemasangan melangkaunya.
Tandatangan mengesahkan arkib, bukan kodnya
APT mengesahkan metadata repositori yang ditandatangani dan kemudian mempercayai checksum di dalam metadata itu untuk pakej yang diambilnya. Apa yang dibuktikan ialah arkib itu sepadan dengan apa yang diterbitkan pemegang kunci, dan tiada apa tentang kod di dalamnya. Pakej yang ditandatangani dengan betul masih boleh membawa skrip penyelenggara yang tidak selamat, dan skrip itu berjalan sebagai root semasa pakej dipasang. Manual apt-secure menarik garis tepat ini antara pengesahan arkib dan semakan perisian.
Jadi soalan yang berguna bukanlah sama ada tandatangan itu sah, kerana tandatangan yang rosak tetap menghentikan pemasangan. Soalannya ialah tandatangan siapa yang anda pilih untuk dipercayai mulai sekarang. Kunci tandatangan yang dicuri lebih buruk daripada pakej yang dicuri, kerana penyerang terus menghasilkan metadata yang sah lama selepas keluaran buruk pertama. Putaran ialah satu-satunya pembaikan, dan ia bergantung pada vendor menerbitkan kunci baharu melalui saluran yang anda boleh sahkan secara bebas.
Itulah sebabnya identiti kunci wajar diberi perhatian sebanyak URL repositori. Kunci yang diambil daripada alamat dalam jawapan forum lama tidak membuktikan apa-apa tentang penerbit, manakala HTTPS melindungi pengangkutan sehingga kepada sesiapa yang menjawab telefon. Keselamatan pengangkutan dan identiti penerbit ialah soalan berasingan, dan hanya yang pertama diselesaikan oleh sijil.
Hadkan kunci pada sumber, bukan pada sistem
APT moden menerima rujukan Signed-By khusus sumber. Kunci yang diuruskan oleh pengendali boleh berada di bawah /etc/apt/keyrings/, dan entri sumber menamakan kunci yang boleh mengesahkan arkib itu. Itu lebih sempit daripada membuang kunci yang sama ke dalam set dipercayai global, di mana ia boleh menjamin sumber yang tidak pernah anda mahu benarkan. Ikut versi APT yang dipasang dan arahan semasa vendor dan bukannya mencampur serpihan daripada generasi panduan yang berbeza.
curl -fsSL https://repo.example.com/vpn-key.gpg -o /etc/apt/keyrings/vpn.gpg
echo "deb [signed-by=/etc/apt/keyrings/vpn.gpg] https://repo.example.com/debian stable main" > /etc/apt/sources.list.d/vpn.listJangan sekali-kali membaiki kegagalan tandatangan dengan mematikan pengesahan atau menandakan arkib tidak dikenali sebagai dipercayai. Itu menukar ralat yang kelihatan dengan yang tidak kelihatan, dan yang tidak kelihatan kekal sehingga seseorang mengaudit senarai sumber. Jika kunci tidak sepadan, pembetulan yang betul ialah mencari kunci yang betul, bukan membuang semakan.
Dapatkan butiran repositori dan identiti kunci daripada projek atau pentadbir terurus. Kunci yang disalin daripada catatan blog ialah dakwaan tentang kepengarangan, bukan buktinya. Apabila vendor menerbitkan saluran putaran, catatkannya bersama kunci, kerana saluran itulah yang memungkinkan putaran seterusnya.
Penyematan sumber bukan senarai putih pakej
Menghadkan kunci pada satu sumber mengehadkan arkib mana yang boleh disahkannya, bukan pakej mana yang boleh diterbitkan arkib itu. Repositori boleh menghantar jauh lebih banyak daripada klien VPN yang anda mahukan, dan pemilihan calon serta keutamaan APT menentukan versi layak mana yang menang. Semak transaksi yang dicadangkan sebelum mengesahkannya, termasuk senarai kebergantungan, kerana kebergantungan datang dari arkib yang sama. Skop kunci tidak boleh menyatakan ’hanya pakej ini’.
Jika anda memerlukan kawalan yang lebih kuat, nyatakannya sebagai dasar atas nama atau versi pakej dan kekalkan dasar itu di bawah pengurusan konfigurasi. Membaca transaksi mengambil masa seminit; menemui pakej tidak dijangka enam bulan kemudian mengambil masa satu semakan.
Pakej tidak dijangka ialah saat untuk berhenti dan bukan meneruskan, dan soalan kepada pemilik arkib ialah mengapa ia diperlukan. Repositori yang menerbitkan selusin pakej sekitar satu klien adalah normal bagi vendor yang menghantar suite desktop. Ia juga permukaan yang lebih luas daripada yang disiratkan panduan pemasangan, dan bahagian itulah yang wajar dicatat. Tiada satu pun daripada dua hasil itu menjadi sebab untuk tidak mempercayai tandatangan; kedua-duanya sebab untuk menulis apa yang anda terima.
Catat kuasa itu dan cara membuangnya
Tulis pemilik arkib, keluaran sistem pengendalian yang disokong, saluran putaran kunci dan prosedur pembuangan. Empat fakta itu ialah apa yang diperlukan oleh pengganti apabila klien bersara atau vendor memutar kuncinya. Tanpanya, orang seterusnya mewarisi baris sumber dan fail kunci tanpa sebarang kisah.
Pembuangan ialah langkah yang dilangkau, jadi tulisnya semasa pemasangan. Padam entri sumber dan kunci khususnya bersama-sama, dan semak sama ada kunci itu dirujuk di tempat lain sebelum memadam fail. Kunci kongsi yang dipadam tanpa semakan itu mengubah pembersihan menjadi gangguan tidak berkaitan, yang merupakan hasil terburuk untuk perubahan rutin. Kemudian sahkan bahawa kemas kini biasa masih diselesaikan selepas entri itu hilang.
Satu perkara kekal selepas repositori dibuang: mana-mana pakej yang sudah dipasang daripadanya terus berjalan sehingga sesuatu menggantikannya. Soalan jujurnya ialah kuasa apa yang anda tambah, dan betapa sempitnya peranannya dinyatakan.