IPSec – Geschichte, Architektur, Verbindung / Sudo Null IT News

IPSec

IP Security ist eine Suite von Protokollen, die fast 20 Standardvorschläge und 18 RFCs umfasst. Es ermöglicht die Authentifizierung (Authentifizierung), Integritätsprüfung und/oder Verschlüsselung von IP-Paketen. IPsec umfasst auch Protokolle für den sicheren Schlüsselaustausch über das Internet.

Der Hauptzweck des Protokolls ist die Organisation von VPN-Verbindungen. Wir erklären Ihnen, wie IPsec entstanden ist und funktioniert, sowie wie Sie eine VPN-Verbindung in Win10 herstellen.

Ein bisschen Geschichte

1994 veröffentlichte das Internet Architecture Board (IAB) einen Bericht mit dem Titel The Security of the Internet Architecture. Dieses Dokument beschreibt die Hauptanwendungen der erweiterten Netzwerksicherheit, einschließlich Schutz vor unbefugter Überwachung, Paket-Spoofing und Datenflusskontrolle. Als vorrangige und wichtigste Schutzmaßnahmen wurde die Notwendigkeit genannt, ein Konzept und grundlegende Mechanismen zur Gewährleistung der Integrität und Vertraulichkeit von Datenströmen zu entwickeln. Da eine Änderung der grundlegenden Protokolle der TCP/IP-Familie eine vollständige Neustrukturierung des Internets nach sich ziehen würde, war es notwendig, die Sicherheit des Informationsaustauschs in offenen Telekommunikationsnetzen auf Basis bestehender Protokolle zu gewährleisten. Damit begann die Erstellung der Secure IP-Spezifikation, die die Protokolle IPv4 und IPv6 ergänzt.

Die Architektur

Die IP-Sicherheitsspezifikation (heute bekannt als IPsec) wird von der IP-Sicherheitsprotokoll-Arbeitsgruppe der IETF entwickelt. Anfänglich umfasste IPsec algorithmenunabhängige Basisspezifikationen, die als RFCs „IP Security Architecture“, „Authentication Header (AH)“, „Encrypted Data Encapsulation (ESP)“ (RFC1825, 1826 und 1827) veröffentlicht wurden.

Im November 1998 schlug die IP Security Protocol Working Group neue Versionen dieser Spezifikationen vor, die derzeit den Status von vorläufigen Standards haben, dies sind RFC2401-RFC2412. RFC1825-27 gilt seit einigen Jahren als veraltet und wird nicht wirklich angewendet. Darüber hinaus gibt es mehrere Algorithmus-abhängige Spezifikationen, die die Protokolle MD5, SHA, DES verwenden.

Die IP-Sicherheitsprotokoll-Arbeitsgruppe entwickelt auch Schlüsselinformationsverwaltungsprotokolle. Die Aufgabe dieser Gruppe ist die Entwicklung des Internet Key Management Protocol (IKMP), eines von den verwendeten Sicherheitsprotokollen unabhängigen Application Layer Key Management Protocol. Jetzt werden Schlüsselverwaltungskonzepte unter Verwendung der Internet Security Association and Key Management Protocol (ISAKMP)-Spezifikation und des Oakley Key Determination Protocol behandelt.

Die ISAKMP-Spezifikation beschreibt die Mechanismen zum Aushandeln der Attribute der verwendeten Protokolle, während Sie mit dem Oakley-Protokoll Sitzungsschlüssel auf Computern im Internet festlegen können. Die Möglichkeit, SKIP-Schlüsselverwaltungsmechanismen zu verwenden, wurde ebenfalls in Betracht gezogen, aber jetzt werden sie nirgendwo verwendet. Schlüsselinformationsverwaltungsstandards, die erstellt werden, werden wahrscheinlich Schlüsselverteilungszentren unterstützen, die denen ähneln, die im Kerberos-System verwendet werden. Schlüsselverwaltungsprotokolle für IPSec auf Basis von Kerberos werden derzeit von der relativ neuen Arbeitsgruppe KINK (Kerberized Internet Negotiation of Keys) bearbeitet.

Die Datenintegritäts- und Vertraulichkeitsgarantien in der IPsec-Spezifikation werden durch die Verwendung von Authentifizierungs- bzw. Verschlüsselungsmechanismen bereitgestellt. Letztere basieren wiederum auf der Vorvereinbarung der Parteien über den sogenannten Informationsaustausch. “Sicherheitskontext” – verwendete kryptografische Algorithmen, Schlüsselinformationsverwaltungsalgorithmen und ihre Parameter.

Die IPsec-Spezifikation sieht die Möglichkeit für Parteien vor, Informationen auszutauschen, um verschiedene Protokolle und Parameter für die Authentifizierung und Verschlüsselung von Datenpaketen sowie verschiedene Schlüsselverteilungsschemata zu unterstützen. In diesem Fall ist das Ergebnis des Aushandelns des Sicherheitskontexts die Einrichtung eines Sicherheitsparameterindex (SPI), der im Wesentlichen ein Zeiger auf ein bestimmtes Element der internen Struktur der Informationsaustauschseite ist, das mögliche Sätze von Sicherheitsparametern beschreibt.

IPSec, das Teil von IPv6 werden wird, arbeitet auf der dritten oder Netzwerkschicht. Dadurch werden übertragene IP-Pakete auf eine Weise geschützt, die für Netzwerkanwendungen und -infrastruktur transparent ist. Im Gegensatz zu SSL (Secure Socket Layer), das auf der vierten (Transport-)Schicht arbeitet und enger mit den höheren Schichten des OSI-Modells verbunden ist, ist IPSec darauf ausgelegt, Sicherheit auf niedriger Ebene bereitzustellen.

IPSec fügt einen Header zu IP-Daten hinzu, die bereit sind, über ein VPN gesendet zu werden, um geschützte Pakete zu identifizieren. Vor der Übertragung werden diese Pakete in andere IP-Pakete eingekapselt. IPSec unterstützt mehrere Verschlüsselungsarten, einschließlich Data Encryption Standard (DES) und Message Digest 5 (MD5).

Um eine sichere Verbindung aufzubauen, müssen sich beide Sitzungsteilnehmer schnell auf Sicherheitsparameter (Authentifizierungsalgorithmen und Schlüssel) einigen können. IPSec unterstützt zwei Arten von Schlüsselverwaltungsschemata, durch die Teilnehmer Sitzungsparameter aushandeln können. Diese doppelte Unterstützung verursachte damals Reibungen in der IETF-Arbeitsgruppe.

Mit der aktuellen Version von IP, IPv4, Internet Secure Association Key Management Protocol (ISAKMP) oder Simple Key Management for Internet Protocol kann verwendet werden. Mit der neuen Version von IP, IPv6, muss ISAKMP, jetzt bekannt als IKE, verwendet werden, obwohl SKIP weiterhin möglich ist. Es sei jedoch daran erinnert, dass SKIP nicht mehr als Schlüsselkandidat für das Management gilt und bereits 1997 von der Liste möglicher Kandidaten ausgeschlossen wurde.

Vorteile von IPSec

IPSec ist schnell. Es läuft im Kontext des Kernels des Betriebssystems und OpenVPN im Kontext des Benutzers (Userspace), und für die Verarbeitung jedes Pakets findet ein Kontextwechsel zwischen den Kernel-Prozessen und den Benutzerprozessen statt.

Moderne Betriebssysteme (außer Mobile) unterstützen IPsec IKEv2 von Haus aus. Es müssen keine zusätzliche Anwendungssoftware, virtuelle TUN/TAP-Adaptertreiber und dergleichen installiert werden. VPN-Verbindungen werden über das Systemmenü konfiguriert.

Einrichten einer VPN-Verbindung in Windows 10

Betrachten Sie ein Beispiel für die Einrichtung einer VPN-Verbindung basierend auf IKEv2

IKE (Internet Key Exchange) ist ein echtes IPsec-Steuerungsprotokoll, das auf ISAKMP basiert. In der Praxis können wir sagen, dass Phase 1 das Aushandeln von IKE-Einstellungen und Phase 2 das Aushandeln von ESP-Einstellungen ist.

Auf UNIX-ähnlichen Systemen ist IKE der einzige Teil des IPsec-Stacks, der als normaler Prozess ausgeführt wird. Die Verschlüsselung selbst ist im Kernel implementiert, und der IKE-Daemon übergibt ihm Parameter nach Verhandlungen mit der zweiten Partei. Unter Linux erfolgt dies über netlink oder die ip xfrm-Befehle.

Der VPN-Verbindungsaufbau-Assistent wird aus dem Startmenü aufgerufen.

Wählen Sie den Punkt „VPN-Verbindung hinzufügen“ und gehen Sie zum Fenster VPN-Verbindungseinstellungen.

Wir gehen zum Punkt “VPN-Verbindung hinzufügen” und gelangen in das Verbindungseinstellungsfenster.

Füllen Sie die Felder aus:

1) Dienstanbieter – “Windows (eingebettet)” (es gibt keine anderen Optionen).

2) Verbindungsname – ein beliebiger Name (Hauptsache, er kann von anderen Verbindungen, falls vorhanden, unterschieden werden).

3) Servername oder -adresse – die Adresse des VPN-Servers (über den die VPN-Verbindung aufgebaut wird).

4) VPN-Typ – in unserem Beispiel IKE2. Aber auch ältere Protokolle (SSTP, PPTP) können verwendet werden. Es gibt auch eine Option zur “automatischen” Auswahl des Verbindungstyps basierend auf den vom Server unterstützten.

5) Art der Anmeldedaten – bezieht sich auf die Authentifizierungsmethode. Hauptsächlich verwendet werden traditionelle Logins per “Login / Passwort” oder über ein Zertifikat.

6) „Benutzername“, „Passwort“.

Einrichten eines VPN-Servers

Sie können Ihren IKEv2-Server in wenigen Minuten mit automatischen Installationsskripten oder mit vorgefertigten Containern bereitstellen. Die Verwendung von Docker wird nicht empfohlen, da sein Netzwerk-Subsystem die IPsec-Leistung bei billigen VPS-Plänen reduziert. Sie können den IKEv2-Server auch manuell konfigurieren, es gibt Artikel auf Habré mit Beispielen zur Einrichtung des Strongswan-Servers.

Wir werden eines der erfolgreichsten Autokonfigurationsskripte github.com/jawj/IKEv2-setup verwenden

Dieses Skript ist nett, weil es Zertifikate von Let’s Encrypt verwendet und automatisch ein gültiges Zertifikat generiert.

Schritt 1: Serverauswahl

Um einen VPN-Server bereitzustellen, benötigen wir Vcd. Die einfachste Konfiguration mit einem Prozessorkern reicht aus. Das Skript aus unserem Beispiel wird am besten auf Ubuntu getestet, daher werden wir dieses Betriebssystem-Image beim Erstellen des Servers verwenden.

Wir warten darauf, dass die Serverinstallation abgeschlossen ist, richten das Netzwerk ein und notieren die Anmeldeinformationen für die Verbindung.

Schritt 2: Installieren Sie Strongswan

Wir verbinden uns über SSH, laden das Installationsskript herunter und führen es aus:

# automatische Installation des IKEv2-Servers starten wget chmod u+x setup.sh ./setup.sh …. # Geben Sie den Domänennamen der IP-Adresse des Servers ein # verwenden Sie den Dienst sslip.io, wenn Sie keine Domäne haben Hostname für VPN: myvpn.sslip.io # VPN-Benutzername VPN-Benutzername: user-test # VPN-Passwort Passwort (bitte keine Anführungszeichen): …. # Skriptanfrage zum Erstellen eines neuen SSH-Benutzers, dieser Schritt kann nicht übersprungen werden.

Schritt 3: Client-Setup

Die angegebenen VPN-Benutzerdaten müssen nun verwendet werden, um die Verbindung auf dem Client-Host einzurichten. Sie müssen den genauen Domänennamen angeben, den Sie in Hostname for VPN eingegeben haben.

Schritt 4: Neue Benutzer hinzufügen

Um einem bereits erstellten Server einen neuen Benutzer hinzuzufügen, bearbeiten Sie die Datei /etc/ipsec.secrets.

# nano /etc/ipsec.secrets 123-45-67-89.sslip.io : RSA “privkey.pem” coolguy : EAP “C00lPassword” badguy : EAP “bAdP$$word”

Schlussfolgerungen

Es scheint mir, dass aus Sicht des Benutzers IKEv2/IPsec anderen VPN-Implementierungen vorzuziehen ist. Das Einrichten und Verwalten eines solchen Servers ist zumindest nicht schwieriger als ein ähnlicher auf OpenVPN. Bei der Organisation des Fernzugriffs in einer Unternehmensumgebung ist IKEv2 durchaus geeignet. Dadurch können Sie auf unnötige Gesten verzichten und sind einfacher einzurichten und zu warten.

Was es sonst noch Interessantes im Cloud4Y Blog gibt

→ Wie man einen Tresor mit einem Griff öffnet

→ Lassen Sie Linux wie Windows 95 aussehen

→ So drucken Sie einen mechanischen Farbfernseher auf einem 3D-Drucker

→ WD-40: ein Tool, das fast alles kann

→ Aufstieg und Fall des 6502 Game Chips

Abonnieren Sie unsere Telegramm-Kanal, um den nächsten Artikel nicht zu verpassen. Wir schreiben nur über das Geschäft. Und wir erinnern Sie auch an die zweite Staffel unserer Serie IT-bash-bash. Es kann unter eingesehen werden Youtube und In Kontakt mit.

frische Serie

Similar Posts

Leave a Reply

Your email address will not be published.