[VPN] Choix d'un serveur VPN -> Mise en place d'OpenVPN

Choix d'un serveur VPN -> Mise en place d'OpenVPN [VPN] - réseaux et sécurité - Linux et OS Alternatifs

Marsh Posté le 04-10-2005 à 18:16:46    

Bonjour,
je dois installer un serveur VPN sur la passerelle (gentoo) d'un réseau de 5/6 clients Windows XP.
Ce vpn servira aux utlisateurs pour avoir accès aux fichiers partagés par samba et aux machines locales lorsqu'ils sont en déplacements.
 
Le réseau est comme suit :
 
Pc à distance ==== || Internet || ==== Passerelle ==== Pc locaux clients
 
J'ai deja passé la journée quasiment à lire et à me renseigner sur ce qui se faisait en vpn, et j'ai retenu deux solutions pour le moment :
- OpenVPN (avec SSL)
- FreeS/Wan (avec IPSec)
 
Par contre, dans le cas d'openvpn, il semble qu'il faut installer un programme client sur chaque machine cliente, alors que je voudrais utiliser LE CLIENT WINDOWS XP intégré, par souci de facilité d'utilisation pour les users. Pour FreeS/Wan je crois qu'il n'y en a pas besoin.
 
Par contre je n'ai pas très bien compris comment se passent concrètement les authentifications, s'il faut transférer des fichiers clés sur chaque machine cliente, etc ...
Comme il y a beaucoup de machines portables à configurer pour le VPN, je voudrais une solution la plus aisée à mettre en place, et à REmettre en place par la suite (par les users eux memes).
 
Je vous remercie d'avance si vous prenez un peu de votre temps pour m'aider à faire un choix.


Message édité par Moa_ le 10-10-2005 à 15:23:07
Reply

Marsh Posté le 04-10-2005 à 18:16:46   

Reply

Marsh Posté le 04-10-2005 à 18:51:36    

Plutot que de relier une machine à plein d'autres, relie une machine à un réseau, tu gagneras ton temps et ce sera plus simple.


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
Reply

Marsh Posté le 04-10-2005 à 18:57:01    

bah c'est ce qu'il compte faire non ?
Les clients distants se connectes sur la passerelle où tournera son "serveur VPN"
 
non ?

Reply

Marsh Posté le 04-10-2005 à 19:26:24    

j'ai compris qu'il voulait relier son poste isolé aux machines distantes une par une [:pingouino] mais je suis pas en super forme cela dit [:petrus75]


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
Reply

Marsh Posté le 04-10-2005 à 19:33:34    

oui oui les clients distants se connectent à la passerelle où est installé le serveur VPN  :)


Message édité par Moa_ le 04-10-2005 à 19:33:47
Reply

Marsh Posté le 04-10-2005 à 19:36:16    

ah [:petrus75] donc peu importe :o
 
moi j'aime bien openvpn, c'est ce que j'utilise mais j'ai jamais essayé freeswan/openswan :o


Message édité par black_lord le 04-10-2005 à 19:36:26

---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
Reply

Marsh Posté le 04-10-2005 à 22:32:59    

moi j'aime IPsec parce que je suis un gros bourrin mais avec windows je sais pas, jamais essayé :o

Reply

Marsh Posté le 04-10-2005 à 23:29:59    

Poptop est sympa, mais c'est du PPTP avec encryption MPPE 128 bits ...  
 
L'avantage c'est que les clients Windows se connectent sans aucun problèle ! :)
 
http://www.poptop.org/


Message édité par moon06 le 04-10-2005 à 23:30:17

---------------
- Si les cons volaient, il ferait nuit tout le temps ! -
Reply

Marsh Posté le 04-10-2005 à 23:31:27    

oui mais plusieurs attaques sont bien connues enn pptp avec mppe... :/
et il n'est pas réellement conseillé de le déployer tel quel...

Message cité 1 fois
Message édité par l0ky le 04-10-2005 à 23:32:10
Reply

Marsh Posté le 05-10-2005 à 11:37:04    

up

Reply

Marsh Posté le 05-10-2005 à 11:37:04   

Reply

Marsh Posté le 05-10-2005 à 13:25:12    

l0ky a écrit :

oui mais plusieurs attaques sont bien connues enn pptp avec mppe... :/
et il n'est pas réellement conseillé de le déployer tel quel...


 
ah ? :/ une source ?
 
mici :D


---------------
- Si les cons volaient, il ferait nuit tout le temps ! -
Reply

Marsh Posté le 05-10-2005 à 16:36:32    

open vpn necessite un client Win32 sur chaque poste XP il existe une interface GUI pour Win32 à voir sur http://openvpn.se  
Tu peux en plus emettre des certificats pour chaque utilistauer ce qui n'est pas un luxe...
Utilisé depuis un an en production c'est sans soucis un peu lourd à mettre en place mais tellement facile à maintenir (mode routeur pour mon cas il existe le mode bridge aussi)
A+

Reply

Marsh Posté le 05-10-2005 à 16:45:06    

merci gandalf pour la réponse, seulement il y a un hic.
le problème c'est qu'il faudrait qu'il n'y est pas de maintenance ou de chose compliquées à faire une fois le vpn en place, donc éviter d'avoir à installer un client logiciel.
l'idéal serait qu'il aient juste à utiliser l'assistant windows de nouvelle connexion pour configurer le vpn sur les postes clients, sans avoir à toucher du tout au serveur (je dis ça parce que je ne sais pas si il faut y toucher pour emettre les certificats ou pas)


Message édité par Moa_ le 05-10-2005 à 16:45:40
Reply

Marsh Posté le 05-10-2005 à 17:42:01    

Dans ce cas c'est pas bon pour openvpn ça demande quand même un install sur chaque poste. Avec l'interface GUI y'a juste à cliquer dans la barre des taches (genre on et off)
Mais sous XP tu seras bien obligé de passer sur chaque poste avec des droits d'admin pour mettre en route les services non ?  tu vas déléguer ça aux utilisateurs ?  

Reply

Marsh Posté le 06-10-2005 à 10:34:08    

Les postes sont des pc portables sans utilisateur dédié, il n'y a qu'un utilisateur qui a les droits d'admin. Je pourrai faire une doc avec des screenshots de l'assistant de connexion pour qu'ils configurent eux-memes le vpn sur leur poste.

Reply

Marsh Posté le 06-10-2005 à 15:27:36    

Gandalf, au pire, chaque portable aura un dvd avec tout ce que les users ont besoin en déplacement, est-ce que tu pourrais me direce qu'il y aurait besoin d'avoir pour installer le vpn sur les postes clients (à part le client logiciel) ?
par exemple des certificats, des clés, ce genre de chose qui doivent être procurées par le serveur :??:


Message édité par Moa_ le 06-10-2005 à 15:27:44
Reply

Marsh Posté le 06-10-2005 à 20:00:25    

Il faut emettre a partir du serveur les certificats par utilisateur et les copier dans un repertoire sur le poste client (3 fichier *.crt *.ca et *.key ensuite dans le fichier de conf tu indiques le chemin vers les certificats. Si le user n'a pas de certificat valide pas d'ouverture (mais c'est transparent pour l'utilisateur) Ovpn fonctionne avec une couche SSL et la mise en place des certificats est très rapide mais pas indispensable
Lire le How-to très bien fait et tester...
il faut lancer ensuite opvpn comme service sous XP
Ajouter la route vers ton serveur pour chaque client route add <ip serveur vpn> <mask> <ip de la passerelle>
et vogue la galère
 :whistle:


Message édité par Gandalf la croute le 06-10-2005 à 20:03:15
Reply

Marsh Posté le 08-10-2005 à 13:36:41    

merci beaucoup,
je me suis donc lancé là-dedans, j'ai créé les certifs et la clé ; j'ai fait la config du serveur, il faut que je fasse le client puis les tests.
J'ai trouvé quelques tutos, mais bon il y a des lignes différentes dans chacun qui ne sont pas expliquées souvent, mais je vais fouiller pour trouver à quoi elles servent.

Reply

Marsh Posté le 09-10-2005 à 16:02:01    

ca marche ?  

Reply

Marsh Posté le 09-10-2005 à 21:47:38    

je travaille pas le dimanche :o ;)

Reply

Marsh Posté le 10-10-2005 à 14:52:01    

voila, j'ai fait les fichiers de conf coté serveur et client, je fais des tests actuellement.
 
la conf coté serveur est celle-ci :

Code :
  1. local 193.xxx.xxx.xxx
  2. port 5000
  3. proto udp
  4. dev tun
  5. mode server
  6. tls-server
  7. tun-mtu 1500
  8. mssfix
  9. persist-key
  10. persist-tun
  11. ca ./cacert.pem
  12. cert ./openvpncert.cert
  13. key ./openvpnkey.pem
  14. dh /usr/local/etc/ssl/dh1024.pem
  15. cipher CAST5-CBC
  16. tls-auth ./ta.key 0
  17. ifconfig 192.168.0.101 192.168.0.102
  18. route 192.168.0.0 255.255.255.0
  19. push "route 192.168.0.0 255.255.255.0"
  20. #client-config-dir ccd
  21. #ccd-exclusive
  22. client-to-client
  23. keepalive 10 120
  24. comp-lzo
  25. max-clients 15
  26. user nobody
  27. group nobody
  28. chroot /usr/local/etc/openvpn
  29. status /usr/local/etc/openvpn/log/status/log
  30. log-append /usr/local/etc/openvpn/openvpn.log
  31. verb 4
  32. mute 10


 
coté client :

Code :
  1. client
  2. dev tun
  3. proto udp
  4. remote 193.xxx.xxx.xxx 5000
  5. resolv-retry infinite
  6. nobind
  7. tls-client
  8. persist-key
  9. persist-tun
  10. ca ./cacert.pem
  11. cert ./testcert.cert
  12. key ./testkey.key
  13. ns-cert-type server
  14. cipher CAST5-CBC
  15. tls-auth ./ta.key 0
  16. pull
  17. comp-lzo
  18. verb 2
  19. mute 5


 
Je ne suis pas sûr de la nécessité de toutes les lignes, j'ai lu plusieurs tutos mais il n'y a pas beaucoup d'explciations sur les lignes de conf.
J'ai placé ces fichiers dans /usr/local/etc/openvpn/
J'ai remplacé le répertoire par défaut (/etc/openvpn) dans le script /etc/init.d/openvpn par celui ci dessus.
Les certificats, les clés PEM, la clé dh et la clé M2M (pour tls) ont été créés et sont aussi dans ce répertoire pour le serveur, et dans ./test/ pour les fichiers relatifs au client.
 
Voici les lignes rajoutées pour le firewall :
iptables -A INPUT -i $WAN_INT -m state --state NEW -p udp --dport 5000 -j ACCEPT
iptables -A INPUT -i tun0 -j ACCEPT
iptables -A OUTPUT -o tun0 -j ACCEPT
iptables -A FORWARD -i tun0 -j ACCEPT
iptables -A FORWARD -o tun0 -j ACCEPT
 
Sur mon portable client, à l'extérieur du réseau bien sur, j'ai installé openvpn avec sa GUI, et placé les fichiers : cacert.pem, testcert.cert, testkey.pem, ta.key et openvpn-client.ovpn dans le répertoire /config.
 
Quand je lance la connexion, il y a une erreur, le fichier de log du client me dit :  

Code :
  1. Mon Oct 10 15:16:30 2005 OpenVPN 2.0.2 Win32-MinGW [SSL] [LZO] built on Aug 25 2005
  2. Mon Oct 10 15:16:30 2005 IMPORTANT: OpenVPN's default port number is now 1194, based on an official port number assignment by IANA.  OpenVPN 2.0-beta16 and earlier used 5000 as the default port.
  3. Mon Oct 10 15:16:30 2005 Control Channel Authentication: using './ta.key' as a OpenVPN static key file
  4. Mon Oct 10 15:16:30 2005 Outgoing Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
  5. Mon Oct 10 15:16:30 2005 Incoming Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
  6. Mon Oct 10 15:16:30 2005 LZO compression initialized
  7. Mon Oct 10 15:16:30 2005 Control Channel MTU parms [ L:1542 D:166 EF:66 EB:0 ET:0 EL:0 ]
  8. Mon Oct 10 15:16:30 2005 Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:135 ET:0 EL:0 AF:3/1 ]
  9. Mon Oct 10 15:16:30 2005 Local Options hash (VER=V4): '599b5c6b'
  10. Mon Oct 10 15:16:30 2005 Expected Remote Options hash (VER=V4): '80fcc312'
  11. Mon Oct 10 15:16:30 2005 UDPv4 link local: [undef]
  12. Mon Oct 10 15:16:30 2005 UDPv4 link remote: 193.xxx.xxx.xxx:5000
  13. Mon Oct 10 15:17:31 2005 TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
  14. Mon Oct 10 15:17:31 2005 TLS Error: TLS handshake failed
  15. Mon Oct 10 15:17:31 2005 TCP/UDP: Closing socket
  16. Mon Oct 10 15:17:31 2005 SIGUSR1[soft,tls-error] received, process restarting


 
J'en déduis que la connexion s'est établie, mais que l'authentification TLS n'a pas pu se faire.
Y a-t-il quelque chose que j'aurai oublié dans la conf ?? :??:


Message édité par Moa_ le 10-10-2005 à 16:30:54
Reply

Marsh Posté le 10-10-2005 à 16:34:31    

hmmm je crois que le ca.pem devrait etre ca.cert en fait, j'ai du me tromper quand j'ai fais le certif ... jvais les refaire

Reply

Marsh Posté le 10-10-2005 à 17:26:03    

oui et surtout le nom de ton interface reseau sous win doit correspondre à celui déclaré dans le fichier de conf client  
ligne avec dev-node myinterface /mytap
myinterface à le meme nom sous win (nom de la connection)
Attention au FW XP SP2
Si tu as un cnx reussie sur le serveur elle apparait dans les logs
 
dev-node MyInterface/MyTap manque dans ton fichier de conf client apparement
gaffe au chemin des certifs sous win il faut doubler les slashs


Message édité par Gandalf la croute le 10-10-2005 à 17:32:34
Reply

Marsh Posté le 11-10-2005 à 10:52:48    

Apres quelques essais j'arrive à établir la connexion vpn, mais bien sur il reste quelques problèmes.
 
voici ma conf serveur :  

Code :
  1. dev tun0
  2. port 5000
  3. ifconfig 192.168.2.1 192.168.2.2
  4. #route 192.168.1.0 255.255.255.0 192.168.2.1
  5. tls-server
  6. dh ./keys/dh1024.pem
  7. ca ./keys/ca.crt
  8. cert ./keys/server.crt
  9. key ./keys/server.key
  10. tls-auth ./keys/ta.key 0
  11. user nobody
  12. group nobody
  13. chroot /usr/local/etc/openvpn
  14. persist-key
  15. persist-tun
  16. keepalive 10 120
  17. comp-lzo
  18. verb 6


 
et ma conf client :

Code :
  1. remote 193.XXX.XX.XX
  2. port 5000
  3. dev tap
  4. dev-node "VPN"
  5. proto udp
  6. ifconfig 192.168.2.2 255.255.255.0
  7. route 192.168.0.0 255.255.255.0 192.168.2.1
  8. tls-client
  9. ca ca.crt
  10. cert client.crt
  11. key client.key
  12. persist-key
  13. persist-tun
  14. comp-lzo
  15. verb 5
  16. tls-auth ta.key 1


 
Le client peut pinger le serveur vpn (qui fait passerelle), mais pas les pc à l'intérieur du réseau.
Les partages du serveur (samba) ne sont pas visibles par le client non plus. :/
 
 
Une idée pour ces petits problèmes svp ? une route manquante/mal configurée ??

Message cité 1 fois
Message édité par Moa_ le 12-10-2005 à 12:59:12
Reply

Marsh Posté le 14-02-2006 à 12:08:24    

Moa_ a écrit :

Apres quelques essais j'arrive à établir la connexion vpn, mais bien sur il reste quelques problèmes.
 
voici ma conf serveur :  

Code :
  1. dev tun0
  2. port 5000
  3. ifconfig 192.168.2.1 192.168.2.2
  4. #route 192.168.1.0 255.255.255.0 192.168.2.1
  5. tls-server
  6. dh ./keys/dh1024.pem
  7. ca ./keys/ca.crt
  8. cert ./keys/server.crt
  9. key ./keys/server.key
  10. tls-auth ./keys/ta.key 0
  11. user nobody
  12. group nobody
  13. chroot /usr/local/etc/openvpn
  14. persist-key
  15. persist-tun
  16. keepalive 10 120
  17. comp-lzo
  18. verb 6


 
et ma conf client :

Code :
  1. remote 193.XXX.XX.XX
  2. port 5000
  3. dev tap
  4. dev-node "VPN"
  5. proto udp
  6. ifconfig 192.168.2.2 255.255.255.0
  7. route 192.168.0.0 255.255.255.0 192.168.2.1
  8. tls-client
  9. ca ca.crt
  10. cert client.crt
  11. key client.key
  12. persist-key
  13. persist-tun
  14. comp-lzo
  15. verb 5
  16. tls-auth ta.key 1


 
Le client peut pinger le serveur vpn (qui fait passerelle), mais pas les pc à l'intérieur du réseau.
Les partages du serveur (samba) ne sont pas visibles par le client non plus. :/
 
 
Une idée pour ces petits problèmes svp ? une route manquante/mal configurée ??


 
J'ai le meme pb que toi.
 
Bonjour,
 
J'ai installé openvpn 2 sur une RedHat AS4 pour avoir acces en "direct" à mon réseau privé sur lequel se trouve des serveurs linux pour les administrer.
 
voici le schema du réseau :
                                                           
Internet<--------> @ip publique fixe [Routeur sous RH AS]<----- 192.168.0.x ---------->[serveurs 192.168.0.x]    
                                                                                                                                |
                                                                                                                                |
[domicile] 192.168.0.102 <--- vpn ---> 192.168.0.101 [Passerelle VPN] 192.168.0.90 ----------
 
 
J'ai monté le serveur openVPN en mode "routé"
 
Je monte le Vpn, j'assigne bien une @ip au client (XP), j'accede bien au serveur openVPN (ssh et ping sur l'interface 192.168.0.90 relie au reseau local) mais je n'arrive pas à joindre les serveurs du reseau local  par ex : ping 192.168.0.21
 
Je precise que j'ai activé le routage sur le serveur vpn (echo "1" > /proc/sys/net/ipv4/if_forward  ou par webmin )
 
Je ne comprend pas ...
 
Dois je assigner au client un reseau prive (sur le vpn) different de celui que je souhaite "attaqué" (intranet) ou dois je configuerer le serveur openvpn en mode "bridge"
 
merci

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed