[Résolu][VPN] error=self signed certificate

error=self signed certificate [Résolu][VPN] - réseaux et sécurité - Linux et OS Alternatifs

Marsh Posté le 26-08-2010 à 12:01:05    

Bonjour,
 
Après deux jours de cherche intensive, je vous écris afin de vous demander de l'aide.
 
Pour que vous puissiez m'aider dans les meilleurs conditions, je vais commencer par poser le décore.
 
Je travaille dans une société qui dispose d'un serveur VPN. Ce serveur a été installé par le précédent informaticien. Tous fonctionnait correctement jusque samedi passé, impossible de se connecter le certificat (ca.crt) a expiré.
 
Bien que je n'ai pas beaucoup de compétence dans ce domaine. Je pensais qu'en cherchant sur internet, je pourrai trouver un tuto qui explique comment générer un nouveau certificat et ce fut le cas. Certains des ces tutos parlent d'openssl et d'autres d'openvpn. Je ne suis pas sur d'avoir compris la différence, mais je pense qu'openssl sert à créer des certificats et openvpn un tunnel de communication.
 
Partant de cette déduction, je me suis dit qu'il suffit de générer un nouveau certificat avec openssl. Voila ce que j'ai fait:
- cd /etc/ssl
- /usr/share/ssl/misc/CA.sh -newca
|
 --> j'ai entré le PEM pass phrase et les informations demandées
- /usr/share/ssl/misc/CA.sh -newreq
|
 --> j'ai entré le PEM pass phrase et les informations demandées
- /usr/share/ssl/misc/CA.sh -sign
|
 --> j'ai entré le PEM pass phrase et les informations demandées, puis y et y
 
jusque là je me retrouve avec ces fichier :
- cacert.pem
- newcert.pem
- newkey.pem
- newreq.pem
 
J'ai un client sur windows openvnp gui. Dans le dossier config du client, j'ai copié les fichiers crées avec openssl :
- cacert.pem je l'ai renommé en ca.crt
- newcert.pem en client.crt
- newkey.pem en client.key
- le fichier ta.key existait déjà, je ne l'ai pas modifié
- de même pour le fichier .ovpn
 
Quand je me connect, j'ai ceci comme log:
 

Code :
  1. ed Aug 25 11:19:53 2010 OpenVPN 2.1_rc13 i686-pc-mingw32 [SSL] [LZO2] [PKCS11] built on Oct  7 2008
  2. Wed Aug 25 11:19:53 2010 WARNING: No server certificate verification method has been enabled.  See http://openvpn.net/howto.html#mitm for more info.
  3. Wed Aug 25 11:19:53 2010 Control Channel Authentication: using 'ta.key' as a OpenVPN static key file
  4. Wed Aug 25 11:19:53 2010 Outgoing Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
  5. Wed Aug 25 11:19:53 2010 Incoming Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
  6. Wed Aug 25 11:19:53 2010 LZO compression initialized
  7. Wed Aug 25 11:19:53 2010 Control Channel MTU parms [ L:1542 D:166 EF:66 EB:0 ET:0 EL:0 ]
  8. Wed Aug 25 11:19:53 2010 Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:135 ET:0 EL:0 AF:3/1 ]
  9. Wed Aug 25 11:19:53 2010 Local Options hash (VER=V4): '504e774e'
  10. Wed Aug 25 11:19:53 2010 Expected Remote Options hash (VER=V4): '14168603'
  11. Wed Aug 25 11:19:53 2010 Socket Buffers: R=[96768->96768] S=[96768->96768]
  12. Wed Aug 25 11:19:53 2010 UDPv4 link local: [undef]
  13. Wed Aug 25 11:19:53 2010 UDPv4 link remote: 212.68.200.220:20000
  14. Wed Aug 25 11:19:53 2010 TLS: Initial packet from 212.68.200.220:20000, sid=f119036a e173f768
  15. Wed Aug 25 11:19:53 2010 VERIFY ERROR: depth=1, error=self signed certificate in certificate chain: /C=BE/ST=bruxelles/O=SISENIOR/OU=SISENIOR/CN=DUBOIS/emailAddress=info@sisenior.be
  16. Wed Aug 25 11:19:53 2010 TLS_ERROR: BIO read tls_read_plaintext error: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
  17. Wed Aug 25 11:19:53 2010 TLS Error: TLS object -> incoming plaintext read error
  18. Wed Aug 25 11:19:53 2010 TLS Error: TLS handshake failed
  19. Wed Aug 25 11:19:53 2010 TCP/UDP: Closing socket
  20. Wed Aug 25 11:19:53 2010 SIGUSR1[soft,tls-error] received, process restarting
  21. Wed Aug 25 11:19:53 2010 Restart pause, 2 second(s)


 
Apparemment, le problème vient du fait que le certificat est auto signé. Mais je ne saurai vous en dire plus.
 
Hier, je suis tombé sur ce tuto http://mathieu-androz.developpez.c [...] linux/vpn/. Je l'ai suivi scrupuleusement étape par étape. Mais malheureusement, j'obtiens toujours la même erreur.
 
J'aimerai savoir si je fais bien ce qu'il faut et comment générer un certificat qui ne soit pas auto signé.
 
La distribution linux utilisé est opensuse 10.2. Je tiens à préciser une nouvelle fois que tout fonctionnait parfaitement jusqu'à l'expiration du ca.crt.
 
Merci d'avance pour votre aide!


Message édité par p'ti martien le 27-08-2010 à 13:45:36
Reply

Marsh Posté le 26-08-2010 à 12:01:05   

Reply

Marsh Posté le 26-08-2010 à 12:19:34    

La tu as creé une autorité de certification (CA) auto signée
 
Il faut aussi creer une clef/certficat serveur et une clé/certificat pour chaque client.
 
Ou alors en simplifié, une clé/certificat serveur et tu authentifie les clients avec login & mot de passe (dans mon cas, a travers windbind sur notre controleur de domaine).
 
PS: n'oublie pas de mettre 10 ans de validité pour le certificat :)

Reply

Marsh Posté le 26-08-2010 à 16:53:38    

Merci pour ta réponse.
 
Je pense que la commande /usr/share/ssl/misc/CA.sh -newca  va créer une autorité de certification auto signée cacert.pem qui se trouvera dans le dossier demoCA.
 
Pour créer le certificat serveur, je procède comme ça:
La commande /usr/share/ssl/misc/CA.sh -newreq  va créer un certificat non signé dans le fichier newreq.pem.
 
Ce certificat va être signée avec le certificat d'autorité grâce à la commande /usr/share/ssl/misc/CA.sh -sign, ce qui va générer un fichier newscert.pem et newkey.pem.
 
Puis je déplace le fichier cacert.pem, newcert.pem et newkey.pem dans le dossier openvpn. Je renomme cacert.pem en ca.crt, newcert.pem en serveur.crt et newkey.pem en serveur.key. Et je redémarre le serveur openvpn.
 
Je fais la même chose pour le client, sans régénérer un nouveau certificat d'autorité.
 
Est-ce que c'est la bonne manière de procéder ?

Reply

Marsh Posté le 27-08-2010 à 13:43:47    

Problème réglé, j'ai du redémarré le pc.

Reply

Sujets relatifs:

Leave a Replay

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