6Aug

Cum să vă bați în rețea, Partea 2: Protejați-vă VPN-ul( DD-WRT)

click fraud protection

V-am arătat cum să declanșați WOL de la distanță prin "Port Knocking" pe router.În acest articol, vom arăta cum să îl folosim pentru a proteja un serviciu VPN.

Image by Aviad Raviv &bfick.

Prefață

Dacă ați folosit funcționalitatea DD-WRT încorporată pentru VPN sau dacă aveți un alt server VPN în rețeaua dvs., ați putea aprecia capacitatea de ao proteja de atacurile de forță brute, ascunzându-l în spatele unei secvențe de bat. Făcând acest lucru, veți filtra infantile script care încearcă să obțină acces la rețeaua dvs. Cu acest lucru a spus, așa cum este menționat în articolul precedent, baterea portului nu reprezintă un înlocuitor pentru o bună parolă și / sau politică de securitate. Amintiți-vă că, cu suficientă răbdare, un atacator poate descoperi secvența și poate efectua un atac de replay.
De asemenea, rețineți că dezavantajul punerii în aplicare a acestui lucru este că atunci când orice client VPN / e doresc să se conecteze, aceștia ar trebui să declanșeze în prealabil și că dacă nu pot finaliza secvența din nici un motiv,nu va fi capabil să VPN deloc.

instagram viewer

Prezentare generală

Pentru a proteja * serviciul VPN, vom dezactiva mai întâi toate posibilitățile de comunicare cu acesta prin blocarea portului de instanță din 1723. Pentru a atinge acest obiectiv, vom folosi iptables. Acest lucru se datorează faptului că modul în care comunicarea este filtrat pe cele mai moderne distribuții Linux / GNU în general și pe DD-WRT în special. Dacă doriți mai multe informații despre iptables, verificați intrarea wiki și consultați articolul nostru anterior despre acest subiect. Odată ce serviciul este protejat, vom crea o secvență de răsturnare care ar deschide temporar portul de instanță VPN și, de asemenea, va închide automat după o perioadă de timp configurată, păstrând în același timp conexiunea VPN deja stabilită.

Notă: În acest ghid, folosim serviciul PPTP VPN ca exemplu. Cu aceasta, aceeași metodă poate fi utilizată pentru alte tipuri de VPN, va trebui doar să modificați portul blocat și / sau tipul de comunicare.

Cerințe preliminare, ipoteze &Recomandări

  • Se presupune / este necesar să aveți un router DD-WRT cu Opkg activat.
  • Se presupune / este necesar ca ați efectuat deja pașii din ghidul "Cum să bateți în rețea( DD-WRT)".
  • Sunt presupuse anumite cunoștințe de rețea.

Permiteți să crăpat.

Implicit "Blocați VPN-uri noi" pe DD-WRT

În timp ce fragmentul de mai jos a "codului" ar funcționa probabil pe fiecare distribuție Linux / GNU, folosind iptables, deoarece există atât de multe variante acoloarată doar cum se utilizează pe DD-WRT.Nimic nu vă oprește, dacă doriți, să îl implementați direct pe caseta VPN.Cu toate acestea, cum să faceți acest lucru, depășește domeniul de aplicare al acestui ghid.

Pentru că vrem să augmentăm Firewall-ul routerului, este logic să adăugăm script-ul "Firewall".Dacă procedăm astfel, comanda iptables va fi executată de fiecare dată când firewall-ul este reîmprospătat și, astfel, menținerea augmentării noastre în loc să fie păstrată.

Din Web-GUI al DD-WRT:

  • Mergeți la "Administration" ->„Comenzi“.
  • Introduceți codul de mai jos în caseta text:

    inline = "$( iptables -L INPUT -n | grep -n" stare asociată "| awk -F:{ 'print $ 1'})";inline = $( ($ inline-2 + 1));iptables -I INPUT "$ inline" -p tcp -dport 1723 -j DROP

  • Faceți clic pe "Salvați firewall".
  • Efectuată.

Ce este această comandă "Voodoo"?

Comanda de mai sus "magia voodoo" are urmatoarele:

  • Cauta unde este linia iptable care permite comunicarea deja stabilita sa treaca prin. Facem acest lucru, deoarece A. În cazul routerelor DD-WRT, dacă serviciul VPN este activat, acesta va fi situat chiar sub această linie și B. Este esențial obiectivul nostru de a continua să permită ca sesiunile VPN deja stabilite să trăiască dupăbataie eveniment.
  • Deduce două( 2) de la ieșirea comenzii de listare pentru a ține cont de compensarea cauzată de antetele coloanelor informaționale. După ce sa terminat, se adaugă unul( 1) la numărul de mai sus, astfel că regula pe care o inserăm va veni imediat după regula care permite comunicarea deja stabilită.Am lăsat aici această simplă "problemă de matematică", doar pentru a face logica "de ce trebuie să reduci una de la locul regulii în loc să adăugi una la ea" clar. Configurația

KnockD

Trebuie să creați o nouă secvență de declanșare care să permită crearea conexiunilor VPN noi. Pentru a face acest lucru, editați fișierul knockd.conf emise într-un terminal:

vi /opt/etc/ knockd.conf

Adăugați la configurația existentă:

[enable-VPN] secvența
= 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% -ptcp --dport 1723 -j ACCEPT

Această configurație va:

  • Setați fereastra de oportunitate pentru a finaliza secvența, la 60 de secunde.(Este recomandat să păstrați acest lucru cât mai scurt posibil)
  • Ascultați o secvență de trei lovituri pe porturile 2, 1 și 2010( această comandă este deliberată pentru a arunca porturile scanere off track).
  • Odată ce secvența a fost detectată, executați comanda "start_command".Această comandă "iptables" va plasa un "acceptă trafic destinat portului 1723 de unde au venit bătăile" din partea superioară a regulilor de firewall.(Directiva% IP% este tratată special de KnockD și este înlocuită cu IP de origine knocks).
  • Așteptați 20 de secunde înainte de a emite "stop_command".
  • Executați "stop_command".Unde această comandă "iptables" face inversa celei de mai sus și șterge regula care permite comunicarea.
Asta este, serviciul dvs. VPN ar trebui să poată fi conectat acum numai după un succes "knock".

Autor sfaturi

În timp ce ar trebui să fie toate stabilite, există câteva puncte pe care simt nevoia de a menționa.

  • Depanare. Rețineți că, dacă aveți probleme, segmentul de "depanare" de la sfârșitul primului articol ar trebui să fie prima oprire.
  • Dacă doriți, puteți avea directivele "start / stop" să execute mai multe comenzi separând-le cu un semi-colen( ;) sau chiar un script. Făcând acest lucru vă va permite să faceți niște lucruri minunate. De exemplu, am bătut trimite-mi un e-mail * mi-a spus că o secvență a fost declanșat și de unde.
  • Nu uitați că "există o aplicație pentru asta" și chiar dacă nu este menționată în acest articol, sunteți încurajați să luați programul lui StavFX Android knocker.
  • În timp ce cu privire la Android, nu uitați că există un client PPTP VPN, de obicei, încorporat în sistemul de operare de la producător.
  • Metoda de a bloca ceva inițial și apoi a continua să permită comunicarea deja stabilită poate fi utilizată în practic orice comunicare bazată pe TCP.De fapt, în filmul Knockd on DD-WRT 1 ~ 6, am făcut ceva înapoi atunci când am folosit protocolul desktop la distanță( RDP) care utilizează portul 3389 ca exemplu.
Notă: Pentru a face acest lucru, va trebui să obțineți funcționalitatea de e-mail pe router-ul dvs., care în prezent într-adevăr nu funcționează deoarece snapshot-ul SVN al pachetelor opkg OpenWRT este în dezordine. De aceea vă sugerez să utilizați un knockd direct pe caseta VPN care vă permite să utilizați toate opțiunile de trimitere a e-mailurilor disponibile în Linux / GNU, cum ar fi SSMTP și sendEmail, pentru a menționa câteva.

Cine îmi deranjează somnul meu?