OpenVPN nomades avec certificats pour multi-sites



  • Bonjour,

    Une question 'non pfsense spécifique', donc pas de formulaire.

    pfSense fournit, pour les nomades, un accès OpenVPN simple, sûr, et facile à mettre en oeuvre, pour 1 site, avec :

    • un serveur OpenVPN
    • la gestion des certificats dans Cert Manager (je ne suis pas fan des users/mot de passe, donc certificats individuels)

    C'est facile pour 1 site mais ...

    Pour N sites, on imagine forcément, dans le Cert Manager du site principal, de

    • créer un certificat CA 'general',
    • créer N certificats serveurs pour les pfSense des N sites ,
    • créer des certificats pour les users.

    Et ça fonctionne : accès avec 1 certificat à N sites (un site à la fois) ...
    MAIS, si on fait ainsi, chaque utilisateur peut, avec son certificat, accéder à chacun des sites !

    Voyez vous une possibilité simple de faire en sorte de contrôler plus finement les accès d'UN utilisateur sur UN site ?

    Piste envisagée :
    Evidemment, on pourrait créer autant de pki que de sites : Nx CA, Nx 1 certificat de serveur et X certificat par user autorisé sur le site.
    Ainsi un utilisateur a N certificats soit un par site autorisé.
    Ce n'est pas une solution top :

    • ni lors de la création d'un user : créer un certificat sur chaque site autorisé et les récupérer pour la config du pc,
    • ni lors de l'ajout d'un site,
    • ni lors de l'augmentation des droits : autorisation à accéder à un site de plus,
    • ni lors de la révocation : révoquer le certificat sur chaque pki !


  • salut salut

    Je ne suis pas sûre que ma réponse va dans ton sens, cependant j'aimerais savoir si tu as ou pas un AD ou ldap déployé sur ton Man ? je suppose que oui.

    Ne serait il pas possible de jouer avec les gpo windows dans le cas ou tu as une infra windows, et de dire que pour accéder à tel ou tel site, cela demande un gestion plus que fine à ce niveau si mais avec un ad fédéral quelques soit le point d'entrée ton user aura ou n'aura pas le droit de se log dessus ou avec certaine restriction.
    D'autre part cela doit pouvoir se faire avec un ldap mais la je pense plus au acl et une policy qui dirait oui ou non comme pour AD.
    Enfin c 'est comme cela que j'esserais de résoudre l'épineux dilème, en passant je suis persuadé qu'il a du se poser ailleur, que sur le forum pfsense.

    Aller, petit pique d'ironie, as tu regardé sur d'autre forum ou site web qui pourraient faire surface avec ton moteur de recherche préféré ?

    cordialement.



  • Merci Tatave de ta lecture et de ta réponse (toujours loin d'être stupide).

    AD existante :
    Il n'y a pas d'AD commun (ou pas encore).
    Mais de toute façon, je considère que user/mdp est trop fragile : il est super courant qu'un utilisateur 'file' son mot de passe à un collège. Le certificat a déjà l'avantage de demander un peu de réflexion pour le trouver puis le copier (car c'est moi qui installe le logiciel et la paramétrage donc l'utilisateur ne voit pas tout).
    De toute façon, un objectif est de passer à de l'authentification 2FA, style code à saisir reçu par sms sur le smartphone de l'utilisateur.

    Le problème de l'authentification d'un vpn est toujours le même :

    • couple user/mdp : avantage : simple, peut-être lié à l'AD (+ groupe); inconvénient : peu de sécurité (cf + haut)
    • certificat : avantage : peut être transparent ou non (certif avec mdp), révocable indépendamment d'un compte AD/ldap; inconvénient : cas du multi-site
    • 2FA ou OTP : avantage: sécurité augmentée; inconvénient : complexité, smartphone (sms) ou calculatrice

    Bien comprendre que multi-site peut-être aussi vu comme une question de niveau :

    • l'admin -> droit de se connecter à tout
    • user standard : droit de se connecter à des machines bien définies.
      (Encore que on peut imaginer résoudre la difficulté par une adresse ip associée à un certificat cf 'client-config-dir'.)

    Autre recherche :
    pas vraiment fait à fond (oh le vilain !).

    NB : dans 2/3 semaines, je n'aurais plus de pfsense sous la main, de toute façon ...



  • MAIS, si on fait ainsi, chaque utilisateur peut, avec son certificat, accéder à chacun des sites !

    Une autre piste que j'utilise dans un projet en cours.
    Après création d'un ou plusieurs serveurs vpn sur Pfsense on dispose d'un onglet openvpn dans Firewaal / Rules. Si par ailleurs on fige l'ip du tunnel pour chaque utilisateur il est envisageable de gérer les accès au niveau du filtrage, notamment sur la base des ip sources.
    Selon les besoins il peut y avoir aussi des solutions avec la création de plusieurs serveur openvpn dans des réseaux distincts.
    Mais, in fine, Pfsense avec ou sans openvpn ne dispose pas de solution de gestion global dans un environnement multi firewall (Cf Paloalto Panorama).



  • Salut salut

    Juste pour rebondir sur ton idée ccnet.
    Cela ne serait il pas un piste pour demander pour les versions futurs que cela puisse se faire dans le cadre du multi-vpn / multi-sites ?

    Il est dommage que nous ne puissions pas mettre en place ce type d'infrastructure avec pfsense, ou devons nous un jour changer de solution libre pour envisager un tel projet ? ou la mort dans l'âme passer du coté obscure (clin d'oeil vers jdh) en signant un contrat avec le diable ^^ (ok je sors jdh pas taper le vermisseau que je suis)



  • En fait, le bon schéma serait
    1 - authentifier : user/mdp, certificat, 2FA (two factor)
    2- contrôler les droits : le user authentifié at-il le droit ?
    3 - donner accès

    OpenVpn (ou peut-être d'autres solutions) oublie l'étape 2.

    Il est vrai qu'il est toujours possible d'imaginer l'intégrer à la partie authentification : exemple

    • même si user/pwd est bon, c'est refusé si c'est pas l'heure
    • ...

    Le problème particulier c'est le certificat : le serveur vérifie si le certificat a été signé par l'authorité et s'il n'est pas révoqué (si on met bien à jour la CRL = certificat revocation list !).

    Une piste serait Radius : Radius est un service générique pour tout un tas d'usage, et il est capable de 'croiser' authentification + droits : exemple, un user/mdp doit être non verrouillé et, en plus, le user doit être membre d'un groupe ...

    Si Radius est une piste, peut-on lui soumettre un certificat ? Et si c'est possible, comment

    NB : ça y est, dans une semaine et demi je n'aurais plus de pfSense sous la main ...



  • Ce n'est pas le rôle du VPN de rendre ce genre de service.
    VPN = Virtual Private Network, donc il se charge d'établir le tunnel si l'utilisateur est authentifié.
    En revanche, un NAC (Network Access Control) va se charger de gérer comment l'utilisateur/device qui arrive au travers d'un VPN ou pas d'ailleurs, va pouvoir accéder, sous certaines conditions, à certaines parties du réseau.
    Le NAC va s'appuyer sur des policies qui peuvent être liées aux méthodes d'authentification, au type de device, au type d'accès etc...



  • Ma question s'entendait au niveau du serveur VPN de faire plus fin que juste 1- authentification 2 - accès. D'où passage à 3 niveaux : 1- authentification 2- autorisation 3 - accès.

    Evidemment si on a mis en place un NAC en interne, on a forcément réfléchi aux pc, serveurs, zombies, bref l'interne (dont on voit les MAC) et l'externe : les clients vpn (dont on ne voit pas les MAC).

    Exemple de fournisseur de NAC : Cisco et exemple de 'white paper' : https://www.cisco.com/web/FR/documents/pdfs/tdm/vpn/White_Paper_NAC_fr.pdf : dès la 2ieme page, il est question de serveur de politique et ... de Radius.

    Mais qui a mis en place un véritable NAC ici ? (car c'est une autre 'béchamel' qu'un firewall !) Et faut-il un NAC pour juste un peu de finesse sur le VPN ?

    Les pistes simples

    • 1 site = 1 pki / complexité du multi-certificat
    • 1 certificat = 1 adr ip fixe attribuée + filtrage selon l'ip : proposé par ccnet, et correct, mais il faut être sur de l'affectation ip !

    J'attendais plutôt une idée sur un certificat unique signé (ou révoqué) par l'autorité d'un site (donc multi-CA mais mono certificat). Qui sait si quelqu'un a exploré l'idée ...



  • Oui une solution NAC c'est un peu lourd mais c'est le composant qui répond au besoin que tu décris. Après, ça peut faire beaucoup de choses et donc si on n'utilise que peu de fonctions, on peut bien sûr se poser la question de "pourquoi on ne peut pas le faire avec autre choses ?"
    Radius, même dans la solution de Cisco, c'est le moyen de "transporter" les différents modes d'identification des devices/utilisateurs. Car personne ne s'appuie, dans la mise en œuvre d'une infrastructure NAC, sur le contrôle de l'adresse MAC. (au passage, si c'était le cas, on ne vérifierait, à supposer que ce ne soit pas facile à modifier, que la carte réseau)
    Que l'utilisateur vienne de l'intérieur ou de l'extérieur du réseau ne change finalement qu'en terme de transport (d'où le VPN).

    Cisco est effectivement une option (potentiellement compliquée et chère mais qui permet de faire beaucoup de choses par exemple avec ISE) mais il y a d'autres choix bien sûr.
    Par exemple: http://www.opennac.org/opennac/en/about/what-is-opennac.html
    et... https://packetfence.org/
    😎

    Ce qui est difficile, entre autres, avec le sujet NAC, c'est que derrière ce terme se cache de nombreuses implémentation différentes avec beaucoup de différences en terme de fonctionnalité.
    un PacketFense est assez basique, la solution Cisco est complexe mais très riche, bien au delà du strict NAC avec ISE.
    Je ne connais pas de solution qui bénéficie spécifiquement sur pfSense mais de mauvaises langues diraient qu'on est loin d'un débat pfSense 😉



  • salut salut

    sujet de plus en plus intéressant.

    Une fois n'est pas coutume merci a chris4916 pour ces information et liens, en survolant les liens il y a bien une ou deux choses qui vont m'être utile dans l'opensource.

    Ce qui est d'autant plus intéressant est que ce que décrit les deux sites peuvent être mise en oeuvre quelques soit la structure mais que cela demande un chouia de réflexion pour que cela soit cohérent et fonctionnel quelques que soit l'architecture et les moyens à dispositions.

    Sur un autre point je pense que nous seront d'accord (contrairement à ce que je pensais au départ) cela ne pourra pas etre intégrer au niveau de pfsense ou de toutes autres pare-feu/router mais qu'il servira (ils serviront) de passerelle vers ce type de fonctionnement in finé.

    Cordialement



  • @tatave said in OpenVPN nomades avec certificats pour multi-sites:

    Cela ne serait il pas un piste pour demander pour les versions futurs que cela puisse se faire dans le cadre du multi-vpn / multi-sites ?

    Ce serait un changement d'échelle considérable si Pfsense intégrait des fonctionnalités d'administration multi firewalls.



  • salut salut

    @ccnet
    Oui effectivement.

    Nous aurions une visualisation plus global et aussi plus fine de l'ensemble des réseaux et de leurs maillages.



  • @tatave said in OpenVPN nomades avec certificats pour multi-sites:

    sujet de plus en plus intéressant.

    Certes mais qui est bien loin de pfSense, sans formulaire en plus 😂 😂 😂 cependant, tant qu'on ne se fait pas repérer par la police, profitons-en :
    les fonctionnements diffèrent selon les éditeurs de solution. Un produit comme packetfence, que je ne trouve pas terrible comme NAC au niveau de la gestion des policy, peut directement aller mettre à jour les règles des FW.
    Pas pfSense cependant pour autant que je sache 😕