Dernière version : 3.1.3-1

|
Aperçu rapide |
|
|
Catalogue |
System (Système) |
|
Catégorie |
Passerelles |
|
Volumes d'utilisateur |
Oui |
|
Min. mémoire |
96M |
|
SE |
Linux |
|
Contraintes |
non |
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).
|
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 |
|
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 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 : |
|
tunnel |
Chaîne |
Type du tunnel VPN à établir. Les valeurs possibles sont : |
|
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). |
|
log_level |
Chaîne |
Niveau de journalisation VPN. Les valeurs possibles sont : |
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. |
|
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. |
|
udp_ports |
Chaîne |
Identique à tcp_ports, mais pour le protocole UDP. |
|
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. |
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. |
|
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. |
|
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. |
|
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/. |
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. |
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 |
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. |
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.
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.
Ce mode prend en charge un scénario "serveur unique - clients multiples" permettant d'accéder au serveur VPN à partir de plusieurs emplacements. Un référentiel 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/)
Ce mode prend en charge un scénario "serveur unique - clients multiples" permettant d'accéder au serveur VPN à partir de plusieurs emplacements. Un référentiel 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 de clé doivent être copiés dans l'appliance VPN du client dans le sous-répertoire /client/ du référentiel de données. 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.
Ce mode prend en charge un scénario "serveur unique - clients multiples" permettant d'accéder au serveur VPN à partir de plusieurs emplacements. Un référentiel 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 extrait d'abord la première ligne du fichier spécifié dans la propriété auth_path et l'utilise en tant que clé partagée. Ce fichier doit être présent sur les deux parties. 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/.
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.
Le diagramme suivant indique comment configurer un accès distant à un service externe :

Dans cet exemple, une appliance Web s'exécutant sur la grille A accède à une base de données MySQL distante s'exécutant sur la grille B sur un tunnel VPN sécurisé
vpn1 sur la grille A est configuré pour se connecter à l'adresse IP affectée à vpn2 sur la grille B. Le terminal srv de vpn1 et le terminal clt de vpn2 restent déconnectés. Les interfaces externes de vpn1 et vpn2 sont configurées avec des adresses IP routables appropriées.
Exemple de configuration de propriété :
vpn1 :
|
Nom de propriété |
Valeur |
Notes |
|
ip_addr |
25.74.63.87 |
IP externe utilisée pour vpn1 |
|
netmask |
255.255.255.0 |
netmask |
|
gateway |
25.74.63.1 |
gateway |
|
mode |
client |
Mode de fonctionnement client |
|
tunnel |
Certificat IPSec |
Le trafic est codé à l'aide d'IPSec. |
|
auth_path |
client-7575 |
Nom de la paire de fichiers certificat/clé |
|
remote_host |
12.12.12.12 |
IP externe affectée à l'interface externe de vpn2 |
vpn2 :
|
Nom de propriété |
Valeur |
Notes |
|
ip_addr |
12.12.12.12 |
IP externe utilisée pour vpn2 |
|
netmask |
255.255.255.0 |
netmask |
|
gateway |
12.12.12.1 |
gateway |
|
mode |
serveur |
Mode de fonctionnement Serveur |
|
tunnel |
Certificat IPSec |
Le trafic est codé à l'aide d'IPSec. |
|
allowed_hosts |
25.74.63.87 |
Autorise uniquement les connexions à partir de vpn1 |
|
tcp_ports |
3306 |
Port par défaut pour MySQL Server. |
Le diagramme suivant indique comment configurer un accès distant aux appliances CA AppLogic® internes :

Dans cet exemple, un utilisateur doit accéder, à partir de son PC, à plusieurs appliances différentes via une connexion VPN sécurisée à l'aide du client OpenVPN. OpenVPN permet de se connecter à l'adresse IP affectée à VPN. VPN établit un tunnel VPN avec le PC de l'utilisateur et transfère tout le trafic entrant au commutateur de port sw configuré pour répartir le trafic entre quatre appliances différentes de l'application.
OpenVPN doit être installé sur le PC de l'utilisateur avant d'accéder à une application CA AppLogic® qui utilise l'appliance VPN décrite dans cet exemple. Les étapes ci-dessous décrivent comment cette application est configurée et ce que doit faire l'utilisateur pour accéder à l'application via un tunnel VPN sécurisé :
vpn:
|
Nom de propriété |
Valeur |
Notes |
|
ip_addr |
28.36.85.21 |
Adresse IP affectée à l'appliance VPN |
|
mode |
serveur |
Mode de fonctionnement Serveur |
|
tunnel |
secret partagé |
Utilisation du fichier de secret partagé |
|
allowed_hosts |
26.42.56.72 |
Adresse IP du PC client |
|
tcp_ports |
0 |
Tous les ports sont autorisés. |
|
udp_ports |
0 |
Tous les ports sont autorisés. |
3. Affectez les protocoles et les ports que vous souhaitez transférer vers l'appliance sw. Dans ce cas, 4 ports (122,422,522,822) sont transférés aux ports de ssh des appliances connectées à sw :
|
Nom de propriété |
Valeur |
Notes |
|
out1_protocol |
tcp |
Protocole TCP |
|
out1_in_port |
122 |
Port d'entrée 122 |
|
out1_out_port |
22 |
Port de sortie 22 |
|
out4_protocol |
tcp |
Protocole TCP |
|
out4_in_port |
422 |
Port d'entrée 422 |
|
out4_out_port |
22 |
Port de sortie 22 |
|
out5_protocol |
tcp |
Protocole TCP |
|
out5_in_port |
522 |
Port d'entrée 522 |
|
out5_out_port |
22 |
Port de sortie 22 |
|
out8_protocol |
tcp |
Protocole TCP |
|
out8_in_port |
822 |
Port d'entrée 822 |
|
out8_out_port |
22 |
Port de sortie 22 |
4. Démarrez l'application. Une fois l'application démarrée, extrayez le fichier de secrets partagés de l'appliance VPN :
grid> comp ssh APPLICATION:main.VPN vpn> cat /mnt/data/server/secret.key # # 2048 bit OpenVPN static key # -----BEGIN OpenVPN Static key V1----- 431e845f2ca67f2a31649b20e3ba3291 ... fe991cdbfe82525a9367b9afbfd0f922 -----END OpenVPN Static key V1-----
5. Collez le contenu de secret.key ci-dessus dans un nouveau fichier sur le PC de l'utilisateur et enregistrez le fichier. Il s'agit d'un fichier de secrets partagés utilisé pour l'authentification.
6. Préparez un fichier de configuration OpenVPN pour le client. Copiez les lignes suivantes dans un nouveau fichier sur le PC de l'utilisateur (un fichier distinct de celui de l'étape 5) :
dev tun proto udp resolv-retry infinite persist-key persist-tun cipher AES-128-CBC comp-lzo keepalive 10 120 remote 11.22.33.44 1194 secret "C:\\Program Files\\OpenVPN\\sample-config\\secret.key" nobind ifconfig 169.254.215.101 169.254.215.102
Les adresses IP de la ligne ifconfig peuvent être définies librement aux conditions suivantes : a) elles proviennent du bloc réseau 169.254.0.0/16 ; b) elles figurent dans le même sous-réseau /30 ; c) elles ne sont ni la première ni la dernière adresse du sous-réseau /30. Les restrictions B et C concernent le client OpenVPN s'exécutant sur une plate-forme Windows.
7. Remplacez l'adresse IP distante par l'adresse IP affectée à l'appliance VPN. Dans la ligne relative au secret, remplacez le chemin d'accès au fichier de secrets partagés par le chemin d'accès au fichier de clé créé à l'étape 5. Si vous utilisez un système d'exploitation Microsoft Windows sur le PC de l'utilisateur contenant l'installation d'OpenVPN, entourez toutes les lignes de guillemets et remplacez toutes les barres obliques par des barres obliques doubles.
8. Lancez le client OpenVPN :
c:\program files\OpenVPN\bin\openvpn.exe --config "c:\client.ovpn"
Remarque : Remplacez c:\client.ovpn par le chemin d'accès du fichier de configuration créé à l'étape 6.
9. Après quelques secondes, le message suivant d'OpenVPN s'affiche :
Wed Jul 01 09:41:12 2009 Peer Connection Initiated with XX.XX.XX.XX:1194 Wed Jul 01 09:41:12 2009 Initialization Sequence Completed
Vous pouvez désormais accéder aux appliances de l'application CA AppLogic® à l'aide de l'adresse IP définie dans le fichier de configuration (dans ce cas, 169.254.215.102). Le port 169.254.215.102:122 est réacheminé par sw vers le port 22 de l'appliance de srv1. De la même manière, le port 169.254.215.102:422 est réacheminé vers l'appliance srv4, etc. Par exemple, exécutez
ssh -p 122 root@169.254.215.102
pour accéder à la première appliance.
Le diagramme suivant fournit un exemple de la façon dont vous pouvez fournir des tunnels VPN sécurisés pour la réplication MySQL :

Dans cet exemple, deux applications s'exécutent sur des grilles différentes (grille A et grille B) dans lesquelles les deux applications utilisent la même base de données MySQL qui est répliquée via un tunnel VPN sécurisé.
vpn1 et vpn2 sont configurés avec l'adresse IP routable sur leurs interfaces externes. vpn1 est configuré pour établir un tunnel vers vpn2 et inversement.
db1 de la grille A envoie le trafic vers vpn1 à des fins de réplication. A cet emplacement, il est chiffré et transmis à vpn2 qui déchiffre le trafic et l'envoie au terminal rin de db2 sur la grille B. La réplication de db2 sur la grille B vers db1 sur la grille A se comporte de la même manière.
vpn1 :
|
Nom de propriété |
Valeur |
Notes |
|
ip_addr |
82.56.42.25 |
Adresse affectée à l'interface externe. |
|
mode |
both |
Mode de fonctionnement Serveur. |
|
tunnel |
Clé SSH |
Utilisation des fichiers de clé SSH. |
|
auth_path |
"/keys/vpn21.ssh.key" |
Chemin d'accès au fichier de clé SSH. |
|
remote_host |
92.72.57.95 |
Adresse affectée à l'interface externe de vpn2. |
|
tcp_ports |
3306,22 |
Port par défaut pour le serveur MySQL et SSH. |
|
ssh_ports |
3306,22 |
Port par défaut pour le serveur MySQL et SSH. |
vpn2 :
|
Nom de propriété |
Valeur |
Notes |
|
ip_addr |
92.72.57.95 |
Adresse affectée à l'interface externe. |
|
mode |
both |
Mode de fonctionnement Serveur. |
|
tunnel |
Clé SSH |
Utilisation des fichiers de clé SSH. |
|
auth_path |
"/keys/vpn21.ssh.key" |
Chemin d'accès au fichier de clé SSH. |
|
remote_host |
82.56.42.25 |
Adresse affectée à l'interface externe de vpn1. |
|
tcp_ports |
3306,22 |
Port par défaut pour le serveur MySQL et SSH. |
|
ssh_ports |
3306,22 |
Port par défaut pour le serveur MySQL et SSH. |
vpn1 :
|
Nom de propriété |
Valeur |
Notes |
|
ip_addr |
82.56.42.25 |
Adresse affectée à l'interface externe. |
|
mode |
both |
Fait office à la fois de serveur et de client. Autorise une réplication bidirectionnelle. |
|
tunnel |
ipsec shared secret |
Chiffrement du trafic avec IPSec. |
|
auth_path |
"/keys/ipsec.key" |
Chemin d'accès au fichier de secret partagé ipsec. |
|
remote_host |
92.72.57.95 |
Adresse affectée à l'interface externe de vpn2. |
|
tcp_ports |
3306,22 |
Port par défaut pour le serveur MySQL et SSH. |
vpn2 :
|
Nom de propriété |
Valeur |
Notes |
|
ip_addr |
92.72.57.95 |
Adresse affectée à l'interface externe. |
|
mode |
both |
Fait office à la fois de serveur et de client. Autorise une réplication bidirectionnelle. |
|
tunnel |
ipsec shared secret |
Chiffrement du trafic avec IPSec. |
|
auth_path |
"/keys/server/ipsec.key" |
Chemin d'accès au fichier de secret partagé ipsec. |
|
remote_host |
82.56.42.25 |
Adresse affectée à l'interface externe de vpn1. |
|
tcp_ports |
3306,22 |
Port par défaut pour le serveur MySQL et SSH. |
OpenVPN doit être utilisé sur l'ordinateur du client pour accéder à un tunnel VPN sécurisé proposé par l'appliance VPN.
Logiciels Open Source tiers utilisés dans l'appliance
VPN utilise les packages Open Source tiers suivants en plus des packages Open Source tiers utilisés par sa classe de base LUX6.
|
Logiciel |
Version |
Modifié |
Licence |
Notes |
|
IPsec-Tools |
0.6.5-13.el5_3.1 |
Non |
BSD |
page d'accueil |
|
iptables |
1.3.5-5.3.el5_4.1 |
Non |
GPLv2 |
N/D |
|
iptables-ipv6 |
1.3.5-5.3.el5_4.1 |
Non |
GPLv2 |
N/D |
|
LZO |
2.03 |
Non |
GPLv2 |
page d'accueil |
|
OpenVPN |
2.1.4 |
Non |
GPLv2 |
page d'accueil |
|
samba-client |
3.0.33-3.15.el5_4 |
Non |
GPLv2 |
N/D |
|
samba-common |
3.0.33-3.15.el5_4 |
Non |
GPLv2 |
N/D |
|
iproute2 |
2.6.29-1 |
Non |
GPLv2 |
page d'accueil |
|
autossh |
1.4b |
Non |
BSD |
page d'accueil |
|
Copyright © 2013 CA.
Tous droits réservés.
|
|