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 !