Aktifkan auth-nocache dan peringatan penyimpanan sandi di cache hilang, bersama salinan kredensial yang dipegang OpenVPN untuk negosiasi ulang berikutnya. Apakah itu menjadi prompt, percobaan ulang senyap, atau terowongan yang putus bergantung pada dari mana kredensial berasal pada kali kedua. Karena itu ini perbandingan antar bentuk penerapan, bukan putusan tentang opsi. Baca bentuk yang benar-benar Anda jalankan sebelum menyunting profil apa pun.

Dari mana kredensial kedua harus datang

OpenVPN menerapkan auth-nocache pada rahasia yang dikumpulkan auth-user-pass dan askpass: setelah dipakai, proses membuangnya alih-alih menyimpannya untuk jabat tangan berikutnya. Negosiasi ulang datang lewat pengatur waktu, secara bawaan sekali sejam, jadi permintaan kedua tiba jauh setelah orang yang mengetik sandi sudah pergi. Celah itulah seluruh ceritanya. Dengan cache dibiarkan aktif, klien memutar ulang salinan tersimpan tanpa bertanya kepada siapa pun; dengan cache dimatikan, ia harus menemukan rahasia di tempat lain atau gagal.

Jadi daftar setiap tempat rahasia bisa datang saat itu, dan jujurlah tentang mana yang ada di host. Seseorang di terminal, file yang bisa dibaca auth-user-pass atau askpass, atau token sesi yang diterbitkan server adalah tiga yang penting di sini. Jika tidak ada yang tersedia, negosiasi ulang gagal satu jam setelah perubahan, bukan pada saat Anda melakukannya.

Tiga bentuk, tiga titik kegagalan

Klien desktop dengan orang di depannya adalah kasus ringan: prompt kembali, seseorang mengetik sandi lagi, dan biayanya adalah perhatian. Layanan, kontainer, atau router yang menjalankan OpenVPN tanpa terminal adalah kasus keras, karena tidak ada yang menjawab dan sambungan ulang yang dulu senyap kini mengakhiri terowongan. Hibrida berada di antara keduanya dan berperilaku seperti kasus desktop sampai sesi yang bisa menjawab prompt itu hilang. Yang memisahkan mereka bukan ada tidaknya GUI, melainkan ada tidaknya sumber kredensial pada saat negosiasi ulang.

Petakan penerapan Anda ke salah satu dari tiga itu sebelum mengubah apa pun, karena saran yang Anda temukan daring hampir selalu ditulis untuk yang pertama. Menerapkan jawaban desktop ke layanan tanpa terminal adalah cara terowongan yang berfungsi berbulan-bulan mulai putus setiap jam.

Direktif atau flag: pilih satu dan ketahui mana yang Anda pakai

Di dalam profil, auth-nocache adalah baris tersendiri; pada pemanggilan yang menyebut profil secara eksplisit, itu flag pada baris perintah tersebut, dan manual OpenVPN mencantumkan kedua bentuk. Keduanya melakukan hal yang sama pada penyimpanan kredensial, dan tidak satu pun menyentuh jenis antarmuka atau memperbaiki peringatan tak terkait di log yang sama. Bedanya adalah ketahanan: flag hanya mencakup jalannya itu, jadi layanan yang dimulai ulang dari berkas unit atau skrip pembungkus tidak akan memilikinya kecuali pembungkus juga meneruskannya.

auth-nocache
openvpn --config /path/client.ovpn --auth-nocache

Putuskan artefak mana yang memiliki pengaturan itu, ubah di sana dan bukan di tempat lain. Profil yang disunting di laptop plus unit systemd yang menimpanya dengan flag adalah pasangan yang menghasilkan perilaku bertentangan setelah reboot.

File kredensial memindahkan rahasia, bukan menghapusnya

Mengarahkan auth-user-pass ke sebuah file memberi setiap negosiasi ulang berikutnya sebuah sumber, dan juga menaruh sandi di tempat yang bertahan melewati reboot. Tanyakan siapa yang bisa membaca file itu, apakah daemon masih bisa membacanya setelah melepas hak istimewa, dan apa yang terjadi bila sistem berkas dipasang hanya-baca atau tampilan kontainer menyembunyikan jalurnya. Rahasia di disk dan rahasia di memori adalah masalah berbeda, dan menyelesaikan yang satu meninggalkan yang lain di tempatnya. Rotasi adalah langkah yang dilewati: sandi yang diubah di server tetapi tidak di file menghasilkan kegagalan yang terbaca seperti gangguan jaringan.

Simpan file milik akun yang menjalankan daemon, tidak dapat dibaca orang lain, dan di luar cadangan yang meninggalkan host. Opsi auth-gen-token sisi server OpenVPN memberi klien token sesi setelah login berhasil, yang merupakan hal lebih kecil untuk dibiarkan tergeletak daripada sandi akun. Tulis langkah rotasi di samping file bagaimanapun, karena file biasanya hidup lebih lama daripada orang yang membuatnya.

Memperpanjang negosiasi ulang memindahkan biaya, bukan menghilangkannya

Saran lain adalah menaikkan reneg-sec sampai prompt cukup jarang untuk diabaikan. Itu menulis ulang jadwal rotasi kunci sesi dan mendorong masalah kredensial yang sama ke momen yang lebih lambat dan kurang dapat diprediksi; itu tidak menciptakan sumber kredensial. Kebijakan yang memperbarui kunci sesuai jadwal karena suatu alasan tidak boleh dilonggarkan hanya untuk menghindari mengetik sandi.

Uji sambungan ulang, bukan sesi yang sedang Anda tempati, karena sesi hidup tidak membuktikan apa pun. Jatuhkan terowongan dari sisi server, atau mulai ulang layanan klien, dan amati apa yang dilakukan negosiasi ulang berikutnya tanpa siapa pun di papan ketik. Jika ia tersambung kembali, sebutkan mekanisme yang memasok rahasia itu; jika tidak, Anda telah menemukan biaya nyata opsi ini di host ini. Hasil mana pun memberi Anda jawaban yang bertahan saat gangguan alih-alih yang bertahan saat pengujian.

Di armada terkelola, pemilik penerapan seharusnya bisa menyebut tiga hal: dari mana kredensial datang, di mana disimpan, dan siapa yang merotasinya. Jika salah satu jawaban itu adalah orang yang menyiapkan host, opsi ini belum aman di sana.

Artikel terkait