Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Crée un VPN pour client mobile

    Scheduled Pinned Locked Moved Français
    15 Posts 4 Posters 3.0k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • C
      ccnet
      last edited by

      quel solution privilégier coter serveur et coter client

      La question est bien : quelle solution privilégier côté client ? Ce qui induit le côté serveur nécessairement. L2TP : bof.
      Dans ce cas : Open vpn. Le seul port nécessaire sur l'interface wan de Pfsense est le 1194/UDP. Vous pouvez laisser de côté L2TP. Sinon Ipsec. Il faut installer un client OPenvpn sur le smartphone.
      Ensuite vous ajouterez des règles dans l'interface OpenVPN qui sera accessible dès lors que vous aurez activé votre serveur VPN sur Pfsense.

      1 Reply Last reply Reply Quote 0
      • G
        g.sommer
        last edited by

        Pour commencer, merci pour vos réponses  ;D

        L2TP oui j'avais lu que c'était pas top, j'avais déjà essayer OpenVPN sur une debian du coup c'est ce que je voulais utiliser en premier, j'ai crée ma CA sur pfsense mais je ne sais pas trop quoi mettre dans mon certificat client ? Pour ma config coter client, quelle points important a mettre dans le .ovpn ?

        Le 465 c'est pour le téléphone d'un collègue apparemment ….

        1 Reply Last reply Reply Quote 0
        • C
          ccnet
          last edited by

          Il suffit de renseigner les champs comme demandé non ? Je ne comprend pas votre problème.

          Un .ovpn basique :

          dev tun
          persist-tun
          persist-key
          cipher AES-192-CBC
          auth SHA1
          tls-client
          client
          resolv-retry infinite
          remote ip 1194 udp
          lport 0
          verify-x509-name "srv.domaine.fr" name
          pkcs12 fichier.p12
          tls-auth user-tls.key 1
          ns-cert-type server
          route-method exe
          route-delay 2
          auth-user-pass
          auth-nocache
          

          route-method exe et route-delay 2 concerne principalement les clients win 7.
          auth sha1 n'est pas idéal, préférer sha256.

          1 Reply Last reply Reply Quote 0
          • G
            g.sommer
            last edited by

            J'ai tester ton script mais quand je rentre un utilisateur et son mdp (il est dans le groupe admins ça devrai être bon) j'ai un échec de connexion, sinon avec un autre script que j'ai adapter j'ai l'impression que j'y suis presque !

            script:

            client
            dev tun
            proto udp
            port 1194
            remote 192.168.1.2 1194
            persist-key
            persist-tun
            ca ca.crt
            cert client1.crt
            key client1.key
            verb 4

            log client :

            Wed Apr 13 11:57:54 2016 us=495554 TLS: Initial packet from [AF_INET]192.168.1.2:1194, sid=f419a3e1 779258a4
            Wed Apr 13 11:57:54 2016 us=516054  VERIFY OK: depth=1, C=FR, ST=xxxxx, L=xxxx, O=xxxxx, emailAddress=g.sommer@xxxxx.com, CN=xxx.local
            Wed Apr 13 11:57:54 2016 us=516554 VERIFY OK: depth=0, C=FR, ST=xxxxxx, L=xxxxx, O=xxxxx, emailAddress=g.sommer@xxx.com, CN=xxx.local
            Wed Apr 13 11:58:54 2016 us=527054 TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
            Wed Apr 13 11:58:54 2016 us=527054 TLS Error: TLS handshake failed

            log srv :

            Apr 13 11:57:54 openvpn[67463]: 192.168.1.98:1194 Local Options String: 'V4,dev-type tun,link-mtu 1557,tun-mtu 1500,proto UDPv4,cipher AES-128-CBC,auth SHA1,keysize 128,key-method 2,tls-server'
            Apr 13 11:57:54 openvpn[67463]: 192.168.1.98:1194 Expected Remote Options String: 'V4,dev-type tun,link-mtu 1557,tun-mtu 1500,proto UDPv4,cipher AES-128-CBC,auth SHA1,keysize 128,key-method 2,tls-client'
            Apr 13 11:57:54 openvpn[67463]: 192.168.1.98:1194 Local Options hash (VER=V4): 'b7f67de4'
            Apr 13 11:57:54 openvpn[67463]: 192.168.1.98:1194 Expected Remote Options hash (VER=V4): '8326dbaa'
            Apr 13 11:57:54 openvpn[67463]: 192.168.1.98:1194 TLS: Initial packet from [AF_INET]192.168.1.98:1194, sid=f3543470 939c4d9d
            Apr 13 11:57:54 openvpn[67463]: 192.168.1.98:1194 VERIFY ERROR: depth=0, error=unsupported certificate purpose: C=FR, ST=xxxxxxx, L=xxxxxx, O=xxxxxx, emailAddress=g.sommer@xxxxxxxxx.com, CN=xxx.local
            Apr 13 11:57:54 openvpn[67463]: 192.168.1.98:1194 TLS_ERROR: BIO read tls_read_plaintext error: error:140890B2:SSL routines:SSL3_GET_CLIENT_CERTIFICATE:no certificate returned
            Apr 13 11:57:54 openvpn[67463]: 192.168.1.98:1194 TLS Error: TLS object -> incoming plaintext read error
            Apr 13 11:57:54 openvpn[67463]: 192.168.1.98:1194 TLS Error: TLS handshake failed
            Apr 13 11:57:54 openvpn[67463]: 192.168.1.98:1194 SIGUSR1[soft,tls-error] received, client-instance restarting
            Apr 13 11:58:38 openvpn[67463]: MANAGEMENT: Client connected from /var/etc/openvpn/server1.sock
            Apr 13 11:58:38 openvpn[67463]: MANAGEMENT: CMD 'status 2'
            Apr 13 11:58:38 openvpn[67463]: MANAGEMENT: CMD 'quit'
            Apr 13 11:58:38 openvpn[67463]: MANAGEMENT: Client disconnected

            1 Reply Last reply Reply Quote 0
            • C
              ccnet
              last edited by

              Apr 13 11:57:54 openvpn[67463]: 192.168.1.98:1194 TLS: Initial packet from [AF_INET]192.168.1.98:1194,

              Comment réalisez vous le test ? (Les connexions depuis le lan ne permettent pas un test correct).

              1 Reply Last reply Reply Quote 0
              • J
                jdh
                last edited by

                Que de mélanges ! (Ipsec vs OpenVPN et maintenant User vs certificat)

                je rentre un utilisateur et son mdp (il est dans le groupe admins ça devrai être bon)

                Les users du firewall n'ont presque aucun intérêt et ne doivent pas être confondus avec les certificats !!

                OpenVPN peut (doit) s'appuyer sur les certificats générés par 'Cert Manager' (par exemple).
                Il faut créer une CA (Autorité de certification), un certificat 'Serveur' à renseigner dans le serveur OpenVPN, des certificats 'Users' qui seront indiqués dans le fichier côté client.
                De plus, le serveur OpenVPN indique une clé 'tls' à indiquer côté client. (faire un fichier et l'indiquer dans la ligne tls). Cela est manquant et clairement indiqué comme erreur dans les logs !

                Concernant le test, il est clair qu'il doit être fait … de l'extérieur !

                Albert EINSTEIN : Si vous ne pouvez pas l'exprimer simplement, c'est que vous ne le comprenez pas assez bien. (If you can’t explain it simply, you don’t understand it well enough.)

                1 Reply Last reply Reply Quote 0
                • G
                  g.sommer
                  last edited by

                  ccnet non pour le moment mon lan est en 192.168.0.0 et mon wan en 192.168.1.0, plus tard en prod ce sera le contraire. Pourquoi je ne commence pas directement dans le bon sens ? Pour ne pas toucher au paramètre ip de mon routeur …

                  jdh, oui j'avais compris qu'il ne servais pas a grand chose les users de mon pfsense, du coup quoi renseigner quand il me pose la question ? Oui je doit avouer que j'ai du mal avec la notion d'autorité de certification et les certifia délivrés.  :(



                  1 Reply Last reply Reply Quote 0
                  • C
                    ccnet
                    last edited by

                    Non.
                    Avez vous bien créé un certificat (signé par la CA) et une clé pour le serveur avant de tenter une connexion ?
                    Il ne serait pas inutile de lire un de littérature sur le fonctionnement des certificats et leurs principes d'utilisation.

                    1 Reply Last reply Reply Quote 0
                    • G
                      g.sommer
                      last edited by

                      ENFIN !!!! j'utilisais le certificat appeler "User Cert" du coup je m'en suis crée un qui s'appel "client1" en internal Certificate
                      Key length: 1024 bits
                      Digest Algorithm: sha1 (je sais que le sha1 a été casser je passerai a mieux)
                      Certificate Type: User Certificate

                      Bingo ^^ connecter avec l'ip assignée 192.168.0.6. Je savais que j'était pas loin, j'ai juste changer mon télécharger mon client1.crt et .key depuis le précédent post avec les mêmes config, je vais voir pour améliorer le truck puis mettre en prod

                      Des bisous tous le monde  :-* merci de votre aide ça ma bien avancé !

                      ps: si jamais vous avez d'autre remarque points important je suis preneur :D

                      edit: je suis repasser avec un certificat en sha256 et connexion en aes-192-cbc et ça passe tout debout !

                      1 Reply Last reply Reply Quote 0
                      • C
                        ccnet
                        last edited by

                        Key length: 1024 bits

                        La recommandation pour la protection d'informations à l'horizon 2020 est d'utiliser des clés de 2048 bits.
                        Pensez à filtrer les flux sur l'interface OPenvpn.
                        Forcez le routage des connexions vers internet par l'infrastructure distante et non directement depuis le PC : push "redirect-gateway".

                        1 Reply Last reply Reply Quote 0
                        • J
                          jdh
                          last edited by

                          En sus de ccnet, outre des clés de longueur 2048 bits,

                          il faut aussi activer la ligne 'tls-auth xxxxx.key 1' avec xxxxx.key fichier qui contient la clé tls visible dans le serveur OpenVPN

                          cf site Openvpn : https://openvpn.net/index.php/open-source/documentation/howto.html

                          Hardening OpenVPN Security

                          One of the often-repeated maxims of network security is that one should never place so much trust in a single security component that its failure causes a catastrophic security breach. OpenVPN provides several mechanisms to add additional security layers to hedge against such an outcome.
                          tls-auth

                          The tls-auth directive adds an additional HMAC signature to all SSL/TLS handshake packets for integrity verification. Any UDP packet not bearing the correct HMAC signature can be dropped without further processing. The tls-auth HMAC signature provides an additional level of security above and beyond that provided by SSL/TLS. It can protect against:

                          DoS attacks or port flooding on the OpenVPN UDP port.
                              Port scanning to determine which server UDP ports are in a listening state.
                              Buffer overflow vulnerabilities in the SSL/TLS implementation.
                              SSL/TLS handshake initiations from unauthorized machines (while such handshakes would ultimately fail to authenticate, tls-auth can cut them off at a much earlier point).

                          Using tls-auth requires that you generate a shared-secret key that is used in addition to the standard RSA certificate/key:

                          openvpn –genkey --secret ta.key

                          This command will generate an OpenVPN static key and write it to the file ta.key. This key should be copied over a pre-existing secure channel to the server and all client machines. It can be placed in the same directory as the RSA .key and .crt files.

                          In the server configuration, add:

                          tls-auth ta.key 0

                          In the client configuration, add:

                          tls-auth ta.key 1

                          Albert EINSTEIN : Si vous ne pouvez pas l'exprimer simplement, c'est que vous ne le comprenez pas assez bien. (If you can’t explain it simply, you don’t understand it well enough.)

                          1 Reply Last reply Reply Quote 0
                          • G
                            g.sommer
                            last edited by

                            Pour Les 2048 bits, c'est bon par contre pour le tls j'ai deux questions.
                            Je coche les deux casses Enable authentication of TLS packets et automatically generate a shared TLS authentication key, juste le premier ou pas besoin ? (je pense pas)
                            Il sort d'où le ta.key ? ??? Faut crée un certificat et le mettre sur serveur et le client !? Faut mettre quelque chose de particulier ? Ou alors c'est la key de mon CA ?

                            1 Reply Last reply Reply Quote 0
                            • G
                              g.sommer
                              last edited by

                              Re à tous, pourquoi chercher compliquer quand c'est simple !?  ::)

                              ajouter la ligne dans la conf client : tls-auth ta.key 1

                              cocher Enable authentication of TLS packets dans la conf serveur openVPN, on copie/colle dans un block note que l'on renomme en ta.key et c'est tout bon

                              la version 2.2.6 est vraiment bien pour les néophyte de FreeBSD et puis c'est plus pratique que putty

                              1 Reply Last reply Reply Quote 0
                              • First post
                                Last post
                              Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.