Cara Mengetuk Jaringan Anda, Bagian 2 Lindungi VPN Anda (DD-WRT)
Kami telah menunjukkan kepada Anda cara memicu WOL dari jarak jauh dengan "Port Knocking" pada router Anda. Pada artikel ini, kami akan menunjukkan cara menggunakannya untuk melindungi layanan VPN.
Gambar oleh Aviad Raviv & bfick.
Kata pengantar
Jika Anda telah menggunakan fungsionalitas built-in DD-WRT untuk VPN atau, memiliki server VPN lain di jaringan Anda, Anda mungkin menghargai kemampuan untuk melindunginya dari serangan brute force dengan menyembunyikannya di belakang urutan ketukan. Dengan melakukan ini, Anda akan memfilter kiddies skrip yang mencoba untuk mendapatkan akses ke jaringan Anda. Dengan itu, seperti yang disebutkan dalam artikel sebelumnya, port knocking bukanlah pengganti kata sandi yang baik dan / atau kebijakan keamanan. Ingatlah bahwa dengan cukup kesabaran penyerang dapat menemukan urutan dan melakukan serangan replay.
Juga perlu diingat, bahwa kelemahan penerapan ini adalah bahwa ketika ada klien VPN yang ingin terhubung, mereka harus memicu urutan ketukan. sebelumnya dan bahwa jika mereka tidak dapat menyelesaikan urutan dengan alasan apa pun, mereka tidak akan dapat VPN sama sekali.
Ikhtisar
Untuk melindungi * layanan VPN, pertama-tama kami akan menonaktifkan semua komunikasi yang mungkin dengannya dengan memblokir port instantiating 1723. Untuk mencapai tujuan ini, kami akan menggunakan iptables. Ini karena, itulah cara komunikasi difilter pada kebanyakan distribusi Linux / GNU modern pada umumnya dan pada DD-WRT pada khususnya. Jika Anda ingin informasi lebih lanjut tentang iptables checkout entri wiki-nya, dan lihat artikel kami sebelumnya pada subjek. Setelah layanan terlindungi, kami akan membuat urutan ketukan yang untuk sementara akan membuka port instantiating VPN dan juga secara otomatis menutupnya setelah jumlah waktu yang dikonfigurasi, sambil tetap terhubung dengan sesi VPN yang sudah ada..
Catatan: Dalam panduan ini, kami menggunakan layanan PPTP VPN sebagai contoh. Dengan itu, metode yang sama dapat digunakan untuk jenis VPN lain, Anda hanya perlu mengubah port yang diblokir dan / atau jenis komunikasi.
Prasyarat, Asumsi & Rekomendasi
- Diasumsikan / diharuskan bahwa Anda memiliki router DD-WRT yang diaktifkan Opkg.
- Diasumsikan / diharuskan bahwa Anda telah melakukan langkah-langkah dalam panduan "Cara Mengetuk Jaringan Anda (DD-WRT)".
- Beberapa pengetahuan jaringan diasumsikan.
Mari kita mulai retak.
Default Aturan "Block new VPNs" pada DD-WRT
Sementara cuplikan "kode" di bawah ini mungkin akan berfungsi pada setiap, harga diri, penggunaan iptables, distribusi Linux / GNU, karena ada begitu banyak varian di luar sana kami hanya akan menunjukkan cara menggunakannya pada DD-WRT. Tidak ada yang menghentikan Anda, jika Anda inginkan, untuk mengimplementasikannya langsung di kotak VPN. Namun, cara melakukannya, berada di luar cakupan panduan ini.
Karena kami ingin menambah Firewall router, hanya logis bahwa kami akan menambahkan ke skrip "Firewall". Melakukan hal itu, akan menyebabkan perintah iptables dieksekusi setiap kali firewall di-refresh dan dengan demikian menjaga augmentasi kita di tempat untuk menjaga.
Dari Web-GUI DD-WRT:
- Pergi ke "Administrasi" -> "Perintah".
- Masukkan "kode" di bawah ini ke dalam kotak teks:
inline = "$ (iptables -L INPUT -n | grep -n" state RELATED, ESTABLISHED "| awk -F: 'print $ 1')"; inline = $ (($ inline-2 + 1)); iptables -Saya INPUT "$ inline" -p tcp --dport 1723 -j DROP
- Klik pada "Simpan Firewall".
- Selesai.
Apa perintah "Voodoo" ini?
Perintah "voodoo magic" di atas melakukan hal berikut:
- Temukan di mana jalur iptable yang memungkinkan komunikasi yang sudah terjalin untuk dilewati. Kami melakukan ini, karena A. Pada router DD-WRT, jika layanan VPN diaktifkan, itu akan terletak tepat di bawah garis ini dan B. Sangat penting bagi tujuan kami untuk terus membiarkan sesi VPN yang sudah ada untuk hidup setelah acara mengetuk.
- Dikurangi dua (2) dari output perintah listing ke akun untuk offset yang disebabkan oleh tajuk kolom informasi. Setelah selesai, tambahkan satu (1) ke angka di atas, sehingga aturan yang kita sisipkan akan muncul tepat setelah aturan yang memungkinkan komunikasi yang sudah mapan. Saya telah meninggalkan "masalah matematika" yang sangat sederhana ini di sini, hanya untuk membuat logika "mengapa seseorang perlu mengurangi satu dari tempat aturan alih-alih menambahkan satu ke dalamnya" jelas.
Konfigurasi KnockD
Kita perlu membuat urutan pemicu baru yang akan memungkinkan koneksi VPN baru dibuat. Untuk melakukan ini, edit file knockd.conf dengan mengeluarkan di terminal:
vi /opt/etc/knockd.conf
Tambahkan ke konfigurasi yang ada:
[aktifkan-VPN]
urutan = 02,02,02,01,01,01,2010,2010,2010
seq_timeout = 60
start_command = iptables -I INPUT 1 -s% IP% -p tcp --port 1723 -j MENERIMA
cmd_timeout = 20
stop_command = iptables -D INPUT -s% IP% -p tcp --dport 1723 -j MENERIMA
Konfigurasi ini akan:
- Atur jendela peluang untuk menyelesaikan urutan, hingga 60 detik. (Disarankan untuk menjaga ini sesingkat mungkin)
- Dengarkan urutan tiga ketukan pada port 2, 1 dan 2010 (urutan ini disengaja untuk membuang port scanner keluar jalur).
- Setelah urutan telah terdeteksi, jalankan perintah "start_command". Perintah "iptables" ini akan menempatkan "terima lalu lintas yang ditujukan ke port 1723 dari tempat ketukan datang" di atas aturan firewall. (Direktif% IP% diperlakukan secara khusus oleh KnockD dan diganti dengan IP asal knock).
- Tunggu 20 detik sebelum mengeluarkan "stop_command".
- Jalankan "stop_command". Di mana perintah "iptables" ini melakukan kebalikan dari yang di atas dan menghapus aturan yang memungkinkan komunikasi.
Penulistips
Meskipun Anda harus siap, ada beberapa poin yang saya rasa perlu disebutkan.
- Penyelesaian masalah. Ingat bahwa jika Anda mengalami masalah, segmen "pemecahan masalah" di akhir artikel pertama harus menjadi pemberhentian pertama Anda.
- Jika Anda mau, Anda bisa meminta arahan “mulai / berhenti” menjalankan banyak perintah dengan memisahkannya dengan semi-colen (;) atau bahkan skrip. Melakukan hal itu akan memungkinkan Anda untuk melakukan beberapa hal bagus. Sebagai contoh, saya telah mengetuk kirim saya * Email memberitahu saya bahwa urutan telah dipicu dan dari mana.
- Jangan lupa bahwa "Ada aplikasi untuk itu" dan meskipun tidak disebutkan dalam artikel ini, Anda dianjurkan untuk mengambil program pengetuk Android StavFX.
- Sementara pada masalah Android, jangan lupa bahwa ada klien VPN PPTP yang biasanya dibangun ke dalam OS dari pabrikan.
- Metode, memblokir sesuatu pada awalnya dan kemudian melanjutkan untuk memungkinkan komunikasi yang sudah mapan, dapat digunakan pada hampir semua komunikasi berbasis TCP. Bahkan di Knockd on DD-WRT 1 ~ 6 film, saya sudah melakukan jalan kembali ketika, saya telah menggunakan protokol desktop jarak jauh (RDP) yang menggunakan port 3389 sebagai contoh.
Yang Mengganggu Tidur Saya?