If-Koubou

Cara Mengetuk Jaringan Anda, Bagian 2: Lindungi VPN Anda (DD-WRT)

Cara Mengetuk Jaringan Anda, Bagian 2: Lindungi VPN Anda (DD-WRT) (Bagaimana caranya)

Kami telah menunjukkan kepada Anda cara memicu WOL dari jarak jauh dengan "Port Knocking" di router Anda. Di artikel ini, kami akan menunjukkan cara menggunakannya untuk melindungi layanan VPN.

Gambar oleh Aviad Raviv & bfick.

Kata pengantar

Jika Anda telah menggunakan fungsi 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 menyaring script kiddies yang mencoba 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 kesabaran yang cukup, seorang penyerang dapat menemukan urutan dan melakukan serangan replay.
Juga perlu diingat, bahwa sisi buruk dari penerapan ini adalah ketika setiap klien VPN ingin terhubung, mereka harus memicu ketukan urutansebelumnya dan jika mereka tidak dapat menyelesaikan urutan karena alasan apa pun, mereka tidak akan dapat VPN sama sekali.

Ikhtisar

Untuk melindungi * layanan VPN pertama kami akan menonaktifkan semua kemungkinan komunikasi dengan memblokir port instantiate 1723. Untuk mencapai tujuan ini, kami akan menggunakan iptables. Ini karena, begitulah cara komunikasi disaring pada kebanyakan distribusi Linux / GNU modern secara umum dan khususnya pada DD-WRT. Jika Anda ingin informasi lebih lanjut tentang iptables, periksa entri wiki-nya, dan lihat artikel kami sebelumnya tentang hal ini. Setelah layanan diproteksi, kami akan membuat urutan ketukan yang akan membuka sementara port pengesahan VPN dan juga secara otomatis menutupnya setelah jumlah waktu yang dikonfigurasi, sambil menjaga sesi VPN yang sudah ada terhubung.

Catatan: Dalam panduan ini, kami menggunakan layanan VPN PPTP sebagai contoh. Dengan demikian, metode yang sama dapat digunakan untuk jenis VPN lainnya, Anda hanya perlu mengubah port yang diblokir dan / atau jenis komunikasi.

Prasyarat, Asumsi & Rekomendasi

  • Diasumsikan / diperlukan bahwa Anda memiliki router DD-WRT Opkg yang diaktifkan.
  • Diasumsikan / diperlukan bahwa Anda telah melakukan langkah-langkah dalam panduan “Cara Mengetuk Ke Dalam Jaringan Anda (DD-WRT)”.
  • Beberapa pengetahuan jaringan diasumsikan.

Mari kita dapatkan cracking.

Default "Blokir VPN baru" aturan pada DD-WRT

Sementara potongan kode “di bawah” mungkin akan bekerja pada setiap, menghargai diri sendiri, iptables menggunakan, distribusi Linux / GNU, karena ada begitu banyak varian di luar sana kami hanya akan menunjukkan bagaimana menggunakannya pada DD-WRT. Tidak ada yang menghentikan Anda, jika Anda mau, dari menerapkannya langsung pada kotak VPN. Namun, bagaimana melakukannya, berada di luar ruang lingkup panduan ini.

Karena kami ingin menambah Firewall router, itu hanya logis bahwa kami akan menambah script "Firewall". Melakukannya, akan menyebabkan perintah iptables dieksekusi setiap kali firewall di-refresh dan dengan demikian menjaga augmentation kami di tempat untuk disimpan.

Dari Web-GUI DD-WRT:

  • Pergi ke "Administrasi" -> "Perintah".
  • Masukkan "kode" di bawah ke dalam kotak teks:

    inline = "$ (iptables -L INPUT -n | grep -n" state TERKAIT, DIDIRIKAN "| awk -F: 'print $ 1')"; inline = $ (($ inline-2 + 1)); iptables -I INPUT "$ inline" -p tcp --dport 1723 -j DROP

  • Klik "Save Firewall".
  • Selesai

Apa perintah "Voodoo" ini?

Perintah "voodoo magic" di atas melakukan hal berikut:

  • Menemukan di mana garis iptabel yang memungkinkan komunikasi yang telah ditetapkan untuk melewatinya. Kami melakukan ini, karena A. Pada router DD-WRT, jika layanan VPN diaktifkan, itu akan ditempatkan tepat di bawah baris ini dan B. Sangat penting bagi tujuan kami untuk terus memungkinkan sesi VPN yang sudah ada untuk hidup setelah mengetuk acara.
  • Mengurangi dua (2) dari output perintah pencatatan ke akun untuk offset yang disebabkan oleh tajuk kolom informasi. Setelah selesai, tambahkan satu (1) ke nomor di atas, sehingga aturan yang kami masukkan akan muncul tepat setelah aturan yang memungkinkan komunikasi yang sudah terjalin. Saya telah meninggalkan "masalah matematika" yang sangat sederhana ini di sini, hanya untuk membuat logika "mengapa seseorang perlu mengurangi satu dari tempat aturan daripada menambahkan satu untuk itu" jelas.

Konfigurasi KnockD

Kita perlu membuat urutan pemicu baru yang akan memungkinkan koneksi VPN baru dibuat. Untuk melakukan ini, edit file knockd.conf dengan menerbitkan di terminal:

vi /opt/etc/knockd.conf

Tambahkan ke konfigurasi yang 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 SETUJU
cmd_timeout = 20
stop_command = iptables -D INPUT -s% IP% -p tcp --dport 1723 -j DITERIMA

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 (pesanan ini disengaja untuk membuang port scanners off track).
  • Setelah urutan terdeteksi, jalankan "start_command". Perintah "iptables" ini akan menempatkan "terima traffic yang ditujukan ke port 1723 dari mana ketukan datang" di bagian atas aturan firewall. (Arahan% IP% diperlakukan secara khusus oleh KnockD dan diganti dengan IP asal ketukan).
  • Tunggu selama 20 detik sebelum mengeluarkan "stop_command".
  • Jalankan "stop_command".Di mana perintah "iptables" ini melakukan kebalikan dari hal di atas dan menghapus aturan yang memungkinkan komunikasi.
Itu saja, layanan VPN Anda sekarang harus terhubung hanya setelah "ketukan" yang sukses.

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 bagian akhir artikel pertama harus menjadi pemberhentian pertama Anda.
  • Jika Anda mau, Anda dapat memiliki perintah "start / stop" menjalankan beberapa perintah dengan memisahkannya dengan semi-colen (;) atau bahkan skrip. Melakukannya akan memungkinkan Anda untuk melakukan beberapa hal yang bagus. Sebagai contoh, saya telah mengetuk saya mengirim * Email yang 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 menggunakan program ketukan Android StavFX.
  • Sementara pada subjek Android, jangan lupa bahwa ada klien VPN PPTP biasanya dibangun ke OS dari pabrikan.
  • Metode, memblokir sesuatu awalnya dan kemudian melanjutkan untuk memungkinkan komunikasi yang sudah mapan, dapat digunakan pada hampir semua komunikasi berbasis TCP. Bahkan di Knockd pada film DD-WRT 1 ~ 6, saya sudah melakukan jalan kembali ketika, saya telah menggunakan protokol desktop jarak jauh (RDP) yang menggunakan port 3389 sebagai contoh.
Catatan: Untuk melakukan ini, Anda harus mendapatkan fungsionalitas Email pada router Anda, yang saat ini benar-benar tidak ada yang berfungsi karena snapshot SVN dari paket opkg OpenWRT berantakan. Itulah mengapa saya menyarankan menggunakan ketukan langsung di kotak VPN yang memungkinkan Anda untuk menggunakan semua opsi pengiriman email yang tersedia di Linux / GNU, seperti SSMTP dan sendEmail untuk menyebutkan beberapa.

Siapa yang mengganggu tidur saya?