Cara menamatkan perkhidmatan pelayan VPN tanpa meninggalkan akses
Bergerak keluar dari aplikasi klien: batalkan kunci dan akaun, tutup pendengar, kemudian buktikan tiada profil, rekod DNS atau sandaran yang masih boleh mencapainya.
Klien anda masih menyambung pada hari tiket penamatan dibuka. Satu profil duduk dalam aplikasi, ia berunding, dan terowong naik seolah-olah tiada apa yang berubah. Inilah saatnya bekerja ke arah bertentangan dengan cara anda membina perkhidmatan: mulakan dengan senarai klien, bergerak keluar ke pendengar, kemudian ke tembok api, dan akhiri dengan kelayakan yang hidup lebih lama daripada semuanya. Mematikan VM ialah langkah terakhir, bukan yang pertama. Panduan ini menganggap anda mempunyai akses konsol ke hos dan kuasa untuk menyunting rekod klien serta DNS.
Telusuri senarai klien dahulu
Buka apa sahaja yang mengedarkan profil anda dan baca senarai itu sebelum menyentuh pelayan. Setiap entri ialah peranti yang percaya ia mempunyai akses: telefon, komputer riba, penghala cawangan, kontena yang menyegerak setiap malam. Eksport senarai itu ke dalam tiket, kerana setelah hos tiada, tiada wg show yang akan memberitahu siapa yang pernah bersambung.
Susun setiap peranti sebagai titik akhir pengganti, tidak diperlukan lagi atau tidak diketahui. Bakul tidak diketahui ialah yang penting, kerana itulah profil yang akan ditemui seseorang dalam laci berbulan-bulan kemudian dan cuba. Hantar notis pada saluran yang sama yang anda gunakan untuk permintaan akses, dan letakkan tarikh di dalamnya untuk bila titik akhir lama berhenti menjawab.
Batalkan identiti, bukan hanya fail
Dua tindakan berbeza kedua-duanya dipanggil pembatalan. Pada WireGuard, rakan sebaya hanya dibenarkan oleh kunci awamnya yang muncul dalam bahagian rakan sebaya dengan entri AllowedIPs, jadi memadam fail konfigurasi dari komputer riba tidak mengubah apa-apa pada pelayan. Buang blok rakan sebaya dan gunakan semula fail itu tanpa menggugurkan rakan sebaya yang anda kekalkan, seperti yang diterangkan oleh wg(8):
wg show
wg set wg0 peer <CLIENT_PUBLIC_KEY> remove
wg syncconf wg0 <(wg-quick strip wg0)wg syncconf ialah bahagian yang menjimatkan tetingkap penyelenggaraan anda. Ia membina semula antara muka daripada fail di tempatnya, jadi membuang satu rakan sebaya tidak meruntuhkan terowong yang digunakan semua orang lain. Jika anda menamatkan seluruh hos dan bukan satu rakan sebaya, urutannya masih penting, kerana kunci itu mungkin dipercayai di tempat lain.
Dengan persediaan X.509, langkah pembatalan ialah sijil, bukan fail: openssl ca -revoke client.crt dan kemudian openssl ca -gencrl -out crl.pem. Itu hanya berkesan di tempat pengesah membacanya, yang bermaksud OpenVPN pelayan dengan crl-verify dikonfigurasikan dan dimuat semula selepas itu. Jika get laluan ini satu-satunya pengguna CA itu, CRL tidak lagi penting pada hari ia mati; jika CA yang sama menandatangani untuk get laluan kedua, sijil yang tidak pernah anda batalkan terus berfungsi di sana.
Akaun ialah kes ketiga dan yang paling kerap terlepas pandang. Apabila get laluan mengesahkan terhadap RADIUS, LDAP atau penyedia identiti yang dihoskan, akaun itu hidup di luar VPN. Nyahdayakan ia dalam direktori. Memadam stanza pengguna pada pelayan meninggalkan kelayakan sah yang akan diterima oleh titik akhir pengganti sebaik sahaja ia menunjuk ke direktori yang sama.
Tutup pendengar dan laluan ke sana
Hentikan perkhidmatan dengan cara yang bertahan selepas but semula, kemudian sahkan dengan senarai soket dan bukan status unit. systemctl disable --now wg-quick@wg0 menghentikan antara muka dan membuang laluan serta peraturan yang ditambah oleh wg-quick; systemctl disable --now openvpn-server@server melakukan perkara sama untuk contoh OpenVPN bertemplat. Ikuti kedua-duanya dengan ss -lunp dan ss -ltnp. Hasil kosong untuk port lama ialah satu-satunya bukti yang dikira.
Apa yang wg-quick tambah, wg-quick buang. Apa yang anda tambah secara manual kekal: peraturan NAT berterusan, kebenaran tembok api, pemajuan port penghala, peraturan masuk kumpulan keselamatan awan, pendengar pengimbang beban. Semua itu perlu dibuang secara jelas, dan begitu juga rekod DNS, iaitu A, AAAA dan mana-mana CNAME yang menunjuk ke nama itu. Nama yang menyelesaikan ke hos mati gagal secara berbeza daripada nama yang tidak menyelesaikan, dan perbezaan itu akan memakan satu petang seseorang.
Salinan yang anda lupa ialah klon. Snapshot atau VM yang dipulihkan daripada sandaran masih memegang kunci hos dan senarai rakan sebaya lama, dan jika sesuatu mengembalikannya ke alamat yang sama, klien menyambung semula ke perkhidmatan yang anda anggap sudah ditamatkan. Label set sandaran sebagai milik perkhidmatan yang dimatikan dan jauhkan ia daripada laluan pemulihan automatik.
Kejar apa yang masih menunjuk ke titik akhir lama
Profil yang dicache hidup lebih lama daripada DNS. Konfigurasi tersimpan dengan alamat berangka terus mendail selepas rekod itu hilang, dan klien yang sentiasa hidup mencuba semula pada setiap perubahan rangkaian. Itu bunyi bising dan bukan akses, kerana pendengar sudah ditutup, tetapi mengetahui yang mana satu anda lihat menentukan cara anda menjawab tiket itu.
Kemudian sapu kebergantungan yang tiada siapa failkan di bawah VPN: pemeriksaan masa hidup yang meraba port, kerja sandaran yang menarik konfigurasi daripada hos, kelayakan automasi yang digunakan untuk menolak entri rakan sebaya, akaun pemulihan yang dicipta khusus untuk titik akhir ini. Setiap satu ialah laluan akses dengan jangka hayat dan pemiliknya sendiri, jadi setiap satu mendapat keputusan dan bukan pemadaman senyap.
Sahkan, kemudian catat
Penamatan selesai apabila ujian dari luar gagal seperti yang anda jangkakan. Daripada rangkaian yang tidak anda kawal, sambung ke alamat dan port lama. Hasil yang ditapis atau ditolak ialah kes kejayaan. Dalam aplikasi klien, sahkan profil itu dibuang dan bukan hanya dimatikan, dan tiada profil pengurusan menambahnya semula secara senyap.
Kemudian catat apa yang anda lakukan: titik akhir, tarikh, kunci dan sijil yang dibatalkan, akaun yang dinyahdayakan, di mana sandaran disimpan. Sesiapa yang menemui konfigurasi lama seterusnya perlu menjawab sama ada ia dibatalkan atau hanya dipadam, tanpa meneka, dan jadual pendek dalam tiket melakukan itu.
Sebelum menutup tiket:
- profil klien dibuang atau diganti, peranti tidak diketahui diselesaikan
- rakan sebaya dibuang dan konfigurasi digunakan semula, atau sijil dibatalkan dan CRL diterbitkan
- akaun direktori dinyahdayakan, bukan hanya fail tempatan dipadam
- perkhidmatan dinyahdayakan, tiada pendengar tinggal pada port lama
- tembok api, pemajuan port, kumpulan keselamatan dan entri DNS dibuang
- sandaran dilabel, snapshot dikecualikan daripada laluan pemulihan
- kelayakan pemantauan dan automasi ditamatkan
Sahkan pengganti secara berasingan, daripada klien yang tidak pernah memegang profil lama. Ujian tunggal itu memberitahu anda sama ada anda menamatkan perkhidmatan atau hanya menukar nama masalah.