Zum Hauptinhalt springen

9. Security Considerations (Sicherheitsüberlegungen)

Das L2TP-Protokoll selbst bietet keine Verschlüsselung oder starke Authentifizierungsdienste. Dieses Kapitel behandelt Sicherheitsüberlegungen bei L2TP-Bereitstellungen und verfügbare Sicherheitsmechanismen.

9.1 Tunnel Endpoint Security (Sicherheit der Tunnelendpunkte)

Die Vertrauensbeziehung zwischen Tunnelendpunkten ist grundlegend für die L2TP-Sicherheit.

Endpunkt-Authentifizierung:

LAC und LNS müssen in der Lage sein, die Identität des jeweils anderen zu überprüfen. L2TP bietet einen optionalen Tunnel-Authentifizierungsmechanismus:

  • Challenge AVP: Der Initiator sendet einen zufälligen Challenge-Wert im SCCRQ (Start-Control-Connection-Request).
  • Challenge Response AVP: Der Responder berechnet eine Antwort basierend auf einem gemeinsamen Geheimnis und gibt sie im SCCRP (Start-Control-Connection-Reply) zurück.
  • Antwortberechnung: Verwendet MD5-Hash-Funktion: MD5(Nachrichtentyp + gemeinsames_Geheimnis + Challenge + Sitzungs_ID)

Verwaltung gemeinsamer Geheimnisse:

  • Gemeinsame Geheimnisse sollten ausreichende Entropie haben (mindestens 128 Bit empfohlen).
  • Gemeinsame Geheimnisse sollten sicher gespeichert werden (verschlüsselte Speicherung).
  • Gemeinsame Geheimnisse sollten regelmäßig erneuert werden.
  • Verschiedene Tunnelpaare sollten verschiedene gemeinsame Geheimnisse verwenden.

Tunnel-Autorisierung:

Zusätzlich zur Authentifizierung sollten Autorisierungsmechanismen implementiert werden:

  • Überprüfen, ob der Peer berechtigt ist, einen Tunnel einzurichten.
  • Prüfen, ob der Peer die Berechtigung hat, auf bestimmte Ressourcen oder Dienste zuzugreifen.
  • Access Control Lists (ACLs) verwenden, um einzuschränken, welche Peers Tunnel einrichten können.

Schwachstellen und Gegenmaßnahmen:

  1. Man-in-the-Middle-Angriff:

    • Risiko: L2TP-Tunnel-Authentifizierung basierend auf gemeinsamen Geheimnissen ist anfällig für MITM-Angriffe.
    • Gegenmaßnahme: IPsec verwenden, um Ende-zu-Ende-Verschlüsselung und -Authentifizierung bereitzustellen.
  2. Replay-Angriff:

    • Risiko: Angreifer können erfasste Kontrollnachrichten wiedergeben.
    • Gegenmaßnahme: Sequenznummern und ZLB-ACK-Mechanismen verwenden, um Replay-Angriffe zu erkennen und zu verhindern.
  3. Denial-of-Service-Angriff:

    • Risiko: Angreifer können große Mengen von Tunnel-Einrichtungsanforderungen senden.
    • Gegenmaßnahme:
      • Anzahl gleichzeitiger Tunnel pro Quelladresse begrenzen.
      • Rate-Limiting implementieren.
      • Cookie-Mechanismen verwenden (ähnlich wie TCP SYN Cookies).

9.2 Packet Level Security (Sicherheit auf Paketebene)

L2TP selbst bietet keine Paketverschlüsselung oder Integritätsschutz.

Risiken der Klartextübertragung:

  • Abhören: Angreifer können PPP-Paketinhalte abfangen und lesen, einschließlich Benutzeranmeldeinformationen und Anwendungsdaten.
  • Manipulation: Angreifer können Pakete während der Übertragung ändern.
  • Injektion: Angreifer können bösartige Pakete in den Tunnel injizieren.

AVP-Verbergungsmechanismus:

L2TP bietet einen AVP-Verbergungsmechanismus zum Schutz sensibler Kontrollinformationen:

  • Verbergungsprozess:

    1. MD5-Hash mit gemeinsamem Geheimnis und Random Vector generieren.
    2. Hash-Wert mit AVP-Wert XOR verknüpfen.
    3. Prozess wiederholen, wenn der AVP-Wert 16 Bytes überschreitet.
  • Einschränkungen:

    • AVP-Verbergung ist Verschleierung, keine echte Verschlüsselung.
    • Schützt nicht den Datenkanal, nur bestimmte AVPs im Kontrollkanal.
    • Anfällig für Wörterbuchangriffe (wenn das gemeinsame Geheimnis schwach ist).

Empfehlungen:

  • Nicht auf AVP-Verbergung als alleinigen Sicherheitsmechanismus verlassen.
  • IPsec oder andere Verschlüsselungstechnologien auf Tunnelebene verwenden.

9.3 End to End Security (Ende-zu-Ende-Sicherheit)

Auch wenn der L2TP-Tunnel selbst geschützt ist, bleibt Ende-zu-Ende-Sicherheit wichtig.

PPP-Ebenen-Authentifizierung:

Unabhängige Authentifizierung sollte zwischen dem entfernten System und dem LNS stattfinden:

  • PAP (Password Authentication Protocol):

    • Einfache Klartext-Passwort-Authentifizierung.
    • Nicht empfohlen, da Passwörter im Klartext übertragen werden (sollte auch innerhalb verschlüsselter L2TP-Tunnel vermieden werden).
  • CHAP (Challenge Handshake Authentication Protocol):

    • Challenge-Response-Authentifizierungsmechanismus.
    • Passwörter werden nicht im Klartext übertragen.
    • Regelmäßige Neuauthentifizierung zur Verhinderung von Replay-Angriffen.
  • EAP (Extensible Authentication Protocol):

    • Unterstützt verschiedene Authentifizierungsmethoden (EAP-TLS, EAP-TTLS, PEAP usw.).
    • Kann gegenseitige Authentifizierung und Schlüsselverhandlung bereitstellen.
    • EAP-TLS wird empfohlen für die stärkste Sicherheit.

Ende-zu-Ende-Verschlüsselung:

Verschlüsselung auf Anwendungsebene bietet eine zusätzliche Sicherheitsschicht:

  • TLS/SSL: Wird zum Schutz von Anwendungsdaten verwendet (z. B. HTTPS).
  • VPN-Client-Software: Bietet zusätzliche Verschlüsselungsschicht über PPP.

Verteidigung in der Tiefe-Strategie:

Entferntes System <--PPP-Auth/Verschl.--> LNS
| |
+--<L2TP-Tunnel>--LAC------------------+
|
<IPsec-Schutz>
  • Schicht 1: PPP-Ebenen-Authentifizierung (CHAP/EAP)
  • Schicht 2: L2TP-Tunnel-Authentifizierung
  • Schicht 3: IPsec-Verschlüsselung und -Authentifizierung
  • Schicht 4: Verschlüsselung auf Anwendungsebene (TLS/SSL)

9.4 L2TP and IPsec (L2TP und IPsec)

Es wird dringend empfohlen, L2TP in Kombination mit IPsec zu verwenden, allgemein als L2TP/IPsec bezeichnet.

Von IPsec bereitgestellte Sicherheitsdienste:

  1. Vertraulichkeit:

    • Bereitgestellt durch ESP-Verschlüsselung (Encapsulating Security Payload).
    • Unterstützt mehrere Verschlüsselungsalgorithmen: AES, 3DES, ChaCha20 usw.
  2. Integrität:

    • Bereitgestellt durch AH (Authentication Header) oder ESP-Authentifizierung.
    • Verwendet HMAC (z. B. HMAC-SHA256) zur Überprüfung der Datenintegrität.
  3. Quellen-Authentifizierung:

    • Überprüft die Authentizität von Paketquellen.
    • Verhindert IP-Spoofing-Angriffe.
  4. Anti-Replay:

    • Verwendet Sequenznummern zur Verhinderung von Replay-Angriffen.

L2TP/IPsec-Architektur:

+-------------------+
| PPP-Nutzlast |
+-------------------+
| L2TP-Header |
+-------------------+
| UDP-Header |
+-------------------+
| ESP-Header | <-- IPsec-Verschlüsselung und -Authentifizierung
+-------------------+
| IP-Header |
+-------------------+

IPsec-Konfigurationsoptionen:

  • Transportmodus:

    • Verschlüsselt und authentifiziert nur die IP-Nutzlast.
    • Geeignet für Ende-zu-Ende-Kommunikation.
    • Empfohlen für L2TP/IPsec.
  • Tunnelmodus:

    • Verschlüsselt und authentifiziert das gesamte IP-Paket.
    • Fügt einen neuen äußeren IP-Header hinzu.
    • Geeignet für Gateway-zu-Gateway-Kommunikation.

Schlüsselverwaltung:

  • IKE (Internet Key Exchange):

    • IKEv1: Originalversion, zweiphasige Verhandlung.
    • IKEv2: Verbesserte Version, rationalisierter und effizienter.
    • IKEv2 wird empfohlen für Schlüsselverhandlung.
  • Vorab geteilte Schlüssel vs. Zertifikate:

    • Vorab geteilte Schlüssel (PSK): Einfach zu konfigurieren, aber schwierig, Schlüssel zu verteilen.
    • Zertifikate: Sicherer, unterstützt große Bereitstellungen, dringend empfohlen.

NAT-Durchquerung (NAT-T):

Wenn L2TP/IPsec NAT-Geräte durchqueren muss:

  • UDP-Kapselung von ESP verwenden (UDP-Port 4500).
  • Regelmäßig NAT-Keepalive-Pakete senden.
  • IKEv2 hat integrierte NAT-T-Unterstützung.

Leistungsüberlegungen:

  • IPsec-Verschlüsselung erhöht den CPU-Overhead.
  • Verwendung von Hardware-Beschleunigung in Betracht ziehen (AES-NI usw.).
  • MTU-Reduzierung muss berücksichtigt werden (ESP-Header + ESP-Trailer + Authentifizierungsdaten).

9.5 Proxy PPP Authentication (Proxy-PPP-Authentifizierung)

L2TP ermöglicht es dem LAC, die anfängliche PPP-Authentifizierung im Namen des LNS durchzuführen.

Proxy-Authentifizierungsmechanismus:

Der LAC kann LCP verhandeln und eine Authentifizierung mit dem entfernten System durchführen, bevor er den Anruf an den LNS weiterleitet:

  1. LAC führt PPP-Authentifizierung durch:

    • LAC verhandelt LCP mit dem entfernten System.
    • LAC führt PAP- oder CHAP-Authentifizierung durch.
    • LAC sammelt Authentifizierungsinformationen (Benutzername, Passwort-Hash usw.).
  2. LAC leitet Authentifizierungsinformationen an LNS weiter:

    • Verwendet Proxy-AVPs zur Weitergabe von Authentifizierungsinformationen:
      • Proxy Authen Type AVP (29): Authentifizierungstyp (PAP, CHAP usw.)
      • Proxy Authen Name AVP (30): Benutzername
      • Proxy Authen Challenge AVP (31): CHAP-Challenge-Wert
      • Proxy Authen Response AVP (33): Authentifizierungsantwort
  3. LNS überprüft Authentifizierungsinformationen:

    • LNS überprüft den Benutzer basierend auf den vom LAC bereitgestellten Informationen.
    • LNS kann die Sitzung akzeptieren oder ablehnen.

Sicherheitsrisiken:

  1. LAC-Kompromittierung:

    • Wenn der LAC kompromittiert ist, können Angreifer Benutzeranmeldeinformationen erlangen.
    • Gegenmaßnahme: IPsec verwenden, um die Kommunikation zwischen LAC und LNS zu schützen.
  2. Klartext-Passwortübertragung:

    • PAP-Passwörter werden im Klartext vom LAC zum LNS übertragen (in AVPs).
    • Gegenmaßnahme: AVP-Verbergungsmechanismus oder IPsec-Verschlüsselung verwenden.
  3. Vertrauensgrenze:

    • LNS muss den vom LAC bereitgestellten Authentifizierungsinformationen vollständig vertrauen.
    • Ein böswilliger LAC kann Authentifizierungsinformationen fälschen.
    • Gegenmaßnahme:
      • Proxy-Authentifizierung nur zwischen vertrauenswürdigen Verwaltungsdomänen verwenden.
      • Ende-zu-Ende-Neuauthentifizierung in Betracht ziehen.

Best Practices:

  1. Proxy-PAP-Authentifizierung vermeiden:

    • PAP-Passwörter sind anfällig für Angriffe, auch wenn sie verborgen sind.
    • Wenn es verwendet werden muss, IPsec-Schutz sicherstellen.
  2. Ende-zu-Ende-Authentifizierung bevorzugen:

    • Das entfernte System direkt mit dem LNS authentifizieren lassen (ohne Proxy).
    • EAP-Methoden für stärkere Sicherheit verwenden.
  3. Verwendungsfälle für Proxy-Authentifizierung einschränken:

    • Nur bei Bedarf verwenden (z. B. schnelle Anrufeinrichtung).
    • In vertrauenswürdigen Netzwerkumgebungen verwenden.
  4. Mehrere Authentifizierungsmethoden kombinieren:

    • LAC führt vorläufige Authentifizierung durch (für schnelles Filtern).
    • LNS führt sekundäre Authentifizierung durch (Ende-zu-Ende-Verifizierung).

Proxy-Authentifizierung mit RADIUS-Integration:

Entferntes System <--PAP/CHAP--> LAC <--RADIUS--> RADIUS-Server
|
|
v
(Auth-Info weiterleiten)
|
v
LNS <--RADIUS--> RADIUS-Server
  • LAC kann RADIUS verwenden, um Benutzeranmeldeinformationen zu überprüfen.
  • LNS kann auch unabhängig mit RADIUS überprüfen.
  • Doppelte Überprüfung bietet eine zusätzliche Sicherheitsschicht.

Sicherheitskonfigurations-Checkliste:

  • IPsec zwischen LAC und LNS verwenden
  • Starke gemeinsame Geheimnisse oder Zertifikate für Tunnel-Authentifizierung verwenden
  • Eindeutige gemeinsame Geheimnisse für jedes Tunnelpaar verwenden
  • PPP-Ebenen-Authentifizierung aktivieren (CHAP oder EAP)
  • Verwendung von PAP-Authentifizierung vermeiden
  • Gemeinsame Geheimnisse regelmäßig wechseln
  • Zugriffskontrolllisten zur Einschränkung der Tunnel-Einrichtung implementieren
  • Protokollierung und Überwachung aktivieren
  • Intrusion Detection Systeme (IDS) einsetzen
  • Regelmäßige Sicherheitsaudits und Penetrationstests durchführen