1 / 22

Studiengang Informatik FHDW

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.

sumi
Download Presentation

Studiengang Informatik FHDW

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Vorlesung: Betriebssysteme 3. Quartal 2009 Studiengang Informatik FHDW

  2. 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

  3. VPN • Was ist Verschlüsselung? • Umcodierung der Daten in kryptische Datenblocks • Sichere Kommunikation wird gewährleistet (auch über unsichere Netze)

  4. 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)

  5. 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

  6. VPN • Softwareübersicht:

  7. 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

  8. 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

  9. 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

  10. 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.

  11. VPN • Beispiel Funktionsskizze:

  12. 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

  13. 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

  14. 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

  15. VPN • Beispiel Funktionsskizze:

  16. 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

  17. VPN • Installation: • FreeS/WAN.rpm installieren • IPSec Tools installieren • XFRM_USER Modul Laden • Pluto starten • Config Einstellungen vornehmen

  18. 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

  19. 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

  20. 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.

  21. 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

  22. ENDE Fragen?

More Related