Studiengang Informatik FHDW
description
Transcript of Studiengang Informatik FHDW
Vorlesung: 1 Betriebssysteme 2009 Prof. Dr. G. Hellberg
Studiengang Informatik FHDWStudiengang Informatik FHDW
Vorlesung: Betriebssysteme
3. Quartal 2009
Vorlesung: 2 Betriebssysteme 2009 Prof. Dr. G. Hellberg
ThemenstellungenThemenstellungen
Was ist VPN?Virtuell Private Network (VPN) ist ein Computernetz, das zum Transport privater Daten ein öffentliches Netzwerk (z.B. Internet) nutzt.
Verbindung kann verschlüsselt werden.
Verbindung erfolgt über einen Tunnel zwischen VPN-Client und VPN-Server
Vorlesung: 3 Betriebssysteme 2009 Prof. Dr. G. Hellberg
VPNVPN
Was ist Verschlüsselung?
Umcodierung der Daten in kryptische DatenblocksSichere Kommunikation wird gewährleistet (auch über unsichere Netze)
Vorlesung: 4 Betriebssysteme 2009 Prof. Dr. G. Hellberg
VPNVPN
Was ist ein Tunnel?Verbindung zweier Gebiete durch ein fremdes GebietDie verbundenen Gebiete bilden eine EinheitA und B haben keinen Kontakt zu F und umgekehrt.
Beispiele:IPX-Netze über IP-Netz koppelnFirmennetze über das Internet/Intranet verbinden„Road Warriors“ den Zugang zum Intranet gewährenGesicherte Verbindung zwischen Hosts (innerhalb eines LANs)
A BF
Vorlesung: 5 Betriebssysteme 2009 Prof. Dr. G. Hellberg
VPNVPN
TunnelszenarienFolgende Verbindungen sind möglich
Netzwerk (Router) <-> Netzwerk (Router)Host <-> HostHost <-> Netzwerk (Router)
Probleme können auftretenbei zwischenliegenden NAT-Routernbei zwischenliegenden Firewalls / Proxyswechselnde IPs durch Einwahlrouting / DHCP
Vorlesung: 6 Betriebssysteme 2009 Prof. Dr. G. Hellberg
VPNVPN
Softwareübersicht:
Software Windows Verschlüsselung Komprimierung Trafficshaping Nur IP Proxy
OpenVPN X X X X
FreeS/WAN X X X X
Vtun X X X X
Cipe X X
PPTP X X X
Vorlesung: 7 Betriebssysteme 2009 Prof. Dr. G. Hellberg
VPNVPN
Open-VPN-Übersicht:Tunneling von IP oder Ethernet über UDPkann auf OpenSSL aufsetzennutzt Shared-Key-Verfahren
Blowfish, DES, 3DES, …
nutzt Public-Key-Verfahren und Zertifikateauf OpenSSL basierend
läuft auf den meisten PlattformenLinux (kernelunabhängig)*BSD, Windows, MacOS X
TrafficShaping und Kompression möglichVerwendet tun-Tunneldevice (TUN/TAP-Driver)DHCP-fähig
Änderungen der IP während der Session wird erkanntPaket muß nur Authentizitätstest bestehen
Vorlesung: 8 Betriebssysteme 2009 Prof. Dr. G. Hellberg
VPNVPN
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
Vorlesung: 9 Betriebssysteme 2009 Prof. Dr. G. Hellberg
VPNVPN
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
Vorlesung: 10 Betriebssysteme 2009 Prof. Dr. G. Hellberg
VPNVPN
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.
Vorlesung: 11 Betriebssysteme 2009 Prof. Dr. G. Hellberg
VPNVPN
Beispiel Funktionsskizze:
WAN
(Internet)
VPN-Tunnel194.1.2.2
192.168.3.6
OpenVPN-Server
Virtual Interface:10.0.0.*
Mail-Server
Win2k3-Server
Novell-Server
Firewall194.1.2.*
Computer
Virtual Interface:10.0.0.*
Internes Netz192.168.3.*
255.255.255.0
Vorlesung: 12 Betriebssysteme 2009 Prof. Dr. G. Hellberg
VPNVPN
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
Vorlesung: 13 Betriebssysteme 2009 Prof. Dr. G. Hellberg
VPNVPN
Konfiguration des Clients:
Die Konfigurationsdatei:Pfad: …\OpenVPN\config\user.ovpn
# OpenVPN Config Client
dev tunremote 194.1.2.2ifconfig 10.0.0.2 10.0.0.1route-gateway 10.0.0.1redirect-gateway
dev-node MyVPN
link-mtu 1544port 5001
secret user.key
Vorlesung: 14 Betriebssysteme 2009 Prof. Dr. G. Hellberg
VPNVPN
FreeS/WAN:IPSec-Struktur für LinuxIPSec:
Ist standardisiertes Protokoll für IPv4 und IPv6Nutzt diverse VerschlüsselungsverfahrenBeinhaltet Schlüsselverwaltung (Internet-Key-Exchange)
kompatibel mit Hardware- und Softwareimplementierungen, z.B:
Router mit IPSec-UnterstützungWindowsimplementierung
standardisiert und weitverbreitet, aber hoher VerwaltungsaufwandSehr komplex und vielseitige Software
Vorlesung: 15 Betriebssysteme 2009 Prof. Dr. G. Hellberg
VPNVPN
Beispiel Funktionsskizze:
WAN
(Internet)194.1.2.3
192.168.3.4
FreeS/WAN-Server
194.1.2.*Computer
VPN-Tunnel
RSA-Key
RSA-Key
Mail-Server
Win2k3-Server
Novell-Server
Firewall Internes Netz192.168.3.*
255.255.255.0
Vorlesung: 16 Betriebssysteme 2009 Prof. Dr. G. Hellberg
VPNVPNAnatomie:Pluto
Daemon zur Verwalltung der VPN KanäleKann mehrere VPNs zur gleichen Zeit hostenStellt Werkzeuge zum Aufbau und Unterhalt zur Verfügung
IPSecZiel: Sichere Kommunikation über das Internet zu gewährleistenIntegrität der Daten sicherstellenAuthentifikation der Daten unterstützenVertraulichkeit der Daten und der Verbindung gewährleistenZugriffskontrolle auf Benutzerebene ermöglichen
IKEInternet Key Exchange ProtokollZur Verwaltung der SchlüsselSchlüsselaustausch der KommunikationspartnerBereitstellen der nötigen Parameter
Vorlesung: 17 Betriebssysteme 2009 Prof. Dr. G. Hellberg
VPNVPN
Installation:FreeS/WAN.rpm installierenIPSec Tools installierenXFRM_USER Modul LadenPluto startenConfig Einstellungen vornehmen
Vorlesung: 18 Betriebssysteme 2009 Prof. Dr. G. Hellberg
VPNVPN
Server Konfiguration:
# Add connections here.
conn road left=194.1.2.3 # Gateway's information [email protected] # leftsubnet=192.168.3.0/24 # leftrsasigkey=0sAQN0J….. right=%any # Wildcard: we don't know the laptop's IP [email protected] # rightrsasigkey=0sAQOBag+WdxaXrjf…. auto=start # authorizes but doesn't start this # connection at startup authby=rsasig
Vorlesung: 19 Betriebssysteme 2009 Prof. Dr. G. Hellberg
VPNVPN
Client Konfiguration:
# Add connections here.
conn road left=194.1.2.3 # Gateway's information [email protected] # leftsubnet=192.168.3.0/24 # leftrsasigkey=0sAQN0J….. right=%any # Wildcard: we don't know the laptop's IP [email protected] # rightrsasigkey=0sAQOBag+WdxaXrjf…. auto=start # authorizes but doesn't start this # connection at startup authby=rsasig
Vorlesung: 20 Betriebssysteme 2009 Prof. Dr. G. Hellberg
VPNVPN
Verschlüsselung bei FreeS/WAN:Authentifizierung
Asymmetrische verschlüsselte RSA-keys
NutzdatenVerschlüsselung über ESP (Encapsulated Security Payload)Ohne Authentifizierung auf ISO/OSI-Schicht 3Jeder Datentransfer kann verschlüsselt werden.
Vorlesung: 21 Betriebssysteme 2009 Prof. Dr. G. Hellberg
VPNVPN
Zusammenfassung:VPN ist ein Tunnel für verschiedene Zwecke:
Kopplung zweier Netze über ein inkompatibles NetzVerschlüsselte Kommunikation über unsicheren BereichAbsichern von Application-Level-ProtokollenUmgehen bzw. Durchbrechen von Firewalls/ProxiesUmgehen von NAT-Problemen
Auswahlkriterien:Beteiligte BetriebssystemeAnwenderkreisEinsatzzweckAbwägung: Nutzen-Konfigurationsaufwand
Vorlesung: 22 Betriebssysteme 2009 Prof. Dr. G. Hellberg
ENDEENDE
Fragen?Fragen?