Rubrique précédente: Appliance de la passerelle de sortie du sous-réseau

Rubrique suivante: Secret partagé IPSec


VPN - Appliance de mise en réseau privé virtuel

Dernière version : 2.0.1-1

Appliance VPN

Aperçu rapide

Catalogue

Système

Catégorie

Passerelles

Volumes d'utilisateur

Oui

Min. mémoire

96M

SE

Linux

Contraintes

non

Présentation fonctionnelle

VPN est une appliance de mise en réseau privé virtuel qui fonctionne dans des réseaux IPv4 et IPv6, conçus pour fournir des tunnels sécurisés et fiables pour des communications inter-grille et pour l'accès distant à des applications et appliances. VPN peut également fonctionner sans utiliser de tunnels VPN, auquel cas il fonctionne comme une passerelle combinée IN/OUT en texte clair. VPN permet également d'interconnecter des grilles IPv4 et IPv6 CA AppLogic de façon transparente. VPN est basé sur les packages logiciels Open Source OpenVPN, OpenSSH et Racoon.

VPN compte trois modes de fonctionnement de base : serveur, client, et client-serveur.

VPN prend en charge IPSec, les fichiers secrets, les certificats SSL et les fichiers de clé SSH partagés pour l'authentification et le chiffrement. Un client OpenVPN/OpenSSH standard peut être utilisé sur un poste de travail distant pour se connecter à VPN qui, à son tour, fournit un accès sécurisé aux composants internes d'une application exécutée sur CA AppLogic. L'appliance VPN prend en charge la génération de fichiers secrets, clés SSH et certificats SSL partagés.

Pour accéder à distance à une application CA AppLogic via un tunnel VPN sécurisé à l'aide de VPN, le logiciel OpenSSH ou OpenVPN côté client peut être utilisé sur l'ordinateur du client (ou tout autre logiciel compatible).

Ressources

Ressource

Minimum

Maximum

Valeur par défaut

UC

0.1

16

0.2

Mémoire

96 Mo

32 Go

96 Mo

Bande passante

1 Mbit/s

2 Gbits/s

250 Mbits/s

Terminaux

name

dir

protocol

description

clt

in

Indifférent

Entrée commune pour que tout le trafic entrant soit dirigé vers l'interface externe lorsque VPN fonctionne en tant que client. Si VPN est configuré pour établir un tunnel sur l'interface externe, les paquets envoyés à clt sont dirigés vers un tunnel établi, ou abandonnés, si le tunnel n'est pas opérationnel.

srv

sortie

Indifférent

Sortie commune pour tout le trafic sortant reçu via l'interface externe lorsque VPN fonctionne en tant que serveur. Tout le trafic est filtré à l'aide des propriétés tcp_ports, udp_ports, ssh_ports et aux_protocols avant d'être envoyé via srv.

fs

sortie

NFS

Accède à un système de fichiers réseau pour le stockage de fichiers partagés et fournit un accès en lecture/écriture aux fichiers via NFS. Ce volume est monté en tant que /mnt/fs dans le système de fichiers de l'appliance et est utilisé pour le stockage et le chiffrement des clés et des certificats. Le serveur connecté doit avoir un partage lecture/écriture nommé /mnt/date. Ni le volume de données ni le volume monté en NFS n'est requis si VPN fonctionne en mode texte clair. Si ce terminal n'est pas utilisé, il peut rester déconnecté.

log

sortie

CIFS

Accède à un système de fichiers réseau basé sur CIFS pour le stockage des journaux relatifs aux accès et aux erreurs. Le serveur connecté doit autoriser les connexions anonymes et avoir un partage lecture/écriture nommé share. Si ce terminal n'est pas utilisé, il peut rester déconnecté.

MON

sortie

CCE

Permet d'envoyer des statistiques de performances et d'utilisation des ressources. Peut rester déconnecté s'il n'est pas utilisé.

Propriétés

Propriétés générales

Nom de propriété

Type

Description

ip_addr

ip_owned

Définit l'adresse IPv4 de l'interface externe de la passerelle. Cette propriété est obligatoire si VPN fonctionne en mode IPv4 uniquement.

netmask

Adresse IP

Définit le masque de réseau IPv4 de l'interface externe. Cette propriété est obligatoire si VPN fonctionne en mode IPv4 uniquement.

gateway

Adresse IP

Définit la passerelle de réseau IPv4 par défaut (routeur) pour l'interface externe. Si le champ reste vide, seuls les hôtes figurant sur le même sous-réseau que ip_addr/netmask sont accessibles. Valeur par défaut : vide

ipv6_addr

chaîne

Définit l'adresse IPv6 de l'interface externe de la passerelle. L'adresse de IPv6 est spécifiée avec la notation d'adresses standard de huit groupes de quatre chiffres héxadécimaux. Un ou plusieurs nombres de groupes consécutifs de la valeur 0 peuvent être remplacés par deux deux-points (::). Le format est le suivant : adresse/masque de réseau, ex. fc00:1234:5678::12/64. Cette propriété est obligatoire si VPN fonctionne en mode IPv6 uniquement.

ipv6_gateway

chaîne

Définit la passerelle de réseau IPv6 par défaut (routeur) pour l'interface externe. Si le champ est laissé vide, seuls les hôtes figurant sur le même sous-réseau que ipv6_addr sont accessibles. Valeur par défaut : vide

dns1

Adresse IP

Définit le serveur DNS principal sur lequel VPN envoie les requêtes DNS. Si le champ est laissé vide, VPN utilise les serveurs DNS racines. Valeur par défaut : vide

dns2

Adresse IP

Définit le serveur DNS de sauvegarde sur lequel VPN envoie des requêtes DNS en cas d'insdisponibilité du serveur principal. Si le champ est laissé vide, VPN n'utilise pas de serveur DNS de sauvegarde. Valeur par défaut : vide

Important : Vous devez au moins définir une paire d'adresses (IPv4 ou IPv6).

Propriétés VPN

Nom de propriété

Type

Description

mode

Chaîne

Mode de fonctionnement. Les valeurs possibles sont :
server - VPN fonctionne en mode serveur, en acceptant le trafic entrant à partir des tunnels établis sur l'interface externe et en l'envoyant sur le terminal srv.
client - VPN fonctionne en mode client, en acceptant le trafic entrant sur le terminal clt et en l'envoyant dans le tunnel établi sur l'interface externe.
both - VPN fonctionne aussi bien en mode client que serveur.
Valeur par défaut : server.

tunnel

Chaîne

Type du tunnel VPN à établir. Les valeurs possibles sont :
certificate : un tunnel VPN est établi en utilisant des certificats de serveur et de client SSL pour l'authentification et le chiffrement avec OpenVPN. S'il n'est pas présent, le certificat du serveur est généré automatiquement. Le certificat client doit être généré manuellement avec le script /appliance/security.sh localisé sur le serveur VPN et copié dans le sous-répertoire /client/ sur le volume de données ou le volume nfs monté . Ce mode fonctionne avec IPv4 et IPv6.
shared secret : un tunnel VPN est établi à l'aide d'un fichier de secrets partagés avec OpenVPN. S'il n'est pas présent, ce fichier est automatiquement généré sur le serveur VPN. Il est situé dans le sous-répertoire /server/ du volume de données ou sur le volume nfs monté et est nommé secret.key. Ce fichier doit être copié sur l'appliance VPN du client dans le sous-répertoire /client/. Ce mode fonctionne avec IPv4 et IPv6.
SSH key : un tunnel SSH est établi en utilisant des fichiers de clés OpenSSH pour l'authentification. Les fichiers de clés sont générés avec le script /appliance/security.sh côté serveur. Les fichiers de clés clients doivent être copiés dans le sous-répertoire /client/ du volume de données du stockage nfs monté. Ce mode fonctionne avec IPv4 et IPv6.
ipsec shared secret - Un tunnel IPSec est établi entre des instances de VPN. La première ligne du fichier spécifié par la propriété auth_path est utilisée comme clé partagée. Ce mode fonctionne uniquement avec IPv4.
ipsec certificate - Un tunnel IPSec utilisant des certificats est établi entre des instances de VPN. S'il n'est pas présent, le certificat du serveur est généré automatiquement ou peut être généré avec le script /appliance/security.sh. Le certificat client doit être généré manuellement avec le script /appliance/security.sh localisé sur le serveur VPN et copié dans le sous-répertoire /client/ sur le volume de données ou le volume nfs monté . Ce mode fonctionne uniquement avec IPv4. Pour les deux modes de fonctionnement, tous les certificats doivent être générés par la même appliance et distribués avec son propre certificat ca.crt.
cleartext - Aucun tunnel n'est établi. L'appliance VPN fonctionne en tant que passerelle IN/OUT combinée, en acceptant le trafic sur le terminal clt et en le réacheminant vers l'interface externe, ainsi qu'en acceptant le trafic sur l'interface externe et en le réacheminant via le terminal srv. Ce mode fonctionne avec IPv4 et IPv6. Pour le mode IPv6, la propriété remote_host doit contenir l'adresse de l'homologue.
Valeur par défaut : cleartext.

auth_path

Chaîne

Informations d'authentification pour le tunnel. Pour le mode de fonctionnement shared secret, il s'agit d'un chemin d'accès relatif au fichier de secrets partagés sur le volume de données (ex. "secret.key" pour un fichier "client/secret.key"). Pour le mode certificat, il s'agit d'un chemin d'accès relatif, comprenant le nom de fichier sans l'extension vers la paire de fichier certificat/clé. Par exemple, si les fichiers de certificat client1-2009.crt et client1-2009.key sont localisés dans le sous-répertoire /client du volume de données, client1-2009 doit être spécifié ici. Si le tunnel est cleartext, cette propriété est ignorée. Si le tunnel est de type ssh key, cette propriété indique le chemin d'accès, y compris le nom de fichier vers le fichier de clé public ssh (pour le serveur VPN) ou privé (pour le client VPN) (par exemple, /1/ssh.key pour un fichier de clé publique /client/1/ssh.key).
Valeur par défaut : vide

log_level

Chaîne

Niveau de journalisation VPN. Les valeurs possibles sont :
none - Ne journalise aucun élément.
emerg - Journalise uniquement les erreurs détectées par VPN.
warn - Journalise les avertissements et les erreurs.
notice - Journalise les avertissements, les erreurs et les avis.
debug - Consigne des informations de débogage supplémentaires en plus des avertissements, des avis et des erreurs.
Valeur par défaut : none si le terminal de journal n'est pas connecté ; emerg si le terminal de journal est connecté.

Propriétés du serveur

allowed_hosts

Chaîne

Liste des hôtes et/ou des sous-réseaux autorisés à se connecter. Séparez plusieurs entrées à l'aide d'espaces ou de virgules. Exemple de format pris en charge : 192.168.1.2 192.168.1.0/24 192.168.2.0/255.255.255.0 fc00:1234::12/64.
Valeur par défaut : 0.0.0.0/0 (tout les formats sont autorisés, aussi bien IPv4 que IPv6)

tcp_ports

Chaîne

Numéros de port ou plages de ports à autoriser sur le terminal srv. Accepte une chaîne de valeurs séparées par des espaces ou des virgules. Les plages de port doivent être spécifiées au format port_inférieur:port_supérieur avec deux-points ou un tiret comme séparateur (par exemple, 80,81,82:85 86-90). Une valeur spéciale de 0 signifie que tous les ports TCP sont acceptés.
Valeur par défaut : vide

udp_ports

Chaîne

Identique à tcp_ports, mais pour le protocole UDP.
Valeur par défaut : vide

aux_protocols

Chaîne

Chaîne de nombres séparés par des espaces ou des virgules contenant les protocoles IP supplémentaires à autoriser (par exemple, 6 pour TCP, 47 pour GRE). Des protocoles distincts peuvent être spécifiés par leurs noms (ex. "gre" au lieu de "47"). Pour plus d'informations sur l'affectation, consultez le site Web http://www.iana.org/assignments/protocol.
Valeur par défaut : vide (désactivé)

Propriétés clientes

remote_host

Chaîne

Définit l'hôte distant vers lequel renvoyer tout le trafic. Il peut s'agir du nom DNS de l'hôte ou de son adresse IPv4 ou IPv6 en notation à points. Cette propriété est obligatoire.
Valeur par défaut : vide

dns_poll

Nombre entier

Intervalle d'interrogation en secondes utilisé par VPN lors de la vérification du mappage du nom DNS de remote_host sur l'adresse IP (utilisée uniquement si remote_host est spécifié en tant que nom DNS). Définissez 0 comme valeur pour désactiver l'interrogation et ne pas tenter de détecter les modifications.
Valeur par défaut : 3600 secondes (1 heure)

ssh_ports

Chaîne

Propriété côté client pour le mode de clé SSH spécifiant quels ports TCP réacheminer vers le serveur VPN. Les plages de port ne sont pas prises en charge. Les numéros de port peuvent être séparés par des espaces ou des virgules.
Valeur par défaut : vide

Volumes

Nom

Description

données

Volume en lecture/écriture (espace réservé) pour les données contenant les fichiers de certificat et de configuration. Ce volume n'est pas requis si le terminal fs est connecté. Si fs est connecté et qu'un volume de données est fourni, VPN ne parvient pas à démarrer et journalise un message d'erreur. Tous les fichiers nécessaires au fonctionnement du serveur VPN sont stockés dans le sous-répertoire /server/ du stockage des données. Tous les fichiers nécessaires au fonctionnement du client VPN sont stockés dans le sous-répertoire /client/.

Compteurs personnalisés

L'appliance VPN signale les compteurs personnalisés suivants via le terminal mon.

Nom du compteur

Description

server_bytes_in

Nombre total d'octets reçus par VPN.

server_bytes_out

Nombre total d'octets envoyés par VPN.

client_bytes_in

Nombre total d'octets reçus des tunnels client.

client_bytes_out

Nombre total d'octets envoyés aux tunnels client.

clients

Nombre de clients connectés à VPN.

Performances

Deux applications de test résidaient sur la même grille CA AppLogic. La bande passante de 100 mbit a été affectée aux deux appliances VPN (client et serveur) ainsi qu'aux appliances serveur et client. Plusieurs objets, de chacun 1 Mo, ont été extraits, 10 objets en parallèle, pendant 60 secondes.

Mode

Bande passante, en Mbits/seconde

Taille d'objet

Requêtes/seconde

Taux de transfert, Mo/seconde

Certificat

100

1 Mo

12.5667

12.56

Secret partagé

100

1 Mo

12.5166

12.51

Clé SSH

100

1 Mo

12.7667

12.76

Cleartext

100

1 Mo

13.0329

13.03

Messages d'erreur

En cas d'échec de démarrage de l'appliance, les erreurs suivantes peuvent être consignées dans le journal système :

Message d'erreur

Description

Failed to mount the data volume

VPN n'est pas parvenu à monter le volume de données Vérifiez que le volume est formaté et disponible.

Failed to generate server_key

VPN n'est pas parvenu à générer un fichier de secrets partagés. Le volume de données est probablement trop petit ou monté en lecture seule.

Failed to launch OpenVPN server

VPN n'est pas parvenu à lancer le serveur OpenVPN. Contactez le support technique de CA.

Failed to generate certificates.

VPN n'est pas parvenu à créer l'autorité de certification et ni à générer les certificats nécessaires pour le mode de fonctionnement Serveur de certificats. Le volume de données est probablement trop petit ou monté en lecture seule.

Failed to generate DH file.

VPN n'est pas parvenu à générer le fichier de clé Diffie-Hellman. Le volume de données est probablement trop petit ou monté en lecture seule.

Secrets file client_auth does not exist

Le fichier client_auth, indiqué dans la propriété auth n'existe pas. Vérifiez le chemin d'accès et le nom du fichier.

Remote server address is empty for

L'adresse de serveur VPN distant est vide pour le tunnel X.

Failed to launch OpenVPN for clientX tunnel

VPN n'est pas parvenu à lancer le logiciel OpenVPN pour le tunnel client X. Certaines propriétés ou certains fichiers clés ne sont probablement pas valides.

Certificate file client_auth.crt does not exist

VPN n'est pas parvenu à localiser un fichier de certificat. Le chemin d'accès ou le nom de fichier spécifié dans la propriété auth pour le mode de fonctionnement du client de certificat n'est pas valide.

Key file client_auth.key does not exist

VPN n'est pas parvenu à localiser un fichier de clé. Le chemin d'accès ou le nom de fichier spécifié dans la propriété auth pour le mode de fonctionnement du client de certificat n'est pas valide.

Certification Authority certificate ca_cert is missing

VPN n'est pas parvenu à localiser le certificat de l'autorité de certification. Il doit être localisé dans le fichier /CA/ca.crt sur le volume de données.

Types de tunnels

Cleartext

Ce mode prend en charge un scénario "serveur unique - clients multiples" permettant d'accéder au serveur VPN à partir de plusieurs emplacements. Dans ce mode, les tunnels VPN ne sont pas établis et aucun magasin de données n'est requis (ni un volume de données ni une appliance NAS connectée au terminal fs). Ce mode est compatible avec IPv4 et IPv6.

Sur l'appliance VPN du serveur, le trafic reçu sur l'interface externe est filtré via les propriétés tcp_ports, udp_ports et aux_protocols, puis renvoyé à l'interface srv.

Sur l'appliance VPN du client, tout le trafic reçu sur l'interface clt est envoyé au serveur VPN distant spécifié dans la propriété remote_host.

Propriétés devant être configurées côté serveur : ip_addr, netmask, gateway, mode, tunnel, allowed_hosts, tcp_ports, udp_ports et aux_protocols.

Propriétés devant être configurées côté client : ip_addr, netmask, gateway, mode, tunnel, remote_host.

En mode IPv6, La propriété côté serveur remote_host doit être configurée avec l'adresse du client.

Certificat

Ce mode prend en charge un scénario "serveur unique - clients multiples" permettant d'accéder au serveur VPN à partir de plusieurs emplacements. Un magasin de données est requis (un volume de données ou une appliance NAS connectée au terminal fs). Ce mode est compatible avec IPv4 et IPv6.

Au démarrage, l'appliance de serveur génère les certificats nécessaires et les fichiers clés si ces fichiers ne sont pas déjà présents. Ces fichiers peuvent être regénérés avec le script security.sh, localisé dans le répertoire /appliance/. Avant de pouvoir configurer les clients VPN, vous devez leur générer des certificats. L'utilisateur peut se connecter à l'appliance de serveur VPN en cours d'exécution et générer une paire de clés comme suit pour le client :

grid> comp login VPN-1:main.VPN
CentOS release 5 (Final)

[VPN-1:main.VPN ~]# /appliance/security.sh generate_client
Generated client SSL certificate and key file.
==============================================
Ces fichiers, avec le fichier de certificat de CA, doivent être copiés sur le serveur VPN dans le sous-répertoire 
/client/ sous-répertoire de volume de données ou monté sur un système de fichiers volume.
Le chemin d'accès aux fichiers client (client.829de5afcac564b3) doit être spécifié dans la propriété auth_path.
Emplacement de fichiers :
certificat client : /mnt/fs/server/client.829de5afcac564b3.crt
fichier de clé client : /mnt/fs/server/client.829de5afcac564b3.key
Fichier de certificat CA localisé à l'emplacement /mnt/fs/server/ca.crt

Le certificat client et le fichier clé doivent être copiés dans l'appliance VPN du client dans le sous-répertoire /client/ du magasin de données et dans ce cas, auth_path doit être défini sur la valeur appropriée : client.829de5afcac564b3. Le certificat CA du serveur VPN (/mnt/fs/server/ca.crt) doit être également copié dans le sous-répertoire /client/ sur l'appliance du client et être nommé ca.crt. Chaque appliance VPN du client doit disposer de son propre certificat.

Sur l'appliance VPN du serveur, le trafic reçu sur l'interface externe est déchiffré, filtré via les propriétés tcp_ports, udp_ports et aux_protocols, puis renvoyé à l'interface srv.

Sur l'appliance VPN du client, tout le trafic reçu sur l'interface clt est chiffré et envoyé au serveur VPN distant spécifié dans la propriété remote_host.

Propriétés devant être configurées côté serveur : ip_addr, netmask, gateway (ou propriétés IPv6 correspondantes), mode, tunnel, allowed_hosts, tcp_ports, udp_ports et aux_protocols.

Propriétés devant être configurées côté client : ip_addr, netmask, gateway (ou propriétés IPv6 correspondantes), mode, tunnel, remote_host et auth_path.

Fichier de secrets partagés

Ce mode prend uniquement en charge le scénario "serveur unique-client unique" en n'autorisant l'accès au serveur VPN qu'à partir d'un seul client à la fois. Un magasin de données est requis (un volume de données ou une appliance NAS connectée au terminal fs). Ce mode est compatible avec IPv4 et IPv6.

Au démarrage, l'appliance de serveur génère un fichier de secrets partagés /server/secret.key, si ce fichier n'est pas encore présent. Ce fichier peut être regénéré avec le script security.sh, localisé dans le répertoire /appliance/. Avant de configurer des clients VPN, ce fichier de secrets partagés doit être copié dans son magasin de données dans le sous-répertoire /client/. Pour générer un nouveau fichier de secrets partagés, l'utilisateur peut se connecter à l'appliance de serveur VPN en cours d'exécution et entrer la commande suivante :

[VPN-1:main.VPN server]# /appliance/security.sh generate_secret
Generated OpenVPN shared secrets file.
======================================
Ce fichier doit être copié sur le serveur VPN dans le sous-répertoire /server/ du volume de données ou du volume fs monté ainsi que
sur le client VPN dans le sous-répertoire /client/ du volume de données ou du volume fs monté.
Le chemin d'accès doit être spécifié dans la propriété auth_path du client VPN.
Emplacement du fichier : /mnt/fs/server/secret.key

Un fichier de secrets qui vient d'être généré écrase l'ancien, le cas échéant. Ce fichier de secrets partagés /mnt/fs/server/secret.key doit être copié sur l'appliance VPN du client dans le sous-répertoire /client/ du magasin de données et la propriété auth_path doit être définie sur la valeur correcte (dans ce cas, secret.key). Plusieurs appliances VPN du client peuvent être configurées, mais vous ne pouvez en connecter qu'une seule à la fois.

Sur l'appliance VPN du serveur, le trafic reçu sur l'interface externe est déchiffré, filtré via les propriétés tcp_ports, udp_ports et aux_protocols, puis renvoyé à l'interface srv.

Sur l'appliance VPN du client, tout le trafic reçu sur l'interface clt est chiffré et envoyé au serveur VPN distant spécifié dans la propriété remote_host.

Propriétés devant être configurées côté serveur : ip_addr, netmask, gateway (ou propriétés IPv6 correspondantes), mode, tunnel, allowed_hosts, tcp_ports, udp_ports et aux_protocols.

Propriétés devant être configurées côté client : ip_addr, netmask, gateway (ou propriétés IPv6 correspondantes), mode, tunnel, remote_host et auth_path.

Clé SSH

Ce mode prend en charge un scénario "serveur unique - clients multiples" permettant d'accéder au serveur VPN à partir de plusieurs emplacements. Un magasin de données est requis (un volume de données ou une appliance NAS connectée au terminal fs). Seul le trafic tcp peut être acheminé via le tunnel ssh, de sorte que la propriété tcp_ports est la seule utilisée côté serveur. Les plages de ports ne sont pas prises en charge. Chaque port qui doit être transféré doit être explicitement spécifié dans la propriété ssh_ports côté client. Ce mode est compatible avec IPv4 et IPv6.

Le serveur VPN génère la paire de clés ssh par défaut au démarrage. Les clés par défaut sont localisées aux emplacements suivants. Clé serveur (clé publique) : server/ssh-server.pub Clé client (clé privée) : server/ssh-client.key. Des clés supplémentaires peuvent être générées manuellement à l'aide du script security.sh :

[VPN-1:main.VPN ~]# /appliance/security.sh generate_ssh
Generated SSH keypair.
======================
La clé publique doit être copiée sur le serveur VPN dans le sous-répertoire /server/ du volume de données ou du volume fs monté.
La clé privée doit être copiée sur le client VPN dans le sous-répertoire /client/ du volume de données ou du volume fs monté.
Le chemin d'accès aux fichiers de clés doit être spécifié dans la propriété auth_path de VPN tant côté client que serveur.
Emplacement de fichiers :
Clé publique : /mnt/fs/server/ssh.11179ebbfa3f6852.pub
Clé privée : /mnt/fs/server/ssh.11179ebbfa3f6852.key

La clé publique doit être copiée sur le serveur VPN dans le sous-répertoire /server/. La clé privée doit être copiée sur le client dans le sous-répertoire /client/. La propriété auth_path doit être définie tant sur le client que sur le serveur. Si auth_path est vide sur le serveur, la clé SSH par défaut est utilisée.

Sur l'appliance VPN du serveur, le trafic reçu sur l'interface externe est déchiffré, filtré via la propriété ssh_ports, puis renvoyé à l'interface srv. Seul le réacheminement sur le port TCP est pris en charge. La propriété auth_path définit la clé SSH publique à utiliser. Lorsque l'appliance fonctionne aussi bien en mode client que serveur, le nom des clés privée et publique doit être identique et les clés doivent se trouver dans les sous-répertoires /server/ et /client/. La propriété ssh_ports doit être configurée de la même façon sur le serveur et sur le client.

Sur l'appliance VPN du client, tout le trafic reçu sur l'interface clt est chiffré et envoyé au serveur VPN distant spécifié dans la propriété remote_host.

Propriétés devant être configurées côté serveur : ip_addr, netmask, gateway (ou propriétés IPv6 correspondantes), mode, tunnel, allowed_hosts, auth_path et tcp_ports.

Propriétés devant être configurées côté client : ip_addr, netmask, gateway (ou propriétés IPv6 correspondantes), mode, tunnel, remote_host et auth_path et ssh_ports.

Important : Mode serveur-serveur SSH. Les deux appliances VPN les peuvent être configurées dans les deux modes et se connecter l'une à l'autre. Pour utiliser ce mode, les appliances doivent être configurées d'une manière particulière :

Supposez que vous avez 2 appliances nommées VPN1 et VPN2 : 1. Créez 2 ensembles de fichiers de clés publique/privée (1.clé/1.pub, 2.clé/2.pub, à l'aide du script "/appliance/security.sh generate_ssh") 2. Configurez la propriété auth_path sur les deux appliances sur "ssh.key" 3. Copiez 2.pub dans VPN1 :/mnt/data/server/ssh.key (ou dans le fichier ssh.key dans le sous-répertoire /server/ du lecteur NAS) (La clé publique va dans le sous-répertoire /server/.) 4. Copiez 2.clé dans VPN2:/mnt/data/client/ssh.key (La clé privée va dans le sous-répertoire /client/) 5. Copiez 1.pub dans VPN2:/mnt/data/server/ssh.key (La clé publique va dans le sous-répertoire /server/) 6. Copiez 1.clé dans VPN1:/mnt/data/client/ssh.key (La clé privée va dans le sous-répertoire /client/)

Certificat IPSec

Ce mode prend en charge un scénario "serveur unique - clients multiples" permettant d'accéder au serveur VPN à partir de plusieurs emplacements. Un magasin de données est requis (un volume de données ou une appliance NAS connectée au terminal fs). Ce mode est uniquement compatible avec IPv4.

Au démarrage, l'appliance de serveur génère les certificats nécessaires et les fichiers clés si ces fichiers ne sont pas déjà présents. Ces fichiers peuvent être regénérés avec le script security.sh, localisé dans le répertoire /appliance/. Avant de pouvoir configurer les clients VPN, vous devez leur générer des certificats. L'utilisateur peut se connecter à l'appliance de serveur VPN en cours d'exécution et générer une paire de clés comme suit pour le client :

grid> comp login VPN-1:main.VPN
CentOS release 5 (Final)

[VPN-1:main.VPN ~]# /appliance/security.sh generate_client
Generated client SSL cerfiticate and key file.
==============================================
Ces fichiers, avec le fichier de certificat de CA, doivent être copiés sur le serveur VPN dans le sous-répertoire 
/client/ sous-répertoire de volume de données ou monté sur un système de fichiers volume.
Le chemin d'accès aux fichiers client (client.829de5afcac564b3) doit être spécifié dans la propriété auth_path.
Emplacement de fichiers :
certificat client : /mnt/fs/server/client.829de5afcac564b3.crt
fichier de clé client : /mnt/fs/server/client.829de5afcac564b3.key
Fichier de certificat CA localisé à l'emplacement /mnt/fs/server/ca.crt

Le certificat client et le fichier clé doivent être copiés dans l'appliance VPN du client dans le sous-répertoire /client/ du magasin de données et dans ce cas, auth_path doit être défini sur la valeur appropriée : client.829de5afcac564b3. Le certificat CA du serveur VPN (/mnt/fs/server/ca.crt) doit être également copié dans le sous-répertoire /client/ sur l'appliance du client et être nommé ca.crt. Chaque appliance VPN du client doit disposer de son propre certificat.

Important : Une exception est signalée lorsque VPN est utilisé dans les deux modes. Dans ce cas, tous les certificats (client et serveur) doivent être générés par la même instance de VPN et distribués ensemble avec son certificat ca.crt sur d'autres instances.

Sur l'appliance VPN du serveur, le trafic reçu sur l'interface externe est déchiffré, filtré via les propriétés tcp_ports, udp_ports et aux_protocols, puis renvoyé à l'interface srv.

Sur l'appliance VPN du client, tout le trafic reçu sur l'interface clt est chiffré et envoyé au serveur VPN distant spécifié dans la propriété remote_host.

Propriétés devant être configurées côté serveur : ip_addr, netmask, gateway (ou propriétés IPv6 correspondantes), mode, tunnel, allowed_hosts, tcp_ports, udp_ports et aux_protocols.

Propriétés devant être configurées côté client : ip_addr, netmask, gateway (ou propriétés IPv6 correspondantes), mode, tunnel, remote_host et auth_path.