Episode ini membahas langkah hardening untuk server PPTP yang belum bisa dimatikan: memaksa MS-CHAPv2 dan MPPE 128-bit, membatasi akses firewall ke TCP 1723 dan GRE, isolasi jaringan dengan VLAN, serta monitoring. Episode ini juga menegaskan keterbatasan hardening.

Ada kalanya server PPTP belum bisa dimatikan — vendor lama masih bergantung padanya, atau migrasi butuh waktu. Dalam kondisi seperti itu, kalian harus melakukan yang terbaik yang bisa dilakukan. Episode 15 membahas hardening: menutup celah konfigurasi sebisa mungkin.
Tapi ada satu kalimat yang harus kalian ingat dari awal sampai akhir episode ini: hardening tidak menghilangkan kelemahan fundamental PPTP. Semua langkah di bawah adalah pengurangan risiko sementara, bukan solusi.
Langkah pertama adalah memaksa konfigurasi paling ketat yang didukung PPTP. Di /etc/ppp/options.pptpd:
name pptpd
require-mschap-v2
require-mppe-128
refuse-pap
refuse-chap
refuse-eap
refuse-mschap
nobsdcomprequire-mschap-v2 dan require-mppe-128 memaksa semua klien memakai autentikasi dan enkripsi paling kuat yang dimiliki PPTP. refuse-pap, refuse-chap, refuse-mschap, dan refuse-eap menutup jalur alternatif yang lebih lemah. Setelah mengubah file ini, restart service dan verifikasi tidak ada klien yang masih memakai metode lama.
Karena kunci MPPE diturunkan dari password, kebijakan password menjadi garis depan pertahanan. Wajibkan password panjang dan unik untuk setiap user, dan cabut akses user yang sudah tidak aktif.
Setelah restart service, pastikan klien yang terhubung benar-benar memakai MPPE 128-bit. Log pppd mencatat hasil negosiasi setiap sesi:
sudo journalctl -u pptpd | grep -i mppejournalctl -u pptpd | grep -i mppe menampilkan baris negosiasi enkripsi untuk setiap sesi. Jika ada klien yang terhubung tanpa MPPE, segera periksa opsi klien dan kebijakan server — klien yang menolak MPPE harus ditolak masuk, bukan diturunkan keamanannya.
Firewall harus hanya menerima koneksi dari alamat yang memang berhak terhubung:
sudo iptables -A INPUT -p tcp --dport 1723 -s 203.0.113.0/24 -j ACCEPT
sudo iptables -A INPUT -p gre -s 203.0.113.0/24 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 1723 -j DROP
sudo iptables -A INPUT -p gre -j DROPEmpat aturan di atas mengizinkan TCP 1723 dan GRE hanya dari subnet 203.0.113.0/24, lalu menolak sisanya. iptables -A INPUT -p tcp --dport 1723 -s 203.0.113.0/24 -j ACCEPT adalah pola allowlist yang harus dipakai untuk kedua protocol sekaligus — jangan hanya TCP 1723.
Jika memungkinkan, tempatkan semua server PPTP di segmen jaringan khusus. Dengan VLAN isolasi, server PPTP dan klien-kliennya tidak bercampur dengan jaringan production utama.
sudo ip link add link eth0 name eth0.200 type vlan id 200
sudo ip addr add 10.10.20.1/24 dev eth0.200
sudo ip link set eth0.200 upContoh di atas membuat VLAN 200 dengan alamat 10.10.20.1/24. Konsepnya: semua traffic PPTP dikurung di VLAN ini, dan akses ke jaringan lain diatur dengan aturan routing dan firewall yang ketat.
Setiap sesi harus tercatat dan dipantau. Pastikan logwtmp aktif di pptpd.conf, dan pantau log secara rutin:
sudo journalctl -u pptpd | grep -iE "auth|fail|error"journalctl -u pptpd | grep -iE "auth|fail|error" membantu mendeteksi percobaan autentikasi yang mencurigakan. Kombinasikan dengan RADIUS accounting (episode 11) untuk mendapatkan catatan pemakaian yang lengkap.
Beberapa pola di log perlu diwaspadai: percobaan autentikasi dari banyak alamat IP dalam waktu singkat, banyak kegagalan dari satu sumber, dan lonjakan koneksi GRE tanpa sesi control yang sah. Pola-pola ini bisa jadi indikasi serangan brute-force atau eksploitasi.
Gunakan fail2ban atau log parser sederhana untuk memberi peringatan otomatis saat pola tersebut muncul. Ingat, deteksi hanya memperpendek waktu paparan — kelemahan fundamental tetap harus dijawab dengan migrasi, bukan sekadar monitoring.
Harus dikatakan dengan jujur: tidak ada kombinasi konfigurasi di atas yang menghentikan serangan offline terhadap MS-CHAPv2 atau menghilangkan kelemahan RC4. Seorang penyerang yang bisa menyadap traffic tetap punya bahan untuk memecahkan kredensial.
Karena itu, jadikan hardening sebagai tindakan sementara. Mulai proses migrasi bersamaan dengan menerapkan langkah-langkah ini. Episodes 19 akan memberikan panduan migrasi yang terstruktur.
Episode 15 memberikan daftar langkah hardening: baseline autentikasi dan enkripsi, firewall allowlist, isolasi VLAN, dan monitoring — dengan pengingat konstan bahwa semua ini hanya pengurangan risiko sementara.
Inti yang harus dibawa pulang:
require-mschap-v2 dan require-mppe-128 di options.pptpd.refuse-*.Di episode 16 selanjutnya kita akan membahas NAT traversal dan masalah firewall — kenapa GRE tidak ramah NAT, peran ALG di router, konfigurasi iptables dan nftables, serta pembatasan IP sumber.