Authentification de Zimbra auprès de FreeIPA via Kerberos

Dans la version 8.0 de Zimbra il est maintenant possible de déléguer l’authentification à un serveur Kerberos. Quand on pense Kerberos, on pense assez rapidement à l’Active Directory, mais dans mon cas, je ne gère que des machines sous Linux et n’ai nul besoin d’un produit de chez Microsoft dans mon infrastructure. Comme solution alternative couvrant mes besoins, je me suis penché sur l’identity manager de chez Red Hat en sa version OpenSource : FreeIPA. Je ne détaillerai pas comment installer FreeIPA, mais je pense écrire des articles sur le produit au fur et à mesure de mon apprentissage sur le sujet en commençant par celui-ci :

Configuration de Zimbra avec FreeIPA

Ajout de la machine dans le domaine

Dans un premier temps il faut que la machine fasse parti du domain Kerberos. Pour cela, enregistrer la avec la commande suivante :

ipa-client-install --enable-dns-updates --domain=DOMAIN.TLD --server=FREEIPA.DOMAIN.TLD

Une fois passé le wizard vérifiez que vous pouvez acquérir un ticket kerberos via la commande suivante :

kinit admin

puis vérifiez la validité du ticket :

klist 
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: admin@DOMAIN.TLD

Valid starting     Expires            Service principal
01/23/14 19:44:12  01/24/14 19:44:10  krbtgt/DOMAIN.TLD@DOMAIN.TLD

Maintenant que la machine est dans le domaine Kerberos, on passe a la suite.
Si vous n’arrivez pas jusqu’à cette étape, je vous recommande de lire la documentation de FreeIPA

Modification du système et configuration de Zimbra

Tout d’abord il faut vérifier que dans la configuration de votre système Kerberos va effectuer un reverse lookup DNS sur le KDC pour cela vérifier que l’option dns_lookup_kdc est bien à true dans le fichier krb5.conf

Une fois cela fait, mettez vous en tant qu’utilisateur Zimbra et effectuez les commandes suivantes :

zmprov md les-titans.com  zimbraAuthMech kerberos5 <= Modification de la méthode d'authentification
zmprov md les-titans.com zimbraAuthKerberos5Realm DOMAIN.TLD <= On  spécifie ici le domaine Kerberos, celui-ci sera ajouté au nom d'utilisateur. La case est très importante, il faut qu'elle soit en majuscule.

Une fois cela fait, il faut redémarrer Zimbra afin qu’il prenne en compte le fichier de configuration krb5.conf si celui-ci a été modifié.

zmcontrol restart

Votre serveur Zimbra est maintenant connecté à FreeIPA.

Si votre compte zimbra est different de votre compte Kerberos, l’authentification ne retrouvera pas l’utilisateur du coté de FreeIPA.
Il faut specifier alors a Zimbra le Princpipal a chercher dans le FreeIPA.
Pour cela, il faut commencer modifier la valeur de l’attribut utilisateur :

zmprov ma my_account@domain.tld zimbraForeignPrincipal kerberos5:account@DOMAIN.TLD

en precisant bien kerberos en debut de ligne.

Enjoy !

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *