Le titre du message est plutôt clair : je cherche à mettre en place un serveur postfix dont l'authentification soit kerberisée.
Le domaine s'appelle test.example.org, la machine firstcomp.test.example.org.
J'installe les paquets suivants :
- db5.1-util
- postfix
- procmail
- sasl2-bin
- libsasl2-modules
- libsasl2-modules-sql
- libgsasl7
- libauthen-sasl-cyrus-perl
- libpam-mysql
- libsasl2-modules-gssapi-heimdal
La partie kerberos (Heimdal) est ok :
- la machine s'appelle firstcomp.test.example.org
- ssh fonctionne sans problème avec Kerberos (avec /etc/krb5.keytab contenant host/firstcomp.test.example.org@TEST.EXAMPLE.ORG)
- /etc/postfix/smtp.keytab est valide et contient smtp/firstcomp.test.example.org@TEST.EXAMPLE.ORG
- le DNS est correct (dig fonctionne, dig -x également)
- hostname -f renvoie bien firstcomp.test.example.org
Autres détails :
- postfix appartient aux groupes postfix et sasl
- saslauthd se lance avec OPTIONS="-m /var/spool/postfix/var/run/saslauthd"
- dans main.cf, il y a :
import_environment="KRB5_KTNAME=/etc/postfix/smtp.keytab"
smtpd_sasl_local_domain = test.example.org
smtpd_sasl_auth_enable = yes
smtp_sasl_mechanism_filter = gssapi, plain, login
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtpd_sasl_security_options = noanonymous
smtpd_sasl_path = smtpd
cyrus_sasl_config_path = /etc/postfix/sasl
smtpd_sasl_type = cyrus
- dans /etc/postfix/sasl/smtpd.conf, il y a :
log_level: 6
mech_list: GSSAPI PLAIN LOGIN
keytab: /etc/postfix/smtp.keytab
La version avec mot de passe fonctionne, mais pas avec Kerberos.
Dans les logs, je n'ai que ces deux lignes :
Sep 2 23:23:37 firstcomp postfix/smtpd[4265]: warning: SASL authentication failure: GSSAPI Error: No credentials were supplied, or the credentials were unavailable or inaccessible. (unknown mech-code 0 for mech unknown)
Sep 2 23:23:37 firstcomp postfix/smtpd[4265]: warning: unknown[10.19.1.135]: SASL GSSAPI authentication failed: generic failure
Dans Thunderbird, j'ai :
- nom du serveur : mail01.test.example.org
- méthode : GSSAPI/Kerberos
- nom d'utilisateur : flan (ou flan@TEST.EXAMPLE.ORG)
Voilà ce que j'obtiens avec Thunderbird :
L'envoi du message a échoué.
Le ticket Kerberos/GSSAPI n'a pas été accepté par le serveur sortant (SMTP) mail01.test.example.org. Veuillez vérifier que vous êtes connecté dans le flux Kerberos/GSSAPI
Quand je fais un klist :
Credentials cache: API:2BC7250E-875F-4F48-ABA1-535CFFEAF42F
Principal: flan@TEST.EXAMPLE.ORG
Issued Expires Principal
Sep 2 23:18:37 2015 Sep 3 09:18:44 2015 krbtgt/TEST.EXAMPLE.ORG@TEST.EXAMPLE.ORG
Sep 2 23:18:39 2015 Sep 3 09:18:44 2015 host/firstcomp.test.example.org@TEST.EXAMPLE.ORG
Sep 2 23:19:55 2015 Sep 3 09:18:44 2015 smtp/firstcomp.test.example.org@TEST.EXAMPLE.ORG
Je suis preneur de toute idée pour essayer de faire fonctionner l'ensemble !
# thunderbird depuis quelle machine ?
Posté par NeoX . Évalué à 2. Dernière modification le 03 septembre 2015 à 10:06.
ton thunderbird tourne sur quelle machine ?
parce que là, tu nous a montré la config du serveur,
quid de la machine utilisateur ?
comment thunderbird obtient-il son ticket kerberos pour identifier ton utilisateur ?
[^] # Re: thunderbird depuis quelle machine ?
Posté par flan (site web personnel) . Évalué à 2.
Le serveur est dans une VM sur la machine cliente.
Le client fait un kinit (en ligne de commande actuellement) pour obtenir un ticket Kerberos, et peut faire un SSH (authentifié par kerberos) sur le serveur : la config Kerberos (tant cliente que serveur) semble donc bonne à ce niveau.
le dig (et dig -x) fonctionne aussi bien sur le client que sur le serveur.
[^] # Re: thunderbird depuis quelle machine ?
Posté par NeoX . Évalué à 2.
et ton thunderbird est lancé depuis la ligne de commande aussi (pour heriter du ticket precedemment créé)
[^] # Re: thunderbird depuis quelle machine ?
Posté par flan (site web personnel) . Évalué à 2.
bah non, mais ça ne change rien, d'ailleurs l'échange kerberos se fait bien vu que j'obtiens un TGS pour smtp/firstcomp.test.example.org, que je n'avais pas avant d'avoir utilisé Thunderbird.
[^] # Re: thunderbird depuis quelle machine ?
Posté par NeoX . Évalué à 2.
mais le TGS c'est le ticket du serveur SMTP aupres du ton AD/Kerberos,
pas de ton client thunderbird sur le serveur SMTP, non ?
[^] # Re: thunderbird depuis quelle machine ?
Posté par flan (site web personnel) . Évalué à 2.
si, justement : voilà ce que je fais sur le client uniquement :
kdestroy
kinit flan@test.example.org
klist
Credentials cache: API:2BC7250E-875F-4F48-ABA1-535CFFEAF42F
Principal: flan@TEST.EXAMPLE.ORG
Issued Expires Principal
Sep 2 23:18:37 2015 Sep 3 09:18:44 2015 krbtgt/TEST.EXAMPLE.ORG@TEST.EXAMPLE.ORG
ssh flan@firstcomp.test.example.org echo "COUCOU"
COUCOU
klist
Credentials cache: API:2BC7250E-875F-4F48-ABA1-535CFFEAF42F
Principal: flan@TEST.EXAMPLE.ORG
Issued Expires Principal
Sep 2 23:18:37 2015 Sep 3 09:18:44 2015 krbtgt/TEST.EXAMPLE.ORG@TEST.EXAMPLE.ORG
Sep 2 23:18:39 2015 Sep 3 09:18:44 2015 host/firstcomp.test.example.org@TEST.EXAMPLE.ORG
[lancer thunderbird && essayer d'envoyer un email]
klist
Credentials cache: API:2BC7250E-875F-4F48-ABA1-535CFFEAF42F
Principal: flan@TEST.EXAMPLE.ORG
Issued Expires Principal
Sep 2 23:18:37 2015 Sep 3 09:18:44 2015 krbtgt/TEST.EXAMPLE.ORG@TEST.EXAMPLE.ORG
Sep 2 23:18:39 2015 Sep 3 09:18:44 2015 host/firstcomp.test.example.org@TEST.EXAMPLE.ORG
Sep 2 23:19:55 2015 Sep 3 09:18:44 2015 smtp/firstcomp.test.example.org@TEST.EXAMPLE.ORG
[^] # Re: thunderbird depuis quelle machine ?
Posté par NeoX . Évalué à 2.
ok, donc ton thunderbird genere bien un ticket kerberos pour tenter d'envoyer l'email,
et les logs de postfix ils disent quoi ?
parce que finalement c'est peut-etre lui qui te refuse l'envoi de l'email, pour une raison, ou pour une autre
[^] # Re: thunderbird depuis quelle machine ?
Posté par flan (site web personnel) . Évalué à 2.
C'est dans le message d'origine ^ (deux lignes qui disent qu'il y a une erreur GSSAPI, mais pas au point de dire laquelle, ça serait beaucoup trop facile)
[^] # Re: thunderbird depuis quelle machine ?
Posté par NeoX . Évalué à 2.
generic failure et unknown mech-code 0
=> ca ressemble à des machines qui ne se mettent pas d'accord sur un protocale de chiffrement.
[^] # Re: thunderbird depuis quelle machine ?
Posté par flan (site web personnel) . Évalué à 2.
Malheureusement, je ne comprends pas trop pourquoi :(
du coup, j'hésite à abandonner le Kerberos pour les mails ; je suis surpris de la pauvreté de documentation et de la complexité pour faire un pauvre smtp kerberisé (alors que faire un apache kerberisé est super simple ! ).
Une autre raison pour l'abandon est que mon iPhone va devoir utiliser les différents outils (mails, entre autres), et qu'il n'y a pas de kerberos via certificat sur iPhone :(
# Sasl Cyrus & Kerberos
Posté par -=[ silmaril ]=- (site web personnel) . Évalué à 1.
Salut,
J'ai un postfix qui inclu un smtpd submission avec auth via GSSAPI, par contre il n'est pas possible de le faire avec support de l'auth plain ET gssapi en meme temps, ou du moins pas de la façon mise en oeuvre (via saslauthd):
http://www.postfix.org/SASL_README.html
Ma configuration est assez ancienne et il est peut-être possible de faire autrement maintenant mais la voici. L'auth n'est active que sur le service submission (tcp/587) avec le SSL d'actif:
main.cf
master.cf:
[^] # Re: Sasl Cyrus & Kerberos
Posté par -=[ silmaril ]=- (site web personnel) . Évalué à 1.
a voir aussi:
https://linuxfr.org/forums/linux-debian-ubuntu/posts/postfix-et-authentification-via-la-gssapi
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.