Sécurité Publication du reverse-proxy LemonLDAP

Posté par . Modéré par Jean-Yves B..
Tags : aucun
0
25
oct.
2003
Sécurité
Dans le cadre de la refonte de son architecture d'annuaires LDAP, la Direction Générale de la Comptabilité Publique (Ministère des Finances) a récemment publié ses travaux concernant l'adaptation d'Apache en reverse proxy. Cet équipement permettra de réaliser le Single-Sign On pour de nombreuses applications métier du Trésor Public. Ce projet se situe dans un environnement technique exclusivement composé de Logiciels Libre (Linux, OpenLDAP, MySQL, Perl ...) et est actuellement utilisé en production après avoir subi une série de tests de performances très concluants. Plusieurs directions envisagent de l'adopter prochainement (cela concernera 60 000 personnes rien qu'au Trésor public).
Ce projet a été développé pour contourner les limitations d'un logiciel propriétaire. Peu de contributeurs pour l'instant car nous n'avons pas les moyens de relayer l'information, notamment au niveau d'autres administrations.
Pour plus d'informations, utiliser le site du projet sur SourceForge.
  • # Re: Publication du reverse-proxy LemonLDAP

    Posté par (page perso) . Évalué à  -3 .

    Une bonne nouvelle alors ....
  • # Re: Publication du reverse-proxy LemonLDAP

    Posté par (page perso) . Évalué à  5 .

    Je ne comprends rien à la news. Quelqu'un peut expliquer ce qu'est un reverse-proxy et un single-sign on ? Je pense que je
    dois pas être le seul à ne rien comprendre.
    Merci
    • [^] # Re: Publication du reverse-proxy LemonLDAP

      Posté par . Évalué à  6 .

      Un reverse proxy peut etre un apache (squid le fait aussi) qui "proxiise" en entré tous les serveurs web de ton reseau.
      C'est a dire que tous tes serveurs web pointent sur l'ip de ton proxy dans ton dns, et c'est l'apache de ton proxy qui interroge le bon site web (virtual host) et fait suivre la requete jusqu'au client .
      C'est le mod_proxy d'apache qui s'occupe de ca.
      L'avantage est que tu peux faire des regles d'ecriture (mod_rewrite) au niveau des requetes http envoyé pour par example eviter les buffer overflows, virer les nimda etc..
      C'est aussi tres utilie pour proteger les IIS de ton réseau.

      Un single-sign on est une authentification unique, en commulant proxy http et single-sign on, typiquement tu accedes a tous les services web, nécessisant une authentification, de ton reseau en ne t'authentifiant qu'une seule fois.

      Voilou
      • [^] # Re: Publication du reverse-proxy LemonLDAP

        Posté par . Évalué à  3 .

        Si je ne me trompe pas, la méthode présentée nécessite qu'un handler soit développé pour chaque serveur proxyisé, selon le mode d'identification utilisé, c'est ca ?

        Dans le document, il est écrit : "La session est maintenue entre le reverse-proxy et l'utilisateur par un cookie de session.", mais la connexion entre le proxy et le serveur est maintenue comment ?



        degeu raoul disait :
        « ...et c'est l'apache de ton proxy qui interroge le bon site web (virtual host) et fait suivre la requete jusqu'au client .»

        C'est un point qui n'est pas abordé dans le document (il y a bien un cf Configuration du DNS), mais je ne l'ai pas trouvé.

        C'est au niveau DNS global que la redirection doit-être configurée ou juste au niveau du fichier /etc/hosts du proxy pour pouvoir attaquer le bon serveur ?

        en tout cas, c'est une idée, comme souvent chez les bonnes idées, assez simple mais quelques détails m'échappent encore...
        • [^] # Re: Publication du reverse-proxy LemonLDAP

          Posté par . Évalué à  2 .

          de toute manière, la plupart des solutions de single sign on nécessitent une adaptation des serveurs pour qu'ils s'intègrent à l'architecture

          sauf celle qu'on développe dans ma boite, mais c'est loin d'être de l'open source :-/
        • [^] # Re: Publication du reverse-proxy LemonLDAP

          Posté par . Évalué à  4 .

          bonjour , l'application protégée par le portail a deux adresses IP , une RIP (reele) et une VIP (virtuelle) . la RIP doit etre masquée et protégée par une dispositif de parefeux (iptables ) seule la VIP est connue du systeme d information et est résolvable par le DNS .

          Ainsi chaque requete faite sur une application arrive sur le boitier qui est multi-alias .
          $a+

          eric german
      • [^] # Re: Publication du reverse-proxy LemonLDAP

        Posté par (page perso) . Évalué à  3 .

        On parle de WSSO dans ce cas-là, pour Web Single-Sign On.
        Un autre moyen de monter une telle infrastructure est d'utiliser Kerberos.

        --
        Raphaël SurcouF
  • # Re: Publication du reverse-proxy LemonLDAP

    Posté par . Évalué à  1 .

    Dans le cadre de mon boulot, j'ai mis en place aussi un reverse proxy https avec ldap, mais j'ai utilisé le mod_auth_ldap, mod_proxy et et le mod_proxy_html d'apache.

    Si quelqu'un a un retour d'expérience sur lemonldap je suis preneur.
    • [^] # Re: Publication du reverse-proxy LemonLDAP

      Posté par . Évalué à  2 .

      ben ton architecture ne suffit pas pour faire du single sig on (j'ai pas regardé ce que fait lemonldap encore)
      • [^] # Re: Publication du reverse-proxy LemonLDAP

        Posté par . Évalué à  1 .

        Pourquoi ?
        Puisque l'authentification et l'echange de certificat ne se fait qu'une seule fois pour pouvoir acceder a tous les services web "proxiisé".
        • [^] # Re: Publication du reverse-proxy LemonLDAP

          Posté par . Évalué à  2 .

          en fait j'ai répondu sans trop connaitre ces modules (a part mod_auth_ldap)

          comment transferes-tu l'identité d'authentification aux sites proxiisés ?

          je veux dire : si chaque site requiert une authentification...
          il faut que les sites en question utilisent eux aussi l'authentification par certificat, et le certificat est transmis par le proxy ?
          • [^] # Re: Publication du reverse-proxy LemonLDAP

            Posté par . Évalué à  2 .

            En fait, le reverse proxy passe au sites proxiisés les champs ldap uilisés pour l'authentification.
            L'idée est que les sites proxiisés sont en http et en adressage privé ou derriere un firewall , peut importe, et seul l'ip du reverse proxy peut atttaqué le port 80.
            Le certificat ne s'échange qu'entre le reverse proxy https et le navigateur client.
            Les services webs proxiisés recuperent par des variables d'environnement d'apache les champs de l'annuaire et refont ou non un controle sur la personne, ou recherche d'autres champs ldap nécessaires au fonctionnement du site.
            Lemonldap si j'ai bien compris, permet de passer d'autres parametres que l'identifiant utilisé comme login, ca evite ainsi au sites proxxiisés de ne pas refaire de requetes ldap suplementaires. Je pense que je vais tester ca .
            • [^] # Re: Publication du reverse-proxy LemonLDAP

              Posté par . Évalué à  2 .

              ok

              si je comprends bien le client s'authentifie auprès du proxy via son certificat, puis quand le client fait une requete http vers un des serveurs web, le proxy y adjoint un identifiant ldap du client, contenu dans le certificat ou retrouvé grâce aux informations contenues dans le certificat

              donc les serveurs web sont faits pour récupérer les infos passées par le proxy pour identifier le client ?

              sinon il y a aussi un autre module apache, mod_authz_ldap, que je n'ai jamais réussi à compiler/utiliser
              celui-là permet de récupérer le dn du certificat, et les groupes ldap auquel appartient l'utilisateur correspondant à ce dn (ou au dn résultant d'un mécanisme de correspondance). Ça permet de gérer les autorisations sans avoir à faire de ldap au niveau applicatif... mais on dévie du sujet
              • [^] # Re: Publication du reverse-proxy LemonLDAP

                Posté par . Évalué à  3 .

                bonjour , En fait , le boitier lemondap rajoute à la requete du client un header (authorization) contenant : BASIC le_dn_de_l_utilisateur:diverses_info_a_definir .

                Ainsi l'application en recevant cettte entete sait que l'utilisateur est anthentifié , et peut utliser les infos diverses de l'entete pour connaitre le profil , les droits etc.

                $a+
                eric
  • # Re: Publication du reverse-proxy LemonLDAP

    Posté par . Évalué à  8 .

    Je suis peut-être hors sujet, mais j'aimerais m'exprimer sur un sujet certe douloureux mais essentiel : la langue française.

    Je ne remet en aucun cas en cause la qualité du travail informatique effectué ni des résultats obtenus. Je voudrais juste attirer l'attention de tout le monde sur le fait que le document pointé par le lien 'LemonLDAP sur Sourceforge' est très pénible à lire car truffé de fautes de grammaire, de changements subits de sens dans les phrases (on commence la phrase en pensant à une chose, on la fini en pensant à une autre chose), et aux fautes d'orthographes (moins pénibles certes).

    Il ne faut pas prendre à la légère les documentations que vous serez tous amené à écrire. Elles font parties intégrantes du projet pour lequel vous travaillez et c'est à travers celles-ci que votre travail sera en partie jugé. On est en droit par exemple de penser que si un rapport est incompréhensible, brouillon et truffé de fautes, alors le code en sera de même. Ce raisonnement peut-être faux, alors prouvez-le.

    Mes quelques conseils :

    1. Quand vous commencez une phrase, ne changez pas d'idées en plein milieu, ou évitez d'être dérangé ou de faire une pause café en plein milieu d'écriture d'une phrase.

    2. Relisez votre document, le lendemain de préférence, ou faites le relire (moins fatiguant)

    3. Faites attention aux fautes d'orthographes. Prenez le temps de vérifier l'orthographe de mot non courant dans un dictionnaire, de vérifier vos conjugaisons....

    Voila voila.
    • [^] # Re: Publication du reverse-proxy LemonLDAP

      Posté par . Évalué à  2 .

      Il ne faut pas prendre à la légère les documentations que vous serez tous amené à écrire.
      Il ne faut pas non plus, prendre à la légère la responsabilité des personnes qui lisent la documentation et qui ont le niveau et peuvent volontairement se proposer pour aider à la corriger ou la rendre plus simple à comprendre, et qui préfère passer leur chemin.

      Mes quelques conseils ...
      Les miens si vous trouvez que quelque chose est mal, aidez à le corriger, à l'améliorer, et ne venez pas vous en plaindre sur un forum.

      Mon coup de gueule perso à moi qui n'engage que moi et ne vise personne (je tiens à rester bon ami avec tout le monde ;-) ) :
      Y en a marre des personnes qui donnent des conseils, qui voudraient que les logiciels programmés par les autres : fontionnent, soient utilisables, aient une interface graphique et puis encore il faudrait une documentation à jour, bien écrite, sans faute d'orthographe.
      Non, il faut pas trop en demander, on est encore dans un monde libre tout de même...

      Je ne cède aucun droit de propriété sur les fautes d'orthographe ou de grammaire que j'ai réalisées, qui restent ma propiété exclusive. Donc si quelqu'un trouve le moyen de les recopier plus bas je risque de l'attaquer à coups d'EUCD, vous êtes prévenu ;-)
    • [^] # Re: Publication du reverse-proxy LemonLDAP

      Posté par . Évalué à  -1 .

      Tu as une attitude de "client": je paye donc je veux que ce soit bien.

      Sauf qu'avec le logiciel libre, tu ne paye pas, tu profites uniquement du travail d'autrui..

      Tu veux que ce soit mieux?
      Fais-le toi-même ou tais toi!

      Je dirais que tu aurais "le droit" de poster ce que tu viens de dire uniquement si tu avait contribué au projet du dessus en corrigeant le document..
      • [^] # Re: Publication du reverse-proxy LemonLDAP

        Posté par . Évalué à  2 .

        Je ne crois pas qu'il faille être si catégorique. Si le ton n'est pas forcément adapté et le lieu mal choisi, il n'en reste pas moins que la critique est une forme de contribution. Par ailleurs, on ne peut pas éluder aussi brutalement le fait que la documentation est une partie critique d'un projet ( entre autre pour prendre pied dans un projet pour y contribuer ).
      • [^] # Re: Publication du reverse-proxy LemonLDAP

        Posté par . Évalué à  4 .

        Je trouve cette remarque curieuse : en utilisant du logiciel libre, on perdrait le droit à la critique ? Mais alors où est la fameuse liberté ?
      • [^] # Re: Publication du reverse-proxy LemonLDAP

        Posté par (page perso) . Évalué à  2 .

        ????

        Ainsi avec le logiciel libre il ne s'agirait que de « profiter uniquement du travail d'autrui » ? Quelle horreur !

        Je ne vois pas du tout la chose ainsi. Il me semble tout à fait souhaitable qu'il puisse avoir des clients pour le logiciel libre.

        « Tu veux que ce soit mieux?
        Fais-le toi-même ou tais toi! »

        Il existe d'autres moyen : financer, être client, justement.

        « Je dirais que tu aurais "le droit" de poster ce que tu viens de dire uniquement si tu avait contribué au projet du dessus en corrigeant le document.. »

        Tu penses que ça aide un projet libre que de cesser de signaler ses défauts ? Je ne suis pas du tout d'accord.
        Comme le dit Masterdik, le fait qu'un projet soit libre n'ôte à personne sa liberté de pensée et sa liberté d'expression.
    • [^] # Re: Publication du reverse-proxy LemonLDAP

      Posté par . Évalué à  3 .

      Sans autre commentaire :
      >un sujet certes douloureux
      >Je ne remets en aucun
      >on la finit en
      >vous serez tous amenés à écrire.


      > Ce raisonnement peut-être faux, alors prouvez-le.
      La preuve ? C'est du bon code avec de la mauvaise orthographe... C'est justement ce que tu critiques. Attention au sens de ton raisonnement !
      • [^] # Re: Publication du reverse-proxy LemonLDAP

        Posté par . Évalué à  7 .

        Vos réactions sont hallucinantes.

        Mon post se voulait seulement une contribution sur le ton de l'avertissement et non sur un ton aggressif sur le fait que les documentations ne sont pas une partie minime d'un projet mais une partie importante. Imaginez un appareil electronique (magnétoscope...) sans mode d'emploi. C'est pareil pour un logiciel.

        Après si vous vous sentez attaqué c'est que vous n'êtes pas prêt à être critiqué, donc à évoluer. La critique est nécessaire et permet de se perfectionner.

        La réponse 'fais-le toi-même ou tais-toi' est d'une puérilité affligeante. Oui. Je le dis et l'assume complètement.
        Le code ouvert permet beaucoup de choses, mais ça ne permet pas de faire des erreurs (tout le monde en fait) et de répondre aux critiques par 't'as qu'a le faire toi-même !'.
        Pour moi le code ouvert c'est plutôt : "merci de ton conseil", "je penses (ou non) que tu as raison", "je vais essayer de faire comme tu m'as dit", c'est comme ça que l'on fait avancer les choses.

        Si vous ne comprenez pas cette différence très importante, c'est que vous n'êtes pas fait pour le logiciel libre. C'est dur à entendre, mais c'est mon avis.

        Merci pour les fautes d'orthographe dans mon post précédent. Moi aussi j'en fais, et je l'avoue, mais je continue à faire attention à en faire le moins possible.

        Note: dans la boîte où je travaille, les personnes qui écrivent des documentations incompréhensibles ont moins de crédit que les autres. Vous n'y échapperez pas.
        • [^] # Re: Publication du reverse-proxy LemonLDAP

          Posté par . Évalué à  7 .

          J'ai voté + et je rajoute une couche moi aussi pour soutenir ces propos.

          Depuis le temps que je traine sur LinuxFR je ne peux plus compter le nombre de remarques a la "t'as qu'a corriger toi même" en réaction à des critiques constructives.

          Pour moi les acteurs du logiciel libre c'est d'abord des amoureux de leur technique et de leur art (y a eu débat y'a pas lontemps). Je suis moi même perfectionniste et même si c'est rageant de faire des erreurs, il est primordial de savoir accepter et comprendre la critique quand elle est fondée... et de retourner à l'ouvrage pour corriger le problème.

          Quand j'envoie un rapport de bug sur la liste du noyau comme cela m'est arrivé, je suis très content de recevoir des mails d'A.Cox lui même me demandant des précisions et me proposant des patchs a tester avant inclusion. Cela invite a l'aider a faire le correctif [que je suis incapable de faire]. Si il m'avait répondu "si t'es pas joyce passe à BSD" le correctif n'aurait pas été écrit et d'autres personnes auraient eu le problème.

          On parle ici de la même chose: quelqu'un essaye ou lit une doc, repère des anomalies, en fait mention ... sauf que la réponse est loin de celle d'un vrai professionnel. L'orthographe n'est pas votre fort, pas de problème, demandez de l'aide, mais n'envoyez pas paître ceux qui pourraient vous aider !!
          • [^] # Re: Publication du reverse-proxy LemonLDAP

            Posté par . Évalué à  0 .

            ...en réaction à des critiques constructives
            Les remarques constructives se postent à l'auteur et non sur le forum de Linuxfr. Sinon c'est carrément pas contructif car le gus qui donne du temps et de la sueur pour son projet, il est jamais au courant.
            Quand j'envoie un rapport de bug sur la liste du noyau comme cela m'est arrivé,
            Je suis depuis un moment le forum Linuxfr et je ne t'ai jamais vu poster un bug du kernel sur le forum, tu utilises bien la LKML, comme quoi tu connais la différence entre le constructif et l'inutile.
            quelqu'un essaye ou lit une doc, repère des anomalies, en fait mention ...
            Relis bien les postes précedents et tu veras que la démarche est différente entre rapporter des erreurs à l'auteur et se plaindre dans un forum, car moi j'ai vu qu'un avis perso dans ce mail et pas un truc qui va aider le projet à être meilleur (d'ailleurs un peu comme les miens, heuu...; et merde grillé).

            Mais bon perso, savoir que l'administration, pour une fois, passe plus de temps à faire du libre avec de bonnes solutions techniques qu'à faire des effets de style avec la langue française, ne peut que me faire avoir un grand sourire et penser qu'on semble plutôt dans une bonne voie :-). Donc reprennons le débat technique !


            Effectivement les fautes imaginées et mises en oeuvre dans le texte précédant restent ma propriété exclusive, donc pas moyen de les citées sans aller contre mon droit d'auteur ;-)
            • [^] # Re: Publication du reverse-proxy LemonLDAP

              Posté par . Évalué à  2 .

              Je considère qu'il avait raison de poster sur un forum de linuxfr (en plus de l'auteur de cet article). Je pense que les visiteurs de ce site sont aussi les acteurs de la communauté libre. Ils ne sont peut-être pas tous programmeur ou écrivain de documentation, mais ils contribuent tous à l'image du logiciel libre.

              Je ne comprends pas cette levée de boucliers contre une remarque constructive et respectueuse.
            • [^] # Re: Publication du reverse-proxy LemonLDAP

              Posté par (page perso) . Évalué à  2 .

              « Les remarques constructives se postent à l'auteur et non sur le forum de Linuxfr. Sinon c'est carrément pas contructif car le gus qui donne du temps et de la sueur pour son projet, il est jamais au courant. »

              Dans de nombreux cas, les auteurs du projet où des contributeurs ne sont jamais loin.
    • [^] # Re: Publication du reverse-proxy LemonLDAP

      Posté par . Évalué à  4 .

      merci , pour votre lecture attentive et critique (dans le bon sens du terme) .
      Je serai content de travailler avec vous pour corriger les fautes et les tournures .

      quand commencons nous ? .

      merci
      $a+
      eric german
    • [^] # Re: Publication du reverse-proxy LemonLDAP

      Posté par . Évalué à  2 .

      Tout a fait d'accord sur ta remarque, la documentation est l'un des points faibles de ce projet. Elle sera améliorée, ainsi que les commentaires dans le code source, puis une traduction anglaise devrait suivre.
      Si tu as le temps d'envoyer tes remarques, elles seront intégrées sans délai.
    • [^] # Re: Publication du reverse-proxy LemonLDAP

      Posté par . Évalué à  1 .

      merci pour ta contribution , j ai recu de ta part un fichier corrigé . Je l'ai integré dans les pages

      merci
      $a+
      eric german
  • # Sur LemonLDAP : modification des applis

    Posté par . Évalué à  1 .

    Si j'ai bien tout compris, le reverse proxy fait passer aux applications les infos
    d'authentification sous la forme d'un header HTTP.

    La modif a faire au niveau des applis est donc de remplacer la phase d'authentification eventuellement existante par une phase exploitant ce header.

    J'ai bon ?

    Si oui, est-ce qu-il est prevu dans le projet de fournir des bibliotheques regroupant des fonctions par defaut s'occupant de faire tout le boulot, ce qui permettrait l'utilisation facile de la chose ?
    Si c'est le cas, je veux bien aider pour faire la chose en J2EE :-)
    • [^] # Re: Sur LemonLDAP : modification des applis

      Posté par . Évalué à  2 .

      Si j'ai bien tout compris, le reverse proxy fait passer aux applications les infos d'authentification sous la forme d'un header HTTP.
      Pour être plus précis on peut parler de droit d'accès, au lieu d'infos d'authentification. Cela permet aux anciennes applications qui ne parle pas LDAP de se servir quand même de leur annuaire d'entreprise chèrement acquis.

      La modif a faire au niveau des applis est donc de remplacer la phase d'authentification éventuellement existante par une phase exploitant ce header.
      Il faut simplement enlever la partie gérant l'authentification, car si la personne ne s'authentifie pas sur le reverse proxy, elle n'a pas accès aux applications.
      Cela suppose que les applications n'acceptent pas de requête directement des clients (c'est pour cela que les serveurs web et le reverse proxy sont souvant dans deux DMZ séparées.
      Par contre la partie qui gère les droits d'accès elle reste de rigeur dans l'application.

      J'ai bon ?
      Je pense que tu as bien compris, juste une petite confusion entre authentification et gestion des droits d'accès à mon avis.

      Un autre gros avantage de ce type d'architecture est que les serveurs web n'ont pas à gérer de flux ssl, puisque les reserves proxy s'en occupe pour eux, la charge et donc diminuée d'autant. Et bien sur, les petites sondes placées entre les deux parties disent aussi merci de pouvoir voir ce qui se "trame" dans la communication entre le client et le serveur.

      Bien sur, les fautes comme toujours sont Copyright vavince
    • [^] # Re: Sur LemonLDAP : modification des applis

      Posté par . Évalué à  2 .

      nous disposons de librairies ,ou d'exemple de code pour les langages suivants:
      -perl
      -php
      -java

      et bientot python .

      Je peux vous envoyer les composants a ceux qui le souhaitent .
      j attends de nettoyer le code pour les mettre sur le site .

      concernant authentification d 'une maniere générale , on distingue 3 phases :
      - IDENTIFICATION
      -Authentification
      -authorisation

      identification : je dis qui je suis .
      authentification : je prouve qui je suis
      authorisation : j ai le droit ou non de faire qque chose.


      le reverse-proxy lemonldap : réalise les 2 premiers points par une connexion au LDAP .
      le point 3 est réalisé par la consultation de l'entree ldap de la personne . La presence ou l'absence d'un attribut renseigne le proxy sur le droit de la personne d'aller sur l'applicatif . De plus le contenu d'un attribut peut etre transmis à l'applicatif .
      Le contenu peut détailler le profil (le niveau de droit) de l'utilisateur pour cet applicatif .

      merci à tous les cas pour l'interet que vous manifestez pour ces problemes .

      $a+
      eric german
    • [^] # Re: Sur LemonLDAP : modification des applis

      Posté par . Évalué à  0 .

      nous disposons de librairies ,ou d'exemple de code pour les langages suivants:
      -perl
      -php
      -java

      et bientot python .

      Je peux vous envoyer les composants a ceux qui le souhaitent .
      j attends de nettoyer le code pour les mettre sur le site .

      concernant authentification d 'une maniere générale , on distingue 3 phases :
      - IDENTIFICATION
      -Authentification
      -authorisation

      identification : je dis qui je suis .
      authentification : je prouve qui je suis
      authorisation : j ai le droit ou non de faire qque chose.


      le reverse-proxy lemonldap : réalise les 2 premiers points par une connexion au LDAP .
      le point 3 est réalisé par la consultation de l'entree ldap de la personne . La presence ou l'absence d'un attribut renseigne le proxy sur le droit de la personne d'aller sur l'applicatif . De plus le contenu d'un attribut peut etre transmis à l'applicatif .
      Le contenu peut détailler le profil (le niveau de droit) de l'utilisateur pour cet applicatif .

      merci à tous les cas pour l'interet que vous manifestez pour ces problemes .

      $a+
      eric german

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.