So klopfen Sie in Ihr Netzwerk ein, Teil 2: Schützen Sie Ihr VPN (DD-WRT)

So klopfen Sie in Ihr Netzwerk ein, Teil 2: Schützen Sie Ihr VPN (DD-WRT)

How Knock Into Your Network

Wir haben es dir gezeigt So triggern Sie WOL aus der Ferne durch Port Knocking auf Ihrem Router . In diesem Artikel zeigen wir, wie Sie damit einen VPN-Dienst schützen können.



Bild von Aviad Raviv & bfick .

Vorwort

Wenn Sie verwendet haben Integrierte Funktionalität von DD-WRT für VPN oder haben ein anderer VPN-Server In Ihrem Netzwerk werden Sie die Möglichkeit zu schätzen wissen, es vor Brute-Force-Angriffen zu schützen, indem Sie es hinter einer Klopfsequenz verstecken. Auf diese Weise filtern Sie die Script-Kiddies heraus, die versuchen, Zugang zu Ihrem Netzwerk zu erhalten. Abgesehen davon ist Port Knocking, wie im vorherigen Artikel erwähnt, kein Ersatz für ein gutes Passwort und/oder eine gute Sicherheitsrichtlinie. Denken Sie daran, dass ein Angreifer mit genügend Geduld die Sequenz entdecken und einen Wiederholungsangriff ausführen kann.
Denken Sie auch daran, dass der Nachteil der Implementierung darin besteht, dass VPN-Clients, die eine Verbindung herstellen möchten, die Klopfsequenz auslösen müssen vorweg und dass sie, wenn sie die Sequenz aus irgendeinem Grund nicht abschließen können, überhaupt kein VPN herstellen können.

Überblick

Um *den VPN-Dienst zu schützen, werden wir zuerst alle mögliche Kommunikation mit ihm deaktivieren, indem wir den instanziierenden Port von 1723 blockieren. Um dieses Ziel zu erreichen, verwenden wir iptables. Dies liegt daran, dass die Kommunikation auf den meisten modernen Linux/GNU-Distributionen im Allgemeinen und auf DD-WRT im Besonderen so gefiltert wird. Wenn Sie weitere Informationen zu iptables wünschen, überprüfen Sie dies Wiki-Eintrag , und werfen Sie einen Blick auf unseren vorherigen Artikel zu diesem Thema. Sobald der Dienst geschützt ist, erstellen wir eine Klopfsequenz, die den VPN-Instanziierungsport vorübergehend öffnet und nach einer konfigurierten Zeit automatisch schließt, während die bereits eingerichtete VPN-Sitzung verbunden bleibt.

Hinweis: In dieser Anleitung verwenden wir den PPTP-VPN-Dienst als Beispiel. Trotzdem kann die gleiche Methode für andere VPN-Typen verwendet werden, Sie müssen nur den blockierten Port und/oder den Kommunikationstyp ändern.

Voraussetzungen, Annahmen & Empfehlungen

Lass uns krachen.

Standard Neue VPN-Regel auf DD-WRT blockieren

Während der folgende Codeausschnitt wahrscheinlich auf jeder Linux/GNU-Distribution mit Selbstachtung funktionieren würde, die iptables verwendet, werden wir nur zeigen, wie man es auf DD-WRT verwendet, da es so viele Varianten gibt. Nichts hält Sie davon ab, es auf Wunsch direkt auf der VPN-Box zu implementieren. Wie das geht, würde jedoch den Rahmen dieses Handbuchs sprengen.

Da wir die Firewall des Routers erweitern möchten, ist es nur logisch, dass wir das Firewall-Skript hinzufügen. Dies würde dazu führen, dass der Befehl iptables jedes Mal ausgeführt wird, wenn die Firewall aktualisiert wird, wodurch unsere Erweiterung für immer beibehalten wird.

Von der Web-GUI von DD-WRT:

Apple Watch Energiesparmodus
  • Gehen Sie zu Verwaltung -> Befehle.
  • Geben Sie den folgenden Code in das Textfeld ein:

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

  • Klicken Sie auf Firewall speichern.
  • Fertig.

Was ist dieser Voodoo-Befehl?

Der obige Voodoo-Magiebefehl macht Folgendes:

  • Findet, wo sich die iptable-Zeile befindet, die es ermöglicht, bereits bestehende Kommunikation durchzulassen. Wir tun dies, weil A. auf DD-WRT-Routern der VPN-Dienst, wenn er aktiviert ist, sich direkt unter dieser Linie befindet und B. Es ist wichtig für unser Ziel, bereits eingerichtete VPN-Sitzungen nach dem klopfendes Ereignis.
  • Zieht zwei (2) von der Ausgabe des Listing-Befehls ab, um den durch die Informationsspaltenüberschriften verursachten Offset zu berücksichtigen. Sobald dies erledigt ist, fügen Sie der obigen Zahl eins (1) hinzu, sodass die Regel, die wir einfügen, direkt nach der Regel folgt, die eine bereits hergestellte Kommunikation zulässt. Ich habe dieses sehr einfache mathematische Problem hier gelassen, nur um die Logik zu verdeutlichen, warum man eine von der Stelle der Regel entfernen muss, anstatt eine hinzuzufügen.

KnockD-Konfiguration

Wir müssen eine neue Triggersequenz erstellen, die das Erstellen neuer VPN-Verbindungen ermöglicht. Bearbeiten Sie dazu die Datei 'knockd.conf', indem Sie in einem Terminal Folgendes ausgeben:

vi /opt/etc/knockd.conf

An die vorhandene Konfiguration anhängen:

[enable-VPN]
sequence = 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% -p tcp --dport 1723 -j ACCEPT

Diese Konfiguration wird:

  • Stellen Sie das Zeitfenster zum Abschließen der Sequenz auf 60 Sekunden ein. (Es wird empfohlen, dies so kurz wie möglich zu halten)
  • Hören Sie sich eine Sequenz von drei Klopfen auf die Ports 2, 1 und 2010 an (diese Reihenfolge ist beabsichtigt, um Port-Scanner aus der Bahn zu werfen).
  • Nachdem die Sequenz erkannt wurde, führen Sie den start_command aus. Dieser iptables-Befehl platziert einen akzeptierenden Verkehr, der für Port 1723 bestimmt ist, von dem aus die Klopfe kamen, an die Spitze der Firewall-Regeln. (Die %IP%-Direktive wird von KnockD speziell behandelt und durch die IP des Klopf-Ursprungs ersetzt).
  • Warten Sie 20 Sekunden, bevor Sie den stop_command ausgeben.
  • Führen Sie den stop_command aus. Wobei dieser iptables-Befehl das Gegenteil von oben macht und die Regel löscht, die die Kommunikation ermöglicht.
Das war's, Ihr VPN-Dienst sollte jetzt erst nach einem erfolgreichen Klopfen verbindbar sein.

Autor 's tipps

Während Sie alle bereit sein sollten, gibt es ein paar Punkte, die ich erwähnen muss.

  • Fehlerbehebung. Denken Sie daran, wenn Sie Probleme haben, den Abschnitt zur Fehlerbehebung am Ende von der erste artikel sollte Ihre erste Anlaufstelle sein.
  • Wenn Sie möchten, können Sie die Anweisungen start/stop mehrere Befehle ausführen lassen, indem Sie sie mit einem Semikolen (;) oder sogar einem Skript trennen. Auf diese Weise können Sie einige raffinierte Dinge tun. Zum Beispiel habe ich geklopft, um mir eine *E-Mail zu senden, die mir mitteilt, dass eine Sequenz ausgelöst wurde und woher.
  • Vergiss das nicht Dafür gibt es eine App und obwohl es in diesem Artikel nicht erwähnt wird, werden Sie ermutigt, zu greifen StavFX 's Android Klopfer-Programm .
  • Apropos Android, vergessen Sie nicht, dass normalerweise ein PPTP-VPN-Client vom Hersteller in das Betriebssystem integriert ist.
  • Die Methode, zunächst etwas zu blockieren und dann eine bereits aufgebaute Kommunikation weiter zuzulassen, kann auf praktisch jede TCP-basierte Kommunikation angewendet werden. Tatsächlich in der Knockd auf DD-WRT 1 ~ 6 Filme, die ich vor langer Zeit gemacht habe, habe ich das Remote-Desktop-Protokoll (RDP) verwendet, das Port 3389 als Beispiel verwendet.
Hinweis: Um dies zu tun, müssen Sie auf Ihrem Router die E-Mail-Funktionalität erhalten, die derzeit wirklich nicht funktioniert, da der SVN-Snapshot der opkg-Pakete von OpenWRT in Unordnung ist. Aus diesem Grund empfehle ich die Verwendung von Knockd direkt auf der VPN-Box, wodurch Sie alle unter Linux/GNU verfügbaren Optionen zum Senden von E-Mails nutzen können, z SSMTP und E-Mail senden um einige zu nennen.

Wer stört meinen Schlaf?

WEITER LESEN
  • & rsaquo; Cyber ​​Monday 2021: Die besten Tech-Deals
  • › Der Computerordner ist 40: Wie Xerox Star den Desktop erstellte
  • › So finden Sie Ihr Spotify Wrapped 2021
  • › Funktionen vs. Formeln in Microsoft Excel: Was ist der Unterschied?
  • › 5 Websites, die jeder Linux-Benutzer mit einem Lesezeichen versehen sollte
  • › Was ist MIL-SPEC Fallschutz?