Changes

Jump to navigation Jump to search
14,129 bytes added ,  20:08, 17 March 2020
Line 12: Line 12:  
=== Description ===
 
=== Description ===
 
Le Serveur KOOZALI versions 7.4 (obsolète), 8 (obsolète) et 9 disposent d’une contribution de Firewall Services permettant d’obtenir un serveur [http://openvpn.net OpenVPN] utilisable facilement, avec une page d'administration dans le gestionnaire du serveur.
 
Le Serveur KOOZALI versions 7.4 (obsolète), 8 (obsolète) et 9 disposent d’une contribution de Firewall Services permettant d’obtenir un serveur [http://openvpn.net OpenVPN] utilisable facilement, avec une page d'administration dans le gestionnaire du serveur.
 +
{{Note box|type=Note :|cette page ne comporte pas la traduction de la totalité de la page en anglais. Par contre, il y a des paragraphes qui ne figurent pas dans la version anglaise.}}
 +
=== Conditions requises ===
 +
*Vous devez installer et activer la contribution [[BridgeInterface/fr|bridge-interface]].
 +
*Vous devez installer [[PHPki/fr]] pour gérer facilement vos certificats.
    
=== Installation ===
 
=== Installation ===
Line 179: Line 183:  
Une fois validé, votre certificat est créé, et vous pouvez en disposer dans le menu « manage certificates » de phpki.
 
Une fois validé, votre certificat est créé, et vous pouvez en disposer dans le menu « manage certificates » de phpki.
   −
=== Client Linux Debian Gnome===
+
=== Client Linux Debian XFCE===
    
Texte copié à partir de la page de Stephdl [http://geekeries.de-labrusse.fr/?p=235] sur la configuration de network-manager, avec son aimable autorisation.
 
Texte copié à partir de la page de Stephdl [http://geekeries.de-labrusse.fr/?p=235] sur la configuration de network-manager, avec son aimable autorisation.
Line 205: Line 209:  
     la clef privée de l’utilisateur, en général user-key.pem
 
     la clef privée de l’utilisateur, en général user-key.pem
 
     une clef statique prépartagée, en général takey.pem
 
     une clef statique prépartagée, en général takey.pem
 +
 +
Pour ce faire, toujours dans le gestionnaire du serveur, dans Sécurité / Gestion des certificats, dans le Menu de gestion des certificats, cliquer sur la ligne « Manage certificate ».
 +
 +
Une nouvelle page s'ouvre avec un tableau de tous les certificats. Repérer le certificat et cliquer en bout de ligne sur l'icône de téléchargement.
 +
 +
Une nouvelle page s'ouvre avec, à gauche une liste déroulante des différents fichiers du certificat :
 +
# PKCS12 Bundle ;
 +
# PEM certificate              qui correspond au certificat en lui-même (environ 1,9 kio en 2048 bits) ;
 +
# PEM key                      qui est la clé privé du certificat      (environ 1,7 kio en 2048 bits) ;
 +
# PEM Bundle
 +
# PEM Bundle w/Root            qui est le certificat racine ou CA      (environ 5,4 kio en 2048 bits).
 +
 +
Attention, quand vous allez demander le téléchargement des fichiers 2, 3 et 5, les fichiers 2 et 5 vont être téléchargés sous le même nom avec l'extension .pem. Renommer rapidement le n°2 en *-cert.pem et le n°5 en *-CA.pem pour éviter toute confusion.
 +
 +
La clé statique pré-partagée est à télécharger en revenant au tableau PHPki : « Menu de gestion des certificats », dans l'avant-dernière ligne.
 +
 +
    
Mettre ces 4 certificats sur une clé USB, par exemple, pour pouvoir les installer sur la machine cliente.
 
Mettre ces 4 certificats sur une clé USB, par exemple, pour pouvoir les installer sur la machine cliente.
    
La suite en image…
 
La suite en image…
====Debian Stretch (v.9) Gnome Classic====
+
====Debian Buster (v.10) XFCE====
'''''ATTENTION, CE PARAGRAPHE N'EST PAS FINI.'''''
+
Le paquet Network Manager doit être installé.
 +
Cliquer droit sur l'icône de la connexion en cours. Cela ouvre une fenêtre dont la 4e ligne s’appelle « Modifier les connexions ». Cliquer droit sur cette ligne : la fenêtre suivante s'ouvre.
 +
 
 +
[[File:Connexion_reseau_v10.png]]
 +
 
 +
Activer la ligne VPN en la sélectionnant et cliquer sur le signe + en bas à gauche de la fenêtre. Une nouvelle fenêtre s'ouvre :
 +
 
 +
[[File:Selectionner_type_v10.png]]
 +
 
 +
La fenêtre déroulante du milieu est généralement indiquée Ethernet par défaut. Descendre dans la liste pour chercher les connexions VPN et choisir OpenVPN, puis cliquer sur le bouton « Créer... ».
 +
1. La nouvelle fenêtre suivante s'ouvre :
 +
 
 +
[[File:Modif_connex_VPN1_v10.png]]
 +
 
 +
- Donner un nom à votre connexion VPN dans le champ « Nom de la connexion » ;
 +
 
 +
- champ « Passerelle », mettre l'adresse IP de votre serveur (ou son nom : mon_serveur.com) ;
 +
 
 +
- choisir le type d'authentification à « Mot de passe avec certificats (TLS) » ;
 +
 
 +
- entrer votre nom d'utilisateur et le mot de passe associé ;
 +
 
 +
- en bout de cette ligne, cliquer sur la petite icône pour faire le choix approprié : en géréral « sauvegarder le mot d epasse pour cet utilisateur » mais en cas d'utilisation d'une authentificaton au serveur au moyen de LDAP/SSSL, il faut choisir « Enregistrer le mot de passe pour tous les utilisateurs » de l'ordinateur portable ;
 +
 
 +
- télécharger les certificats :
 +
 
 +
-- le certificat de l'utilisateur est de type : « utilisateur.pem » ;
 +
 
 +
-- le certificat du CA est du type : « utilisateur-root.pem » ;
 +
 
 +
-- la clé privée est du type : « utilisateur-key.pem ».
 +
 
 +
Même si on n'utilise pas de «'''mot de passe pour la clé privée»''', il faut cliquer sur la petite icône à droite du champ pour sélectionner l'option « Le mot de passe n'est pas nécessaire » sinon, il n'est pas possible de sauvegarder la configuration, ce qu'il faut faire avant de passer à la phase suivant en cliquant sur le bouton « Enregistrer ».
 +
 
 +
Voir ci-dessous, un exemple de ce que cela doit donner :
 +
 
 +
[[File:Modif_connex_VPN1_VPN_v10.png]]
 +
 
 +
2. Puis cliquer sur l'onglet « Général » et cocher la case « Tous les utilisateurs peuvent se connecter à ce réseau » comme sur l'image ci-dessous :
 +
 
 +
[[File:Modif_connex_VPN1_General_v10.png]]
 +
 
 +
3. Si tout semble correct, appuyer sur le bouton « Enregistrer » en bas à droite pour enregistrer la configuration, puis retourner sur l'onglet VPN pour cliquer sur le bouton « Advanced ». Une fenêtre s'ouvre avec 4 onglets. Cliquer sur l'onglet « Général » et le configurer comme indiqué dans l'iamge ci-dessous :
 +
 
 +
[[File:Modif_connex_VPN1_advanced_general_v10.png]]
 +
 
 +
Puis cliquer sur l'onglet « Authentification TLS » et le configurer comme indiqué dans l'image ci-dessous, notamment, il faut installer la clé « takey.pem »
 +
 +
[[File:Modif_connex_VPN1_advanced_Auth_v10.png]]
 +
 
 +
Cliquer sur « Valider » pour enregistrer les configurations et fermer cette fenêtre.
 +
 
 +
4. On est revenu sur cette fenêtre ci-dessous sur laquelle on sélectionne l'onglet « Paramètres IPV4 » :
 +
[[File:Modif_connex_VPN1_IPV4_v10.png]]
 +
 
 +
5. Puis on clique sur le bouton « Routes ». Une nouvelle fenêtre s'ouvre :
 +
[[File:Modif_connex_VPN1_IPV4_routes_v10.png]]
 +
 
 +
Cocher la case « Utiliser cette connexion uniquement pour les ressources de son réseau ».
 +
Valider. Le fenêtre se ferme.
 +
On revient à la fenêtre précédente. Enregistrer. C’EST FINI !
 +
 
 +
====Debian Stretch (v.9) Gnome Classic ou XFCE====
 +
 
    
1. Aller dans Applications/Outils système/Outils réseau
 
1. Aller dans Applications/Outils système/Outils réseau
Line 245: Line 329:  
-- la clé privée est du type : «utilisateur-key.pem».
 
-- la clé privée est du type : «utilisateur-key.pem».
   −
Même si on n'utilise pas de «'''mot de passe pour la clé privée»''', il faut cliquer sur la petite icône à droite du champ pour sélectionner l'option «The password is not required» sinon, il n'est pas possible de sauvegarder la configuration, ce qu'il faut faire avant de passer à la phase suivant en cliquant sur le bouton «Ajouter» ou Appliquer».
+
Même si on n'utilise pas de «'''mot de passe pour la clé privée»''', il faut cliquer sur la petite icône à droite du champ pour sélectionner l'option « The password is not required » sinon, il n'est pas possible de sauvegarder la configuration, ce qu'il faut faire avant de passer à la phase suivant en cliquant sur le bouton «Ajouter» ou Appliquer».
    
Voir ci-dessous, un exemple de ce que cela doit donner :
 
Voir ci-dessous, un exemple de ce que cela doit donner :
Line 251: Line 335:  
[[File:VPN_config_1.png|600px]]
 
[[File:VPN_config_1.png|600px]]
   −
4. Si tout semble correct, appuyer sur le bouton «Appliquer» en bas à droite pour enregistrer la configurtaion, puis sur le bouton «Advanced». Une fenêtre s'ouvre avec 4 onglets. Cliquer sur l'onglet «Authentification TLS»
+
4. Si tout semble correct, appuyer sur le bouton «Appliquer» en bas à droite pour enregistrer la configuration, puis sur le bouton « Advanced ». Une fenêtre s'ouvre avec 4 onglets. Cliquer sur l'onglet « Général » et le configurer comme indiqué dans l’image ci-dessous :
 +
 
 +
[[File:OpenVPN_9_Options_avancees_general.png]]
 +
 
 +
Puis cliquer sur l'onglet « Authentification TLS »
    
[[File:VPN_authentif_TLS.png|600]]
 
[[File:VPN_authentif_TLS.png|600]]
   −
'''''ATTENTION : la procédure n'est pas terminée. Sera terminée prochainement.'''''
+
Cocher les 2 cases comme sur la photo puis cliquer sur la fenêtre déroulante « Fichier de clé » pour aller chercher le fichier takey.pem.
 +
Même manipulation sur la ligne du dessous pour choisir la direction de la clé à 1.
 +
 
 +
Puis cliquer sur « Valider » pour enregistrer les configurations et on revient à la fenêtre :
 +
 
 +
[[File:VPN_config_1.png|600px]]
 +
 
 +
4. Sur cette fenêtre ci-dessus, on sélectionne l'onglet « Paramètres IPV4 » :
 +
 
 +
[[File:OpenVPN_9_para_IPV4.png]]
 +
 
 +
5. Puis on clique sur le bouton « Routes ». Une nouvelle fenêtre s'ouvre :
 +
 
 +
[[File:OpenVPN_9_routes_IPV4.png]]
 +
 
 +
Cocher la case « Utiliser cette connexion uniquement pour les ressources de son réseau ». Valider. Le fenêtre se ferme. On revient à la fenêtre précédente. Enregistrer.
   −
==== Debian Jessie (v.8) LXDE ====
+
C’EST FINI !
 +
 
 +
==== Debian Jessie (v.8) XFCE ====
 
Aller dans «Menu des applications/Paramètres/Connexions réseau». Cette fenêtre s'ouvre :
 
Aller dans «Menu des applications/Paramètres/Connexions réseau». Cette fenêtre s'ouvre :
   Line 332: Line 437:  
Sur Windows, le répertoire de configuration pour OpenVPN est C:\Program Files\OpenVPN\config. Vous pouvez déposer là tous les fichiers nécessaires, ou créer des sous-répertoires si vous voulez configurer plusieurs connexions. Vous pouvez aussi déposer vos fichiers dans les répertoires %utilisateur\OpenVPN\config.
 
Sur Windows, le répertoire de configuration pour OpenVPN est C:\Program Files\OpenVPN\config. Vous pouvez déposer là tous les fichiers nécessaires, ou créer des sous-répertoires si vous voulez configurer plusieurs connexions. Vous pouvez aussi déposer vos fichiers dans les répertoires %utilisateur\OpenVPN\config.
   −
Put here (either in the config directory or in a sub folder) the PKCS#12 file you have downloaded earlier, and the shared secret key if you used one on the server. Now create a text file, and change the extension to be .ovpn (the name isn't important). Edit it with your favorite text editor. Now, go in the panel of OpenVPN-Bridge and click on the link "Display a functional client configuration file". Copy and past this in your config file (.ovpn), and just change the pkcs12 directive to match your certificate name. Save this file. Now your client should be able to connect with the OpenVPN GUI.  
+
Déposer, soit dans le répertoire de configuration, soit dans un sous-répertoire, le fichier PKCS#12 que vous avez téléchargé précédemment, et la clé secrète partagée (takey, je suppose, ndt) si vous en utilisez une sur le serveur. Puis, créer un fichier texte et changer l'extension en .ovpn (le nom n'est pas important). L'éditer avec votre éditeur de texte favori. Aller maintenant dans le panneau d'OpenVPN-Bridge et cliquer sur le lien « Afficher un fichier de configuration client fonctionnel ». Copier et coller-le dans votre fichier de configuration (.ovpn), et changer uniquement la directive pkcs12 pour qu'elle corresponde à votre nom de certificat. Sauvegarder ce fichier. Maintenant votre client devrait pouvoir se connecter avec l'interface graphique utilisateur OpenVPN.
 +
===Client Apple Mac===
 +
Installer tunnelblick
 +
 
 +
Cocher la case « tout le trafic IPv4 à travers le VPN ».
 +
 
 +
* Si cette option est cochée, Tunnelblick demandera à OpenVPN de router tout le trafic IPv4 à travers le serveur VPN.
 +
* Si cette option n'est pas cochée, par défaut OpenVPN utilisera le VPN uniquement pour le trafic qui est destiné au réseau du VPN. Tout le reste du trafic utilisera la connexion internet normale sans passer par le VPN. Le comportement par défaut de OpenVPN peut être modifié dans la configuration OpenVPN ou dans le serveur VPN et peut faire que tout le trafic IPv4 soit routé vers le serveurVPN comme si cette option était cochée.
 +
 
 +
Fichier de configuration
 +
 
 +
Voici un fichier de configuration qui fonctionne mais dont la sécurité/sûreté n'a pas été testée.
 +
client
 +
dev tap
 +
proto udp
 +
remote MonServeur.com 1194
 +
resolv-retry infinite
 +
nobind
 +
auth-user-pass
 +
persist-key
 +
persist-tun
 +
pkcs12 MaCle.p12
 +
tls-client
 +
ns-cert-type server
 +
tls-auth takey.pem 1
 +
verb 3
 +
 
 +
=== Client Android ===
 +
 
 +
Vous ne pouvez pas utiliser le mode TAP, et donc openvpn-bridge, avec Android.
 +
 
 +
S'il vous plaît, lire ceci pour plus d'information :
 +
 
 +
https://openvpn.net/faq/why-does-the-app-not-support-tap-style-tunnels/
 +
 
 +
Vous pouvez utiliser openvpn-routed :
 +
 
 +
https://wiki.contribs.org/OpenVPN_Routed
 +
== Advanced configuration ==
 +
 
 +
Some advanced options are not presented in the panel. The goal was to keep the panel as simple as possible as most installations won't need to change advanced settings. But advanced options are still available with some DB keys:
 +
 
 +
*'''ConfigRequired''': (enabled|disabled). If set to enable, clients will be rejected unless a configuration rule match the common name of their certificate. This can be useful if you use just one CA to sign a lot of different certificates, but only want a limited number of certificates to connect to the VPN
 +
 
 +
*'''UDPPort''': (number) Change the port the server listen to when running in UDP mode
 +
 
 +
*'''TCPPort''': (number) Change the port the server listen to when running in TCP mode
 +
 
 +
*'''access''': (private|public) you should let this to public as running a VPN server just for the local network make no sens
 +
 
 +
*'''cipher''': (valid cipher name) You can force the cipher to use. If you put auto, or delete this key, client and server will negotiate the stronger cipher both side support. To have the list of the supported cipher, issue the command
 +
openvpn --show-ciphers
 +
 
 +
*'''clientToClient''': (enabled|disabled) If you want to prevent two clients to communicate, you should enable this option
 +
 
 +
*'''duplicateCN''': (enabled|disabled) If you want to allow several clients to connect simultaneously using the same certificate, you need to enable this option (default is disabled)
 +
 
 +
*'''compLzo''': (enabled|disabled) This option control the usage of real time LZO compression. Enabling it usually improve the performance at no cost. It uses an adaptive algorithm, if data sent over the tunnel are uncompress-able, the compression will automatically be disabled. You may want to disable it on small hardware.
 +
 
 +
*'''management''': (<ip to bind to>:<port>:<password>) this key control the management interface of OpenVPN. The default is to listen only on the loopback interface. It's used to display connected clients. You can allow the access on the local network to get some more statistics using for example: http://www.mertech.com.au/mertech-products-openvpnusermanager.aspx
 +
 
 +
*'''maxClients''': (number) maximum number of clients connected at a time
 +
 
 +
*'''mtuTest''': (enabled|disabled) When using UDP as transport protocol, mtu-test will measure the best MTU for the virtual interface. You should let it enabled unless you know what you're doing
 +
 
 +
*'''protocol''': (udp|tcp) The transport protocol to use. UDP is recommended for both security and performance, but there are situations where you'll need to use TCP. If you use TCP, you should set TCPPort directive to set the port the daemon will listen on (instead of UDPPort)
 +
 
 +
*'''redirectGW''': (perClient|always) The default is to enable the gateway redirection on a per client basis. But if you want the redirection to be always enabled, you can set this key to "always". This way, you won't have to create a new rule for each client.
 +
 
 +
*'''tapIf''': (tap interface) use this tap interface. You should use a free tap interface enslaved in the bridge interface (configured with the [http://wiki.contribs.org/BridgeInterface#Installation bridge-interface] contrib). Do not change this setting unless you know what you're doing
 +
 
 +
Once you have configured the service like you want, just run the command
 +
signal-event openvpn-bridge-update
 +
 
 +
== Désinstallation ==
 +
Pour enlever la contribution, lancer seulement :
 +
yum remove smeserver-openvpn-bridge
 +
 
 +
Vous pouvez également vouloir retirer les autres dépendances si vous ne les utilisez plus :
 +
yum remove smeserver-phpki phpki smeserver-bridge-interface perl-Net-OpenVPN-Manage perl-Net-Telnet
 +
 
 +
==Notes ==
 +
=== OpenVPN and SME installed in virtual machine - VMWare promiscuous mode ===
 +
By default for all version of ESX(i) starting from 3.5 to 7.0 (current in february 2020) VMWare rejects packets in promiscuous mode on the vSwitch, which will cause trouble with OpenVPN in bridge mode. The main symptom is that after successful authentication from your remote client you can ping/reach only the OpenVPN server while any other ip address on the LAN can't be pinged/reached. To correct this in VMWare set:
 +
  Configuration > Networking > your vSwitch: Properties > Ports-tab > vSwitch > Edit > Security-tab > Promiscuous mode: accept
 +
For ESXI hypervisor still working with vSphere client:
 +
 
 +
[[File:Promiscuous_mode_-_Esxi.jpg|786x786px]]
 +
 
 +
For  ESXI greater than 6.5 using webui client:
 +
 
 +
[[File:Promiscuous mode - Webui.jpg|border|frameless|784x784px]]
 +
 
 +
=== OpenVPN and SME installed in virtual machine - Virtualbox promiscuous mode ===
 +
 
 +
There is the same thing in virtualbox, you need to give the argument "allow all" in the network tab configuration.
 +
 
 +
virtual machine > configuration > network > adapter 1
 +
 
 +
choose adapter type "intel pro 1000....."
 +
 
 +
then put attached to on "bridged adapter" on your default NIC
 +
 
 +
click on advanced
 +
 
 +
then put promiscuous mode on "allow all"
 +
 
 +
[[Image:virtualbox-Sme8-Settings.png]]<br />
 +
 
 +
=== OpenVPN and SME installed in virtual machine - Other hypervisors ===
 +
It's documented that you can experience such problems in other hypervisors like OVirt, Proxmox, XEN or others. Keep in mind to search for equivalent settings concerning "promiscuous mode" of vSwitch.
 +
 
 +
=== Transparent proxy settings ===
 +
{{Note box|Keep in mind you need to disabled your transparent proxy else your host can no longer browse the http protocol.}}
 +
 
 +
go to the server-manager>Proxy services and disabled http and smtp proxy
 +
 
 +
 
 +
[[Image:proxy-setting.png|width|800px]]<br />
 +
 
 +
== Solutions de contournement et problèmes connus ==
 +
Si vous migrez de SME 8 à SME 9 et que vous ne parvenez pas à vous connecter après avoir correctement migré vos certificats, cela peut être lié à un algorithme insuffisamment sécurisé. Les notes de publication de CentOS 6.9 indiquent que "La prise en charge des protocoles et algorithmes cryptographiques non sécurisés a été abandonnée. Cela affecte l'utilisation des paramètres MD5, SHAO, RC4 et DH de moins de 1024 bits". Bien sûr, la vraie solution serait de migrer tous vos certificats vers un meilleur algorithme.
 +
 
 +
== Bogues ==
 +
Ouvrir, svp, des bogues dans la section SME-Contribs dans [http://bugs.contribs.org/enter_bug.cgi bugzilla]
 +
et sélectionner le composant smeserver-openvpn-bridge ou utiliser {{BugzillaFileBug|product=SME%20Contribs|component=smeserver-openvpn-bridge|title=ce lien.}}
 +
 
 +
{{#bugzilla:columns=id,product,version,status,summary |sort=id |order=desc |component=smeserver-openvpn-bridge|noresultsmessage="No open bugs found."}}
 +
==Autres articles dans cette catégorie==
 +
{{#ask: [[Category:VPN]]}}
 +
 
 +
----
 +
[[Category:Administration:VPN]]
 +
[[Category:VPN]]
 +
 
 
----
 
----
 
[[Category: Contrib/fr]]
 
[[Category: Contrib/fr]]
3,069

edits

Navigation menu