Kebanyakan orang membaca fail .ovpn seperti membaca halaman tetapan penghala: alamat, laluan, senarai sifer. Bahagian yang melaksanakan kod terletak dekat bahagian bawah, di sebelah direktif yang kelihatan seperti kerja paip, dan ia berjalan dengan apa jua keistimewaan yang sudah dimiliki klien. Itulah jurang yang dieksploitasi oleh profil cuai atau berniat jahat, dan itulah juga jurang yang menukar pembantu DNS yang berguna menjadi masalah sokongan tiga minggu kemudian. Direktif peristiwa, tahap keselamatan dan pemilikan fail menentukan apa yang boleh berlaku; kandungan skrip menentukan apa yang sebenarnya berlaku. Baca keempat-empatnya sebelum anda menyambung.

Profil yang menjalankan pembantu ialah program, bukan fail tetapan

Direktif seperti route dan dhcp-option menerangkan keadaan yang klien patut wujudkan, dan klien menganggapnya sebagai data. Skrip up berbeza: klien melancarkannya sebagai proses dan memberinya persekitaran penuh butiran sambungan, jadi apa sahaja yang ditulis penulisnya berjalan dengan hak akaun anda. Pada komputer riba yang penggunanya pentadbir, itu pintu lebar untuk fail yang tiba sebagai lampiran atau tampalan daripada urutan forum. Perbezaannya bukan gaya, ia perbezaan antara konfigurasi dan kod.

Mitos yang wajar ditinggalkan ialah bahawa profil hanya boleh mengubah laluan trafik. Pembantu yang menjalankan ip route add dan yang menjalankan curl terhadap hos jauh ialah mekanisme yang sama, dan profil kelihatan serupa dari luar. Tiada apa pun pada rupa fail yang memberitahu anda yang mana ada padanya, sebab itu semakan mesti sampai kepada skrip itu sendiri.

Apa yang sebenarnya menentukan pelaksanaan, dan bagaimana rupa baris yang membolehkannya

Tiga perkara mengawal pembantu: direktif peristiwa yang menamakannya, tahap script-security yang membenarkannya, dan pelaksanaan platform klien itu sendiri. Profil boleh meminta cangkuk dan masih tidak melihat apa-apa berlaku, kerana klien mudah alih atau binaan desktop yang dipangkas mungkin tidak melaksanakan peristiwa itu langsung. Begitu juga, profil yang meminta lebih banyak kebenaran daripada yang diperlukan oleh fungsinya memberitahu anda sesuatu tentang asalnya. Tahap kebenaran ialah keupayaan, bukan kelulusan. Baris yang membolehkannya kelihatan begini, dengan laluan yang menggantikan laluan anda.

script-security 2
up /etc/openvpn/update-resolv-conf.sh
down /etc/openvpn/update-resolv-conf.sh

Tahap 0 menolak program luar dan tahap 1, iaitu lalai, hanya membenarkan fail boleh laku terbina dalam klien, jadi cangkuk memerlukan 2 atau lebih tinggi; tahap 3 wujud terutamanya untuk menyalurkan kata laluan lama dan lebih baik dielakkan. Profil yang dibekalkan dengan cangkuk memerlukan kedua-dua direktif dan tahap itu, sebab itu satu baris dekat bahagian bawah fail wajar diteliti sama seperti blok sijil. Manual OpenVPN menyenaraikan tahap kebenaran, dan kata-katanya wajar dibaca di samping apa yang sebenarnya diminta oleh profil.

Pemilikan, laluan dan apa yang diberi makan kepada pembantu

Profil yang anda percayai tetapi menunjuk kepada skrip yang boleh ditulis semula oleh akaun lain bukan aturan yang boleh dipercayai, kerana semakan semalam tidak lagi menerangkan apa yang berjalan hari ini. Periksa pemilik dan mod pembantu, dan periksa bahawa laluan yang dikonfigurasikan menuju ke fail yang anda periksa dan bukan ke nama yang boleh dilindungi oleh sesuatu yang lain. Argumen dan persekitaran wajar mendapat pandangan yang sama: klien menyerahkan butiran sambungan kepada cangkuk, dan pembantu yang merekodkan seluruh persekitarannya mungkin menulis kelayakan ke dalam tiket sokongan. Utamakan integrasi berdokumen daripada pengendali atau platform berbanding skrip DNS yang disalin daripada catatan tidak berkaitan, kerana dua pengurus penyelesai yang bergaduh atas fail yang sama menghasilkan kegagalan yang kelihatan seperti VPN rosak.

Apabila anda melaporkan cangkuk yang gagal, sunting persekitaran sebelum menampalnya di mana-mana. Longgokan yang membantu anda menyahpepijat juga boleh membawa token yang mengesahkan anda.

Kegagalan pembersihan muncul selepas terowong hilang

Pembantu up menambah laluan dan tetapan penyelesai, dan pembantu down sepatutnya mengeluarkannya semula. Apabila cangkuk down tiada, gagal secara senyap atau tidak pernah berjalan kerana klien dibunuh, sisanya hidup lebih lama daripada sesi. Trafik kemudian mengambil laluan yang tiada siapa merancang dan nama diselesaikan melalui penyelesai yang sepatutnya telah dibuang, sementara terowong itu sendiri kelihatan sihat. Gejala itu datang selepas pemutusan, sebab itu rangkaian yang dipersalahkan, bukan profil.

Uji pembongkaran sebagai langkah tersendiri: naikkan terowong, catat laluan dan penyelesai, turunkannya, kemudian sahkan kedua-duanya telah hilang. Profil yang bersambung dengan bersih masih boleh meninggalkan keadaan, dan kod keluar sifar daripada pembantu tidak membuktikan penyelesai berakhir di tempat yang anda fikirkan.

Menyemak pembantu dan menyimpan jalan keluar

Baca skrip dari awal hingga akhir mencari tiga perkara: arahan yang memerlukan keistimewaan, laluan berkod keras yang mungkin tiada pada sistem anda, dan setiap panggilan rangkaian yang dilakukannya. Kemudian lihat bagaimana ia gagal, kerana pembantu yang menelan ralat menjadikan kesilapan konfigurasi sebagai misteri. Jika anda tidak dapat menyatakan dalam satu ayat apa yang dilakukan skrip dan siapa yang boleh mengubahnya, anda belum bersedia untuk mengaktifkannya. Profil yang meminta lebih keistimewaan daripada yang diperlukan ayat itu ialah isyarat untuk berhenti.

Simpan profil terakhir yang berfungsi dan pembantu yang dirujuknya dalam storan terlindung, dengan kedua-dua versi dicatat, supaya pemulihan menjadi salinan dan bukan pembinaan semula pada saat paling buruk. Jika pembantu hanya wujud untuk edaran atau versi klien yang tidak lagi memerlukannya, persarakan ia dalam konfigurasi yang memiliki tetapan itu daripada menaikkan keistimewaan sehingga ralat berhenti. Itulah jalan keluarnya: lebih sedikit bahagian bergerak, bukan lebih banyak kebenaran.

Artikel berkaitan