Le contenu de cette page est potentiellement obsolète.

Le wiki sert d'archive et certaines pages ne représentent plus la vision actuelle du Parti Pirate. Pour connaître les positions des Pirates, aujourd'hui, vous pouvez consulter :

Et pour toute autre question, vous pouvez nous contacter et discuter avec nous :

contact@partipirate.org | @PartiPirate sur Twitter | Parti Pirate sur Facebook | Discourse (espace libre d'échanges et discussions) | Discord (espace d'échanges instantanés textuel et vocal)

Différences entre les versions de « HowToVPN »

De Wiki du Parti Pirate
Aller à la navigation Aller à la recherche
Ligne 82 : Ligne 82 :
Installation
Installation


* Installer le paquet OpenVPN et openssl
* Installer le paquet OpenVPN et OpenSSL
  $ sudo apt-get -y install openvpn openssl
  $ sudo apt-get -y install openvpn openssl



Version du 11 février 2013 à 00:08

Présentation du service

En cours de rédaction

Les Réseaux Privés Virtuels

Dans les réseaux informatiques et les télécommunications, le réseau privé virtuel (Virtual Private Network en anglais, abrégé en VPN) est vu comme une extension des réseaux locaux et préserve la sécurité logique que l'on peut avoir à l'intérieur d'un réseau local. Il correspond en fait à une interconnexion de réseaux locaux via une technique de « tunnel ». On parle de VPN lorsqu'un organisme interconnecte ses sites via une infrastructure partagée avec d'autres organismes.

Un bon compromis consiste à utiliser Internet comme support de transmission en utilisant un protocole de « tunnellisation » (en anglais tunneling), c'est-à-dire encapsulant les données à transmettre de façon chiffrée. On parle alors de VPN pour désigner le réseau ainsi artificiellement créé. Ce réseau est dit virtuel car il relie deux réseaux « physiques » (réseaux locaux) par une liaison non fiable (Internet), et privé car seuls les ordinateurs des réseaux locaux de part et d'autre du VPN peuvent accéder aux données en clair.

Le VPN permet donc d'obtenir une liaison sécurisée à moindre coût, si ce n'est la mise en œuvre des équipements terminaux.

Le VPN vise à apporter certains éléments essentiels dans la transmission de données : l'authentification (et donc l'identification) des interlocuteurs, la confidentialité des données (le chiffrement vise à les rendre inutilisables par quelqu'un d'autre que le destinataire).

(auteur: les contributeurs de wikipédia in Wikipédia - Réseau privé virtuel)

Le réseau VPN du Parti Pirate

Les serveurs du Parti Pirate sont reliés entre eux dans un réseau interne. L'accès VPN vise donc à intégrer des utilisateurs nomades (dit roadwarrior) dans ce réseau interne. Cette intégration permet de fournir un premier niveau de gestion des accès au sein du réseau. Ensuite chaque service spécifie les privilèges de l'utilisateur.

Par exemple, l'utilisateur A a besoin d'un accès SSH (Secure SHell) sur le serveur B et un accès FTP (File Transfer Protocol) sur le serveur C.

  • Dans un premier temps, un certificat OpenVPN est créé pour A afin de lui fournir un accès au réseau interne.
  • Puis chaque serveur B et C définis un accès spécifique qui sera fournit à A
  • A s’intègre dans le réseau interne puis utilise normalement les services de B et C

En outre, des applications spécifiques n'ayant pas de raisons d'être publiquement accessibles (gestion des adhérents par exemple) ne sont disponibles qu'au travers de ce réseau.

Ainsi, ce système présente les avantages suivants:

  • Les données de l'utilisateur nomade à destination du réseau interne sont chiffrées via le VPN.
  • Les applications n'ayant pas besoin d'un accès public ne sont disponibles qu'au travers du VPN
  • Si un accès d'un utilisateur à un service est compromis, le problème reste limité tant que le certificat VPN de l'utilisateur n'est pas compromis.
  • Si un certificat VPN d'un utilisateur est compromis, sa révocation permet de bloquer ses accès aux différents services sur le réseau interne et donc de limiter les effets de ce problème de sécurité.
  • Si le certificat VPN d'un utilisateur est révoqué, il ne dispose plus d'aucun accès aux services du réseau. Toutefois, chaque service doit révoquer l'accès de cet utilisateur.

En revanche, cela nécessite d'installer un logiciel sur le système de l'utilisateur.

OpenVPN

OpenVPN est un logiciel libre permettant de créer un réseau privé virtuel. Il fournit :

  • Un serveur VPN mature et stable
  • Un logiciel client disponible sur de multiple plateforme (Solaris, *BSD, GNU/Linux, Mac OS X, Windows 2000, XP, Vista et 7)

Vous et OpenVPN

Vous aurez besoin d'un accès VPN pour :

  • le site de votre section locale afin d'y effectuer des transferts de fichiers via FTP
  • l'utilisation d'applications spécifiques n'ayant pas vocation à être publique pour des raisons de sécurité.
  • l'administration d'un service sur un des serveurs si cela nécessite un compte système (user Shell avec commande limité sudo) ou si une éventuelle interface de gestion est indépendante du service.
  • l'administration d'un ou plusieurs serveurs

L'impact sur votre machine est faible :

  • cela revient à ajouter une nouvelle carte réseau (virtuelle) et de vous connecter au réseau interne
  • le trafic n'étant pas à destination du réseau interne ne passe pas par le VPN, autrement dit les données de vos activités en ligne habituelles ne passent pas par ce réseau.

Pour éviter toute confusion, les adresses utilisées sont sous la forme partipirate.ppo. Par exemple :

Guides d'installation et d'utilisation

Pour Windows 7

  • Prendre Les sources sur http://openvpn.net/index.php/download.html
  • Lancer l'exécutable "openvpn-2.2.2-install" (ou version supérieure)
  • Copier les fichier avec l’extension .p12 et .ovpn dans le dossier "\config" du répertoire d'installation d'OpenVPN (pour moi C:\Program Files (x86)\OpenVPN\config)
  • clic droit sur le tray-icone puis "connect"
  • rentrer le mot de passe fourni par l'administrateur (vous êtes connecté)
  • en cas de bug fermer complètement openvpn fait un clic droit sur l'icone puis propiétés onglet compatibilité et coché "Exécuter ce programme en tant qu'administrateur" puis relancer openvpn

Pour Windows XP

Pour Linux

A partir d'un shell (debian, ubuntu, mint)

Prerequis

  • Avoir reçu les 2 fichiers clés (.ovpn et .p12) de la part des administrateurs du VPN (après que votre compte VPN ait été créé) ainsi que le mot de passe de décryptage du fichier p12.


Installation

  • Installer le paquet OpenVPN et OpenSSL
$ sudo apt-get -y install openvpn openssl
  • Renommer le fichier .ovpn en .conf (filename est à remplacer par le nom du fichier ovpn reçu)
$ mv filename.ovpn filename.conf
  • Copier les fichiers .p12 et .conf dans /etc/openvpn/ et les rendre en accès restreint root
$ sudo chown root:root /etc/openvpn/*.conf 
$ sudo chown root:root /etc/openvpn/*.p12
$ sudo chmod 0600 /etc/openvpn/*.conf 
$ sudo chmod 0600 /etc/openvpn/*.p12
  • Tester la connexion
$ sudo service openvpn restart

La passphrase vous sera demandée à chaque connexion.

  • Optionnellement, supprimer le mot de passe à chaque connexion

L'opération consiste à recréer le fichier .p12 sans mot de passe (%protected%.p12 est le nom du fichier p12).

$ sudo cp /etc/openvpn/%protected%.p12 /etc/openvpn/%protected%.p12.bak
$ sudo openssl pkcs12 -in /etc/openvpn/%protected%.p12 -nodes -out temp.pem

Pour la commande suivante, lorsque qu'OpenSSL demande un mot de passe, taper "entrée" en ne saisissant rien.

$ sudo openssl pkcs12 -export -in temp.pem  -out /etc/openvpn/%protected%.p12
$ sudo rm -f temp.pem
  • Éventuellement, ajouter la configuration de résolution DNS

Pour avoir les résolutions DNS du réseau privé VPN, vous pouvez ajouter l'adresse du serveur DNS dans votre configuration réseau : 172.16.20.2

Pour cela, 2 méthodes: Soit vous êtes sur un poste utilisateur client sans serveur DNS (cas le plus fréquent):

Vérifier que le fichier /etc/openvpn/update-resolv-conf est présent. Si non le créer avec le contenu suivant

#!/bin/bash
#
# Parses DHCP options from openvpn to update resolv.conf
# To use set as 'up' and 'down' script in your openvpn *.conf:
# up /etc/openvpn/update-resolv-conf
# down /etc/openvpn/update-resolv-conf
#
# Used snippets of resolvconf script by Thomas Hood <jdthood@yahoo.co.uk>
# and Chris Hanson
# Licensed under the GNU GPL.  See /usr/share/common-licenses/GPL.
#
# 05/2006 chlauber@bnc.ch
#
# Example envs set from openvpn:
# foreign_option_1='dhcp-option DNS 193.43.27.132'
# foreign_option_2='dhcp-option DNS 193.43.27.133'
# foreign_option_3='dhcp-option DOMAIN be.bnc.ch'

[ -x /sbin/resolvconf ] || exit 0

case $script_type in

up)
   for optionname in ${!foreign_option_*} ; do
      option="${!optionname}"
      echo $option
      part1=$(echo "$option" | cut -d " " -f 1)
      if [ "$part1" == "dhcp-option" ] ; then
         part2=$(echo "$option" | cut -d " " -f 2)
         part3=$(echo "$option" | cut -d " " -f 3)
         if [ "$part2" == "DNS" ] ; then
            IF_DNS_NAMESERVERS="$IF_DNS_NAMESERVERS $part3"
         fi
         if [ "$part2" == "DOMAIN" ] ; then
            IF_DNS_SEARCH="$part3"
         fi
      fi
   done
   R=""
   if [ "$IF_DNS_SEARCH" ] ; then
           R="${R}search $IF_DNS_SEARCH
"
   fi
   for NS in $IF_DNS_NAMESERVERS ; do
           R="${R}nameserver $NS
"
   done
   echo -n "$R" | /sbin/resolvconf -a "${dev}.inet"
   ;;
down)
   /sbin/resolvconf -d "${dev}.inet"
   ;;
esac

Modifier les droits du fichier en exécution

$ chmod +x /etc/openvpn/update-resolv-conf

Ajouter les 3 lignes suivantes dans le fichier /etc/openvpn/*.conf (qui a été installé à la première étape)

script-security 2
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf

A chaque arrêt/relance du VPN, le serveur DNS de ppo (172.16.20.2) sera ajouté ou supprimé au fichier /etc/resolv.conf (2 à 3 seconds après le démarrage du VPN). Si ce n'est pas le cas, vérifier si cela apparait dans un fichier /run/resolvconf/resolv.conf, et si oui, remplacer le fichier /etc/resolv.conf par un lien symbolique vers /run/resolvconf/resolv.conf et lancer la commande sudo resolvconf -u

Vérifier que la résolution DNS fonctionne bien en faisant

$ host chaloupe.partipirate.ppo

Cela doit vous renvoyer son adresse IP dans le réseau VPN.


Autre solution, si vous avez le serveur DNS bind, vous devez modifier dans /etc/bind/named.conf.options

forward first;
forwarders {
   172.16.20.2;
};
dnssec-validation no;

Pour MAC OS X

FAQ

Comment obtenir un accès VPN ?

L'équipe technique distribue les accès sur besoin identifié ou demande. Envoyez un email sur la ML EkTek en motivant votre demande. Il n'est pas utile pour un site internet que 10 personnes disposent d'un tel accès mais il serait plus souhaitable qu'une personne en charge de la gestion technique du site en dispose