{"id":1180,"date":"2018-02-20T19:02:46","date_gmt":"2018-02-20T19:02:46","guid":{"rendered":"http:\/\/general.sio57.info\/wp\/?p=1180"},"modified":"2022-04-03T14:47:18","modified_gmt":"2022-04-03T14:47:18","slug":"openvpn-sous-debian","status":"publish","type":"post","link":"https:\/\/general.sio57.info\/wp\/?p=1180","title":{"rendered":"OpenVPN sous Debian 8"},"content":{"rendered":"<p>OPENVPN sous Debian 8<\/p>\n<blockquote><p>&#8211; attention \u00e7a ne marche pas sous la 9 ;-(<\/p><\/blockquote>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><!--more--><\/p>\n<h1><a name=\"_Toc507083686\"><\/a>Configuration du serveur<\/h1>\n<h3><a name=\"_Toc507083688\"><\/a>Pr\u00e9-requis<\/h3>\n<p>Une Debian (ici chez OVH)<\/p>\n<h3><a name=\"_Toc507083689\"><\/a>Installation du serveur<\/h3>\n<blockquote>\n<p style=\"text-align: left;\">Apt-get update<\/p>\n<p style=\"text-align: left;\">apt-get install openvpn easy-rsa<\/p>\n<p style=\"text-align: left;\">cp -r \/usr\/share\/easy-rsa \/etc\/openvpn\/easy-rsa<\/p>\n<p style=\"text-align: left;\">cd \/etc\/openvpn\/easy-rsa\/<\/p>\n<\/blockquote>\n<h3><a name=\"_Toc507083690\"><\/a>Gestion des cl\u00e9s &amp; certificats<\/h3>\n<ul>\n<li>Certificat CA (autorit\u00e9 de certification)\u00a0: valide les \u00e9changes entre le client et le serveur<\/li>\n<li>Le certificat serveur\u00a0: authentifi\u00e9 par le CA, contient la cl\u00e9 publique du serveur<\/li>\n<li>Le certificat client\u00a0: cr\u00e9e sur le serveur, il est copi\u00e9 sur le client\u00a0; permet au serveur de s\u2019assurer de l\u2019identit\u00e9 du client\u00a0: 1 par client<\/li>\n<li>La cl\u00e9 du serveur, elle sert \u00e0 chiffrer les communications avec le serveur<\/li>\n<li>La TA key\u00a0: permet de signer les paquets \u00e9chang\u00e9s \u00e0 l\u2019aide d\u2019une clef secr\u00e8te partag\u00e9e entre le Client et le Serveur. C\u2019est la \u201c<strong><em>ta.key<\/em><\/strong>\u201d<\/li>\n<\/ul>\n<ul>\n<li>Le dh\u2019taille\u2019.pem : le fichier \u201c<strong><em>dh2048.pem<\/em><\/strong>\u201d devra \u00eatre copi\u00e9 sur le Serveur et distribu\u00e9 aux Clients. Il contient les param\u00e8tres de cryptage Diffie Hellman.<\/li>\n<\/ul>\n<p>Editer le fichier vars pour mettre les infos du certificat puis<\/p>\n<p style=\"padding-left: 30px;\">Nano \u00a0vars<\/p>\n<p>Puis ces diff\u00e9rentes commandes vont permettre de g\u00e9n\u00e9rer les diff\u00e9rentes cl\u00e9s et certificats<\/p>\n<p style=\"padding-left: 30px;\">Source vars<\/p>\n<p style=\"padding-left: 30px;\">.\/clean-all<\/p>\n<p style=\"padding-left: 30px;\">.\/build-dh<\/p>\n<p style=\"padding-left: 30px;\">.\/pkitool &#8211;initca<\/p>\n<p style=\"padding-left: 30px;\">.\/pkitool &#8211;server server<\/p>\n<p style=\"padding-left: 30px;\">sudo openvpn &#8211;genkey &#8211;secret keys\/ta.key<\/p>\n<p>Toutes les cl\u00e9s et certificats sont dans le dossier \u00ab\u00a0keys\u00a0\u00bb<\/p>\n<p style=\"padding-left: 30px;\">mkdir \/etc\/openvpn\/serveur\/<\/p>\n<p style=\"padding-left: 30px;\">cp keys\/server* keys\/ca* keys\/ta.* keys\/dh2048.pem ..\/serveur<\/p>\n<h3><a name=\"_Toc507083691\"><\/a>Gestion des logs<\/h3>\n<p style=\"padding-left: 30px;\">mkdir \/etc\/openvpn\/jail\/tmp<\/p>\n<p style=\"padding-left: 30px;\">mkdir -p \/var\/log\/openvpn\/<\/p>\n<p style=\"padding-left: 30px;\">touch \/var\/log\/openvpn\/openvpn-status.log<\/p>\n<h3><a name=\"_Toc507083692\"><\/a>INIT des utilisateurs<\/h3>\n<p>On ajoute l\u2019utilisateur\u00a0:<\/p>\n<p style=\"padding-left: 30px;\">adduser &#8211;system &#8211;shell \/usr\/sbin\/nologin &#8211;no-create-home openvpn<\/p>\n<p>On cr\u00e9e un r\u00e9pertoire pour les cl\u00e9s et fichiers de config<\/p>\n<p style=\"padding-left: 30px;\">mkdir \/etc\/openvpn\/client \/ openvpn<\/p>\n<p>Dans \/etc\/openvpn\/easy-rsa on\u00a0fabrique la cl\u00e9 et on g\u00e9n\u00e8re le certificat du cl\u00e9 :<\/p>\n<p style=\"padding-left: 30px;\">source vars<\/p>\n<p style=\"padding-left: 30px;\">.\/build-key-pass openvpn<\/p>\n<p style=\"padding-left: 30px;\">cp keys\/toto.* ..\/client \/openvpn<\/p>\n<p>Maintenant, on se place dans le bon dossier et on cr\u00e9e le fichier de configuration de l&rsquo;utilisateur\u00a0:<\/p>\n<p style=\"padding-left: 30px;\">cd \/etc\/openvpn\/clientconf\/openvpn \/<\/p>\n<p style=\"padding-left: 30px;\">touch client.conf<\/p>\n<p>puis nano client.conf<\/p>\n<pre># Config Client\r\n\r\nclient\r\n\r\ndev tun\r\n\r\nproto tcp-client\r\n\r\nremote 1.2.3.4 443 (a modifier par votre adresse ip)\r\n\r\nresolv-retry infinite\r\n\r\ncipher AES-256-CBC\r\n\r\n# Certificats + Cles\r\n\r\nca ca.crt\r\n\r\ncert toto.crt\r\n\r\nkey toto.key\r\n\r\ntls-auth ta.key 1\r\n\r\n# Config Securite\r\n\r\nnobind\r\n\r\npersist-key\r\n\r\npersist-tun<\/pre>\n<p>&nbsp;<\/p>\n<p>Attention \u00e0 la cr\u00e9ation du certificat client un mot de passe est demand\u00e9 il sera n\u00e9cessaire lors de la connexion &#8211; <span style=\"color: #ff6600;\">retenez le bien !<\/span><\/p>\n<p>Maintenant, nous allons faire une copie du fichier cr\u00e9\u00e9 avec l\u2019extension. Ovpn pour le logiciel client.<\/p>\n<p style=\"padding-left: 30px;\">cp client.conf client.ovpn<\/p>\n<p class=\"commande\">Il faudra aussi faire une copie du certificat CA et de la dh2048.pem dans le dossier pour la connexion<\/p>\n<h3><a name=\"_Toc507083693\"><\/a>Fichier de configuration du serveur<\/h3>\n<p>Cr\u00e9er le fichier server.conf dans \/etc\/openvpn<\/p>\n<p># Serveur TCP\/443 mode server proto tcp port 443 dev tun # Cl\u00e9s et certificats ca \/etc\/openvpn\/serveur_AT\/ca.crt cert \/etc\/openvpn\/serveur_AT\/server.crt key \/etc\/openvpn\/serveur_AT\/server.key dh \/etc\/openvpn\/serveur_AT\/dh2048.pem tls-auth \/etc\/openvpn\/serveur_AT\/ta.key 1 key-direction 0 cipher AES-256-CBC<\/p>\n<p># Reseau client-to-client #push \u00ab\u00a0route 192.168.100.0 255.255.255.0\u00a0\u00bb server 10.8.0.0 255.255.255.0 push \u00ab\u00a0redirect-gateway def1 bypass-dhcp\u00a0\u00bb push \u00ab\u00a0dhcp-option DNS 208.67.222.222\u00a0\u00bb push \u00ab\u00a0dhcp-option DNS 208.67.220.220\u00a0\u00bb keepalive 10 120 # Securite user nobody group nogroup chroot \/etc\/openvpn\/jail persist-key persist-tun comp-lzo # Log verb 3 mute 20 status \/var\/log\/openvpn\/openvpn-status.log log-append \/var\/log\/openvpn\/openvpn.log<\/p>\n<p>&nbsp;<\/p>\n<p>V\u00e9rifier si la carte tun0 est l\u00e0 avec un ifconfig (si non, faire un reboot)<\/p>\n<h3><a name=\"_Toc507083694\"><\/a>D\u00e9marrer le serveur<\/h3>\n<p>\/etc\/init.d\/openvpn restart<\/p>\n<p>&nbsp;<\/p>\n<h3><a name=\"_Toc507083695\"><\/a>Config du firewall<\/h3>\n<ul>\n<li>Editer le fichier de r\u00e8gles\u00a0:<\/li>\n<\/ul>\n<p>nano \/etc\/iptables.openvpn.rules<\/p>\n<p>Ajouter les lignes:<\/p>\n<pre>*nat\r\n\r\n-A POSTROUTING -s 10.8.0.0\/24 -o eth0 -j MASQUERADE\r\n\r\nCOMMIT<\/pre>\n<ul>\n<li>Puis<\/li>\n<\/ul>\n<p>iptables-restore &lt; \/etc\/iptables.openvpn.rules<\/p>\n<p>iptables-save &gt; \/etc\/iptables.up.rules<\/p>\n<ul>\n<li>Sauvegardez les r\u00e8gles pour le prochain reboot<\/li>\n<\/ul>\n<p>\/etc\/init.d\/netfilter-persistent save<\/p>\n<ul>\n<li>Edition du fichier iptables<\/li>\n<\/ul>\n<p>nano \/etc\/network\/if-pre-up.d\/iptables<\/p>\n<ul>\n<li>Ajouter le contenu :<\/li>\n<\/ul>\n<pre>\u00a0#!\/bin\/sh\r\n\r\n\u00a0\/sbin\/iptables-restore &lt; \/etc\/iptables.up.rules<\/pre>\n<ul>\n<li>Modifier les droits\u00a0:<\/li>\n<\/ul>\n<p>chmod +x \/etc\/network\/if-pre-up.d\/iptables<\/p>\n<ul>\n<li>Activer le forwarding\u00a0:<\/li>\n<\/ul>\n<p>nano \/etc\/sysctl.conf<\/p>\n<p>D\u00e9commenter la ligne<\/p>\n<p>net.ipv4.ip_forward=1<\/p>\n<ul>\n<li>Activer les modifications<\/li>\n<\/ul>\n<p>sysctl -p<\/p>\n<h1><a name=\"_Toc507083696\"><\/a>Configuration du Client<\/h1>\n<p>A l\u2019aide de WinSCP r\u00e9cup\u00e9rer la cl\u00e9, le certificat et la config du client<\/p>\n<p>Installer le client openvpn pour Windows<\/p>\n<p>Dans le r\u00e9pertoire program files\/openvpn\/config copier le fichier de config ainsi que le certificat et la cl\u00e9 du client ainsi que le certificat de l\u2019autorit\u00e9 CA<\/p>\n<p>OpenVpn installe une ic\u00f4ne en bas a droite qui vous permet de vous connectez et de modifier le fichier de config si besoin.<\/p>\n<p>Lors de la demande de connexion le mot de passe cr\u00e9e lors de la g\u00e9n\u00e9ration du certificat est demand\u00e9.<\/p>\n<p>Pour plus d\u2019informations ou pour configurer pfsense en tant que client\u00a0:<\/p>\n<p><a href=\"http:\/\/general.sio57.info\/wp\/?p=708\">http:\/\/general.sio57.info\/wp\/?p=708<\/a><\/p>\n<p>&nbsp;<\/p>\n<p>Un grand merci \u00e0 Romain qui m&rsquo;a \u00e9t\u00e9 d&rsquo;une grande aide les ann\u00e9es pass\u00e9es pour r\u00e9aliser ce VPN.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>OPENVPN sous Debian 8 &#8211; attention \u00e7a ne marche pas sous la 9 ;-( &nbsp; &nbsp;<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[70,58,59,71,182,25,45,44],"tags":[],"class_list":["post-1180","post","type-post","status-publish","format-standard","hentry","category-4-transport-securite","category-4-transport","category-7-application","category-7-application-supervision","category-b2","category-cours","category-linux","category-sisr5"],"_links":{"self":[{"href":"https:\/\/general.sio57.info\/wp\/index.php?rest_route=\/wp\/v2\/posts\/1180","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/general.sio57.info\/wp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/general.sio57.info\/wp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/general.sio57.info\/wp\/index.php?rest_route=\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/general.sio57.info\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1180"}],"version-history":[{"count":11,"href":"https:\/\/general.sio57.info\/wp\/index.php?rest_route=\/wp\/v2\/posts\/1180\/revisions"}],"predecessor-version":[{"id":1213,"href":"https:\/\/general.sio57.info\/wp\/index.php?rest_route=\/wp\/v2\/posts\/1180\/revisions\/1213"}],"wp:attachment":[{"href":"https:\/\/general.sio57.info\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1180"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/general.sio57.info\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1180"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/general.sio57.info\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1180"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}