Difference between revisions of "OpenVPN Bridge/fr"
m |
|||
Line 10: | Line 10: | ||
=== Description === | === Description === | ||
− | + | SME Server version 7.4 dispose d’une contribs de Firewall Services permettant d’obtenir un serveur [http://openvpn.net OpenVPN] utilisable facilement, avec une page d'administration dans le server-manager. | |
− | |||
− | |||
=== Installation === | === Installation === | ||
Line 18: | Line 16: | ||
pour résumer la problématique il y a 3 paquets à installer | pour résumer la problématique il y a 3 paquets à installer | ||
− | * [[OpenVPN Bridge|smeserver-openvpn-bridge]] : le paquet qui installe le serveur | + | * [[OpenVPN Bridge|smeserver-openvpn-bridge]] : le paquet qui installe le serveur OpenVPN. |
− | * [[BridgeInterface|bridge-interface]] : le paquet qui | + | * [[BridgeInterface|bridge-interface]] : le paquet qui crée un pont entre l'interface interne et une interface TAP. |
* [[PHPki|PHPki]] : le paquet qui servira à gérer vos certificats. | * [[PHPki|PHPki]] : le paquet qui servira à gérer vos certificats. | ||
− | Le serveur | + | Le serveur OpenVPN attribuera des IP de votre réseau local aux clients VPN, ils auront ainsi accès à toutes les ressources accessibles depuis votre réseau local (partages de fichier, intranet, services de mail interne, etc). C’est donc un service de type « site to client » qui ne vous permet pas de relier deux SME Server ensemble (mais l’auteur de cette contribs géniale en a une autre dans ses cartons pour faire cela.) |
on y va pour l’installer, ce n’est pas bien compliqué, un grand merci à [[User:VIP-ire|Daniel]] (de firewall-services).…spéciale dédicace. | on y va pour l’installer, ce n’est pas bien compliqué, un grand merci à [[User:VIP-ire|Daniel]] (de firewall-services).…spéciale dédicace. | ||
Line 28: | Line 26: | ||
==== bridge-interface ==== | ==== bridge-interface ==== | ||
− | on installe le paquet qui va créer | + | on installe le paquet qui va créer l'interface TAP (interface réseau virtuelle) |
yum --enablerepo=smecontribs install smeserver-bridge-interface | yum --enablerepo=smecontribs install smeserver-bridge-interface | ||
Line 85: | Line 83: | ||
=== Création des certificats === | === Création des certificats === | ||
− | Il va nous falloir créer le certificat racine qui va permettre de signer tous les autres certificats, aussi pour cela nous utiliserons le menu que vous pouvez voir dans le menu de la | + | Il va nous falloir créer le certificat racine qui va permettre de signer tous les autres certificats, aussi pour cela nous utiliserons le menu que vous pouvez voir dans le menu de la SME Server (https://IP-DU-SERVEUR/server-manager) « Gestion des certificats » |
− | Ce menu servira donc pour manager, révoquer et toutes les autres opérations qui concerneront des certificats (pas seulement pour | + | Ce menu servira donc pour manager, révoquer et toutes les autres opérations qui concerneront des certificats (pas seulement pour OpenVPN….). On vous propose deux formats de certificats. |
− | * PKCS12 (c’est un bundle qui englobe | + | * PKCS12 (c’est un bundle qui englobe le certificat utilisateur, sa clef privée, et le certificat racine) |
− | * PEM (qui peuvent | + | * PEM (qui peuvent être utilisés par Network-manager) |
==== Certificat racine ==== | ==== Certificat racine ==== | ||
Line 119: | Line 117: | ||
*'''Common Name''': c’est le nom du certificat. Vous pouvez entrer ce que vous voulez, par exemple « openvpn-bridge » | *'''Common Name''': c’est le nom du certificat. Vous pouvez entrer ce que vous voulez, par exemple « openvpn-bridge » | ||
*'''Email address''': l’adresse e-mail du contact technique (ce champ n’est pas utilisé, vous pouvez entrer ce que vous voulez tant qu’il s’agit d’une adresse e-mail valide), par exemple admin@domain.tld | *'''Email address''': l’adresse e-mail du contact technique (ce champ n’est pas utilisé, vous pouvez entrer ce que vous voulez tant qu’il s’agit d’une adresse e-mail valide), par exemple admin@domain.tld | ||
− | *'''Organization, Department, Locality, State and Country''': les champs devraient avoir les valeurs que vous avez entré lorsque vous avez créé votre | + | *'''Organization, Department, Locality, State and Country''': les champs devraient avoir les valeurs que vous avez entré lorsque vous avez créé votre PKI. Vous pouvez laisser ces valeurs. |
− | *'''Password: Ce champ doit être vide. Rappelez-vous que OpenVPN | + | *'''Password: Ce champ doit être vide. Rappelez-vous que le démon OpenVPN démarre sans intervention humaine lors du démarrage du serveur, donc il faut avoir accès à la clé du certificat sans être invité à entrer un mot de passe.''' |
*'''Certificate life''': Entrez ce que vous voulez, mais rappelez-vous, lorsque le certificat expire, vous devrez en créer un autre, et le mettre à jour dans le menu OpenVPN Bridge de la SME. | *'''Certificate life''': Entrez ce que vous voulez, mais rappelez-vous, lorsque le certificat expire, vous devrez en créer un autre, et le mettre à jour dans le menu OpenVPN Bridge de la SME. | ||
*'''Key size''': vous pouvez entrer ce que vous voulez (j’utilise 2048 en général). Le plus grand utilisera un peu plus de puissance processeur lorsque la clé de session sera négocié (à la connexion, et une fois par heure) | *'''Key size''': vous pouvez entrer ce que vous voulez (j’utilise 2048 en général). Le plus grand utilisera un peu plus de puissance processeur lorsque la clé de session sera négocié (à la connexion, et une fois par heure) | ||
Line 156: | Line 154: | ||
dans ce menu vous avez la possibilité | dans ce menu vous avez la possibilité | ||
− | * de | + | * de contrôler le serveur VPN (start/stop) |
* de choisir le mode d’authentification (certificat ou certificat+mot de passe) | * de choisir le mode d’authentification (certificat ou certificat+mot de passe) | ||
* de fixer la plage d’IP que le serveur attribuera aux PC qui se connecteront (elles doivent faire partie de votre réseau et ne pas appartenir a la plage attribuée au DHCP) | * de fixer la plage d’IP que le serveur attribuera aux PC qui se connecteront (elles doivent faire partie de votre réseau et ne pas appartenir a la plage attribuée au DHCP) |
Revision as of 08:03, 6 July 2010
Mainteneur
Daniel B. de Firewall Services
Version
Description
SME Server version 7.4 dispose d’une contribs de Firewall Services permettant d’obtenir un serveur OpenVPN utilisable facilement, avec une page d'administration dans le server-manager.
Installation
pour résumer la problématique il y a 3 paquets à installer
* smeserver-openvpn-bridge : le paquet qui installe le serveur OpenVPN. * bridge-interface : le paquet qui crée un pont entre l'interface interne et une interface TAP. * PHPki : le paquet qui servira à gérer vos certificats.
Le serveur OpenVPN attribuera des IP de votre réseau local aux clients VPN, ils auront ainsi accès à toutes les ressources accessibles depuis votre réseau local (partages de fichier, intranet, services de mail interne, etc). C’est donc un service de type « site to client » qui ne vous permet pas de relier deux SME Server ensemble (mais l’auteur de cette contribs géniale en a une autre dans ses cartons pour faire cela.)
on y va pour l’installer, ce n’est pas bien compliqué, un grand merci à Daniel (de firewall-services).…spéciale dédicace.
bridge-interface
on installe le paquet qui va créer l'interface TAP (interface réseau virtuelle)
yum --enablerepo=smecontribs install smeserver-bridge-interface
pour la plupart des installations les paramètres par défaut suffiront, mais vous pouvez quand même les vérifier
db configuration show bridge bridge=service bridgeInterface=br0 ethernetInterface=eth0 status=enabled tapInterface=tap0
au besoin vous avez la page de l’auteur pour modifier cela, je dois reconnaître que je n’en ai pas eu besoin.
PHPki
on va installer maintenant l’interface de gestion des certificats
yum --enablerepo=smecontribs install smeserver-phpki
puis on lance les services
expand-template /etc/httpd/conf/httpd.conf expand-template /etc/httpd/pki-conf/httpd.conf sv t /service/httpd-e-smith sv u /service/httpd-pki
smeserver-openvpn-bridge
et enfin on installe le serveur VPN
yum --enablerepo=smecontribs install smeserver-openvpn-bridge
Commande et monitoring d'openvpn
Maintenant que le serveur est installé, il nous faut discuter un peu des moyens de le contrôler en ligne de commande cela peut toujours servir…
start
sv u /service/openvpn-bridge
stop
sv d /service/openvpn-bridge
restart
sv t /service/openvpn-bridge
monitorer le serveur OPENVPN en temps réel
tailf /var/log/openvpn-bridge/current
Création des certificats
Il va nous falloir créer le certificat racine qui va permettre de signer tous les autres certificats, aussi pour cela nous utiliserons le menu que vous pouvez voir dans le menu de la SME Server (https://IP-DU-SERVEUR/server-manager) « Gestion des certificats »
Ce menu servira donc pour manager, révoquer et toutes les autres opérations qui concerneront des certificats (pas seulement pour OpenVPN….). On vous propose deux formats de certificats.
* PKCS12 (c’est un bundle qui englobe le certificat utilisateur, sa clef privée, et le certificat racine) * PEM (qui peuvent être utilisés par Network-manager)
Certificat racine
à la première sélection du menu, on vous propose de vous occuper du certificat racine. C'est lui qui attestera en tant qu'autorité de certification, la validité de tous les autres certificats.
la deuxième partie est la suivante
vous pouvez laisser les paramètres par défaut, sauf le « Document Contact Info » que vous pouvez modifier si vous le souhaitez. Une fois accepté, après quelques instant, vous aurez ceci……
Maintenant, vous êtes en mesure d’utiliser PHPki. L’interface d’administration est disponible sur le server-manager ou directement https://IP-DU-SERVEUR/phpki/ca
Il y a aussi une interface publique, disponible uniquement à partir des réseaux locaux, mais sans mot de passe à l’adresse https://IP-DU-SERVEUR/phpki
Ici, les utilisateurs peuvent télécharger le certificat maître CA, ou faire des recherche pour les certificats d’autres utilisateurs (partie publique uniquement bien sûr).
Certificat du serveur
Maintenant, vous devez créer un certificat pour OpenVPN sur le serveur. Pour cela, allez dans l’interface PHPki, puis « créer un nouveau certificat ». Ici, vous devrez entrer quelques informations sur le certificat:
- Common Name: c’est le nom du certificat. Vous pouvez entrer ce que vous voulez, par exemple « openvpn-bridge »
- Email address: l’adresse e-mail du contact technique (ce champ n’est pas utilisé, vous pouvez entrer ce que vous voulez tant qu’il s’agit d’une adresse e-mail valide), par exemple admin@domain.tld
- Organization, Department, Locality, State and Country: les champs devraient avoir les valeurs que vous avez entré lorsque vous avez créé votre PKI. Vous pouvez laisser ces valeurs.
- Password: Ce champ doit être vide. Rappelez-vous que le démon OpenVPN démarre sans intervention humaine lors du démarrage du serveur, donc il faut avoir accès à la clé du certificat sans être invité à entrer un mot de passe.
- Certificate life: Entrez ce que vous voulez, mais rappelez-vous, lorsque le certificat expire, vous devrez en créer un autre, et le mettre à jour dans le menu OpenVPN Bridge de la SME.
- Key size: vous pouvez entrer ce que vous voulez (j’utilise 2048 en général). Le plus grand utilisera un peu plus de puissance processeur lorsque la clé de session sera négocié (à la connexion, et une fois par heure)
- Certificate Use: vous devez utiliser « VPN server only». Ce point est important. Si vous ne choisissez pas ce type de certificats, les clients peuvent être incapables de se connecter
voici un exemple de configuration
vous pouvez confirmer votre certificat
Configuration du serveur openvpn
il vous faut aller dans le menu server-manager->OpenVPN-Bridge->certificates configuration.
Vous avez quelques champs à renseigner
- URL to update the CRL: vous devriez laisser la valeur par défaut: à moins http://localhost:940/phpki/index.php?stage=dl_crl_pem PHPki soit installé sur un autre serveur (ou si vous utilisez un autre outil PKI)
- CA certificate: Vous pouvez mettre ici le certificat racine au format PEM. Vous pouvez l’obtenir dans PHPki, en cliquant sur le lien «Afficher le certificat racine (PEM)» (faite un copier/coller)
- Server certificate: Vous pouvez mettre ici le certificat du serveur. Vous pouvez l’obtenir dans PHPki, gérer les certificats, cliquez sur le lien de téléchargement correspondant au certificat que vous avez créé pour le serveur (« openvpn-bridge » dans l’exemple), choisissez certificat PEM dans le menu déroulant, le télécharger. Vous pouvez ouvrir ce fichier avec un éditeur de texte.
- Server private key: Il s’agit de la clé privée associée au certificat du serveur. Pour l’obtenir, suivez les mêmes étapes que ci-dessus, mais choisir « PEM key » dans le menu déroulant ci-lieu de «PEM Certificate »
- DH Parameters: Pour obtenir les paramètres DH, cliquez sur « Display the Diffie-Hellman parameters » dans PHPki
- Static Key: Cette option est facultative. Vous pouvez l’obtenir en utilisant l’option « Display the static pre-shared key » dans PHPki. Notez que si vous entrez cette clé sur le serveur, vous aurez à la déployer sur chaque poste client. (pour ma part je l’ai fais, no problemo faite le)
un exemple de ce que cela doit rendre
Une fois les certificats paramétrés, vous devez aller dans le menu server-manager->OpenVPN-Bridge->configuration du service
dans ce menu vous avez la possibilité
- de contrôler le serveur VPN (start/stop)
- de choisir le mode d’authentification (certificat ou certificat+mot de passe)
- de fixer la plage d’IP que le serveur attribuera aux PC qui se connecteront (elles doivent faire partie de votre réseau et ne pas appartenir a la plage attribuée au DHCP)
Certificat Client
dans PHPki l’interface d’administration, cliquez sur le lien « Create a new certificate ». Vous allez devoir y remplir certaines informations, qui vous sont propres.
Le mieux étant de choisir un type de certificat en "VPN client Only", car les autres certificats nécessitent un mot de passe qui vous sera demandé obligatoirement à chaque connexion (en plus du mot de passe du compte utilisateur de la SME si il est paramétré)
Vous pouvez jouer sur la durée de vie du certificat pour autoriser l’accès pendant un temps donné, une fois cette période passé, le certificat devra être régénéré.
une fois validé, votre certificat est créé, et vous pouvez en disposer dans le menu « manage certificates » de phpki