Protégez votre Google Apps avec LemonLDAP::NG grâce à SAML2 !

Après avoir vu comment protéger efficacement votre infrastructure en mettant en place en WebSSO reposant sur une authentification à 2 facteurs, voyons maintenant comment protéger votre Google Apps avec LemonLDAP::NG.

Si vous ou votre entreprise à pris le parti de déléguer la gestion de vos e-mail à Google vous avez toujours la possibilité d’intégrer ces services Web à votre SSO LemonLDAP::NG grâce à la prise en charge du protocole SAML2. Dans ce cas de figure la Google Apps se positionera en tant que fournisseur de service SAML.

Une communication se faisant entre Google et LL::NG, votre SSO doit bien entendu être accessible sur Internet.

Ce billet n’a pas pour vocation de décrire la mise en place d’une Google Apps, veuillez vous rapporter à la documentation de Google si nécessaire.

Il est à noter que cette installation est possible avec n’importe quel type de Google Apps même la version gratuite !

Installation des dépendances

Pour utiliser le protocole SAML, LL::NG utilise la librairie perl lasso qui n’est pas packagée en standard sous Debian.  Pour l’installer (les repos sont compatibles avec squeeze) :

# vim /etc/apt/source.list.d/entrouvert.list
deb http://deb.entrouvert.org/		lenny	main
deb-src http://deb.entrouvert.org/	lenny	main

# wget -O - -q http://deb.entrouvert.org/entrouvert.gpg | apt- key add -
# apt-get update
# apt-get install liblasso3-perl
# service apache2 restart

Configuration de LemonLDAP::NG

Dans le manager de LL::NG :

  • Paramètre généraux => Modules fournisseur => SAML => Activation : Activé
  • Service SAML2 =>  Format de NameID => Email : mail
  • Service SAML2 => Paramètres de sécurité =>  Signature =>  Clé privée => Générer
  • Service SAML2 => Paramètres de sécurité => Chiffrement => Clé privée => Générer
  • Service SAML2 => Organization => Nom affiché / Nom / URL (pour informations)
Il faut ensuite ajouter un fournisseur de service SAML :
    • Fournisseurs de service SAML => Nouveau fournisseur de service
    • Fournisseurs de service SAML => Votre_Service => Metadata
<md:EntityDescriptor entityID="google.com" xmlns="urn:oasis:names:tc:SAML:2.0:metadata" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata">
<SPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
<AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://www.google.com/a/CHANGE_ME/acs" index="1" />
<NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddres</NameIDFormat>
</SPSSODescriptor>
</md:EntityDescriptor>

Attention à modifier le CHANGE_ME !

  • Fournisseurs de service SAML => Votre_Service > Options => Réponse d’authentification => Format par défaut du NameID : Email
  • Fournisseurs de service SAML => Votre_Service > Options => Signature : Tout doit être désactivé sauf “Signature des messages SSO”
Enfin il vous faut créer un certificat reconnu par Google pour l’échange SAML :
  • Service SAML2 => Paramètres de sécurité =>  Signature =>  Clé privée =>  Télécharger ce fichier (lemonldap.key)
$ openssl req -new -key lemonldap.key  -out lemonldap.csr
$ openssl x509 -req -days 3650 -in lemonldap.csr -signkey lemonldap.key -out lemonldap.pem

Configuration du SSO sur la Google Apps

Connectez vous à l’interface d’administration avec un compte Super-Utilisateur (Adresse http://www.google.com/a/CHANGE_ME)

Dans Outils Avancés => Mise en place du SSO :

  • Cochez Activer l’authentification unique
  • URL de la page de connexion : http://auth.changeme.com/saml/singleSignOn
  • URL de la page de déconnexion : http://auth.changeme.com/?logout=1
  • URL de la page de modifications du mot de passe :  http://auth.changeme.com
  • Certificat de vérification : envoyez le certificat généré précédemment (lemonldap.pem)

Connexion à la Google Apps

Vous devriez avoir fini l’intégration de votre Google Apps avec LemonLDAP::NG. Lors de l’accès à celle-ci vous devriez être automatiquement redirigé vers LL::NG si vous n’avez pas de session active, sinon vous êtes automatiquement connecté.

En cas de problème, vous pouvez toujours vous authentifier sur votre Google Apps via l’URL http://www.google.com/changeme.com

Remarques

Pour que le SSO fonctionne, il faut que l’attribut mail exporté par votre annuaire soit présent dans votre Google Apps. Nous verrons dans un prochain billet comment synchroniser votre Google Apps avec votre annuaire en utilisant Google Apps Directory Sync.

Vus : 1311
Publié par Fitzdsl Blog : 27