Vorheriges Thema: VPN: VPN-Appliance (VPN = Virtuelles privates Netzwerk)Nächstes Thema: Generisch


VPN2: VPN-Appliance (VPN = Virtuelles privates Netzwerk)

Aktuelle Version: 1.0.2-1

Auf einen Blick

Katalog

System

Kategorie

Gateways

Benutzer-Volumes

no

Min. Speicher

96 MB

Betriebssystem

Linux

Einschränkungen

no

Funktionsübersicht

VPN2 ist eine VPN-Appliance (VPN = Virtuelles privates Netzwerk), die in IPv4- und IPv6-Netzwerken arbeitet und für die Bereitstellung sicherer und zuverlässiger Tunnel für Inter-Grid-Kommunikation und Remote-Zugriff auf Anwendungen und Appliances konzipiert ist. VPN2 kann auch ohne den Einsatz von VPN-Tunnel funktionieren. In diesem Fall fungiert es als kombiniertes Cleartext-IN/OUT-Gateway. VPN2 kann ferner zur nahtlosen Verbindung von IPv4- und IPv6-Grids von CA AppLogic verwendet werden. VPN2 basiert auf den Open-Source-Softwarepakten OpenVPN, OpenSSH und Raccoon.

VPN hat drei grundlegende Betriebsarten: Server, Client und beides.

VPN2 unterstützt IPSec, freigegebene Schlüsseldateien, SSL-Zertifikate und SSH-Schlüsseldateien für Authentifizierung und Verschlüsselung. Ein normaler OpenVPN/OpenSSH-Client kann auf einer Remote-Arbeitsstation für die Verbindung mit VPN2 verwendet werden, das wiederum den sicheren Zugriff auf die internen Komponenten einer Anwendung ermöglicht, die auf CA AppLogic ausgeführt wird. Die VPN2-Appliance unterstützt die Generierung von freigegebenen Schlüsseldateien, SSL-Zertifikaten und SSH-Schlüsseln.

Für den Remote-Zugriff auf eine CA AppLogic-Anwendung über einen sicheren VPN-Tunnel mittels VPN2 können Sie die OpenVPN-Software auf der Client-Seite oder OpenSSH auf dem Client-Rechner verwenden (oder eine andere kompatible Software).

Begrenzung

Ressourcen

Ressource

Minimum

Maximum

Standard

CPU

0.1

16

0.2

Speicher

96 MB

32 GB

96 MB

Bandbreite

1 Mbit/s

2 Gbit/s

250 Mbit/s

Terminals

Name

Richtung

Protokoll

Description

clt

in

alle

Häufige Eingabe für den gesamten eingehenden Datenverkehr, der durch den in-Terminal geleitet werden soll, wenn VPN als Client ausgeführt wird. Wenn VPN so konfiguriert ist, dass auf dem in-Terminal ein Tunnel erstellt wird, werden an clt gesendete Pakete zu einem hergestellten Tunnel geleitet oder beendet, wenn der Tunnel nicht funktionsfähig ist.

in

in,out

alle

Empfängt den gesamten verschlüsselten Datenverkehr (eingehend oder ausgehend) für zugewiesene IPs

srv

out

alle

Häufige Eingabe für den gesamten ausgehenden Datenverkehr, der durch das in-Terminal geleitet werden soll, wenn VPN als Server ausgeführt wird. Der gesamte Datenverkehr wird mithilfe der Eigenschaften tcp_ports, udp_ports, ssh_ports und aux_protocols gefiltert, bevor er durch srv geleitet wird.

fs

out

nfs

Zugriff auf ein Netzwerkdateisystem für freigegebene Dateispeicherung, wobei Lese-/Schreibzugriff auf die Dateien über NFS bereitgestellt wird. Dieses Volume wird als /mnt/fs im Dateisystemspeicherbereich der Appliance geladen und zum Speichern von Verschlüsselungscodes und Zertifikaten verwendet. Auf dem verbundenen Server muss eine Freigabe namens /mnt/data mit Lese- und Schreibzugriff vorhanden sein. Weder das Daten-Volume noch das von NFS bereitgestellte Volume wird benötigt, wenn VPN im Cleartext-Modus ausgeführt wird. Dieses Terminal kann unverbunden gelassen werden, wenn es nicht verwendet wird

log

out

cifs

Zugriff auf ein CIFS-basiertes Netzwerkdateisystem zum Speichern von Zugriffs- und Fehlerprotokollen. Der verbundene Server muss anonyme Anmeldungen zulassen und über eine benannte Freigabe mit Lese-/Schreibzugriff verfügen. Dieses Terminal kann unverbunden gelassen werden, wenn es nicht verwendet wird.

mon

out

cce

Wird verwendet, um Leistungs- und Ressourcenverwendungsstatistik zu senden. Keine Verbindung erforderlich, sofern nicht verwendet.

Der in-Terminal wird für verschlüsselten Datenverkehr (eingehend oder ausgehend) verwendet. Dieser Terminal wird über die Registerkarte "Schnittstellen" im Anwendungskonfigurations-Editor konfiguriert.

Eigenschaften

Allgemeine Eigenschaften

Eigenschaftsname

Typ

Description

dns1

IP-Adresse

Definiert den primären DNS-Server, an den VPN2 DNS-Anfragen weiterleitet. Wenn diese Eigenschaft leer gelassen wird, verwendet VPN2 die Stamm-DNS-Server. Standard: leer

dns2

IP-Adresse

Definiert den Sicherungs-DNS-Server, an den VPN2 DNS-Anfragen weiterleitet, wenn der primäre Server nicht verfügbar ist. Wenn diese Eigenschaft leer gelassen wird, verwendet VPN2 keinen Sicherungs-DNS-Server. Standard: leer

Eigenschaften von VPN

Eigenschaftsname

Typ

Description

mode

Zeichenfolge

Betriebsmodus. Mögliche Werte sind:

server - VPN2 wird im Servermodus ausgeführt und akzeptiert eingehenden Datenverkehr von hergestellten Tunneln auf dem in-Terminal und sendet ihn an das srv-Terminal.

client - VPN2 wird im Clientmodus ausgeführt und akzeptiert eingehenden Datenverkehr auf dem clt-Terminal und sendet ihn an den hergestellten Tunnel auf dem in-Terminal.

both - VPN2 wird sowohl im Client- als auch im Servermodus ausgeführt.

Standard: server.

tunnel

Zeichenfolge

Typ des erstellenden Tunnels. Mögliche Werte sind:

certificate - Es wird ein VPN-Tunnel mithilfe von SSL-Clientzertifikaten und -Serverzertifikaten für die Authentifizierung und Verschlüsselung mit OpenVPN erstellt. Das Serverzertifikat wird automatisch generiert, wenn es nicht vorhanden ist; das Client-Zertifikat muss mit dem Skript appliance/security.sh, das auf dem VPN2-Server gespeichert ist, manuell erstellt und in das Unterverzeichnis /client/ auf dem Daten-Volume oder dem von NFS bereitgestellten Volume kopiert werden. Dieser Modus funktioniert mit IPv4 und IPv6.

shared secret - Es wird ein VPN-Tunnel mithilfe einer freigegebenen Sicherheitsdatei mit OpenVPN erstellt. Diese Datei wird automatisch auf dem VPN2-Server generiert, wenn sie nicht vorhanden ist; sie ist im Unterverzeichnis /server/ auf Daten-Volume oder dem von NFS bereitgestellten Volume gespeichert und heißt secret.key. Diese Datei muss auf die Client-VPN2-Appliance in das Unterverzeichnis /client/ kopiert werden. Dieser Modus funktioniert mit IPv4 und IPv6.

ssh-Schlüssel - Mithilfe von OpenSSH-Schlüsseldateien für die Authentifizierung wird ein SSH-Tunnel erstellt. Schlüsseldateien werden mit dem serverseitigen Skript /appliance/security.sh generiert. Die Client-Schlüsseldatei muss in das Unterverzeichnis /client/ auf dem Daten-Volume oder im von NFS bereitgestellten Speicher kopiert werden. Dieser Modus funktioniert mit IPv4 und IPv6.

Gemeinsamer geheimer IPSec-Schlüssel - IPSec-Tunnel wird zwischen VPN2-Instanzen erstellt. Die erste Zeile der Datei, die durch die Eigenschaft "auth_path" angegeben wird, wird als gemeinsamer Schlüssel verwendet. Dieser Modus funktioniert nur mit IPv4.

ipsec certificate - IPSec-Tunnel wird mithilfe von Zertifikaten zwischen VPN2-Instanzen erstellt. Das Serverzertifikat wird automatisch generiert, wenn es nicht vorhanden ist, oder kann mit dem Skript appliance/security.sh erstellt werden; das Client-Zertifikat muss mit dem Skript /appliance/security.sh, das auf dem VPN2-Server gespeichert ist, manuell erstellt und in das Unterverzeichnis /client/ auf dem Daten-Volume oder dem von NFS bereitgestellten Volume kopiert werden. Dieser Modus funktioniert nur mit IPv4. Für beide Betriebsart müssen alle Zertifikate mit derselben Appliance generiert und mit dem zugehörigen ca.crt-Zertifikat verteilt werden.

cleartext - Es wird kein Tunnel erstellt; die VPN2-Appliance fungiert als kombiniertes IN/OUT-Gateway und akzeptiert Datenverkehr auf dem clt-Terminal und leitet ihn an den in-Terminal weiter und akzeptiert Datenverkehr auf dem in-Terminal und leitet ihn an das srv-Terminal weiter. Dieser Modus funktioniert mit IPv4 und IPv6. Beim IPv6-Modus muss die Eigenschaft "remote_host" die Adresse des Peers enthalten.

Standard: cleartext.

auth_path

Zeichenfolge

Authentifizierungsinformationen für den Tunnel. Im Shared Secret-Modus ist dies ein relativer Pfad zur Shared Secrets-Datei auf dem Daten-Volume (z. B. "secret.key" für die Datei "client/secret.key"). Für den Zertifikatsmodus ist dies ein relativer Pfad, einschließlich des Dateinamens ohne Erweiterung, zum Zertifikats-/Schlüsseldateipaar. Beispiel: Wenn die Zertifikatsdateien "client1-2009.crt" und "client1-2009.key" sich im Unterverzeichnis /client des Daten-Volumes befinden, muss "client1-2009" hier angegeben werden. Wenn der Tunnel cleartext ist, wird diese Eigenschaft ignoriert. Wenn es sich bei dem Tunnel um einen SSH-Schlüssel handelt, gibt diese Eigenschaft den Pfad und Dateinamen zur öffentlichen (für den VPN-Server) oder privaten (für den VPN-Client) SSH-Schlüsseldatei an (z. B. "/1/ssh.key" für die öffentliche Schlüsseldatei "/client/1/ssh.key").

Standard: leer

log_level

Zeichenfolge

VPN-Protokollierungsebene. Mögliche Werte sind:

none - Es wird nichts protokolliert.

emerg - Protokolliert nur Fehler, die von VPN2 gefunden werden.

warn - Protokolliert sowohl Warnungen als auch Fehler.

notice - Protokolliert Warnungen, Fehler und Hinweise.

debug - Protokolliert neben Warnungen, Hinweisen und Fehlern zusätzliche Debuginformationen.

Standard: "none", wenn das log-Terminal nicht angeschlossen ist; "emerg", wenn das log-Terminal angeschlossen ist.

Servereigenschaften

Eigenschaftsname

Typ

Description

allowed_hosts

Zeichenfolge

Liste von Hosts und/oder Teilnetzen, die Verbindungszugriff haben. Trennen Sie mehrere Einträge mit Leerzeichen oder Kommas. Beispiel für ein unterstütztes Format: 192.168.1.2 192.168.1.0/24 192.168.2.0/255.255.255.0 fc00:1234::12/64.

Standard: 0.0.0.0/0 (alle zugelassen, sowohl IPv4 als auch IPv6)

tcp_ports

Zeichenfolge

Port-Nummern oder Port-Bereiche, die auf dem srv-Terminal zulässig sind. Akzeptiert eine Zeichenfolge von komma- bzw. leerzeichengetrennten Werten. Port-Bereiche müssen als "lower_port:higher_port" mit Doppelpunkt oder Gedankenstrich als Trennzeichen angegeben werden (zum Beispiel 80,81,82:85 86-90). Ein besonderer Wert von 0 gibt an, dass alle tcp-Ports akzeptiert werden.

Standard: leer

udp_ports

Zeichenfolge

Wie tcp_ports, aber für UDP-Protokoll.

Standard: leer

aux_protocols

Zeichenfolge

Eine Zeichenfolge von durch Komma oder Leerzeichen getrennte zusätzliche IP-Protokoll-Nummern, die zugelassen sind (z. B. 6 für TCP, 47 für GRE). Separate Protokolle können durch ihre Namen angegeben werden (z. B. "gre" anstelle von "47"). Siehe

Protokollnummern für Zuweisung.

Standard: leer (deaktiviert)

Client-Eigenschaften

Eigenschaftsname

Typ

Description

remote_host

Zeichenfolge

Definiert den Remote-Host, zu dem der gesamte Datenverkehr geleitet werden soll. Dies kann der DNS-Name des Host oder seine IPv4- oder IPv6-Adresse in Punktnotation sein. Diese Eigenschaft ist obligatorisch.

Standard: leer

dns_poll

Ganzzahl

Das Abfrageintervall in Sekunden, das VPN2 beim Überprüfen der Zuordnung des DNS-Namens von remote_host zur IP-Adresse verwendet (wird nur verwendet, wenn remote_host als DNS-Name angegeben wird). Auf 0 festlegen, um Abrufen zu deaktivieren und nicht zu versuchen, Änderungen festzustellen.

Standard: 3600 Sekunden (1 Stunde)

ssh_ports

Zeichenfolge

Eine clientseitige Eigenschaft für den SSH-Schlüsselmodus, die angibt, was tcp-Ports zum VPN2-Server weiterleiten. Port-Bereiche werden nicht unterstützt, Ports können durch Leerzeichen oder Kommas getrennt werden.

Standard: leer

Volumes

Name

Description

Daten

Ein Daten-Volume mit Lese-/Schreibberechtigung (Platzhalter), das Konfigurationsdateien und Zertifikatsdateien enthält. Dieses Volume wird nicht benötigt, wenn der fs-Terminal angeschlossen ist. Wenn fs angeschlossen ist und ein Daten-Volume bereitgestellt wird, kann VPN2 nicht starten und protokolliert eine Fehlermeldung. Alle Dateien, die für VPN2-Server-Vorgänge notwendig sind, sind im Unterverzeichnis /server/ des Datenspeichers gespeichert. Alle Dateien, die für VPN2-Client-Vorgänge notwendig sind, sind im Unterverzeichnis /client/ gespeichert.

Benutzerdefinierte Zähler

Die VPN2-Appliance meldet die folgenden benutzerdefinierten Zähler über das Terminal "mon".

Zählername

Description

server_bytes_in

Gesamtanzahl Byte, die von VPN2 empfangen wurde.

server_bytes_out

Gesamtanzahl Byte, die von VPN2 gesendet wurde.

client_bytes_in

Gesamtanzahl Byte, die von VPN2 gesendet wurde.

client_bytes_out

Gesamtanzahl Byte, die an Client-Tunnel gesendet wurde.

client_bytes_out

Anzahl Clients, die mit VPN2 verbunden sind.

Leistung

Zwei Testanwendungen befanden sich auf demselben CA AppLogic-Grid. 100 Mbit-Bandbreite wurde beiden VPN2-Appliances (Client und Server) und Server- und Client-Appliances zugewiesen. Mehrere Objekte, jeweils 1 Megabyte groß, wurden abgerufen, 10 Objekte gleichzeitig, 60 Sekunden lang.

Modus

Bandbreite, Mbit/Sekunde

Objektgröße

Anfragen/Sekunde

Übertragungsrate, Megabyte/Sekunde

Zertifikat

100

1 MB

12.5667

12.56

Gemeinsamer Schlüssel

100

1 MB

12.5166

12.51

SSH-Schlüssel

100

1 MB

12.7667

12.76

Klartext

100

1 MB

13.0329

12.76

Fehlermeldungen

Im Fall von Appliance-Startfehlern können die folgenden Fehler im Systemprotokoll protokolliert werden:

Fehlermeldung

Description

Failed to mount the data volume

VPN2 konnte das Daten-Volume nicht laden. Überprüfen Sie, ob das Volume formatiert und verfügbar ist.

Failed to generate server_key

VPN2 konnte die Datei für gemeinsame geheime Schlüssel nicht generieren. Wahrscheinlich ist das Daten-Volume zu klein, oder wurde schreibgeschützt geladen.

Failed to launch OpenVPN server

VPN2 konnte OpenVPN-Server nicht starten. Wenden Sie sich an den 3Tera-Support.

Failed to generate certificates.

VPN2 konnte Zertifizierungsstelle nicht erstellen und das notwendige Zertifikat für den Serverbetriebsmodus nicht generieren. Wahrscheinlich ist das Daten-Volume zu klein, oder wurde schreibgeschützt geladen.

Failed to generate DH file.

VPN2 konnte die Diffie-Hellman-Schlüsseldatei nicht generieren. Wahrscheinlich ist das Daten-Volume zu klein, oder wurde schreibgeschützt geladen.

Secrets file client_auth does not exist

Die Datei "client_auth", die in der Eigenschaft "auth" definiert ist, ist nicht vorhanden. Überprüfen Sie den Pfad und Namen der Datei.

Remote server address is empty for

Entfernte VPN2-Serveradresse ist für Tunnel X leer.

Failed to launch OpenVPN for clientX tunnel

VPN2 konnte OpenVPN-Software für Client-Tunnel X nicht starten. Wahrscheinlich sind einige Eigenschaften oder Schlüsseldateien ungültig.

Certificate file client_auth.crt does not exist

VPN2 konnte eine Zertifikatsdatei nicht finden. Ungültiger Pfad oder Dateiname in der Eigenschaft "auth" für den Betriebsmodus des Zertifikat-Clients angegeben.

Key file client_auth.key does not exist

VPN2 konnte eine Schlüsseldatei nicht finden. Ungültiger Pfad oder Dateiname in der Eigenschaft "auth" für den Betriebsmodus des Zertifikat-Clients angegeben

Certification Authority certificate ca_cert is missing

VPN2 konnte das Zertifikat der Zertifizierungsstelle nicht finden. Es sollte sich in der Datei /CA/ca.crt auf dem Daten-Volume befinden.

Tunneltypen

Klartext

Dieser Modus unterstützt ein Szenario aus "einem Server und mehreren Clients", bei dem der Zugriff auf den VPN2-Server von mehreren Speicherorten aus zulässig ist. In diesem Modus werden keine VPN-Tunnel erstellt, und ein Datenspeicher wird nicht benötigt (weder ein Daten-Volume noch eine NAS-Appliance ist mit dem Terminal "fs" verbunden). Dieser Modus funktioniert in IPv4 und IPv6.

Auf der Server-VPN2-Appliance wird auf dem in-Terminal eingegangener Datenverkehr über die Eigenschaften "tcp_ports", "udp_ports" und "aux_protocols" gefiltert und an den srv-Terminal weitergeleitet.

Auf der Client-VPN2-Appliance wird auf dem clt-Terminal eingegangener Datenverkehr an den Remote-VPN2-Server weitergeleitet, der durch die Eigenschaft "remote_host" angegeben ist.

Eigenschaften, die auf der Serverseite konfiguriert werden müssen: mode, tunnel, allowed_hosts, tcp_ports, udp_ports, aux_protocols.

Eigenschaften, die auf der Client-Seite konfiguriert werden müssen: mode, tunnel, remote_host.

Die serverseitige Eigenschaft "remote_host" muss mit der Adresse des Client konfiguriert werden, wenn der IPv6-Modus verwendet wird.

Zertifikat

Dieser Modus unterstützt ein Szenario aus "einem Server und mehreren Clients", bei dem der Zugriff auf den VPN2-Server von mehreren Speicherorten aus zulässig ist. Ein Datenspeicher ist erforderlich (entweder ein Daten-Volume oder eine NAS-Appliance, mit dem Terminal "fs" verbunden). Dieser Modus funktioniert sowohl in IPv4 als auch in IPv6.

Beim Start generiert die Server-Appliance erforderliche Zertifikate und Schlüsseldateien, wenn diese Dateien bereits nicht vorhanden sind. Diese Dateien können mit dem security.sh-Skript erneut generiert werden, das sich im Verzeichnis "/appliance/" befindet. Vor dem Konfigurieren eines VPN2-Clients müssen Zertifikate dafür generiert werden. Ein Benutzer kann sich bei der ausgeführten VPN2-Server-Appliance anmelden und ein Client-Schlüsselpaar folgendermaßen generieren:

grid> comp login VPN2-1:main.VPN2
CentOS-Version 6 (Endversion)
[VPN-1:main.VPN ~]# /appliance/security.sh generate_client
Generiertes SSL-Client-Zertifikat und Schlüsseldatei.
==============================================
Diese Dateien mit CA-Zertifikatsdatei müssen auf den VPN2-Server kopiert werden, und zwar in
"/client/" des Daten-Volumes oder des in FS bereitgestellten Volumes.
Der Pfad zu Client-Dateien (client.829de5afcac564b3) muss in der Eigenschaft "auth_path" festgelegt werden.
Speicherort der Dateien:
Client-Zertifikat: /mnt/fs/server/client.829de5afcac564b3.crt
Client-Schlüsseldatei: /mnt/fs/server/client.829de5afcac564b3.key
CA-Zertifikatsdatei unter /mnt/fs/server/ca.crt gefunden

Das Client-Zertifikat und die Schlüsseldatei müssen in die Client-VPN2-Appliance in das Unterverzeichnis "/client/" des Datenspeichers kopiert werden, und "auth_path" muss auf den entsprechenden Wert festgelegt werden, in diesem Fall "client.829de5afcac564b3". Das CA-Zertifikat vom VPN2-Server (/mnt/fs/server/ca.crt) muss auch in das Unterverzeichnis "/client/" auf der Client-Appliance kopiert und "ca.crt" genannt werden. Jede Client-VPN2-Appliance benötigt ein eigenes Zertifikat.

Auf der Server-VPN2-Appliance wird auf dem in-Terminal eingegangener Datenverkehr entschlüsselt, über die Eigenschaften "tcp_ports", "udp_ports" und "aux_protocols" gefiltert und an den srv-Terminal weitergeleitet.

Auf der Client-VPN2-Appliance wird auf dem clt-Terminal eingegangener Datenverkehr verschlüsselt und an den Remote-VPN2-Server weitergeleitet, der durch die Eigenschaft "remote_host" angegeben ist.

Eigenschaften, die auf der Serverseite konfiguriert werden müssen: mode, tunnel, allowed_hosts, tcp_ports, udp_ports, aux_protocols.

Eigenschaften, die auf der Client-Seite konfiguriert werden müssen: mode, tunnel, remote_host, auth_path.

Datei für gemeinsame geheime Schlüssel

Dieser Modus unterstützt nur das Szenario "ein Server - ein Client", bei dem der Zugriff auf den VPN2-Server von jeweils nur einem einzigen Client erlaubt ist. Ein Datenspeicher ist erforderlich (entweder ein Daten-Volume oder eine NAS-Appliance, mit dem Terminal "fs" verbunden). Dieser Modus funktioniert sowohl in IPv4 als auch in IPv6.

Beim Starten generiert die Server-Appliance eine Datei für gemeinsame geheime Schlüssel namens "/server/secret.key", sofern diese Datei noch nicht vorhanden ist. Diese Datei kann mit dem Skript security.sh erneut generiert werden, das im Verzeichnis /appliance/ gespeichert ist. Bevor Sie VPN2-Clients konfigurieren, muss diese Datei für gemeinsame geheime Schlüssel in den entsprechenden Datenspeicher in das Unterverzeichnis /client/ kopiert werden. Um eine neue Datei für gemeinsame geheime Schlüssel zu generieren, kann ein Benutzer sich bei der ausgeführten VPN2-Server-Appliance anmelden und den folgenden Befehl ausgeben:

[VPN2-1:main.VPN2 server]# /appliance/security.sh generate_secret
Generated OpenVPN shared secrets file.
======================================
Diese Datei muss auf den VPN2-Server in das Unterverzeichnis "/server/" des Daten-Volumes oder des in FS bereitgestellten Volumes kopiert werden.
Außerdem muss die Datei auf den VPN2-Client in das Unterverzeichnis "/client/" des Daten-Volumes oder des in FS bereitgestellten Volumes kopiert werden.
Der entsprechende Pfad muss in der Eigenschaft "auth_path" des VPN2-Clients festgelegt werden.
Speicherort der Datei: /mnt/fs/server/secret.key

Eine neu generierte Datei für gemeinsame geheime Schlüssel überschreibt die alte Datei, sofern vorhanden. Diese Datei für gemeinsame geheime Schlüssel "/mnt/fs/server/secret.key" muss auf die Client-VPN2-Appliance in das Unterverzeichnis "/client/" des Datenspeichers kopiert werden. Für die Eigenschaft "auth_path" muss der korrekte Wert festgelegt werden, in diesem Fall "secret.key". Es können mehrere Client-VPN2-Appliances konfiguriert werden, allerdings kann nur jeweils eine Appliance angeschlossen werden.

Auf der Server-VPN2-Appliance wird auf dem in-Terminal eingegangener Datenverkehr entschlüsselt, über die Eigenschaften "tcp_ports", "udp_ports" und "aux_protocols" gefiltert und an den srv-Terminal weitergeleitet.

Auf der Client-VPN2-Appliance wird auf dem clt-Terminal eingegangener Datenverkehr verschlüsselt und an den Remote-VPN2-Server weitergeleitet, der durch die Eigenschaft "remote_host" angegeben ist.

Eigenschaften, die auf der Serverseite konfiguriert werden müssen: mode, tunnel, allowed_hosts, tcp_ports, udp_ports, aux_protocols.

Eigenschaften, die auf der Client-Seite konfiguriert werden müssen: mode, tunnel, remote_host, auth_path.

SSH-Schlüssel

Dieser Modus unterstützt ein Szenario aus "einem Server und mehreren Clients", bei dem der Zugriff auf den VPN2-Server von mehreren Speicherorten aus zulässig ist. Ein Datenspeicher ist erforderlich (entweder ein Daten-Volume oder eine NAS-Appliance, mit dem Terminal "fs" verbunden). Nur TCP-Datenverkehr kann durch den SSH-Tunnel geleitet werden, daher wird nur die Eigenschaft "tcp_ports" auf der Serverseite verwendet. Port-Bereiche werden nicht unterstützt - jeder Port, der weitergeleitet werden soll, muss ausdrücklich in der Eigenschaft "ssh_ports" auf der Client-Seiten angegeben werden. Dieser Modus funktioniert sowohl in IPv4 als auch in IPv6.

Der VPN2-Server generiert das standardmäßige SSH-Schlüsselpaar beim Start. Standardschlüssel befinden sich an folgendem Speicherort: server key (public key): server/ssh-server.pub client key (private key): server/ssh-client.key Zusätzliche Schlüssel können manuell mit dem Skript security.sh generiert werden:

[VPN2-1:main.VPN2 ~]# /appliance/security.sh generate_ssh
Generated SSH keypair.
======================
Der öffentliche Schlüssel muss auf den VPN2-Server in das Unterverzeichnis "/server/" des Daten-Volumes oder des in FS bereitgestellten Volumes kopiert werden.
Der private Schlüssel muss auf den VPN2-Client in das Unterverzeichnis "/client/" des Daten-Volumes oder des in FS bereitgestellten Volumes kopiert werden.
Der Pfad für die Schlüsseldateien muss in der Eigenschaft "auth_path" sowohl auf dem VPN2-Client als auch auf dem Server festgelegt werden.
Speicherort der Dateien:
Öffentlicher Schlüssel: /mnt/fs/server/ssh.11179ebbfa3f6852.pub
Privater Schlüssel: /mnt/fs/server/ssh.11179ebbfa3f6852.key
Der öffentliche Schlüssel muss auf den VPN2-Server in das Unterverzeichnis "/server/" kopiert werden; der private Schlüssel muss auf den Client in das Unterverzeichnis "/client/" kopiert werden. Die Eigenschaft "auth_path" muss sowohl auf dem Client als auch auf dem Server festgelegt werden. Wenn "auth_path" leer ist, wird der SSH-Standardschlüssel verwendet. 

Auf der Server-VPN2-Appliance wird auf dem in-Terminal eingegangener Datenverkehr entschlüsselt, über die Eigenschaft "ssh_ports" gefiltert und an den srv-Terminal weitergeleitet. Es wird nur TCP-Port-Weiterleitung unterstützt. Die Eigenschaft "auth_path" definiert den zu verwendenden öffentlichen SSH-Schlüssel. Wenn die Appliance sowohl im Client- als auch im Servermodus ausgeführt wird, sollten der öffentliche und der private Schlüssel den gleichen Namen tragen und in den Unterverzeichnissen /server/ und /client/ gespeichert sein. Die Eigenschaft "ssh_ports" muss auf dem Server und auf dem Client auf die gleiche Weise konfiguriert werden.

Auf der Client-VPN2-Appliance wird auf dem clt-Terminal eingegangener Datenverkehr verschlüsselt und an den Remote-VPN2-Server weitergeleitet, der durch die Eigenschaft "remote_host" angegeben ist.

Eigenschaften, die auf der Serverseite konfiguriert werden müssen: mode, tunnel, allowed_hosts, auth_path, tcp_ports.

Eigenschaften, die auf der Client-Seite konfiguriert werden müssen: mode, tunnel, remote_host, auth_path, ssh_ports.

Hinweis: SSH-Server-Server-Modus. Zwei VPN2-Appliances können in beiden Modi konfiguriert und miteinander verbunden werden. Um diesen Modus zu verwenden, müssen Appliances auf besondere Weise konfiguriert werden:

Nehmen wir an, dass zwei Appliances namens VPN21 und VPN22 existieren:

  1. Erstellen Sie 2 Sets mit Dateien mit öffentlichen/privaten Schlüsseln (1.key/1.pub, 2.key/2.pub, mit Skript "/appliance/security.sh generate_ssh").
  2. Konfigurieren Sie die Eigenschaft "auth_path" auf beiden Appliances mit "ssh.key".
  3. Kopieren Sie 2.pub in VPN21:/mnt/data/server/ssh.key (oder in Datei "ssh.key" in Unterverzeichnis "/server/" des NAS-Laufwerks) (öffentlicher Schlüssel in Unterverzeichnis "/server/").
  4. Kopieren Sie 2.key in VPN22:/mnt/data/client/ssh.key (privater Schlüssel in Unterverzeichnis "/client/")
  5. Kopieren Sie 1.pub in VPN22:/mnt/data/server/ssh.key (öffentlicher Schlüssel in Unterverzeichnis "/server/")
  6. Kopieren Sie 1.key in VPN21:/mnt/data/client/ssh.key (privater Schlüssel in Unterverzeichnis "/client/")

IPSec-Zertifikat

Dieser Modus unterstützt ein Szenario aus "einem Server und mehreren Clients", bei dem der Zugriff auf den VPN2-Server von mehreren Speicherorten aus zulässig ist. Ein Datenspeicher ist erforderlich (entweder ein Daten-Volume oder eine NAS-Appliance, mit dem Terminal "fs" verbunden). Dieser Modus funktioniert nur in IPv4.

Beim Start generiert die Server-Appliance erforderliche Zertifikate und Schlüsseldateien, wenn diese Dateien bereits nicht vorhanden sind. Diese Dateien können mit dem security.sh-Skript erneut generiert werden, das sich im Verzeichnis "/appliance/" befindet. Vor dem Konfigurieren eines VPN2-Clients müssen Zertifikate dafür generiert werden. Ein Benutzer kann sich bei der ausgeführten VPN2-Server-Appliance anmelden und ein Client-Schlüsselpaar folgendermaßen generieren:

grid> comp login VPN2-1:main.VPN2
CentOS-Version 6 (Endversion)

[VPN2-1:main.VPN2 ~]# /appliance/security.sh generate_client
Generiertes SSL-Client-Zertifikat und Schlüsseldatei.
==============================================
Diese Dateien mit CA-Zertifikatsdatei müssen auf den VPN2-Server kopiert werden, und zwar in
"/client/" des Daten-Volumes oder des in FS bereitgestellten Volumes.
Der Pfad zu Client-Dateien (client.829de5afcac564b3) muss in der Eigenschaft "auth_path" festgelegt werden.
Speicherort der Dateien:
Client-Zertifikat: /mnt/fs/server/client.829de5afcac564b3.crt
Client-Schlüsseldatei: /mnt/fs/server/client.829de5afcac564b3.key
CA-Zertifikatsdatei unter /mnt/fs/server/ca.crt gefunden

Das Client-Zertifikat und die Schlüsseldatei müssen in die Client-VPN2-Appliance in das Unterverzeichnis "/client/" des Datenspeichers kopiert werden, und "auth_path" muss auf den entsprechenden Wert festgelegt werden, in diesem Fall "client.829de5afcac564b3". Das CA-Zertifikat vom VPN2-Server (/mnt/fs/server/ca.crt) muss auch in das Unterverzeichnis "/client/" auf der Client-Appliance kopiert und "ca.crt" genannt werden. Jede Client-VPN2-Appliance benötigt ein eigenes Zertifikat.

Wichtig! Eine Ausnahme besteht dann, wenn VPN2 in beiden Modi verwendet wird. In diesem Fall müssen alle Zertifikate (Client und Server) von der gleichen VPN2-Instanz generiert und zusammen mit dem Zertifikat "ca.crt" an andere Instanzen verteilt werden.

Auf der Server-VPN2-Appliance wird auf dem in-Terminal eingegangener Datenverkehr entschlüsselt, über die Eigenschaften "tcp_ports", "udp_ports" und "aux_protocols" gefiltert und an den srv-Terminal weitergeleitet.

Auf der Client-VPN2-Appliance wird auf dem clt-Terminal eingegangener Datenverkehr verschlüsselt und an den Remote-VPN2-Server weitergeleitet, der durch die Eigenschaft "remote_host" angegeben ist.

Eigenschaften, die auf der Serverseite konfiguriert werden müssen: mode, tunnel, allowed_hosts, tcp_ports, udp_ports, aux_protocols.

Eigenschaften, die auf der Client-Seite konfiguriert werden müssen: mode, tunnel, remote_host, auth_path.