6Aug

Hoe te kloppen in uw netwerk, deel 2: Bescherm uw VPN( DD-WRT)

We hebben je laten zien hoe je WOL op afstand kunt activeren door "Port Knocking" op je router. In dit artikel laten we zien hoe u het kunt gebruiken om een ​​VPN-service te beveiligen.

Afbeelding door Aviad Raviv &bfick.

Voorwoord

Als je de ingebouwde functionaliteit van DD-WRT hebt gebruikt voor VPN of als je een andere VPN-server in je netwerk hebt, zou je het kunnen waarderen om het te beschermen tegen brute force-aanvallen door het achter een knock-up te verbergen. Op deze manier filtert u de scriptkiddies die proberen toegang te krijgen tot uw netwerk. Met dat gezegd, zoals vermeld in het vorige artikel, is 'poort kloppen' geen vervanging voor een goed wachtwoord en / of beveiligingsbeleid. Onthoud dat een aanvaller met voldoende geduld de reeks kan ontdekken en een replay-aanval kan uitvoeren.
Houd er ook rekening mee dat het nadeel van het implementeren hiervan is dat wanneer een of meerdere VPN-clients verbinding willen maken, ze de knock-sequence vooraf moeten activeren en dat als ze de volgorde om welke reden dan ook niet kunnen voltooien, zekan helemaal niet VPN.

Overzicht

Om * de VPN-service te beschermen, zullen we eerst alle mogelijke communicatie met het uitschakelen door de instantiating-poort van 1723 te blokkeren. Om dit doel te bereiken, zullen we iptables gebruiken. Dit is omdat, zo wordt de communicatie gefilterd op de meeste moderne Linux / GNU-distributies in het algemeen en op DD-WRT in het bijzonder. Als je meer informatie wilt over iptables check je zijn wiki-vermelding, en bekijk ons ​​vorige artikel over het onderwerp. Nadat de service is beveiligd, maken we een knock-upreeks die de VPN-instantiëringspoort tijdelijk opent en deze ook automatisch sluit na een geconfigureerde hoeveelheid tijd, terwijl de reeds bestaande VPN-sessie is verbonden.

Opmerking: in deze handleiding gebruiken we de PPTP VPN-service als een voorbeeld. Met dat gezegd, dezelfde methode kan worden gebruikt voor andere VPN-typen, u hoeft alleen de geblokkeerde poort en / of het communicatietype te wijzigen.

Vereisten, veronderstellingen &Aanbevelingen

  • Er wordt van uitgegaan / vereist dat u een Opkg-enabled DD-WRT-router hebt.
  • Er wordt aangenomen / vereist dat u de stappen in de handleiding "Hoe te kloppen in uw netwerk( DD-WRT)" al hebt uitgevoerd.
  • Er wordt uitgegaan van netwerkkennis.

Laten we kraken.

Standaard "Blok nieuwe VPN's" -regel op DD-WRT

Hoewel het onderstaande fragment van "code" waarschijnlijk zou werken op elke, zichzelf respecterende, iptables met, Linux / GNU distributie, omdat er zoveel varianten zijn, zullen welaat alleen zien hoe het te gebruiken op DD-WRT.Niets houdt u tegen om het rechtstreeks in de VPN-box te implementeren. Echter, hoe dit te doen, valt buiten het bestek van deze gids.

Omdat we de firewall van de router willen vergroten, is het niet meer dan logisch dat we dit toevoegen aan het script "Firewall".Als u dat doet, wordt de opdracht iptables elke keer uitgevoerd als de firewall wordt vernieuwd en zo onze vergroting op zijn plaats houdt voor bewaarplichten.

Van de Web-GUI van DD-WRT:

  • Ga naar "Administratie" - & gt;“Commands”.
  • Voer de onderstaande "code" in het tekstvak in:

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

  • Klik op "Firewall opslaan".
  • voltooid.

Wat is dit "Voodoo" -commando?

De bovenstaande opdracht "voodoo magic" doet het volgende:

  • Zoekt waar de iptable-regel is die reeds bestaande communicatie doorlaat. We doen dit, omdat A. Op DD-WRT routers, als de VPN-service is ingeschakeld, deze zich net onder deze regel en B bevindt. Het is van essentieel belang voor ons doel om al bestaande VPN-sessies verder te laten leven nadat dekloppende gebeurtenis.
  • Trekt twee( 2) af van de uitvoer van de lijstopdracht om rekening te houden met de offset veroorzaakt door de informatieve kolomkoppen. Zodra dat is gebeurd, voegt u een( 1) toe aan het bovenstaande nummer, zodat de regel die we invoegen net na de regel komt die reeds ingestelde communicatie toestaat. Ik heb hier dit heel eenvoudige "wiskundeprobleem" achtergelaten, gewoon om de logica te maken van "waarom iemand de plaats van de regel moet verlagen in plaats van er één toe te voegen", helder.

KnockD-configuratie

We moeten een nieuwe triggeringreeks maken waarmee nieuwe VPN-verbindingen kunnen worden gemaakt. Hiertoe bewerkt u het knockd.conf-bestand door in een terminal op te geven:

vi /opt/etc/ knockd.conf

Voeg toe aan de bestaande configuratie:

[enable-VPN]
-reeks = 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_opdracht = iptables -D INPUT -s% IP% -ptcp --dport 1723 -j ACCEPT

Deze configuratie zal:

  • Stel het kansvenster in om de reeks te voltooien, tot 60 seconden.(Het wordt aanbevolen om dit zo kort mogelijk te houden)
  • Luister naar een reeks van drie stoten op poorten 2, 1 en 2010( deze volgorde is bedoeld om ports-scanners van de baan te brengen).
  • Nadat de reeks is gedetecteerd, voert u de "start_opdracht" uit. Dit "iptables" commando plaatst een "accepteer verkeer bestemd voor poort 1723 van waar de kloppen vandaan kwamen" op de top van de firewall regels.(De% IP% -richtlijn wordt speciaal behandeld door KnockD en wordt vervangen door het IP-adres van de klop-oorsprong).
  • Wacht 20 seconden voordat het "stop_command" wordt uitgegeven.
  • Voer de "stop_opdracht" uit. Waar dit "iptables" -commando het omgekeerde van het bovenstaande doet en de regel verwijdert die communicatie mogelijk maakt.
Dat is het, uw VPN-service zou nu alleen moeten kunnen worden aangesloten na een succesvolle "klop".

Auteur 's tips

Terwijl u helemaal klaar zou moeten zijn, zijn er een paar punten die ik nodig heb te vermelden.

  • Problemen oplossen. Vergeet niet dat als u problemen ondervindt, het segment 'probleemoplossing' aan het einde van het eerste artikel uw eerste stop moet zijn.
  • Als je wilt, kun je de "start / stop" -richtlijnen meerdere opdrachten laten uitvoeren door ze te scheiden met een semi-colen( ;) of zelfs een script. Als je dit doet, kun je een aantal handige dingen doen. Ik heb bijvoorbeeld een e-mail gestuurd waarin staat dat er een reeks is geactiveerd en waar vandaan.
  • Vergeet niet dat "Er is een app voor" en hoewel het niet in dit artikel wordt genoemd, wordt u aangemoedigd om het Android-kloppersysteem van StavFX te gebruiken.
  • Vergeet, ten aanzien van Android, niet dat er een PPTP VPN-client is die gewoonlijk door de fabrikant in het besturingssysteem is ingebouwd.
  • De methode om iets in eerste instantie te blokkeren en vervolgens al bestaande communicatie toe te staan, kan worden gebruikt op praktisch elke op TCP gebaseerde communicatie. In feite heb ik in de Knockd op DD-WRT 1 ~ 6-films al heel lang geleden gedaan, ik heb het remote desktop-protocol( RDP) gebruikt dat poort 3389 als voorbeeld gebruikt.
Opmerking: om dit te doen, moet je de e-mailfunctionaliteit op je router krijgen, wat er op dit moment echt niet is dat werkt omdat de SVN-snapshot van OpenWRT's opkg-pakketten in de war is. Daarom raad ik aan direct knock-down te gebruiken in de VPN-box, waardoor je alle opties kunt gebruiken voor het verzenden van e-mail die beschikbaar zijn in Linux / GNU, zoals SSMTP en sendEmail om er een paar te noemen.

Wie verstoort mijn sluimer?