Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
stunnel [2009/10/09 11:39] bazistunnel [2011/12/02 14:46] (aktuell) bush
Zeile 1: Zeile 1:
-<note warning>Baustelle</note>+====== stunnel ====== 
 +stunnel (sprich: S-Tunnel) arbeitet als universaler SSL-Tunnel zwischen dem Windows-Client und dem Server und ermöglicht somit auf einfache Weise verschlüsselte Sitzungen auch bei Programmen, die nativ keine Verschlüsselungsmethode beherrschen, der Server dies aber zulässt.
  
-====== STunnel ====== +Für gesicherte Dialogund FTP-Sitzungen empfehlen wir das freie Produkt **[[ssh|SSH Secure Shell für Windows]]**.
-STunnel (sprich: S-Tunnel) arbeitet als universaler SSL-Tunnel zwischen dem Win32-Client und dem Server und ermöglicht somit auf einfache Weise verschlüsselte Sitzungen auch bei Programmen, die nativ keine Verschlüsselungsmethode beherrschen.+
  
-Mit STunnel lassen sich Clients (z.BEudora oder Pegasus), die SSL nicht beherrschen, über verschlüsselte Verbindungen betreiben, sofern der Server den entsprechenden Dienst über SSL zulässt.+\\ 
 +===== Download und Installation ===== 
 +Download der Installationsdatei **[[http://www.stunnel.org/?page=downloads]]** auf Ihren PC.
  
-Somit kann dieses Programm unter Windows als angenehmere Alternative zu dem bisher propagierten SSH mit "port forwarding" herangezogen werden, sofern kein Terminal-Dialog gewünscht ist.+Speichern Sie die Datei und starten Sie die Installation durch Doppelklick auf die herunter geladene Datei.
  
-<code>Wichtiger Hinweis +{{bilder-netzsicherheit:stunnel:install_start.png}}
-Es ist grundsätzlich nicht möglich, eine FTP-Sitzung über STunnel zu betreiben.  +
-Die grundlegenden Eigenschaften des FTP-Protokolls verhindern dies.</code>+
  
-===== Download und Installation ===== +Zunächst werden Sie über die Lizenz-Situation aufgeklärt.\\ 
-[{{:bilder-netzsicherheit:start-install.gif}}] \\ \\ \\ Download der Installationsdatei **[[ftp://ftp.uni-freiburg.de/pub/pc/win95/stunnel/stunnel.exe|stunnel.exe]]** auf Ihren PC. \\ \\ Speichern Sie die Datei und starten Sie die Installation durch Doppelklick auf **stunnel.exe**.  \\ \\ \\ \\ \\ \\ +Es handelt sich um freie Software, die unter GNU General Public License publiziert wird.\\ 
 +Akzeptieren Sie die Lizenzbedinungen durch Klick auf "I Agree".
  
-Nach einigen Hinweisen, die Sie mit "Weiter" quittieren, erscheint folgendes Fenster:+{{bilder-netzsicherheit:stunnel:license.png}}
  
-[{{:bilder-netzsicherheit:progstart.gif}}]  \\ \\ \\ \\ \\ \\ \\ Wählen Sie auf jeden Fall die rot markiert Option!\\ Damit starten Sie ein kleines Hilfsprogrammmit dem Sie Ihre **Mail-Domain** (der Name zwischen @ und .uni-freiburg.de in Ihrer Mailadresse) in Kommandodateien einbauen können. Näheres dazu sehen Sie in den folgenden Abschnitten. +Nun stellt das Programm die zu installierenden Komponenten vordie Sie teilweise auch abwählen können.\\ 
-\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ +Lassen Sie alle Häkchen stehen und klicken Sie auf "Next".
  
-Diese Option hat den Start eines DOS-Eingabefensters zur Folge. Das sieht etwa so aus: {{:bilder-netzsicherheit:domain.gif|}}\\ +{{bilder-netzsicherheit:stunnel:install_options.png}}
  
-Gelb markiert ist dabei der Teil, den Sie einzugeben haben. Hier müssen Sie natürlich den Beispieltext "meinedomain" durch Ihre tatsächliche Domain ersetzen. Nach dem Drücken der Eingabetaste (RETURN) verschwindet das Fenster sang- und klanglos. Danach finden Sie in dem Installationsverzeichnis von STunnel zwei Dateien (imap.bat und pop3.bat)die Ihren zuständigen Mailserver als Adresse für den STunnel-Verbindungsaufbau enthalten (s. weiter unten!).+Als nächste Eingabe verlangt das Programm von Ihnen in einem Kommandozeilen-Fenster Angaben zum eigenen Zertifikat,\\ 
 +das dann zum Einsatz kommt, wenn diese stunnel-Installation auch als Server eingesetzt wird.
  
-Dieses Programm (SETDOM.EXEist übrigens jederzeit über das Programm-Menü von STunnel zu erreichen.+Die Beispiel-Angaben sind farbig ausgelegt und schränken den Geltungsbereich von\\ 
 +  * grün (deutschlandweit) über 
 +  * gelb (Uni Freiburg) bis 
 +  * rot (der PC in Ihrer Einrichtung) 
 +immer mehr ein. Tragen Sie hier die für Sie geltenden Werte sinngemäß ein.
  
-Nun können Sie einen der mitgelieferten Tunnels über das Startmenü aktivieren. +Vermeiden Sie auf jeden Fall nationale Sonderzeichen (z.B. Umlaute).\\  
-Eine Kennworteingabe ist bei SSL-Tunnels nicht erforderlich. \\ \\ +Beachten Sie in diesem Zusammenhang den letzten Abschnitt in dieser Dokumentation!
  
-===== Manueller Start ===== +{{bilder-netzsicherheit:stunnel:makecert.png}}
-Suchen Sie über das Startmenü das installierte Programm auf. Sie finden dort die als Beispiele beigefügen bzw. von Ihnen bei der Installation bereits angepassten Tunnel-Scripts vor (es handelt sich um Verweise auf .BAT-Dateien). +
-Mit dem Programm "Maildomain festlegen" können Sie auch nachträglich noch die "STunnel to..."-Dateien an Ihre Domain anpassen.+
  
-{{:bilder-netzsicherheit:start_program.gif}} \\ \\ Das gestartete Programm ist am Eintrag in der Task-Leiste zu erkennen{{:bilder-netzsicherheit:systray.gif|}} \\ +Nach der letzten Eingabe verschwindet das Kommandozeilen-Fenster wieder.\\ 
 +Die Installation wird fortgeführt und beendetKlicken Sie auf "Close".
  
-Wenn Sie den Tunnel immer manuell starten wollen, erstellen Sie eine Verknüpfung und legen sie auf den Desktop\\ \\ +{{bilder-netzsicherheit:stunnel:install_completed.png}}
  
-===== Automatischer Start ===== +Anschließend finden Sie das Programmsymbol auf Ihrer Arbeitsoberfläche.
-Falls Sie einen Tunnel automatisch starten lassen  möchten,  damit er jedesmal installiert wird, sobald Windows hochfährt, fügen Sie dem Autostart-Ordner einen Verweis auf das entsprechende Programm hinzu (über Eigenschaften der Taskleiste)\\ +
  
-Beim nächsten Neustart von Windows wird der gewählte SSL-Tunnel automatisch eingerichtet\\ \\ +{{bilder-netzsicherheit:stunnel:starticon.png}}
  
  
-===== Client-Konfiguration ===== +\\ 
-Bei Internet-Verbindungen werden sogenannte **Ports** zur Unterscheidung verschiedener Dienste zwischen zwei Kommunikationspartnern (Server und Client) verwendet. Auf diese Weise kann über ein und dieselbe Verbindung z.B. Mail und WWW gleichzeitig betrieben werden. Die Portnummern von Quelle und Ziel sind Attribute der Datenpakete (Bestandteil des TCP header) und weisen sie den entsprechenden Diensten über die Transport Service Access Points (TSAP) zu.\\ \\ +===== Programmkomponenten =====
  
-Portnummern können im Bereich von 0 bis 65535 liegen. +Suchen Sie über das Startmenü das installierte Programm auf.\\ 
-Der Bereich unterhalb 256 ist reserviert (well known portsund kann nicht frei für selbstdefinierte Dienste genutzt werdenAber auch oberhalb dieser Schranke sind bereits viele Nummern zu Standards geworden, wie man in der folgenden Tabelle sehen kann. \\ \\ +Sie finden dort eine Reihe von Einträgen vor, die im folgenden beschrieben werden. 
 + 
 +{{:bilder-netzsicherheit:stunnel:startmenue.png}} 
 + 
 +  * Mit dem ersten Eintrag **"Build Self-signed stunnel.pem"** erzeugen Sie in dem oben gezeigten Windows-Kommandozeilen-Fenster erneut ein Zertifikat für den Server-Betrieb von stunnel. 
 +  * Der Eintrag **"Edit stunnel.conf"** startet den Windows-Editor zum Bearbeiten der stunnel-Konfigurationsdatei. Diese Einstellungen sind auf jeden Fall zu überprüfen oder zu ändern, bevor Sie stunnel für Ihre Zwecke nutzen können. Im Abschnitt "Konfiguration" (s. unten) wird näher darauf eingegangen. 
 +  * Den Punkt **"Manual"** sollten Sie zu Rate ziehen, wenn Sie das Programm konfigurieren wollen. 
 +  * Mit **"Run stunnel"** bzw. **"Exit stunnel"** starten bzw. beenden Sie das Programm manuell. 
 +  * Um stunnel als Service laufen zu lassen verwenden Sie die vier nächsten Einträge, die mit **"Service"** beginnen in folgender Weise: 
 +    * **"Service install"** bzw. **"Service uninstall"** installiert bzw. deinstalliert das Programm als Windows-Service im Autostart-Modus; d.h. bei jedem Hochfahren den Systems wird der stunnel-Service automatisch gestartet. Nach dem Aufruf von "Service install" wird der Service allerdings nicht sofort gestartet. 
 +    * **"Service start"** bzw. **"Service stop"** startet bzw. stoppt den Service, belässt ihn aber im System. Nach einem manuellen Stop wird der Service auf Grund seiner Autostart-Eigenschaft beim nächsten Systemstart ebenfalls wieder gestartet. 
 +  * Mit dem letzten Eintrag "Uninstall stunnel" entfernen Sie das Programm wieder aus dem System. Einen laufenden Service müssen Sie dazu nicht stoppen bzw. deinstallieren. 
 + 
 + 
 +\\ 
 +===== Konfiguration ===== 
 + 
 +Bei Internet-Verbindungen werden **Ports** zur Unterscheidung der verschiedenen Server-Dienste verwendet. Auf diese Weise kann über ein und dieselbe Verbindung z.B. Mail und WWW gleichzeitig betrieben werden. Die Portnummern von Quelle und Ziel sind Attribute der Datenpakete (Bestandteil des TCP header). 
 + 
 +Portnummern können im Bereich von 0 bis 65535 liegen. Der Bereich unterhalb 1024 wird als "well known ports" bezeichnet und bestimmten Diensten zugeordnet. Auf einigen Systemen sind diese Portnummern für die Benutzer-Programmierung nicht frei gegeben.
    
 **Beispiele für reservierte Portnummern:** **Beispiele für reservierte Portnummern:**
Zeile 64: Zeile 87:
 |  993 | IMAP mit SSL| |  993 | IMAP mit SSL|
 |  995 | POP3 mit SSL|  |  995 | POP3 mit SSL| 
- \\ \\  
  
-Unter **port forwarding** versteht man das Weiterleiten ("tunneln") von Datenpaketen mit einer ausgewählten Portnummer über die mit STunnel aufgebaute Verbindung. Dadurch wird der gesamte Datenverkehr des zur Portnummer gehörenden Internet-Dienstes verschlüsselt. 
  
-Zu diesem Zweck installiert STunnel einen lokalen TSAP (mit zugehöriger Portnummer) der über eine verschlüsselte Verbindung mit einem entfernten (remote) TSAP verknüpft wird. Der remote Port wird vom gewünschten Dienst (z.B. POP3) festgelegt, der lokale Port kann prinzipiell frei gewählt werden, sollte aus Gründen der Übersichtlichkeit aber normalerweise identisch mit dem remote Port sein.+Unter **port forwarding** versteht man das Weiterleiten ("tunneln") von Datenpaketen mit einer ausgewählten (Ziel-)Portnummer über die mit stunnel aufgebaute Verbindung. Dadurch wird der gesamte Datenverkehr des zur Portnummer gehörenden Internet-Dienstes verschlüsselt. 
 + 
 +Zu diesem Zweck installiert man mit stunnel einen lokalen Transport Service Access Point (TSAP, mit zugehöriger Portnummer) der über eine verschlüsselte Verbindung mit einem entfernten (remote) TSAP verknüpft wird. Der remote Port wird vom gewünschten Dienst (z.B. POP3) festgelegt, der lokale Port kann prinzipiell frei gewählt werden, sollte aus Gründen der Übersichtlichkeit aber normalerweise identisch mit dem remote Port sein.
  
 Dem Vorteil dieses Verfahrens (verschlüsselte Verbindung) stehen allerdings folgende Nachteile gegenüber: Dem Vorteil dieses Verfahrens (verschlüsselte Verbindung) stehen allerdings folgende Nachteile gegenüber:
  
-  * Bevor ein Dienst auf diese Weise verschlüsselt werden kann, muß zum Zielrechner eine STunnel-Verbindung aufgebaut werden. +  * Bevor ein Dienst auf diese Weise verschlüsselt werden kann, muß zum Zielrechner eine stunnel-Verbindung aufgebaut werden. 
-  * Der Zugang zu einem Dienst via STunnel muss mit dem Administrator des Servers vereinbart werden, da solche Zugänge nicht von vornherein eingerichtet sind bzw. nicht zum Standard gehören.+  * Der Zugang zu einem Dienst via stunnel muss mit dem Administrator des Servers vereinbart werden, da solche Zugänge nicht von vornherein eingerichtet sind bzw. nicht zum Standard gehören.
  
-**In den folgenden Abbildung sehen Sie als Beispiele die Illustration einer unverschlüsselten POP3-Sitzung, sowie...**+**In den folgenden Abbildungen sehen Sie Beispiele für ...**
  
-{{:bilder-netzsicherheit:kein-tunnel.gif}}+**...eine unverschlüsselten POP3-Sitzung**
  
-**...die Illustration einer getunnelten POP3-Sitzung:**+{{:bilder-netzsicherheit:stunnel:client-server.png|}}
  
-{{:bilder-netzsicherheit:stunnel-forward.gif}} \\ \\ +**...eine Verbindung zwischen stunnel im client mode und einem SSL-fähigen Server**
  
-  +{{:bilder-netzsicherheit:stunnel:stunnel-server.png|}} 
----- + 
-Letzte inhaltliche Änderung09.10.2009 (BBußhardt) \\ \\ +**...eine Verbindung zwischen stunnel im client mode und stunnel im server mode mit einem nicht-SSL-fähigen Server** 
 + 
 +{{:bilder-netzsicherheit:stunnel:stunnel-stunnel.png|}} 
 + 
 + 
 +Die bei der Installation mitgelieferte Beispiel-Konfiguration ("Edit stunnel.conf" bei den Programmkomponenten) führt Mustereinträge auf sowohl für den Client- als auch für den Server-Betrieb. Der Abschnitt für die Zertifikate ist in der Voreinstellung deaktiviert. Das bedeutet, dass im Client-Mode jedes vom Server ausgegebene Zertifikat akzeptiert wird und im Server-Mode das bei der Installation selbst erstellte Zertifikat an die Clients verschickt wird. 
 + 
 +Eine komplette Dokumentation findet man wie schon erwähnt bei den Programmkomponenten under "Manual"
 + 
 +\\ 
 +===== Sicherheit ===== 
 + 
 + 
 +Wenn der Schutz durch Zertifikate zuverlässiger gestaltet werden soll, muss man wie folgt vorgehen: 
 + 
 +  * **Server-Mode**\\ Es wird ein Zertifikat verschickt, das von einer allgemein anerkannten Zertifizierungsstelle beglaubigt wirdAn der Uni Freiburg kann man sich diesbezüglich an die **[[http://portal.uni-freiburg.de/rz/services/sicherheit/zertifizierung|Zertifizierungsstelle der Universität (Uni FR CA)]]** wenden.\\ Mit dem Konfigurationsparameter **cert** wird stunnel der Name einer Datei mitgeteilt, in der sich, angefangen vom Wurzelzertifikat, die gesamte Zertifikatskette bis herunter zum eigenen Server-Zertifikat befindet.\\ \\  
 +  * **Client-Mode**\\ Zur Überprüfung der von einem Server ausgelieferten Zertifikate muss mit dem Parameter **CAfile** die Datei festgelegt werden, die die gesamte Zertifikatskette bis herunter zur ausstellenden Instanz (in Freiburg die Uni FR CAenthält.\\ \\  
 +  * **Rückruflisten**\\ Um ein übriges zu tun, kann man mit einer zeitgesteuerten Task regelmäßig (und pünktlich!) die sog. Revocation Lists herunterladen und den Pfad dazu im Parameter **CRLfile** angeben. Die Rückruflisten enthalten die Zertifikate, die bis zum aktuellen Zeitpunkt für ungültig erklärt wurden. 
 + 
 +Mit dem Parameter **verify** legen Sie fest, wie stringent stunnel mit den Zertifikaten umzugehen hat. 
 + 
 +Wiki-Seiten zu den Zertifikaten finden Sie hier: 
 +**[[tag:zertifikate|Zertifikate - Artikelübersicht]]**
  
  
-{{tag>sicherheit software}}+\\ 
 +\\ 
 +{{tag>sicherheit software netz}}
QR-Code
QR-Code stunnel (erstellt für aktuelle Seite)