We’ve shown you yönlendiricinizde "Port Knocking" ile WOL'u uzaktan nasıl tetikleyebilirsiniz . Bu yazıda, bir VPN hizmetini korumak için nasıl kullanılacağını göstereceğiz.
Resim Aviad Raviv & bfick .
Önsöz
Kullandıysanız
DD-WRT yerleşik işlevsellik
VPN için veya
başka bir VPN sunucusu
ağınızda, onu bir vuruntu dizisinin arkasına saklayarak onu kaba kuvvet saldırılarından koruma yeteneğini takdir edebilirsiniz. Bunu yaparak, ağınıza erişmeye çalışan komut dosyası çocuklarını filtreleyeceksiniz. Bununla birlikte, önceki makalede belirtildiği gibi, bağlantı noktası kapma, iyi bir şifre ve / veya güvenlik politikasının yerine geçmez. Yeterince sabırla bir saldırganın diziyi keşfedebileceğini ve bir tekrar saldırısı gerçekleştirebileceğini unutmayın.
Ayrıca, bunu uygulamanın dezavantajının, herhangi bir VPN istemcisinin / istemcilerinin bağlanmak istediğinde, vuruntu sırasını tetiklemeleri gerekeceğini unutmayın
önceden
ve herhangi bir nedenle diziyi tamamlayamazlarsa, hiç VPN kullanamayacaklarını.
Genel Bakış
VPN hizmetini * korumak için, öncelikle 1723'ün örnekleme bağlantı noktasını bloke ederek onunla olası tüm iletişimi devre dışı bırakacağız. Bu amaca ulaşmak için iptables kullanacağız. Bunun nedeni, genel olarak çoğu modern Linux / GNU dağıtımında ve özelde DD-WRT'de iletişimin bu şekilde filtrelenmesidir. İptables ödemesi hakkında daha fazla bilgi isterseniz, wiki girişi ve şuna bir bak önceki makalemiz Konuyla ilgili. Hizmet korunduktan sonra, VPN örnekleme bağlantı noktasını geçici olarak açacak ve ayrıca önceden kurulmuş olan VPN oturumunu bağlı tutarken yapılandırılmış bir süre sonra otomatik olarak kapatacak bir kapama dizisi oluşturacağız.
Not: Bu kılavuzda örnek olarak PPTP VPN hizmetini kullanıyoruz. Bununla birlikte, aynı yöntem diğer VPN türleri için de kullanılabilir, yalnızca engellenen bağlantı noktasını ve / veya iletişim türünü değiştirmeniz gerekir.
Ön Koşullar, Varsayımlar ve Öneriler
- Sahip olduğunuz varsayılır / gerekli Opkg etkin DD-WRT yönlendirici .
- "Sayfadaki" adımları zaten uyguladığınız varsayılır / gereklidir. Ağınıza Nasıl Girilir (DD-WRT) " kılavuz.
- Bazı ağ bilgilerinin olduğu varsayılır.
Çatlamaya başlayalım.
Varsayılan DD-WRT'de "yeni VPN'leri engelle" kuralı
Aşağıdaki "kod" parçacığı muhtemelen Linux / GNU kullanan her, kendine saygı duyan iptables üzerinde çalışacak olsa da, orada çok fazla değişken olduğundan, sadece DD-WRT'de nasıl kullanılacağını göstereceğiz. Dilerseniz onu doğrudan VPN kutusuna uygulamanızı hiçbir şey engelleyemez. Ancak bunun nasıl yapılacağı bu kılavuzun kapsamı dışındadır.
Yönlendiricinin Güvenlik Duvarını genişletmek istediğimiz için, "Güvenlik Duvarı" komut dosyasına eklememiz sadece mantıklıdır. Bunu yapmak, iptables komutunun güvenlik duvarı her yenilendiğinde yürütülmesine ve böylece artırmamızı tutarlar için yerinde tutmasına neden olur.
DD-WRT Web-GUI'den:
-
"Yönetim" -> "Komutlar" a gidin.
-
Metin kutusuna aşağıdaki "kodu" girin:
satır içi = "$ (iptables -L GİRİŞ -n | grep -n" durum İLGİLİ, KURULUYOR "| awk -F: {'print $1'})"; satır içi = $ (($ satır içi-2 + 1)); iptables -I INPUT "$ satır içi" -p tcp --dport 1723 -j DROP - "Güvenlik Duvarını Kaydet" e tıklayın.
- Bitti.
Bu "Voodoo" komutu nedir?
Yukarıdaki "vudu büyüsü" komutu şunları yapar:
- Önceden kurulmuş iletişimin geçmesini sağlayan iptable hattının nerede olduğunu bulur. Bunu yapıyoruz, çünkü A. DD-WRT yönlendiricilerinde, VPN hizmeti etkinleştirilirse, bu satırın hemen altında yer alacaktır ve B. Halihazırda kurulmuş olan VPN oturumlarının vurma olayı.
- Bilgi sütun başlıklarının neden olduğu kaymayı hesaba katmak için listeleme komutunun çıktısından iki (2) çıkarır. Bu yapıldığında, yukarıdaki sayıya bir (1) ekler, böylece eklediğimiz kural, zaten kurulmuş iletişime izin veren kuralın hemen sonrasına gelir. Bu çok basit "matematik problemini" burada, sadece "neden birinin kuralın yerine bir tane eklemek yerine onu indirgemek gerektiği" mantığını açıklığa kavuşturmak için bıraktım.
KnockD yapılandırması
Yeni VPN bağlantılarının oluşturulmasını sağlayacak yeni bir tetikleme dizisi oluşturmamız gerekiyor. Bunu yapmak için knockd.conf dosyasını bir terminalde yayınlayarak düzenleyin:
vi /opt/etc/knockd.conf
Mevcut yapılandırmaya ekleyin:
[enable-VPN]
dizi = 02,02,02,01,01,01,2010,2010,2010
seq_timeout = 60
start_command = iptables -I GİRİŞ 1 -s% IP% -p tcp --dport 1723 -j KABUL
cmd_timeout = 20
stop_command = iptables -D INPUT -s% IP% -p tcp --dport 1723 -j KABUL
Bu konfigürasyon:
- Diziyi tamamlamak için fırsat penceresini 60 saniyeye ayarlayın. (Bunu olabildiğince kısa tutmanız önerilir)
- 2, 1 ve 2010 numaralı bağlantı noktalarında üç kez çalınan diziyi dinleyin (bu sıra, bağlantı noktası tarayıcılarını yoldan çıkarmak içindir).
- Sıra tespit edildiğinde, "start_command" komutunu yürütün. Bu "iptables" komutu, güvenlik duvarı kurallarının üstüne "darbelerin geldiği yerden 1723 numaralı bağlantı noktasına gönderilen trafiği kabul et" i yerleştirecektir. (% IP% yönergesi özel olarak KnockD tarafından ele alınır ve vuruntu kaynaklarının IP'si ile değiştirilir).
- "Stop_command" komutunu vermeden önce 20 saniye bekleyin.
- "Stop_command" ı çalıştırın. Bu "iptables" komutunun yukarıdakinin tersini yaptığı ve iletişime izin veren kuralı sildiği durumlarda.
Yazar İpuçları
Hazır olmanız gerekirken, bahsetmeye ihtiyaç duyduğum birkaç nokta var.
- Sorun giderme. Sorun yaşıyorsanız, sayfanın sonundaki "sorun giderme" segmentinin ilk makale ilk durağınız olmalı.
- İsterseniz, "start / stop" yönergelerinin birden çok komutu yarı colen (;) veya hatta bir komut dosyasıyla ayırarak çalıştırmasını sağlayabilirsiniz. Bunu yapmak, bazı şık şeyler yapmanızı sağlayacaktır. Örneğin, bana bir sıranın nereden tetiklendiğini söyleyen bir * E-posta gönderdim.
- Unutmayın " Bunun için bir uygulama var "Ve bu makalede bahsedilmemesine rağmen, StavFX Android kapı vurma programı .
- Android konusundayken, genellikle üreticinin işletim sistemine yerleşik bir PPTP VPN istemcisi olduğunu unutmayın.
- Bir şeyi başlangıçta bloke etme ve daha sonra zaten kurulmuş iletişime izin vermeye devam etme yöntemi, pratik olarak herhangi bir TCP tabanlı iletişimde kullanılabilir. Aslında DD-WRT 1 ~ 6'da Knockd filmler, bir örnek olarak 3389 numaralı bağlantı noktasını kullanan uzak masaüstü protokolünü (RDP) kullandığım zaman çok eskiden yaptım.