Vous êtes sur la page 1sur 12

guillaum e -p.

ne t

http://www.guillaume-p.net/installatio n-serveur-o penvpn-debian-squeeze/

.:POMENTE Guillaume:.
Dans ce tutoriel je vais expliquer comment installer un VPN sous Debian Squeeze. OpenVPN est un logiciel libre qui permet de crer des rseaux prics virtuels chif f rs avec OpenSSL. Un VPN (Virtual Private Network) ou Rseau Priv Virtuel est une connexion permettant de relier deux rseaux locaux dif f rents de f aon scuris a travers un tunnel.

1 Installation

Installation des paquets openvpn et openssl aptitude install openvpn openssl Copie des f ichiers de conf iguration cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0/* /etc/openvpn/

2 Gnration des certificats


A partir des f ichiers rcemment copi dans /etc/openvpn/ modif ier les variables suivantes dans le f ichier vars comme ceux-ci : export KEY_COUNT RY= FR export KEY_PROVINCE= 00 export KEY_CIT Y= MAVILLE export KEY_ORG= MONENT REPRISE export KEY_EMAIL= monmail@ mail.mail Se dplacer dans le dossier cd /etc/openvpn/ Initialisation du f ichier vars. Il y a un espace entre les deux point ( . ./vars) . ./vars NOTE: If you run ./clean-all, I will be doing a rm -rf on /etc/openvpn/easy-rsa/keys Nettoyage de toutes les cls et certif icats existants : ./clean-all Cration du certif icat et de la cl dAutoris de Certif ication. ./build-ca Generating a 1024 bit RSA private key

Generating a 1024 bit RSA private key ..++++++ .++++++ writing new private key to ca.key You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter ., the field will be left blank. Country Name (2 letter code) [FR]: State or Province Name (full name) [00]: Locality Name (eg, city) [MAVILLE]: Organization Name (eg, company) [MONENTREPRISE]: Organizational Unit Name (eg, section) []: Common Name (eg, your name or your servers hostname) [MONENTREPRISE]: Name []: Email Address [mon.mail@mail.fr]: Les f ichiers ca.key et ca.crt sont maintenant crs dans le dossier Keys Cration du certif icat et la cl pour le serveur IMPORTANT, quand le champ Common Name apparat il f aut saisir le nom du serveur, dans mon cas debiantest. Ce nest pas obligatoire mais vous pouvez saisir un mot de passe et un nom dentreprise. Surtout si vous en saisissez un ne le perdez pas il vous sera demand a chaque manipulation des certif icats clients.

./build-key-server debiantest

Generating a 1024 bit RSA private key ++++++ .++++++ writing new private key to debiantest.key

You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter ., the field will be left blank. Country Name (2 letter code) [FR]: State or Province Name (full name) [00]: Locality Name (eg, city) [MAVILLE]: Organization Name (eg, company) [MASOCIETE]: Organizational Unit Name (eg, section) []: Common Name (eg, your name or your servers hostname) [debiantest]: Name []: Email Address [mon.mail@mail.fr]:

Please enter the following extra attributes to be sent with your certificate request A challenge password []: An optional company name []: Using configuration from /etc/openvpn/easy-rsa/openssl.cnf Check that the request matches the signature Signature ok The Subjects Distinguished Name is as follows countryName :PRINTABLE:FR stateOrProvinceName :PRINTABLE:00 localityName :PRINTABLE:MAVILLE organizationName :PRINTABLE:MASOCIETE commonName :PRINTABLE:debiantest emailAddress :IA5STRING:maon.mail@mail.fr Certificate is to be certified until Aug 27 11:33:10 2022 GMT (3650 days) Sign the certificate? [y/n]:y

1 out of 1 certificate requests certified, commit? [y/n]y Write out database with 1 new entries Data Base Updated

Le certif icat et la cl du serveur sont maintenant cre dans le dossier /etc/openvpn/keys. Il se nomme debiantest.crt Construction des parameter Dif f ie Hellman Les parameters Dif f ie Hellman est un moyen de scuriser la ngociation initiale ef f ectu sur un lien non scuris ./build-dh Construction de la Cl T LS Lauthentif ication T LS ajoute une signature HMAC a tous les packets de handshake af in de vrif ier lintgrit de ceux-ci openvpn genkey secret /etc/openvpn/keys/ta.key

2 Gnrer les cls des clients


Se dplacer dans le dossier /etc/openvpn/ cd /etc/openvpn Initialisation des variables pour les scripts (point|espace|point|vars) . ./vars Gnrer les certif icats et les cls pour chaque clients. La marche a suivre est identique que celle pour le serveur. IMPORTANT, le champ Common Name doit tre renseign et unique par exemple pour client1 mettre client1 lorsque Common Name est demand Rpter lopration pour dautre client Ex : ./build-key client2 ./build-key client3 Si vous souhaitez protgerles cl gnrer avec un mot de passe, utilisez ./build-key-pass au lieu de ./build-key ./build-key client1

Generating a 1024 bit RSA private key ++++++ .++++++

writing new private key to client1.key You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter ., the field will be left blank. Country Name (2 letter code) [FR]: State or Province Name (full name) [00]: Locality Name (eg, city) [MAVILLE]: Organization Name (eg, company) [MASOCIETE]: Organizational Unit Name (eg, section) []: Common Name (eg, your name or your servers hostname) [client1]: Name []: Email Address [mon.mail@mail.fr]:

Please enter the following extra attributes to be sent with your certificate request A challenge password []: An optional company name []: Using configuration from /etc/openvpn/easy-rsa/openssl.cnf Check that the request matches the signature Signature ok The Subjects Distinguished Name is as follows countryName :PRINTABLE:FR stateOrProvinceName :PRINTABLE:00 localityName :PRINTABLE:MAVILLE organizationName :PRINTABLE:MASOCIETE commonName :PRINTABLE:client1 emailAddress :IA5STRING:mon.mail@mail.fr

Certificate is to be certified until Aug 27 11:54:03 2022 GMT (3650 days) Sign the certificate? [y/n]:y

1 out of 1 certificate requests certified, commit? [y/n]y Write out database with 1 new entries Data Base Updated Les certif icats et les cls sont crs dans /etc/openvpn/keys : client1.crt et client1.key

3 Ajout de lutilisateur OpenVpn

Af in de limiter le risque dattaque sur le serveur, nous allons attribuer le processus Openvpn un utilisateur qui na aucun droit sur le systme groupadd openvpn useradd -d /dev/null -g openvpn -s /bin/false openvpn

4 Cration des fichiers de configuration pour le serveur et les clients

Dans le rpertoire /usr/share/openvpn/examples/sample-conf ig-f iles/ sont prsent des f ichiers de conf iguration client et server.conf . Ces f ichiers vont servir de base pour la conf iguration de nos client et du client. Si vous utilisez des ordinateur sous Windows le f ichier doit se nommer client.ovpn et non client.conf .

4-1 Cration du f ichier de conf iguration serveur

Le f ichier de conf iguration est compresser. Se dplacer dans le dossier sample-conf ig-f iles

cd /usr/share/doc/openvpn/examples/sample-config-files Dcompression du f ichier de conf iguration gunzip server.conf.gz Copie du f ichier dans /etc/openvpn

cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf /etc/openvpn/ Modif ier les lignes suivantes du f ichier server.conf

cert debiantest.crt key debiantest.key

tls-auth ta.key 0

user openvpn group openvpn

log openvpn.log

# Ajout du serveur DNS push dhcp-option DNS VOTRE.SERVEUR.DNS

# Ajout dune route push route 192.168.0.0 255.255.255.0

4-2 Cration du f ichier de conf iguration pour le client

Copie du f ichier dans le rpertoire /etc/openvpn cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/ Modif ier les lignes suivante dans le f ichier client.conf

remote ADRESSE.IP.DE.VOTRE.SERVEUR 1194

user openvpn group openvpn

cert client1.crt key client1.key

tls-auth ta.key 1 Dmarrage automatique dOpenVPN

Pour permettre OpenVpn de se lancer automatiquement au dmarrage il copier les f ichier de conf iguration la racine du dossier /etc/openvpn Pour le serveur : ca.crt ta.key dh1024.pem debiantest.crt debiantest.key

cp ca.crt ta.key debiantest.key debiantest.crt dh1024.pem /etc/openvpn Pour le client : client1.crt client.key

cp client1.crt client1.key /etc/openvpn/

5 -Dmarrage dOpenVpn

cd /etc/openvpn openvpn server.conf Redmarrage du serveur Vrif ication du bon lancement dOpenvpn Ifconfig Les lignes suivantes doivent apparaitre :

tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 inet adr:15.8.0.1 P-t-P:15.8.0.2 Masque:255.255.255.255 UP POINT OPOINT RUNNING NOARP MULT ICAST MT U:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 T X packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 lg file transmission:100

RX bytes:0 (0.0 B) T X bytes:0 (0.0 B)

Test de ping sur linterf ace Tun0 ping 15.8.0.1 Pour redmarrer le service openvpn /etc/init.d/openvpn restart

6 Permettre aux clients VPN daccder lensemble du rseau distant


Avec la conf iguration actuelle, les utilisateurs du VPN ne pourront pas accder au rseau sur lequel est connect le serveur.

6-1 Autoriser Linux transmettre les paquets


Activer le f orwarding echo 1 > /proc/sys/net/ipv4/ip_forward Avec cette commande, le f orwarding sera dsactiv au redmarrage du serveur. Pour remdier ce problme, modif ier le f ichier /etc/sysctl.conf . Dcommenter la ligne suivante :

# Uncomment the next line to enable packet forwarding for IPv4 net.ipv4.ip_forward=1

7 Installation du client Windows

Vous pouvez tlcharger le client openvpn ladresse suivante : http://openvpn.net/index.php/open-source/downloads.html Une f ois le f ichier tlcharg, excut le. Cliquer sur next

Cliquer sur I Agree Cliquer sur Next Cliquer sur Install Installation en cours

Cliquer sur Next Dcocher Show Readme puis cliquer sur Finish

7-1 Conf iguration du client Windows

Dans C:\Program Files\OpenVPN\conf ig cr un rpertoire client1 et rcuprer la cl et le certif icat du client prcdemment cre pour les mettre dans le dossier client1. Les f ichiers rcuprer sont : ca.crt ta.key client1.key client1.crt client.conf

Renommer le f ichier client.conf en client.ovpn pour quil puisse f onctionner sous Windows Executer Openvpn, celui-ci se lance a ct de lheure. Faire un clic droit sur les deux ordinateur puis connect

Connexion en cours

Si le message apparat, le message suivant apparait.

Le serveur VPN est maintenant oprationnel. Auteur : POMENTE Guillaume