IPSec VPN mit Juniper Gateways

Aus ITwiki
Wechseln zu: Navigation, Suche

VPN = zwei Seiten (z. B. zwei LAN’s) sind über ein öffentliches Netz miteinander verbunden und tauschen Daten über s. g. Tunnel aus.

Beim Tunneling wird Datenkapselung verwendet: das Original-Datagramm wird in ein neues Datagramm eingekapselt, welches dann über den Tunnel geschickt wird. Die Gegenstelle entkapselt das Datagramm und leitet das Original-Datagramm weiter. Als Tunneling-Protokoll wird bei der Juniper IPSec verwendet.

Notwendigkeit der Daten-Sicherheit: die 3 Hauptpunkte[Bearbeiten]

  1. Diskretion/Vertraulichkeit (Confidentiality): Schutz der Daten vor Man-in-themiddle-Attacken (Unlesbarkeit der Daten für Dritte)
  2. Integrität/Unversehrtheit (Integrity): Sicherstellung, dass die Datenpakete nicht verfälscht werden
  3. Authentifizierung (Authentication): Sicherstellung, ob die Daten wirklich vom Absender kommen

Diskretion/Vertraulichkeit der Daten: Daten-Verschlüsselung[Bearbeiten]

  1. Stellt die Vertraulichkeit der Daten sicher
  2. Daten werden durch Schlüssel (Keys) ver- und entschlüsselt:
    1. Symmetric Key Encryption: für das ver- und entschlüsseln wird derselbe Key verwendet
    2. Asymmetric Key Encryption = Public-Private-Key-Verfahren
  3. Datenverschlüsselung ist ein umkehrbarer Prozess

Symmetric Key Encryption

  1. Symmetrisch bedeutet: auf beiden Seiten wird der selbe Key verwendet, also für Ver- und Entschlüsselung; Key muss auf beiden Seiten bekannt sein
  2. Verschlüsselungsstärke (Key Size) zwischen 40 bis 1024 Bit
  3. Verschlüsselungsmethoden: RC4, DES, 3DES, AES
Juniper vpngw01.jpg

Public Key Encryption (Asymmetric Key Encryption)

  1. Langsameres Verfahren
  2. Verschlüsselungsstärke (Key Size) von 512 bis 2048 Bit
  3. Verschlüsselungsmethoden: RSA, DH
  4. Public-Private-Key-Verfahren: Daten, welche mit dem Public Key verschlüsselt wurden, können nur mit dem Private Key entschlüsselt werden und umgekehrt (siehe Grafik)
Juniper vpngw02.jpg

Integrität/Unversehrtheit der Daten[Bearbeiten]

  1. Die Verwendung von Hash-Funktionen stellen die Integrität der Daten sicher: die Daten sind verschlüsselt, nun muss sichergestellt werden, dass das verschlüsselte Datenpaket nicht verfälscht wird. Zwar sind die Daten geschützt, doch könnte ein Hacker einzelne Bits verfälschen – wer weiß, was die Konsequenzen wären! Aus diesem Grund laufen vorm Senden der (verschlüsselten) Daten diese durch eine Hashing Engine; der Hash-Wert wird an das Datenpaket angehängt, beim Empfänger dann wieder entfernt; das Paket durchläuft die Hashing Engine (des Empfängers) und beide Hash-Werte werden verglichen. Sind die Werte gleich, wurde das Paket nicht manipuliert und wird weiter verarbeitet, andernfalls verworfen
  2. One-way hashing Algorithmen: es lässt sich nicht auf die Original-Daten zurückführen
  3. Hashing Algorithmen:
    1. MD5: 128 Bit
    2. SHA: 160 Bit
Juniper vpngw03.jpg

Authentifizierung[Bearbeiten]

  1. Quellauthentifizierung (Source Authentication): stellt sicher, dass die Datagramme von einer glaubwürdigen Quelle stammen
  2. Source Authentication mittels HMAC (Hashed Method Authentication Code): der Absender fügt den Daten einen Preshared Key hinzu, anschließend wird das Datenpaket gehasht und versendet. Um beim Empfänger als gültiges Datenpaket akzeptiert zu werden, muss dieser ebenfalls den selben Preshared Key dem Paket hinzufügen, bevor die Daten durch die Hash-Engine laufen und der erstellte Hash-Wert mit dem des Sender-Pakets verglichen wird. Sind beide Werte gleich, wird das Paket akzeptiert, andernfalls verworfen
Juniper vpngw04.jpg

Schlüsselaustausch – Diffie-Hellman Key Exchange Algorithmen[Bearbeiten]

  1. Verschlüsselung und Authentifizerung erfordern auf beiden Seiten den selben Schlüssel; Lösung: Diffie-Hellman Key Exchange
  2. Beim DH-Algorithmus hat jeder Teilnehmer einen geheimen Schlüssel, den nur dieser kennt
  3. Die Stärke dieser Technik ist, dass alle Teilnehmer einen geheimen Wert erstellen; ohne diesen Wert über das unsichere Medium Internet übertragen zu müssen, kann dennoch ein gemeinsamer Session Key berechnet werden
  4. Es ist nicht möglich, den geheimen Wert zu berechnen/zu knacken
  5. DH Key Exchange Prozess: beide Seiten generieren einen eindeutigen Public und Private Key; die Private Keys werden der Gegenstelle nicht bekannt gegeben, die Public Keys werden ausgetauscht. Mit dem eigenen Private Key und dem Public Key der Gegenstelle kann dann anhand des DH Algorithmus derselbe Session Key berechnet werden
Juniper vpngw05.jpg

ESP – Encapsulating Security Payload Protokoll[Bearbeiten]

  1. ESP ist ein Protokoll für IPSec
  2. Bietet Datendiskretion, Datenintegrität, Authentifizierung und AntiReplay
  3. Verwendet kein Transportprotokoll wie TCP oder UDP, sondern läuft direkt über das IP, Protokollnummer 50
  4. ESP verwendet symmetrische Key-Algorithmen wie DES, 3DES und AES sowie Hash-Methoden wie MD5 und SHA-1
  5. Der AntiReplay Service versichert, dass Datagramme von einem Dritten nicht abgefangen und erneut übertragen werden können

SA - Security Associations[Bearbeiten]

  1. Ein SA ist ein Satz von Richtlinien und Key(s), um Informationen zu schützen
  2. SAs werden nach erfolgreicher IKE-Aushandlung bekannt
  3. Ein SA wird eindeutig identifiziert durch
    1. SPI-Wert
    2. Tunnel-Ziel-Adresse
    3. Security Protokoll (ESP oder AH; bei Juniper ESP)
  4. Die Lifetime einer SA basiert auf
    1. Einer festgelegten Zeit und/oder
    2. Einem festgelegten Datenvolumen

Proxy ID[Bearbeiten]

  1. Wird verwendet, um Policy-Regeln zwischen zwei VPN-Peers auszutauschen
  2. 2 Einträge für jedes VPN:
    1. Local Proxy ID (= beim Empfänger die Remote Proxy ID)
    2. Remote Proxy ID (= beim Empfänger die Local Proxy ID)
  3. Stimmen die Proxy ID’s nicht, kommt es zum Abbruch in IKE Phase 1

IKE Phase 1[Bearbeiten]

  1. Zwei Peers erstellen einen sicheren Kanal (Authentifizierung der beiden Peers), über welchen kommuniziert wird
  2. DH Key Exchange Algorithmus wird verwendet, um einen symmetrischen Schlüssel zu erstellen und den Session Key zu generieren
  3. Zwei Modi:
    1. Main Mode: wird verwendet, wenn beide Peers statische IP-Adressen haben
    2. Aggressive Mode: wird verwendet, wenn ein Tunnel-Peer eine dynamische IPAdresse besitzt
    3. Unterschied: siehe Grafiken
Juniper vpngw06.jpg
Juniper vpngw07.jpg

IKE Phase 2[Bearbeiten]

  1. SAs werden über den sicheren Kanal aus Phase 1 ausgehandelt (Festlegung der Verschlüsselung und des Authentifizierungs-Algorithmus)
  2. Proxy ID wird verwendet, um festzustellen, welche SA zu welchem VPN gehört
  3. DH Key Exchange Algorithmus kann verwendet werden, um PFS zu erstellen
  4. PFS = Perfect Forward Secrecy: wenn diese Option aktiv ist, wird für Phase 2 ein neuer Tunnel-Key mithilfe des DH Key Exchange Algorithmus berechnet
  5. Phase 2 wird auch als „Quick Mode“ bezeichnet

IPSec Tunnel-Aufbau – Zusammenfassung[Bearbeiten]

  1. IKE Phase 1 baut einen sicheren Kanal zwischen Gateways auf; es kommt der DH Key Exchange Algorithmus für den Schlüsselaustausch zum Einsatz, es wird ein Session Key generiert
  2. IKE Phase 2 erzeugt eine SA für einen spezifischen Policy-Satz und das VPN
  3. Nach erfolgreichem Durchlauf der Phase 2 werden Daten nach IPSec-Standard übertragen (Diskretion, Integrität, Authentifizierung)