220 likes | 408 Views
Vorlesung: Betriebssysteme 3. Quartal 2009. Studiengang Informatik FHDW. Themenstellungen. Was ist VPN? V irtuell P rivate N etwork (VPN) ist ein Computernetz, das zum Transport privater Daten ein öffentliches Netzwerk (z.B. Internet) nutzt.
E N D
Vorlesung: Betriebssysteme 3. Quartal 2009 Studiengang Informatik FHDW
Themenstellungen • Was ist VPN? • Virtuell Private Network (VPN) ist ein Computernetz, das zum Transport privater Daten ein öffentliches Netzwerk (z.B. Internet) nutzt. • Verbindung kannverschlüsselt werden. • Verbindung erfolgt über einen Tunnel zwischen VPN-Client und VPN-Server
VPN • Was ist Verschlüsselung? • Umcodierung der Daten in kryptische Datenblocks • Sichere Kommunikation wird gewährleistet (auch über unsichere Netze)
VPN A F B • Was ist ein Tunnel? • Verbindung zweier Gebiete durch ein fremdes Gebiet • Die verbundenen Gebiete bilden eine Einheit • A und B haben keinen Kontakt zu F und umgekehrt. • Beispiele: • IPX-Netze über IP-Netz koppeln • Firmennetze über das Internet/Intranet verbinden • „Road Warriors“ den Zugang zum Intranet gewähren • Gesicherte Verbindung zwischen Hosts (innerhalb eines LANs)
VPN • Tunnelszenarien • Folgende Verbindungen sind möglich • Netzwerk (Router) <-> Netzwerk (Router) • Host <-> Host • Host <-> Netzwerk (Router) • Probleme können auftreten • bei zwischenliegenden NAT-Routern • bei zwischenliegenden Firewalls / Proxys • wechselnde IPs durch Einwahlrouting / DHCP
VPN • Softwareübersicht:
VPN • Open-VPN-Übersicht: • Tunneling von IP oder Ethernet über UDP • kann auf OpenSSL aufsetzen • nutzt Shared-Key-Verfahren • Blowfish, DES, 3DES, … • nutzt Public-Key-Verfahren und Zertifikate • auf OpenSSL basierend • läuft auf den meisten Plattformen • Linux (kernelunabhängig) • *BSD, Windows, MacOS X • TrafficShaping und Kompression möglich • Verwendet tun-Tunneldevice (TUN/TAP-Driver) • DHCP-fähig • Änderungen der IP während der Session wird erkannt • Paket muß nur Authentizitätstest bestehen
VPN • Preshared-secret-keys PSK: • Auf dem Server erzeugte Keys, die an die Clients verteilt werden. • Nachteil:Verteilung kann nicht über die VPN-Verbindung erfolgen • Vorteil:Sehr einfach zu implementieren
VPN • OpenSSL: • OpenSSL wird für den dynamischen Schlüsselaustausch und die Authentifizierung der Gegenseite genutzt. • Basiert auf public-key Kryptographie. • Vorteil:Keine Probleme beim Schlüsselaustausch über „unsichere“ Medien. • Der public-key wird zusätzlich von einer Certificate Authority (CA) signiert, um die Authenzität des Gegenübers zu gewährleisten • Für den OpenSSL-Modus benötigt OpenVPN zwei Kanäle: Einen Kontroll- und einen Daten-Kanal
VPN • Installation eines Linux-VPN-Servers: • Alternative 1:(liegt der Distribution schon bei) • OpenVPN, OpenSSL und davon abhängige Pakete über jeweilige Software-Paket-Verwaltung (z.B. YAST bei Suse) installieren. • Alternative 2 (Download des Pakets von openvpn.sourceforge.org) • Das entpackte Paket wird über die bekannten Befehle configure, make und make install installiert.
VPN • Beispiel Funktionsskizze:
VPN • Konfiguration pre-shared-key Variante: • Erzeugen eines pre-shared-keys:openvpn –genkey –secret /etc/openvpn/user.key • Beispiel: /etc/openvpn/user.conf # openvpn conf Datei# Schnittstelledev tun# Verbindungspunkteifconfig 10.0.0.1 10.0.0.2 255.255.255.0link-mtu 1544# openvpn Keysecret /etc/openvpn/user.key# Kompression LZO# comp-lzo# Portport 5000# normales loggenverb 3
VPN • Konfiguration des Clients: • Die Konfigurationsdatei:Pfad: …\OpenVPN\config\user.ovpn # OpenVPN Config Client dev tun remote 194.1.2.2 ifconfig 10.0.0.2 10.0.0.1 route-gateway 10.0.0.1 redirect-gateway dev-node MyVPN link-mtu 1544 port 5001 secret user.key
VPN • FreeS/WAN: • IPSec-Struktur für Linux • IPSec: • Ist standardisiertes Protokoll für IPv4 und IPv6 • Nutzt diverse Verschlüsselungsverfahren • Beinhaltet Schlüsselverwaltung (Internet-Key-Exchange) • kompatibel mit Hardware- und Softwareimplementierungen, z.B: • Router mit IPSec-Unterstützung • Windowsimplementierung • standardisiert und weitverbreitet, aber hoher Verwaltungsaufwand • Sehr komplex und vielseitige Software
VPN • Beispiel Funktionsskizze:
VPN • Anatomie: • Pluto • Daemon zur Verwalltung der VPN Kanäle • Kann mehrere VPNs zur gleichen Zeit hosten • Stellt Werkzeuge zum Aufbau und Unterhalt zur Verfügung • IPSec • Ziel: Sichere Kommunikation über das Internet zu gewährleisten • Integrität der Daten sicherstellen • Authentifikation der Daten unterstützen • Vertraulichkeit der Daten und der Verbindung gewährleisten • Zugriffskontrolle auf Benutzerebene ermöglichen • IKE • Internet Key Exchange Protokoll • Zur Verwaltung der Schlüssel • Schlüsselaustausch der Kommunikationspartner • Bereitstellen der nötigen Parameter
VPN • Installation: • FreeS/WAN.rpm installieren • IPSec Tools installieren • XFRM_USER Modul Laden • Pluto starten • Config Einstellungen vornehmen
VPN • Server Konfiguration: # Add connections here. conn road left=194.1.2.3 # Gateway's information leftid=@swan.fhdw.de # leftsubnet=192.168.3.0/24 # leftrsasigkey=0sAQN0J….. right=%any # Wildcard: we don't know the laptop's IP rightid=@road.fhdw.de # rightrsasigkey=0sAQOBag+WdxaXrjf…. auto=start # authorizes but doesn't start this # connection at startup authby=rsasig
VPN • Client Konfiguration: # Add connections here. conn road left=194.1.2.3 # Gateway's information leftid=@swan.fhdw.de # leftsubnet=192.168.3.0/24 # leftrsasigkey=0sAQN0J….. right=%any # Wildcard: we don't know the laptop's IP rightid=@road.fhdw.de # rightrsasigkey=0sAQOBag+WdxaXrjf…. auto=start # authorizes but doesn't start this # connection at startup authby=rsasig
VPN • Verschlüsselung bei FreeS/WAN: • Authentifizierung • Asymmetrische verschlüsselte RSA-keys • Nutzdaten • Verschlüsselung über ESP (Encapsulated Security Payload) • Ohne Authentifizierung auf ISO/OSI-Schicht 3 • Jeder Datentransfer kann verschlüsselt werden.
VPN • Zusammenfassung: • VPN ist ein Tunnel für verschiedene Zwecke: • Kopplung zweier Netze über ein inkompatibles Netz • Verschlüsselte Kommunikation über unsicheren Bereich • Absichern von Application-Level-Protokollen • Umgehen bzw. Durchbrechen von Firewalls/Proxies • Umgehen von NAT-Problemen • Auswahlkriterien: • Beteiligte Betriebssysteme • Anwenderkreis • Einsatzzweck • Abwägung: Nutzen-Konfigurationsaufwand
ENDE Fragen?