Härtung eines OpenVPN Servers

Dieser Beitrag wurde am 23.April 2017 auf die OpenVPN-Version 2.4 aktualisiert, insbesondere Kapitel 4.1 bis 4.3.

OpenVPN ist ein beliebtes Tool, um verschlüsselte Netzwerkverbindungen herstellen zu können. Dieser BLOG Beitrag beschäftigt sich mit der Härtung des OpenVPN Servers und beschreibt alle Konfigurationsoptionen, die Auswirkungen auf die Sicherheit der OpenVPN Verbindung haben.

Das Verständnis dieses Artikels setzt voraus, dass die grundlegende Arbeitsweise von OpenVPN bekannt ist. Einige nachfolgend beschriebenen Optionen setzen mindestens die OpenVPN Version 2.3 voraus, ein Großteil der Konfigurationsoptionen funktioniert bereits ab OpenVPN Version 2.0.x.

Nicht näher beschrieben werden Optionen, die ausschließlich den "Static key mode" betreffen. Der Fokus liegt auf dem gebräuchlicheren, zertifikatebasiertem "TLS-negotiated key mode". Ausgelassen wurden ebenfalls pkcs11/ pkcs12 Optionen.

1 Allgemeine OpenVPN Grundlagen

OpenVPN Server und Client markiert

1.1 Basics: Control- vs. Data-Channel

OpenVPN stellt zwei unabhängige Datenverbindungen her: Einen Kontroll- und einen Datenkanal.

Der Kontroll- und Datenkanal einer OpenVPN Verbindung

Der Kontrollkanal hat unter anderem folgende Aufgaben:

  • den SSL/TLS Handshake (z.B. Session Start, Schlüsselaustausch, Authentifikation, Cipher-Suite Vereinbarung) durchführen,
  • einige Aufräumarbeiten in der finalen Phase der Verbindung zu realisieren und
  • bei der Nutzung von UDP die "Nachteile" der UDP Transport Layer Unzuverlässigkeit durch Einführung von Time-Out, Packet Acknowledgement und Transmission Mechanismen auszugleichen.

Härtung eines OpenVPN Servers weiterlesen

Häufige Schwachstellen in der Verschlüsselung durch Apps

Nachdem kurz nach der WhatsApp Übernahme die Suche nach und Diskussion über einen sicheren Messenger begann, möchte ich im Folgenden kurz auf die häufigsten Fehler aufmerksam machen, die App-Entwickler bei der Implementierung von Verschlüsselung zur Datenübertragung machen.

Schwachstelle 1: Die App nutzt einen gleichbleibenden, symmetrischen Schlüssel

Leider immer noch sehr häufig in Verwendung - gleichbleibendene, symmetrische Schlüssel.

symmetrische Verschlüsselung

Das Risiko liegt klar auf der Hand. Der Schlüssel muss im Client zu irgendeiner Zeit im Klartext vorliegen und kann ausgelesen werden. Ab diesem Punkt ist jede Verschlüsselung hinfällig - die Kommunikation jedes Clients kann entschlüsselt werden.

Häufige Schwachstellen in der Verschlüsselung durch Apps weiterlesen