Forum Linux.debian/ubuntu postfix + SASL/kerberos

Posté par (page perso) . Licence CC by-sa.
Tags :
0
2
sept.
2015

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 :

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 . Évalué à 2. Dernière modification le 03/09/15 à 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 (page perso) . É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.

  • # Sasl Cyrus & Kerberos

    Posté par (page perso) . É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

    saslauthd - Cyrus SASL password verification service

    Important

    Do not specify any other mechanisms in mech_list than PLAIN or LOGIN when using saslauthd! It can only handle these two mechanisms, and authentication will fail if clients are allowed to choose other mechanisms.

    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

    smtpd_use_tls = yes
    smtpd_tls_CAfile = /etc/ssl/certs/...
    smtpd_tls_cert_file = /etc/ssl/local/...
    smtpd_tls_key_file = /etc/ssl/private/...
    smtpd_tls_received_header = yes
    
    # /!\ dans le chroot => /var/spool/postfix/etc/smtp.keytab
    import_environment = KRB5_KTNAME=/etc/smtp.keytab
    smtpd_sasl_security_options = noanonymous noplaintext noactive
    smtpd_sasl_local_domain = "REALM.NET"

    master.cf:

    submission inet n       -       -       -       -       smtpd
      -o smtpd_enforce_tls=yes
      -o smtpd_sasl_auth_enable=yes
      -o smtpd_helo_restrictions=permit_sasl_authenticated,reject
      -o smtpd_client_restrictions=permit_sasl_authenticated,reject
      -o smtpd_sender_restrictions=reject_non_fqdn_sender,reject_unknown_sender_domain,reject_unlisted_sender,permit_sasl_authenticated,reject
      -o smtpd_recipient_restrictions=reject_non_fqdn_recipient,reject_unknown_recipient_domain,reject_unlisted_recipient,permit_sasl_authenticated,reject
      -o smtpd_etrn_restrictions=reject
      -o smtpd_sasl_authenticated_header=yes

Suivre le flux des commentaires

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