VPN und IPSec
Thema 6 Hassenstein
Thema 6 Hassenstein
-
- 1 / 39
-
Cartes-fiches
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.
- 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.
- 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.
- 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.
- 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)
- 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.
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
- Genau einer, da der Router in der Mitte, nur einen Port vom Client Richtung Zielserver auf Port 500 NAPTen kann.
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.
- 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)