Unterabschnitte

Das Stunnel-Paket

Die Einleitung

Dieses Paket dient dazu SSL verschlüsselte Tunnel zwischen entfernten Clients und lokalen und/oder entfernten Servern zur Verfügung zu stellen. Nicht SSL-fähige Programme können somit mit SSL-Verschlüsselung und Authentifizierung versehen werden.

Die Funktionen

Das Stunnel-Paket besteht aus folgenden Komponenten:

Die Voraussetzungen

Dieses Paket benötigt zur korrekten Funktion ein installiertes Libssl-Paket.

Die Installation

Das Stunnel-Paket wird über das Setup-Menü installiert. Wird eine ältere Paketversion vorgefunden, so wird diese deinstalliert bevor die neuen Programmdateien installiert werden. Nach dem Installieren der Programmdateien wird direkt der Konfigurations-Editor gestartet um die Konfiguration anzupassen. Nach Beendigung dieses Schrittes werden die Konfigurationsdateien generiert und alle benötigten Programme gestartet.

Das Menü im Setup-Programm

Das Menü im Setup-Programm ist wie folgt aufgebaut:

Die Menüpunkte dürften selbsterklärend sein, da sie keinerlei weitere Eingaben erwarten. Aus diesem Grund wird auf deren Funktion nicht weiter eingegangen.

Die Änderung der Konfiguration

Die Konfiguration kann über den Menüpunkt `Edit configuration' geändert werden. Standardmäßig wird der Editor aufgerufen, der in der Environment-Konfiguration über die Variable `EDITOR' festgelegt wurde. Nachdem der Editor beendet wurde wird abgefragt, ob die Konfiguration aktiviert werden soll. Wird dies bestätigt, werden über ein Skript die Anpassungen umgehend wirksam gemacht.

Die Konfigurationsdatei

In der Konfigurationsdatei, die über das Menü zugänglich ist, sind folgende Parameter vorhanden; wer sie von Hand editieren will findet sie unter /etc/config.d/stunnel.

Die Parameter

START_STUNNEL

Für die Aktivierung des stunnel-Paketes muss diese Variable lediglich auf den Wert `yes' gestellt werden. Die Einstellung `no' deaktiviert das Stunnel-Paket.

Gültige Werte: yes, no

Standardeinstellung: START_STUNNEL='no'

STUNNEL_DEFAULT_CERT_FILE

Über diesen Parameter kann eine Zertifikatsdatei im PEM-Format angegeben werden, welche standardmäßig das für einen Verbindungsaufbau benötigte Zertifikat enthält. Im Servermodus ist die Angabe einer Zertifikatsdatei zwingend erforderlich. Die Datei muss sich im Verzeichnis /usr/local/ssl/certs befinden.

Gültige Werte: leer oder Name einer Zertifikatsdatei

Standardeinstellung: STUNNEL_DEFAULT_CERT_FILE=”

STUNNEL_DEFAULT_CERT_KEY

Über diesen Parameter kann eine private Schlüsseldatei im PEM-Format angegeben werden welche standardmäßig zur Authentifizierung eines Zertifikatsbesitzers verwendet werden soll. Die Datei muss sich im Verzeichnis /usr/local/ssl/private befinden.

Gültige Werte: leer oder Name einer Schlüsseldatei

Standardeinstellung: STUNNEL_DEFAULT_CERT_KEY=

STUNNEL_DEFAULT_PROTOCOL

Über diesen Parameter wird das Protokoll eingestellt, welches zum Verbindungsaufbau verwendet werden soll.

Gültige Werte: all (leer), ssl2, ssl3 oder tls1

Standardeinstellung: STUNNEL_DEFAULT_PROTOCOL='ssl3'

STUNNEL_FIPS_ENABLED

Über diesen Parameter kann eingestellt werden, ob Stunnel von der FIPS (Federal Information Processing Standard) Zertifizierung 140-2 von OpenSSL profitieren soll. Falls ja, muss als Transportprotokoll `TLSv1' verwendet werden.

Gültige Werte: yes oder no

Standardeinstellung: STUNNEL_FIPS_ENABLED='no'

Mittels der folgenden Parameter werden die individuellen Einstellungen einer Tunnelkonfiguration festgelegt.

STUNNEL_N

Über diesen Parameter wird die Anzahl der zu konfigurierenden Verbindungen festgelegt.

Gültige Werte: Zahl

Standardeinstellung: STUNNEL_N='1'

STUNNEL_x_ACTIVE

Wird dieser Parameter auf den Wert `yes' gesetzt, so wird die zugehörige Tunnelkonfiguration aktiviert, `no' deaktiviert sie.

Gültige Werte: yes oder no

Beispiel: STUNNEL_1_ACTIVE='no'

STUNNEL_x_NAME

Über diesen Parameter kann man einen Namen für eine Tunnelkonfiguration festlegen.

Gültige Werte: Name

Beispiel: STUNNEL_1_NAME='vpn-1'

STUNNEL_x_CLIENT_MODE

Über diesen Parameter aktiviert man den Klientenmodus der Tunnelkonfiguration, der Parameter STUNNEL_x_SERVER_MODE muss in diesem Fall auf den Wert `no' gesetzt werden.

Gültige Werte: yes oder no

Standardeinstellung: STUNNEL_1_CLIENT_MODE='yes'

STUNNEL_x_CLIENT_DELAYED_DNS

Über diesen Parameter legt man fest, ob DNS-Anfragen bei Verbindungsanfragen verzögert ausgeführt werden sollen. Dies kann sinnvoll sein, wenn dynamisches DNS verwendet wird oder DNS, z.B. bei einer Einwahlverbindung, noch nicht zur Verfügung steht wenn der Tunnel gestartet wird.

Gültige Werte: yes oder no

Standardeinstellung: STUNNEL_1_CLIENT_DELAYED_DNS='no'

STUNNEL_x_CLIENT_LISTEN_HOST

Über diesen Parameter legt man fest auf welcher IP-Adresse und welchem TCP-Port Verbindungsanfragen akzeptiert werden sollen. Wird nur ein Port aber kein Hostname angegeben, so werden Verbindungen über alle IP-Adressen des lokalen Rechners angenommen.

Gültige Werte: [Hostname:] und TCP-Port

Standardeinstellung: STUNNEL_1_CLIENT_LISTEN_HOST=

STUNNEL_x_CLIENT_REMOTE_HOST

Über diesen Parameter legt man fest zu welchem Host bzw. welcher IP-Adresse und welchem TCP-Port eine Verbindung aufgebaut werden soll. Wird nur ein Port aber kein Hostname angegeben, so wird standardmäßig `localhost' angenommen.

Gültige Werte: [Hostname:] und TCP-Port

Standardeinstellung: STUNNEL_1_CLIENT_REMOTE_HOST=

STUNNEL_x_CLIENT_OUTGOING_IPADDR

Über diesen Parameter legt man fest welche Netzwerkschnittstelle für ausgehende Verbindungen verwendet werden soll.

Gültige Werte: leer oder IP-Adresse

Standardeinstellung: STUNNEL_1_CLIENT_OUTGOING_IPADDR=

STUNNEL_x_CLIENT_APP_PROTOCOL

Über diesen Parameter kann festgelegt werden welches Applikationsprotokoll zur Aushandlung einer SSL/TLS-gesicherten Verbindung genutzt werden soll. Diese Option sollte nicht verwendet werden, wenn eine verschlüsselte Verbindung über einen separaten Port aufgebaut werden soll.

Die unterstützten Protokolle sind:

Standardeinstellung: STUNNEL_1_CLIENT_APP_PROTOCOL=

STUNNEL_x_SERVER_MODE

Über diesen Parameter aktiviert man den Server-Modus der Tunnelkonfiguration, der Parameter STUNNEL_x_CLIENT_MODE muss in diesem Fall auf den Wert `no' gesetzt werden.

Gültige Werte: yes oder no

Standardeinstellung: STUNNEL_1_SERVER_MODE='no'

STUNNEL_x_SERVER_LISTEN_HOST

Über diesen Parameter legt man fest auf welcher IP-Adresse und welchem TCP-Port Verbindungsanfragen akzeptiert werden sollen. Wird kein Hostname angegeben, so werden Verbindungen über alle IP-Adressen des lokalen Rechners angenommen.

Gültige Werte: leer oder [Hostname:] und TCP-Port

Standardeinstellung: STUNNEL_1_SERVER_LISTEN_HOST=

STUNNEL_x_SERVER_COMMAND

Über diesen Parameter kann ein lokales Programm angegeben werden welches nach einem Verbindungsaufbau ausgeführt werden soll.

Gültige Werte: Programm inkl. Pfad

Beispiel: STUNNEL_1_SERVER_COMMAND='/usr/sbin/pppd'

STUNNEL_x_SERVER_COMMAND_OPTION

Über diesen Parameter können optionale Programmparameter für das über
STUNNEL_x_SERVER_COMMAND konfigurierte Programm angegeben werden.

Gültige Werte: Optionale Parameter

Beispiel: STUNNEL_1_SERVER_COMMAND_OPTION='pppd local'

STUNNEL_x_SERVER_APP_PROTOCOL

Über diesen Parameter kann festgelegt werden welches Applikationsprotokoll zur Aushandlung einer SSL/TLS-gesicherten Verbindung genutzt werden soll. Diese Option sollte nicht verwendet werden, wenn eine verschlüsselte Verbindung über einen separaten Port aufgebaut werden soll.

Die unterstützten Protokolle sind:

Standardeinstellung: STUNNEL_1_SERVER_APP_PROTOCOL=

STUNNEL_x_CERT_CHECK

Über diesen Parameter legt man fest, ob und wie das Zertifikat der Gegenstelle überprüft werden soll.

Gültige Werte: Zahl

Standardeinstellung: STUNNEL_1_CERT_CHECK='0'

STUNNEL_x_CERT_FILE

Über diesen Parameter kann eine Zertifikatsdatei im PEM-Format angegeben werden, welche das für einen Verbindungsaufbau benötigte Zertifikat enthält. Im Servermodus ist die Angabe einer Zertifikatsdatei zwingend erforderlich. Die Datei muss sich im Verzeichnis /usr/local/ssl/certs befinden.

Gültige Werte: leer oder Zertifikatsdatei

Standardeinstellung: STUNNEL_1_CERT_FILE=

STUNNEL_x_CERT_KEY

Über diesen Parameter kann eine private Schlüsseldatei im PEM-Format angegeben werden welche standardmäßig zur Authentifizierung eines Zertifikatsbesitzers verwendet werden soll. Die Datei muss sich im Verzeichnis /usr/local/ssl/private befinden.

Gültige Werte: leer oder Schlüsseldatei

Standardeinstellung: STUNNEL_1_CERT_KEY=

STUNNEL_x_PROTOCOL

Über diesen Parameter wird das Sicherheitsprotokoll eingestellt, welches zum Verbindungsaufbau verwendet werden soll.

Gültige Werte: all (leer), ssl2, ssl3 oder tls1

Standardeinstellung: STUNNEL_1_PROTOCOL='ssl3'

STUNNEL_LOG_COUNT

Über diesen Parameter wird eingestellt, wie viele Logdateien vorgehalten werden sollen. Wird dieser Wert überschritten, so wird immer die älteste Logdatei gelöscht.

Gültige Werte: Zahl

Standardeinstellung: STUNNEL_LOG_COUNT='6'

STUNNEL_LOG_INTERVAL

Dieser Parameter bestimmt in welchen Intervallen die Logdateien archiviert werden sollen. Zur Auswahl stehen die Schlüsselwörter `daily' - täglich, `weekly' - wöchentlich und `monthly - monatlich.

Gültige Werte: daily, weekly, monthly

Standardeinstellung: STUNNEL_LOG_INTERVAL='weekly'