6Aug

Sådan knockes du på dit netværk, del 2: Beskyt din VPN( DD-WRT)

click fraud protection

Vi har vist dig, hvordan du aktiverer WOL eksternt ved at "Portknocking" på din router. I denne artikel vil vi vise, hvordan du bruger det til at beskytte en VPN-tjeneste.

Billede af Aviad Raviv &bfick.

Forord

Hvis du har brugt DD-WRTs indbyggede funktionalitet til VPN eller har en anden VPN-server i dit netværk, kan du måske sætte pris på evnen til at beskytte den mod brute force-angreb ved at gemme den bag en knock-sekvens. Ved at gøre dette vil du filtrere ud de script-kiddies, der forsøger at få adgang til dit netværk. Med det sagt, som nævnt i den forrige artikel, er havnestridning ikke en erstatning for en god adgangskode og / eller sikkerhedspolitik. Husk at med tilstrækkelig tålmodighed kan en angriber opdage sekvensen og udføre et replay angreb.
Vær også opmærksom på, at ulempen ved at implementere dette er, at når en VPN-klient / s ønsker at forbinde, skal de udløse klokkesekvensen på forhånd , og ​​at hvis de ikke kan fuldføre sekvensen af ​​en eller anden grund,vil slet ikke være i stand til VPN.

instagram viewer

Oversigt

For at beskytte * VPN-tjenesten vil vi først deaktivere al mulig kommunikation med den ved at blokere den instabiliserende port i 1723. For at nå dette mål bruger vi iptables. Det skyldes, at kommunikationen filtreres på de fleste moderne Linux / GNU-distributioner generelt og især på DD-WRT.Hvis du vil have mere information om iptables checkout, er dens wiki-indgang og se vores tidligere artikel om emnet. Når tjenesten er beskyttet, vil vi oprette en knock-sekvens, der midlertidigt åbner VPN-instabiliseringsporten og automatisk lukker den efter en konfigureret tid, samtidig med at den allerede etablerede VPN-session forbinder.

Bemærk: I denne vejledning bruger vi PPTP VPN-tjenesten som et eksempel. Med det samme kan den samme metode bruges til andre VPN typer, du skal bare ændre den blokerede port og / eller kommunikationstype.

forudsætninger, forudsætninger &Anbefalinger

  • Det antages / kræves, at du har en Opkg-aktiveret DD-WRT-router.
  • Det forudsættes / kræves, at du allerede har udført trinene i vejledningen "Sådan knockes i dit netværk( DD-WRT)".
  • Nogle netværkskendskab antages.

Lader få revner.

Standard "Blok ny VPNs" -regel på DD-WRT

Mens nedenstående kodestykke "kode" sandsynligvis ville fungere på hver selvrespektive, iptables-brug, Linux / GNU-distribution, fordi der er så mange varianter derude, vil viVis kun, hvordan du bruger det på DD-WRT.Intet stopper dig, hvis du ønsker det, fra at implementere det direkte på VPN-boksen. Men hvordan man gør det ligger uden for denne vejledning.

Fordi vi ønsker at udvide routerens Firewall, er det kun logisk, at vi vil tilføje til "Firewall" scriptet. Hvis du gør det, ville det medføre, at kommandoen iptables udføres hver gang brandwaren opdateres og dermed holder vores forøgelse på plads.

Fra DD-WRTs web-GUI:

  • Gå til "Administration" - & gt;”Kommandoer”.
  • Indtast nedenstående "kode" i tekstboksen:

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

  • Klik på "Save Firewall".
  • Udført.

Hvad er denne "Voodoo" kommando?

Den ovennævnte "voodoo magic" kommando gør følgende:

  • Findes hvor er den iptable linje, der muliggør allerede etableret kommunikation til at passere igennem. Det gør vi, fordi A. På DD-WRT-routere, hvis VPN-tjenesten er aktiveret, vil den være placeret lige under denne linje og B. Det er afgørende for vores mål om fortsat at tillade allerede etablerede VPN-sessioner at fortsætte efterbankehændelse.
  • Trækker to( 2) fra udgangen af ​​noteringskommandoen for at tage højde for forskydningen forårsaget af de oplysende kolonneoverskrifter. Når det er gjort, tilføjer en( 1) til ovenstående nummer, så den regel, vi indsætter vil komme lige efter reglen, der tillader allerede etableret kommunikation. Jeg har forladt dette meget enkle "matematiske problem" her, bare for at lave logikken om "hvorfor man skal reducere en fra reglen sted i stedet for at tilføje en til den" klare.

KnockD-konfiguration

Vi skal oprette en ny udløsende sekvens, der gør det muligt at oprette nye VPN-forbindelser. For at gøre dette skal du redigere knockd.conf filen ved at udstede i en terminal:

vi /opt/etc/ knockd.conf

Tilføj til den eksisterende konfiguration:

[enable-VPN]
sekvens = 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 - port 1723 -j ACCEPT

Denne konfiguration vil:

  • Indstil vinduet med mulighed for at fuldføre sekvensen, i 60 sekunder.(Det anbefales at holde dette så kort som muligt)
  • Lyt til en sekvens af tre slag i porte 2, 1 og 2010( denne ordre er bevidst om at kaste portscannere uden spor).
  • Når sekvensen er blevet detekteret, udfør "start_command".Denne "iptables" kommando vil placere en "acceptere trafik bestemt til port 1723, hvor knocks kom fra" oven på firewallreglerne.(% IP%-direktivet behandles specielt af KnockD og erstattes med IP-nummeret for knock origin).
  • Vent i 20 sekunder før udstedelsen af ​​"stop_command".
  • Udfør "stop_command".Hvor denne kommando "iptables" gør det omvendte af ovenstående og sletter reglen, der tillader kommunikation.
Det er det, din VPN-tjeneste skal nu kun tilsluttes efter en succesfuld "banke".

Forfatter s tips

Mens du skal være helt indstillet, er der et par punkter, som jeg føler mig nødt til at nævne.

  • Fejlfinding. Husk, at hvis du har problemer, skal "fejlfinding" segmentet i slutningen af ​​den første artikel være dit første stop.
  • Hvis du vil, kan du have "start / stop" -direktiverne udføre flere kommandoer ved at adskille dem med et semi-colen( ;) eller endda et script. Hvis du gør det, kan du gøre nogle nifty ting. For eksempel har jeg sendt mig en * Email, der fortæller mig, at en sekvens er blevet udløst og hvorfra.
  • Glem ikke at "Der er en app til det", og selvom det ikke er nævnt i denne artikel, opfordres du til at gribe StavFXs Android-knockerprogram.
  • Mens du er genstand for Android, skal du ikke glemme, at der er en PPTP VPN-klient, som normalt er indbygget i operativsystemet fra producenten.
  • Metoden til at blokere noget oprindeligt og derefter fortsætte med at tillade allerede etableret kommunikation kan bruges på praktisk talt enhver TCP-baseret kommunikation. Faktisk i Knockd på DD-WRT 1 ~ 6 film, har jeg gjort vej tilbage, når jeg har brugt fjernbetjeningsprotokollen( RDP), der bruger port 3389 som et eksempel.
Bemærk: For at gøre dette skal du have e-mail-funktionalitet på din router, som i øjeblikket er der virkelig ikke en, der fungerer, fordi SVN-snapshotet af OpenWRTs opkg-pakker er i uorden. Derfor foreslår jeg at bruge knockd direkte på VPN-boksen, som giver dig mulighed for at bruge alle muligheder for at sende e-mail, der er tilgængelige i Linux / GNU, som SSMTP og sendEmail for at nævne nogle få.

Hvem forstyrrer mit slummer?