Menghentikan PPTP/MS-CHAPv2: runbook untuk VPN warisan
Kata sandi yang lebih panjang tidak meningkatkan PPTP dengan MS-CHAPv2. Jalankan langkah inventaris, migrasi, verifikasi, dan pembersihan kredensial secara berurutan.
Kata sandi dua puluh karakter, yang dirotasi setiap bulan dan disimpan di brankas, tidak mengubah server PPTP yang menjalankan MS-CHAPv2 menjadi VPN modern. Kata sandi adalah masukan bagi pertukaran yang kelemahannya berada di dalam pertukaran itu sendiri. Runbook ini untuk siapa pun yang mewarisi server tersebut dan harus memindahkan pengguna darinya tanpa memutus situs yang bergantung padanya. Jalankan langkah-langkahnya secara berurutan, karena masing-masing meninggalkan catatan yang akan Anda butuhkan ketika seseorang bertanya mengapa akses tiba-tiba berubah.
Tuliskan tumpukan sebelum menyentuh apa pun
Tiga lapisan dileburkan ke dalam kata PPTP, dan masing-masing gagal dengan caranya sendiri. Terowongannya adalah PPTP itu sendiri, GRE plus TCP 1723. Autentikasinya adalah metode PPP yang ditawarkan server, di sini MS-CHAPv2. Perlindungan tautannya adalah MPPE, yang kuncinya diturunkan dari pertukaran autentikasi tersebut. Menyebut ketiganya mencegah perbaikan berikutnya mendarat di lapisan yang salah.
Baca konfigurasi yang hidup alih-alih mempercayai halaman wiki, dan catat berkas, pendengar, serta sesi terakhir yang berhasil diautentikasi.
grep -RniE 'mschap|mppe|require-mppe' /etc/ppp/options.pptpd /etc/pptpd.conf
ss -lntp 'sport = :1723'
journalctl -u pptpd -n 40 --no-pager
Pada peran akses jarak jauh Windows, inventaris yang sama datang dari dua perintah, dan yang kedua penting karena sebuah peran dapat mengiklankan beberapa metode sekaligus sementara klien di lapangan selalu hanya menegosiasikan yang terlemah.
Get-VpnAuthProtocol
netstat -ano | findstr :1723
Putuskan apa yang benar-benar dibawa terowongan hari ini
Daftar konsumen sebelum memilih pengganti: laptop keliling, router cabang, terminal pembayaran, sekumpulan tablet lapangan. Konsumen yang hanya perlu menjangkau satu host internal mudah dipindahkan. Konsumen yang tertanam dalam perangkat keras yang tidak dapat Anda flash ulang mungkin memerlukan gerbang perantara alih-alih peningkatan klien, dan keputusan itu masuk ke dalam rencana, bukan ke tengah peralihan.
Lalu tanyakan apa yang akan didapat penyerang yang dapat mengamati atau memengaruhi pertukaran login. Dengan MS-CHAPv2 jawabannya mencakup materi yang memungkinkan pemulihan kata sandi pengguna secara luring, dan justru karena itu panjang serta rotasi tidak memperbaiki desain: rahasia yang dipulihkan berlaku pada setiap sistem tempat pengguna menggunakannya kembali.
MPPE mewarisi kelemahan yang sama, karena kuncinya berasal dari pertukaran itu, dan ia tidak memberi Anda integritas per paket maupun perilaku pemutaran ulang seperti sandi AEAD modern. Sesi yang terautentikasi dengan bersih hanya membuktikan kecocokan dengan pemeriksaan yang dikonfigurasi dan tidak lebih.
Baik jeda makan siang yang singkat maupun jumlah pengguna yang kecil tidak mengubah sifat kriptografis menjadi sifat kebijakan.
Jalankan migrasi dalam satu jendela pemeliharaan
Dirikan pengganti, buktikan dengan satu kelompok percontohan, lalu hentikan pendengar lama alih-alih membiarkannya sebagai cadangan yang senyap. Cadangan yang masih dapat dijangkau siapa pun bukan migrasi, dan ia menjaga pertukaran lemah tetap tersedia justru bagi pengguna yang tidak pernah bersusah payah beralih.
sudo systemctl disable --now pptpd
sudo ss -lntp | grep -E ':(1723|1194|51820)\b'
sudo nft list ruleset | grep -i gre
Tutup jalur firewall pada jendela yang sama. GRE tidak punya port yang perlu diingat, sehingga aturan yang mengizinkan protokol 47 berdasarkan nomor mudah terlewat dan membuat layanan tetap terjangkau bahkan setelah daemonnya hilang. Catat aturan yang Anda hapus, posisi sebelumnya, dan alasannya, agar tinjauan perubahan berikutnya tidak memulihkannya secara tidak sengaja.
Tangani kredensial secara terpisah dari konfigurasi. Menghapus profil klien bukan pencabutan, dan akun yang masih terautentikasi di tempat lain belum dipensiunkan.
Verifikasi bahwa pengganti mengerjakan tugas yang dulu dikerjakan PPTP
Daftar periksa bukan “apakah terhubung”. Melainkan apakah autentikasi, penetapan alamat, resolusi DNS, pemilihan rute, perilaku sambung ulang, dan verifikasi mitra semuanya masih bertahan di bawah pengganti. Uji masing-masing pada perangkat percontohan, dalam urutan itu, dan tuliskan hasil yang diamati di samping harapan.
ip -4 addr show tun0
ip route get 198.51.100.23
resolvectl query intranet.example.net
Alamat pada antarmuka membuktikan negosiasi selesai. Itu tidak membuktikan sisi jauh mengizinkan rute yang Anda harapkan, dan kueri di atas hanya menjawab untuk host ini, bukan untuk LAN yang diteruskan. Jawaban resolver membuktikan keterjangkauan resolver, bukan bahwa kebijakan DNS terpisah mengirim nama yang tepat ke sana.
Uji sambung ulang paling akhir, karena di situlah sebagian besar pengganti mengalami kemunduran: tidurkan laptop, ganti jaringan, dan pastikan terowongan terbentuk kembali tanpa meninggalkan rute usang.
Pengembalian, pencabutan, dan catatan yang Anda tinggalkan
Pengembalian memulihkan layanan; ia tidak memulihkan keamanan, dan perbedaan itu perlu dikatakan lantang sebelum jendela dibuka. Jika jalur baru gagal, bawa pengguna kembali melalui titik akhir modern kedua atau gerbang sementara, bukan dengan mengaktifkan PPTP lagi untuk semua orang. Menyimpan satu jalur darurat pada protokol lama memperlebar paparan yang baru saja Anda dokumentasikan.
Setelah peralihan, cabut akun yang terautentikasi melalui PPTP, biarkan profil tersimpannya kedaluwarsa, dan pastikan aturan GRE hilang dari setiap perangkat tepi, termasuk salinan pemulihan bencana yang tidak diingat siapa pun.
Tinggalkan catatan singkat: protokol yang Anda temukan, tanggal setiap pendengar berhenti, versi klien yang didukung pengganti, dan pemilik yang dapat membuka kembali keputusan itu. Higiene kata sandi tetap penting sesudahnya, tetapi sebagai higiene pada protokol yang layak menerimanya, bukan sebagai alasan untuk mempertahankan yang lama.