So richten Sie ein VPN für Ihr Webentwicklungsteam ein

Veröffentlicht: 2021-10-11

Das Hauptmerkmal des modernen Internets ist seine ständige Verfügbarkeit. Es müssen keine Daten lokal gespeichert werden, die über das Netzwerk schnell zugänglich sind. Weitere Probleme entstehen, wenn diese Daten zu einem unvorhersehbaren Zeitpunkt plötzlich nicht mehr verfügbar sind. Die meisten Entwickler arbeiten remote und haben möglicherweise keine Ressourcen, wenn sie aus bestimmten Teilen kommen. In diesem Artikel werden wir uns ansehen, wie Sie ein VPN für Ihr Webentwicklungsteam einrichten können.

Häufige Internetprobleme

Was bedeutet die Unzugänglichkeit einer Internetressource praktisch?

- Einige Bibliotheken werden nicht heruntergeladen - die Entwicklungsumgebung des Projekts wird nicht ausgeführt. Das ist das wichtigste und größte Problem!

- Zoom, Slack oder Telegram funktionieren nicht - Sie können keine Kollegen kontaktieren.

- Einige Websites sind nicht verfügbar, z. B. GitHub - es ist unmöglich, Ihre Arbeit zu veröffentlichen.

Dies sind nicht alle möglichen Beispiele, aber selbst sie können die Produktivität des Teams erheblich reduzieren.

Wer ist schuldig?

In der Praxis werden die oben beschriebenen Einschränkungen meist vom Internetprovider umgesetzt. Und es macht keinen Sinn, den Anbieter dafür verantwortlich zu machen, weil die Beschränkungen durch die Verwaltungsakte der Länder eingeführt wurden. Der Anbieter sollte sich im Geschäft engagieren, nicht im politischen Kampf.

Doch manchmal entpuppt sich der Anbieter als Bösewicht. Beispielsweise können sie aus unbekannten Gründen den Datenverkehr an bestimmten TCP-Ports blockieren oder den unverschlüsselten HTTP-Datenverkehr ändern und den HTML-Code der Seite ändern und Anzeigen hinzufügen. Das erwartet man von manchen Betrügern, aber sicherlich nicht von einem großen Unternehmen, also ist es doppelt unangenehm (bei Interesse googeln Sie "Werbung über fremden Seiten").

Was zu tun ist?

Sobald das Ausmaß des Problems deutlich gemacht hat, dass es auf Unternehmensebene gelöst und nicht der Gnade der Teammitglieder überlassen werden sollte, können Sie die VPN-Technologie verwenden.

VPN ist ein virtuelles privates Netzwerk. Dies ist der Name einer Gruppe von Technologien, mit denen Sie ein virtuelles, physisch nicht vorhandenes (Overlay-) Computernetzwerk auf der Grundlage eines vorhandenen physischen Computernetzwerks erstellen können.

Dies bietet zusätzliche Möglichkeiten, die Privatsphäre zu erhöhen. In einem physischen Netzwerk steht Ihr Datenverkehr in erster Näherung allen Teilnehmern der Netzwerkbörse, allen Routern usw. zur Verfügung. Es gibt keine weiteren Teilnehmer im virtuellen Netzwerk, nur Sie und den Punkt, mit dem Sie sich verbinden. Wenn Sie einen für Ihr Webentwicklungsteam einrichten, ist dies ein VPN-Server. Zwischen euch beiden wird ein verschlüsselter Tunnel gelegt.

Virtuelle TUN-Netzwerkschnittstellen werden auf dem Clientcomputer und dem Server erstellt. Der verschlüsselte Datenaustausch findet direkt zwischen ihnen statt. Ihre Daten sind effektiv vor Man-in-the-Middle (MITM)-Angriffen geschützt. Niemand, der physischen Zugang zu den Geräten hat, durch die Ihr Datenverkehr läuft, kann Ihre Informationen abfangen oder ersetzen.

Es ermöglicht Ihnen auch den Zugriff auf Ressourcen, die in Ihrem Heimnetzwerk nicht verfügbar sind, aber vom VPN-Server verfügbar sind.

Mit der VPN-Technologie wird der Client Teil des Subnetzes, zu dem der Server gehört. Und kann auf die Ressourcen dieses Subnetzes zugreifen. Dies kann verwendet werden, um Einschränkungen zu umgehen und jedes andere Problem zu lösen, das eine entfernte und sichere Verbindung zu einem Subnetz erfordert.

Auswahl einer VPN-Implementierung

Entscheiden ist nicht tun. Es gibt mehrere gängige kostenlose VPN-Technologieimplementierungen. Sie können diese kostenlose Testversion von Surfshark VPN ausprobieren, um zu erfahren, was Sie bekommen könnten.

Was Sie sonst noch wählen können, nachdem Sie das richtige VPN gefunden haben

IPsec ist eine Reihe von Protokollen zur sicheren Datenübertragung. Es erschien Mitte der 90er Jahre. Es ist groß und flexibel, aber schwierig zu konfigurieren und auf niedrigem Niveau. Für manche Zwecke zu kompliziert.

WireGuard ist ein junges Projekt (2015) zur schnellen Vorbereitung auf die Arbeit. Potenziell schneller bei der Datenübertragung als andere VPNs, verwendet modernere Verschlüsselungsprotokolle – plattformübergreifend, verfügbar auf allen wichtigen Systemen. Der Nachteil ist derselbe wie der Vorteil. Um eine schnelle und einfache Installation zu gewährleisten, werden viele Low-Level-Entscheidungen im Kern des Programms getroffen. Beispielsweise die Verwendung des UDP-Protokolls, das möglicherweise nicht für alle effektiv ist.

Auswahl der Art zu starten und zu verwenden

Manuell

Der naheliegendste Weg ist, einen VPS zu mieten, sich über SSH zu verbinden und einen Server gemäß der Anleitung zu erstellen. Dies ist ein ziemlich langwieriger Prozess, da viele Befehle und Dateien manuell verschoben werden müssen.

Bei dieser Methode müssen Sie jedes Mal, wenn Sie einen neuen Server erstellen, dies erneut tun. Um Zeit zu sparen, können Sie Konfigurationsmanagementsysteme oder Containerisierungssysteme verwenden.

Konfigurationsmanagementsysteme sind Software, mit der Sie die Konfiguration von Remote-Servern (Puppet, Ansible usw.) automatisieren können. Der Vorteil dieses Ansatzes besteht darin, dass Sie mit wenigen Befehlen einen Remote-VPN-Server konfigurieren können. Und alle Konfigurationen, Konfigurationsvorlagen werden explizit im Textformat auf der steuernden Maschine abgelegt. Sie können selbst ein Deployment-Skript erstellen oder ein fertiges nehmen, beispielsweise auf GitHub.

Bei Containerisierungssystemen wird ein etwas anderer Ansatz verfolgt. Das gebräuchlichste derartige virtuelle Containerisierungssystem ist Docker. Die Installation eines Docker-Containers mit einem VPN auf einem Remote-Server kann sogar noch schneller sein als die Installation eines Servers über Ansible, was ein Plus ist. Die Liste der verfügbaren Konfigurationen kann jedoch von den Bildentwicklern eingeschränkt werden. Bilder sind Binärdateien, daher funktioniert es möglicherweise nicht, wenn Sie eine exotische Konfiguration reparieren müssen.

Serverarchitektur

Erstens kann, wie bereits erwähnt, die VPN-Technologie verwendet werden, um beispielsweise eine Verbindung zu einem geschlossenen Subnetz über einen Computer herzustellen, der Teil dieses Subnetzes und gleichzeitig ein VPN-Server ist. Wenn Sie wertvolle Ressourcen in Ihrem Subnetz haben, möchten Sie, dass sich niemand mit dem VPN-Server verbindet. Um dies zu tun, machen die meisten VPNs es normalerweise zu einem separaten Computer, der überhaupt nicht mit einem Netzwerk verbunden ist, vielleicht in einem Safe (kein Scherz). Und Signieranforderungen und signierte Zertifikate werden auf Wechselmedien übertragen.

Serverstart

Um das Ansible-Skript auszuführen, müssen Sie Ansible auf Ihrem Computer installieren, einen virtuellen Server mit Debian/Ubuntu mieten und den Zugriff auf den Server über SSH konfigurieren. Denken Sie beim Mieten eines Servers daran, dass einige Dienste es Ihnen nicht erlauben, eine Tun-Schnittstelle zu erstellen oder eine Paketweiterleitung durchzuführen. Bitte überprüfen Sie dies vor dem Kauf.

Die gesamte Interaktion mit dem Server erfolgt über drei Befehle:

1. Führen Sie das Skript zum Erstellen eines Servers und einer Zertifizierungsstelle aus.

2. Registrierung eines neuen Benutzers.

3. Widerrufen Sie ein Zertifikat nach Clientname.

Die Entwicklung von Möglichkeiten, Blockaden zu umgehen, ähnelt in vielerlei Hinsicht der Beziehung zwischen Raubtieren und Beute in der Natur. Für jeden neuen Zug gibt es einen Gegenzug. VPN-Verbindungen sind da keine Ausnahme.

Wenn Sie ein VPN verwenden, können Sie eine Vielzahl von Netzwerkressourcen verwenden. Da aber alle Daten durch den Tunnel vom VPN-Server zu Ihnen gehen, sieht es für den Anbieter so aus, als würden Sie nur mit einer IP-Adresse Daten austauschen.