Cara Mengetuk Rangkaian Anda, Bahagian 2 Lindungi VPN Anda (DD-WRT)
Kami telah menunjukkan kepada anda bagaimana untuk mencetuskan WOL dari jauh dengan "Port Knocking" pada penghala anda. Dalam artikel ini, kami akan menunjukkan cara menggunakannya untuk melindungi perkhidmatan VPN.
Imej oleh Aviad Raviv & bfick.
Pengantar
Sekiranya anda menggunakan fungsi terbina dalam DD-WRT untuk VPN atau, mempunyai pelayan VPN yang lain dalam rangkaian anda, anda mungkin menghargai keupayaan untuk melindunginya dari serangan kekerasan dengan menyembunyikannya di belakang urutan ketukan. Dengan melakukan ini, anda akan menapis skrip kiddies yang cuba mendapatkan akses ke rangkaian anda. Dengan itu, seperti yang dinyatakan dalam artikel sebelumnya, pelabuhan mengetuk bukan pengganti untuk kata laluan yang baik dan / atau dasar keselamatan. Ingat bahawa dengan kesabaran yang cukup, penyerang dapat mengetahui urutan dan melakukan serangan ulang.
Juga perlu diingat, bahawa kelemahan pelaksanaan ini adalah apabila pelanggan VPN ingin menyambung, mereka perlu mencetuskan urutan ketukan sebelum ini dan jika mereka tidak dapat menyelesaikan urutan untuk apa-apa sebab, mereka tidak akan dapat VPN sama sekali.
Gambaran keseluruhan
Untuk melindungi * perkhidmatan VPN, kami akan menyahdayakan semua kemungkinan komunikasi dengannya dengan menyekat port instantiating 1723. Untuk mencapai matlamat ini, kami akan menggunakan iptables. Ini kerana, itu adalah bagaimana komunikasi ditapis pada kebanyakan pengedaran Linux / GNU moden secara umum dan pada DD-WRT khususnya. Sekiranya anda ingin maklumat lebih lanjut mengenai iptables checkout kemasukan wikinya, dan lihatlah artikel kami sebelumnya tentang perkara ini. Setelah perkhidmatan dilindungi, kami akan membuat urutan ketukan yang sementara akan membuka port instantiating VPN dan juga menutup secara automatik selepas masa yang dikonfigurasikan, sambil mengekalkan sesi VPN yang telah disambungkan.
Nota: Dalam panduan ini, kami menggunakan perkhidmatan PPTP VPN sebagai contoh. Dengan itu, kaedah yang sama boleh digunakan untuk jenis VPN yang lain, anda hanya perlu mengubah port dan / atau jenis komunikasi yang disekat.
Prasyarat, Andaian & Cadangan
- Ia diandaikan bahawa anda mempunyai penghala DD-WRT yang diaktifkan oleh Opkg.
- Adalah diandaikan bahawa anda telah melakukan langkah-langkah dalam "Cara Mengunci Rangkaian Anda (DD-WRT)".
- Sesetengah pengetahuan rangkaian diandaikan.
Mari dapatkan retak.
Lalai "Blok VPN baru" peraturan pada DD-WRT
Walaupun coretan "kod" di bawah mungkin akan berfungsi pada setiap, menghormati diri, iptables menggunakan, pengagihan Linux / GNU, kerana terdapat banyak variasi di luar sana, kami hanya akan menunjukkan cara menggunakannya di DD-WRT. Tiada apa-apa yang menghalang anda, jika anda mahu, dari melaksanakan secara langsung pada kotak VPN. Bagaimanapun, bagaimana untuk melakukannya, adalah di luar skop panduan ini.
Oleh kerana kami ingin menambah Firewall penghala, hanya logik bahawa kami akan menambah skrip "Firewall". Melakukannya, akan menyebabkan perintah iptables dijalankan setiap kali firewall disegarkan dan dengan itu mengekalkan pembesaran kami di tempat untuk disimpan.
Dari Web-GUI DD-WRT:
- Pergi ke "Pentadbiran" -> "Perintah".
- Masukkan kod "di bawah" di dalam kotak teks:
inline = "$ (iptables -L INPUT -n | grep -n" state RELATED, ESTABLISHED "| awk -F: 'print $ 1')"; inline = $ (($ inline-2 + 1)); iptables -I INPUT "$ inline" -p tcp --dport 1723 -j DROP
- Klik pada "Simpan Firewall".
- Selesai.
Apakah arahan "Voodoo" ini?
Perintah "voodoo magic" di atas melakukan perkara berikut:
- Cari di mana garis yang boleh digunakan untuk membolehkan komunikasi yang telah ditetapkan untuk dilalui. Kami melakukan ini, kerana A. Pada router DD-WRT, jika perkhidmatan VPN diaktifkan, ia akan terletak tepat di bawah garis ini dan B. Ia adalah penting untuk matlamat kami untuk terus membenarkan sesi VPN yang telah ditubuhkan untuk hidup selepas mengetuk acara.
- Keluarkan dua (2) dari output arahan penyenaraian untuk mengira offset yang disebabkan oleh tajuk lajur maklumat. Sebaik sahaja itu selesai, tambahkan satu (1) ke nombor di atas, supaya peraturan yang kita masukkan akan datang selepas peraturan yang membenarkan komunikasi yang telah ditetapkan. Saya telah meninggalkan masalah "matematik" yang sangat mudah di sini, hanya untuk membuat logik "mengapa seseorang perlu mengurangkan satu dari tempat pemerintahan dan bukannya menambahnya" jelas.
Konfigurasi KnockD
Kita perlu membuat urutan pencetus baru yang akan membolehkan sambungan VPN baru dibuat. Untuk melakukan ini, edit fail knockd.conf dengan mengeluarkan dalam terminal:
vi / opt/etc/knockd.conf
Tambahkan pada konfigurasi sedia ada:
[enable-VPN]
urutan = 02,02,02,01,01,01,2010,2010,2010
seq_timeout = 60
start_command = iptables -I INPUT 1 -s% IP% -p tcp --dport 1723 -j ACCEPT
cmd_timeout = 20
stop_command = iptables -D INPUT -s% IP% -p tcp --dport 1723 -j ACCEPT
Konfigurasi ini akan:
- Tetapkan tetingkap peluang untuk menyelesaikan urutan itu, hingga 60 saat. (Ia disyorkan untuk memastikan ini selang mungkin)
- Dengarkan urutan tiga knocks pada port 2, 1 dan 2010 (perintah ini adalah sengaja untuk membuang pengimbas pelabuhan di luar trek).
- Apabila urutan telah dikesan, jalankan "start_command". Perintah "iptables" ini akan meletakkan "menerima trafik yang ditakdirkan ke port 1723 dari mana pengetuk datang dari" di atas peraturan firewall. (Perintah% IP% dirawat secara khusus oleh KnockD dan digantikan dengan IP dari asal mengetuk).
- Tunggu selama 20 saat sebelum mengeluarkan "stop_command".
- Jalankan "stop_command". Di mana arahan "iptables" ini melakukan sebaliknya di atas dan memadam peraturan yang membenarkan komunikasi.
Pengarangpetua
Walaupun anda sepatutnya ditetapkan, terdapat beberapa mata yang saya rasa perlu disebutkan.
- Penyelesaian masalah. Ingat bahawa jika anda menghadapi masalah, segmen "penyelesaian masalah" pada akhir artikel pertama harus berhenti pertama anda.
- Jika anda mahu, anda boleh mempunyai arahan "mula / hentikan" melaksanakan beberapa arahan dengan memisahkannya dengan separa colen (;) atau skrip. Melakukannya akan membolehkan anda melakukan beberapa perkara bagus. Sebagai contoh, saya telah menghantar saya * E-mel memberitahu saya bahawa urutan telah dicetuskan dan dari mana.
- Jangan lupa bahawa "Terdapat aplikasi untuk itu" dan walaupun tidak disebutkan dalam artikel ini, anda digalakkan untuk merebut program knocker Android StavFX.
- Walaupun pada subjek Android, jangan lupa bahawa terdapat pelanggan PPTP VPN biasanya dibina ke OS dari pengilang.
- Kaedah, menyekat sesuatu pada mulanya dan kemudian meneruskan untuk membenarkan komunikasi yang telah ditetapkan, boleh digunakan pada praktikal mana-mana komunikasi berasaskan TCP. Sebenarnya di Knockd pada filem DD-WRT 1 ~ 6, saya telah melakukan jalan pintas apabila saya menggunakan protokol desktop jauh (RDP) yang menggunakan port 3389 sebagai contoh.
Siapa Mengganggu Kehidupan Saya?