VPN und IPSec

Thema 6 Hassenstein

Thema 6 Hassenstein


M. W.
Diese Lernkarten behandeln auf Universitätsniveau die Themen VPN und IPSec, wobei der Fokus auf Protokollen wie IKEv1 und IKEv2, Sicherheitsaspekten und der Funktionsweise von NAT und ESP liegt. Sie eignen sich für Studierende und IT-Profis, die sich mit Netzwerksicherheit und VPN-Technologien vertraut machen möchten, insbesondere mit der Konfiguration und Problemlösung bei IPSec-Verbindungen.
Flashcards
39
Students
2
Language
German
Category
Computer Science
Level
University
Created / Updated
04.01.2019 / 25.11.2019

Lernkarten

Erkläre kurz die 3 Definitionen von Virtual Private Network (VPN).

- ein privates Netzwerk, welches über das internet gespannt wird.

- ein Kommunikationsnetzwerk zwischen Nodes für eine bestimmte Gruppe von Benutzern, dies wird erlangt durch die unterteilung des unterliegenden Netzwerks

- ein logisches Netzwerk, welches über das Internet getunnelt wird, oft wird encryption gebraucht

Nenne zwei Mögichkeiten für VPN, welche einen nicht kryptographischen Approach haben.

Nenne drei Möglichkeiten für VPN, die einen kryptographischen Approach haben.

- 2 non-crypto: route filtering, mpls

- 3 crypto: Network Access Layer Protocols (Layer 2), Internet Layer Security Protocols (Layer 3), Transport Layer Security Protocols (Layer 4)

Nenne die drei Typen von VPNs (Anhaltspunkt, was wird miteinander verbunden?)

- site to site

- end to site

- end to end

Kryptographischen VPN Protokolle, ordne folgende Protokole den OS-Layers zu:

L2TP, VPN over DTLS, IPSec, IKE, SSTP, SSL-VPN

Layer 2: L2TP

Layer 3: IPSec, IKE

Layer 4: SSL-VPN, VPN over DTLS, SSTP

Nenne eine alternative Open Source Lösung für VPN und drei Vorteile dieser.

WireGuard -> weniger Code, einfaches setup, schnelle connections, starke algorithmen, einfacher handshake

Das SSTP (Secure Socket Tunneling Protocol), erkläre grob deren Funktionalität und die daraus folgenden Vorteile. Welcher Port wird verwendet?

- SSTP stellt eine sichere SSL/TLS Verbindung her duch welche PPP Traffic getunnelt wird, dies wird gebraucht um ältere authentifizierungs methoden wie EAP-TLS, PEAP und MS-CHAPv2 verwenden zu können.. 

- TCP Port 443 wird verwendet, welcher eigentlich immer offen ist, da HTTPS auch auf diesem Port läuft.

Für welche Programme sollte authentication und encryption gemacht werden?

TLS/SSL Verbindungen ist die Absicherung der Verbindung auf welchem Layer? Nenne ein Protokollbeispiel.

Was ist der Vorteil, wenn bereits auf Layer 3 verschlüsselt wird? Nenne ein Protokoll für die Verschlüsselung auf L3.

- theoretisch für alle Programme

- Layer 4 --> HTTPS

- Der ganze Payload des IP-Packets ist bereits verschlüsselt und authentifiziert. IPSec ist ein solches Protokoll.

IPSec is a collection of standards for IP security that enriches the Internet layer with security.

But what's it's backdraw?

- IPSec contains too many options and too much flexibility to be secure --> Trotzdem nach Evaluation das beste IP Security Protocol. (Bruce Schneier)

Bevor mit IPSec eine sichere Verbindung aufgebaut wird müssen sich die beiden Parteien authentifizieren, mit welchem Protokoll geschieht dies?

Wenn sie sich authentifziert haben, was tauschen sie danach aus?

- mittels IKE (internet key exchange) protocol over udp

- einen session key

Was heisst IRAC und was bedeutet es?

Welches ist die aktuelle IKE version?

- Internet Remote Access Client, dies ist eine client-to-site verbindung (employee to company)

- IKEv2

Was ist das Problem mit IKEv1?

- viele Vulnerabilities z.B. zu viele Nachrichten im Verbindungsaufbau

Was kommt neu mit IKEv2?

- NAT-T

- Client Config

- User Auth

Was ist der Unterschied zwischen IPSec und MPLS im Bezug auf Labels?

- Bei MPLS werden die Packete auch gelabled, jedoch ohne kryptographische Funktionen zu verwenden. D.h. bei MPLS wird der Traffic gelabled, jedoch in cleartext übertragen.

- Bei IPSec wird der Payload de IP Packetes in einen weiteren IPSec-Header eingepackt.

Was teile sich die beiden Server A und B nach dem IKE?

Was bedeutet Authenticated Encryption?

- ein shared secret

- dass die einzelnen IP Packete folgende Eigenschaften haben: confidentiality, data integrity, authenticity

- Auf Grund von welcher Datenbank entscheidet IKE, ob eine SA aufgebaut werden darf?

Welche Komponente sorgt dafür, dass Packete PROTECTED, DISCARDED oder BYPASSED werden? Und basierend auf welcher Datenbank trifft sie ihre Entscheidungen?

Was macht die SPI?

- Auf Grund der SAD.

- Die Policy Engine und sie entscheided auf Grund der SPD.

- Die SPI identifiziert das zugehörige SA für das einkommende Packet.

Wenn IPsec für IPv4 und IPv6 implementiert wird, was ist der Unterschied?

- Bei IPv6 ist IPsec teil des ipv6 protokolls und es wird end-to-end verschlüsselt.

- Bei IPV4 ist dies nicht teil des protokolls und wird meist zwischen border routers (firewalls) verschlüsselt.

Was ist der Unterschied von ESP (Encapsulation Security Payload) und AH (Authentication Header) Protocol?

In die Antwort einzubeziehende Punkte sind authentication, encryption, integrity und NAT.

- Mit AH wird das gesamte IP Paket inkl. Header gehashed (hmac), dadurch wird authentication und integrity geboten. Jedoch keine verschlüsselung und es funktioniert nicht mit NAT, da bei NAT z.B. die Source-IP abgeändert würde und dies, da gehashed nicht mehr möglich ist! (Achtung: es werden nicht alle felder des IP-headers gehashed, da diese für die Weiterverarbeitung gebraucht werden, wie: TOS, fragment offset, flags, ttl und ip header checksum)

- Mit ESP wird nur der Payload des IP-Paketes verändert (verschlüsselt) deshalb funktioniert ESP mit NAT. Bei ESP wird authentication, integrity und encryption sichergestellt.

Bei IPv4 wird, um IPSec nutzen zu können, ein weiterer Header hinzugefügt.

Nenne die beiden Layers, zwischen welchen der Header eingefügt wird.

Des Weiteren könnte bei der Erweiterung eines IP-Packets mit einem weiteren Header was das Problem werden?

- Zwischen Layer 3 (Network Layer) und Layer 4 (Transport Layer).

- Die MTU (max. transmission unit), welche ev. beim ausgehenden router angepasst werden muss, damit der header nicht die mtu des egress routers übersteigt.

Erkläre die Felder in rot und gelb.

- Next Header: Dies identifiziert das Protokoll des Payloads

- AH-Length: Länge des AH Headers

- Reserved: immer zero

- SPI: 32bit zahl für die Zuordnung zu einer konverstation

- Seq. number: counter gegen antireplay attacken

- auth data: berechnet über das gesamte packet (wieder mit einigen header fields als ausnahme)

Beim AH Header haben wir bereits einige Felder kennengelernt, nun sollen Sie die Funktion des IV, Padding erläutern und erklären, was sich gegenüber der Authentication data bei AH geändert hat (hint: NAT)

- der IV dient für den kryptographischen algorithmus, welcher für die verschlüsselung gebraucht wird.

- das padding wird benötigt um entsprechend von block-orienterten algorithmen ein multiple dieser zur verfügung zu stellen

- und im gegensatz zu AH wird bei ESP der IP Header nicht gehashed (hmac), was wiederum das NATting erlaubt.

Erkläre die beiden Modi von IPSec Transportmode und Tunnelmode.

- Bei Transportmode wird nur der Payload des IP-Paketes verschlüsselt, d.h. die IP Header bleiben bestehen und NATting ist supported

- Bei Tunnelmode wird das gesamte IP-Paket inkl. header verschlüsselt.

Keep in mind: die tunnel modes sind unabhängig von AH oder ESP. D.h. z.B. der Tunnelmode kann sowohl mit ESP oder auch AH verwendet werden. Aber in den meisten Fällen macht es eher Sinn ESP zu nutzen, da ja mit AH nicht verschlüsselt wird.

Studiere das Bild unterhalb und definiere den Payload des ESP Protocols.

Welche Felder beinhaltet der Payload?

- Den IP-Header (des inneren Packetes) violett, den TCP/UDP Header gelb und den Payload des inneren Packets rosa.

Für was wird das IKE (Internet Key Exchange) gebraucht?

Welches Protoll wird vom IKE verwendet?

Welche drei Methoden werden von IKE zur Authentifizierung angeboten?

- Zum gemeinsamen definieren eines Keys und die Authentifizierung der Peers untereinander.

- Diffie-Hellman Key Exchange

3 methoden:
- RSA Key Based oder Asymmetrisch mit certs
- Preshared Key (symmetrisch)
- EAP (Extensible auth protocol)

IKE - Security Policy Database (SPD)

Was macht und was ist die SPD in der IPSec Kommunikation?

- Die SPD ist eine Datenbank, welche festlegt, mit welchen Partner wie kommuniziert wird.

- Welche Partner wird für einkommende und ausgehende IP-Kommunikationen das Packet geprüft und mit der Datenbank abgeglichen.

- in der Datenbank befninden sich Infos für die einkommenden/ausgehenden Verbindungen wie:

Welche Partner wie verbinden:
 - sichere oder unsichere Verbindung
- authenticated and encrypted -> ESP
- authenticated only -> AH

Welche Authentication Methoden (pro Verbindung):
- Preshared
- Certificate
- RSA Keys,
- EAP

Welche Algorithmen werden gebraucht (hashing und encryption) 
Welcher Traffic (port-basiert)

Wenn von der Security Engine Traffic mit der SPD (Sec Policy Database) abgeglichen wird, passiert dies mit sogenannten Traffic Selectors. Auf welchen Kritierien basieren diese Traffic Selectors und was entsteht aus einem Matching von Traffic Selectors?

- source/dst. ip address (einzelne hosts oder gar netze)

- source/st port (einzelne ports, list of ports, regions of ports)

- es entseht eine SA (Security Association)

IPSec - Security Parameter Index (SPI)

Wann und wie wird der SPI gebildet und für was er gebraucht wird? Ev. kannst du noch erwähnen , wie dieser übertragen wird?

- er wird gebildet, wenn ein sicherer Tunnel aufgebaut wird

- es ist ein 32-bit random value

- er wird gebraucht, um die SA (Security Association) eindeutig zu identifizieren

- er wird in Klartext übertragen

IPSec - Security Association (SA)

Wie werden SA's identifiziert?

Was enthält eine SA?

- wird anhand SPI identifiziert

- enthält:
-  encryption algoriths (mode, IV, keylength)
- hash algo
- key

Was ist der Unterschied zwischen SPD und SAD?

Auf Grund von was prüft die SPD, ob dies durch den IPSec-Prozess verlaufen soll (hint: inbound/outbound is different)?

Schau dir noch die Flowchars auf Seite 32/33 an bzgl. Packet outbound/inbound processing.

- Die SPD ist eine generelle Filterung von Traffc, ob dieser durch den IPSec-Prozess verläuft oder nicht. In der SAD werden, nachdem von der SPD entschieden, ob dies durch den IPSec-Prozess läuft die Parameter ausgelesen (SA - Security Associations).

- SPD entscheidet bei inbound auf Grund von source-address und bei outbound auf Grund destination-address

IKEv2

Was ist neu mit IKEv2?

- 4 messages anstatt 6 (IKEv1)

- jedes Child SA --> neues Request/Response message

- ikev1/2 over udp, but ikev2 with retransmission and ack functions -> verlässlicher

- protect IKE payload after IKE SA INIT exchange

New features
- DPD - dead peer detections
- Mobility and Multihoming Protocol (MOBIKE)
- EAP extensible authentication protocol -> für user authentication

IKEv2 hat die folgenden messages:

IKE_SA_INIT

IKE_AUTH

CREATE_CHILD_SA

INFORMATIONAL

Was machen die einzelnen Messages?

Ab wann ist der Traffic verschlüsselt?

- IKE_SA_INIT -> die beiden Peers tauschen Informationen betreffend crypto algos und security parameter mit nonces und DH values aus. inklusive eines speziellen IKE_SA, welcher allen subsequenten IKE traffic verschlüsselt

- IKE_AUTH -> Authentifizierung der Peers + erster SA in SAD für die verschlüsselung des IPSec Traffic.

- CREATE_CHILD_SA -> für weitere SA, weitere DH für schlüsselaustausch

- INFORMATIONAL -> error messages, SA Einträge löschen etc.

 

IKE Auth Payload

Ein Teil der der IKE_AUTH message ist der "AUTH-Payload" aus was besteht er?

Wenn EAP als authentication gebraucht wird, wird hier der AUTH-Payload auch noch gebraucht?

- Er besteht grundsätzlich aus der signierten IKE_SA_INIT message + der nonce des Peers

- Nein.

IRAC IPsec Remote Access Clients must pass NAT-devices

What is NAT?

What is PAT?

What is NAPT?

Was ist das Problem mit IKEv1 und NAT?

- NAT (network address translation) one-toone public to private IP address mapping

- PAT (port address translation) one-to-many pubic to private IP adress mapping

- NAPT (network address port translation combination of above

- Alle aufgelisteten "Hürden" oberhalb wurde bei IKEv1 nicht adressiert.

IPSec AH & NAT

Wenn nun z.B. ein IPSec Packet mit IKEv1 (nur mit AH authentication header) über ein NAT device läuft und vom Sender empfangen wird, was passiert mit diesem Packet?

- Das Packet wird verworfen, da die Source IP Adresse abgeändert wurde und somit die MAC nicht mehr stimmt.

IPSec ESP & NAT/PAT

Wie verarbeitet ein NAT-Device IPSec mit ESP verschlüsselte Packete?

- da bei ESP der Transportheader verschlüsselt wird, kann das NAT-Device nichts mit dem Packet anfangen - es wird verworfen

Wie viele clients können sich, z.B. unten vom Netz 172.16.1.0/24 Netz (hier ist ein Client mit 172.16.1.4 zu sehen) mit dem Zielserver (links, 186.45.34.5) via IPSec ESP (Port 500) verbinden?

- Genau einer, da der Router in der Mitte, nur einen Port vom Client Richtung Zielserver auf Port 500 NAPTen kann.

Was passiert bei NAT-T?

- Das Klartext IP-Packet wird auf derm Client in einem ESP-packet verschlüsselt und danach wird dieses ESP packet nochmals in einem UDP/4500 packet verpackt. So kann das NAT/PAT device die packete normal in die PAT database eintragen.

Was ermöglicht NAT-D (Detection)?

- Die Erkennung eines NAT-Devices zwischen Source und Destination, bereits während der IKE-INIT Austausch.

- Es wird ein hash von source ip/port versandt und wenn der Zielserver den hash neu berechnet aus source ip/port und diesre nicht mehr derselbe ist, weiss er, dass ein NAT device dazischen ist. -> es wird auf udp 4500 encapsulation gewechselt.

Was passsiert, wenn nach den IKE_INIT messages die 3te Nachricht von IRAC zu IRAS der AUTH payload nicht mitgeschickt wird?

Wenn während der Authentifizierung mit EAP ein Master Session Key generiert wird, für was wird dieser dann noch benutzt?

- Vom IRAS wird angenommen, dass mittels EAP (extensible authentication protocol) authentifiziert werden soll. Daher wird hier die EAP-Authentifizierung gestartet.

- Der MSK wird benutzt um den AUTH payload zu erstellen.

IRAC Configuration Problem

How is this solved with IKEv1? (hint: not really :-P )

How is this solved with IKEv2?

- for IKEv1 there is only vendor specific solution

- for IKEv2 there exists messages where the IRAC asks the IRAS within the IKE_AUTH messages for configuration payload (CFG_REQUEST). Then IRAS sends back minimal config, like an IP address (CFG_REPLY)

Lernen