VPN, Bridge, Router oder Firewall?

VPN, Bridge, Router oder Firewall?

Helfen Sie mir bitte herauszufinden, welchen Implementierungspfad ich für die folgende Aufgabe wählen soll:

Ich habe ein Blackbox-Gerät, das als Webserver fungiert (ich kann mich lokal damit verbinden, indem ich seine IP-Adresse in das Adressfeld des Browsers eingebe). Die Box implementiert keine Sicherheitsmaßnahmen außer einem einfachen Benutzernamen und einem Passwort. Das ist sicherlich in Ordnung, wenn sich dieser Server in einem isolierten Netzwerk befindet, aber ich möchte über das Internet darauf zugreifen können – also von überall auf der Welt. Dabei möchte ich TLS-Sicherheit zur Datenverschlüsselung verwenden.

Da ich einen Raspberry PI (und die OpenVPN-Software) zur Verfügung hatte, dachte ich, dass dieser für diese Anwendung geeignet wäre. Es gibt viele verschiedene Tutorials zur Implementierung von VPN, Bridge, Router und Firewall mit Raspberry PI, aber ich kann nicht herausfinden, welche der vier Funktionen für meine Anwendung geeignet ist. Das konzeptionelle Diagramm ist unten dargestellt:

Bildbeschreibung hier eingeben

Der Raspberry Pi verfügt über zwei Netzwerkschnittstellen für den Internetzugang: eine über Ethernet (eth0), die andere über Mobilfunk (eth1), je nachdem, welche verfügbar ist, wobei die Internetverbindung über die Erde bevorzugt wird. Die IP-Adressen für beide Schnittstellen sind bekannt. Die dritte Ethernet-Schnittstelle (eth2) wird über den Switch mit dem lokalen Netzwerk verbunden. Der Server wird ebenfalls mit dem Switch verbunden. Ich habe keine Kontrolle über den Server (es ist eine Blackbox) – ich kenne nur seine IP-Adresse.

Die Idee ist, dass Raspberry PI als Vermittler zwischen mir und dem Server fungiert, sodass ich über meinen Webbrowser eine sichere Verbindung zu seiner Webanwendung herstellen kann.Doch welche Funktionalität muss der Raspberry Pi implementieren: ein VPN, einen Router, eine Bridge oder eine Firewall?

BEARBEITEN:

Die oben beschriebene Aufgabe war mir zu anspruchsvoll (mangelnde Kompetenz) und ich beschloss, das Setup zunächst zu vereinfachen. Ich wollte den oberen Teil der Frage nicht entfernen, nur für den Fall, dass jemand ihn und die dazugehörigen Antworten nützlich findet. Stattdessen würde mein neues (vereinfachtes) Setup wie folgt aussehen:

Bildbeschreibung hier eingeben

Der RP wäre mit dem Mobilfunknetz verbunden durch dieppp0Schnittstelle und leiten Sie den gesamten Datenverkehr aneth0Schnittstelle, diedirektmit dem Server verbunden:

  1. dynamic ppp0 IP address (given by cell service provider)
  2. static eth0 IP address (assigned by me)
  3. non-secure internet connection
  4. RP is connected to the server directly (no switch needed)

Ich habe mehrere Lösungen gefunden wieDasUndDas, aber sie erklären nicht klar, warum die Dinge so gemacht werden. Sie bieten auch Befehlszeilenanweisungen, von denen ich nicht weiß, wie ich sie verwenden soll.rückgängig machen. Stattdessen wünschte ich, jemand würde auf die tatsächlichen System-/Konfigurationsdateien verweisen, die ich bei Bedarf bearbeiten und wiederherstellen könnte.

Wenn ich RPi derzeit mit dem Webserver verbinde, kann ich ihn über den Webbrowser durchsuchen. Ziel ist es, über RPi vom Internet aus auf den Webserver zugreifen zu können. Könnte jemand ein Tutorial zur richtigen Einrichtung des Routings bereitstellen, wobei zu berücksichtigen ist, dass die PPP0-Schnittstelle je nach Mobilfunkverbindung hoch- und heruntergefahren wird und dass ihre IP-Adresse jedes Mal anders und unbekannt ist?

Antwort1

Kurz und knapp;

Sie benötigen eine Firewall, um Ihren Webserver zu sichern, und Ihr Router bietet diese Funktionalität wahrscheinlich bereits.

EINZELHEITEN

Alles, was Sie wirklich brauchen, ist eine Firewall und SSL, um Ihren Webserver zu sichern. Wenn Ihr Heimrouter dies bereits bietet, bietet Ihnen der Raspberry Pi keine zusätzliche Sicherheit.

Sie sollten SSL verwenden, um die Kommunikation mit Ihrem Webserver zu sichern. Sie könnten den Raspberry Pi möglicherweise als Reverse-Proxy verwenden, um SSL-Funktionalität bereitzustellen, aber Reverse-Proxys existieren, weil SSL-Verschlüsselung rechenintensiv ist und der Proxy die SSL-Last vom Webserver nimmt. Der Pi hat jedoch wahrscheinlich weit weniger Rechenleistung als Ihr Webserver. Aber wenn Sie nach einem Pi-Projekt suchen, könnte das Spaß machen.

Ein weit verbreitetes Missverständnis ist, dass VPN „sicherer“ ist als ohne. Ein VPN ist einfach Verschlüsselung + Tunneling. Tunneling lässt beide Netzwerke glauben, dass sie sich im selben Netzwerk befinden. Sofern Sie nicht versuchen, zwei Netzwerke zu „verheiraten“, brauchen Sie kein VPN. SSL + Firewall sollten ausreichen.

Bildbeschreibung hier eingeben

Antwort2

Die einfachste Lösung wäre, Ihren Pi als Router/Firewall-Gerät zu konfigurieren. Das heißt, Sie könnten Anfragen an den Webserver so absichern, dass sie den Pi nur dann passieren, wenn sie über die VPN-Schnittstelle kommen, die auf ihm endet. Der Pi wird dadurch jedoch nicht von anderen Geräten in Ihrem LAN isoliert. Das bedeutet, dass alle Internetverbindungen nur dann funktionieren, wenn sie gemäß Ihrem Diagramm über den Pi geleitet werden. Wenn ein anderes Gerät im LAN kompromittiert wird, kann über dieses Gerät auf den Webserver zugegriffen werden.

(Wenn Sie eine einfache und einigermaßen sichere Lösung suchen, können Sie alles Folgende ignorieren.)

Es gibt komplexere und teurere Szenarien, die Sie stattdessen verwenden könnten. Anstatt einen normalen Switch zu verwenden, könnten Sie einen verwalteten Switch verwenden und den Webserver auf seinem eigenen VLAN konfigurieren, das nur für den Pi sichtbar ist (d. h. der Pi kommuniziert mit mehreren VLANs). Sie würden dem Webserver auch eine eigene IP-Adresse zuweisen, wodurch andere Geräte im LAN mit ihm kommunizieren können, aber nur über den Pi.

Sie können die oben genannte Switch-Idee noch weiter ausbauen, indem Sie das VLAN, in dem sich der Webserver befindet, mit einer Firewall versehen, sodass nur Pakete, die von der VLAN-Schnittstelle des PI stammen, über Port 80 kommunizieren können. Anschließend können Sie dem Pi einen Reverse-Proxy (beispielsweise mit Apache) hinzufügen, der über Port 443 antworten und dann über Port 80 Anfragen vom Webserver abrufen kann. Durch die Verwendung eines clientseitigen und regulären Zertifikats können Sie sicherstellen, dass sich nur Personen mit Zugriff auf den Router und Personen mit einem Client-Zertifikat verbinden können.

verwandte Informationen