Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".
Test de l'ISO d'Ubuntu francophone : nous avons besoin de testeurs pour la version francophone d'Ubuntu 14.04. Liens et informations ici.

#1 Le 09/10/2013, à 08:58

quentin9696

[Résolu] dovecot et AD

Bonjour à tous,

Depuis hier j'essaye tant bien que mal à faire fonctionner dovecot avec un active directory.

Le but est de faire un SMTP AUTH avec postfix, dovecot et AD. J'ai déjà réussi à le faire fonctionner avec un LDAP sous SUN (oui je sais, ça date tongue)

Voici mon dovecot.conf

protocols = none
listen = *
ssl = no


auth_mechanisms = plain login

auth_debug = yes

passdb {
  args = /etc/dovecot/dovecot-ldap.conf
  driver = ldap

}

protocols = none

service auth {
  unix_listener /var/spool/postfix/private/auth {
    group = postfix
    mode = 0666
    user = postfix
  }
}

et voici mon dovecot-ldap.conf

# This file is opened as root, so it should be owned by root and mode 0600.
#
# http://wiki.dovecot.org/AuthDatabase/LDAP
#
uris = ldap://xx.xx.xx.xx.xx:389 ldap://xx.xx.xx.xx.xx:389
tls = no
ldap_version = 3
# LDAP base. %variables can be used here.
base = ou=Utilisateurs, dc=xxxxx, dc=xx
# Dereference: never, searching, finding, always
deref = never
# Search scope: base, onelevel, subtree
scope = subtree
# parametres pour l'authentification
auth_bind = yes

pass_attrs = uid=user
pass_filter = (SamAccountName=%u)
default_pass_scheme = CRYPT

Voici mon message dans les logs :

Oct  8 16:28:26 smtp2 dovecot: auth: Debug: ldap(yyyyy, xx.xx.xx.xx.xx): bind search: base=ou=Utilisateurs, dc=xxxx, dc=xx filter=(SamAccountName=yyyyy)
Oct  8 16:28:26 smtp2 dovecot: auth: ldap(yyyyy, xx.xx.xx.xx.xx): unknown user

Je vous affirme que mon utilisateur existe.

Merci d'avance pour votre aide.

Quentin

Dernière modification par quentin9696 (Le 11/10/2013, à 11:35)

Hors ligne

#2 Le 09/10/2013, à 09:48

tiramiseb

Re : [Résolu] dovecot et AD

Salut,

Je vous affirme que mon utilisateur existe.

Ce qu'il faudrait que tu affirmes, c'est qu'en faisant manuellement une requête LDAP tu le vois bien, avec la même base et le même filtre (avec la commande ldapsearch).

Dernière modification par tiramiseb (Le 09/10/2013, à 09:48)


Sébastien Maccagnoni-Munch - administrateur Linux depuis le XXème siècle
Consultant informatique indépendant - http://www.smm-informatique.fr
Geek et tout plein d'autres choses - http://www.tiramiseb.fr

Hors ligne

#3 Le 09/10/2013, à 13:44

quentin9696

Re : [Résolu] dovecot et AD

Merci de la réponse.

Seul problème, je n'arrive même pas un utilisé la commande.

# ldapsearch -h norbert -P 3
SASL/EXTERNAL authentication started
ldap_sasl_interactive_bind_s: Unknown authentication method (-6)
        additional info: SASL(-4): no mechanism available:

Dernière modification par quentin9696 (Le 09/10/2013, à 13:45)

Hors ligne

#4 Le 09/10/2013, à 13:52

tiramiseb

Re : [Résolu] dovecot et AD

As-tu essayé avec l'option "-x" ?


Sébastien Maccagnoni-Munch - administrateur Linux depuis le XXème siècle
Consultant informatique indépendant - http://www.smm-informatique.fr
Geek et tout plein d'autres choses - http://www.tiramiseb.fr

Hors ligne

#5 Le 09/10/2013, à 14:59

quentin9696

Re : [Résolu] dovecot et AD

Voici donc la requête qui pourtant est bonne, la propriété SamAccountName existe ...

# ldapsearch -h norbert -P 3 -x -b "OU=Utilisateurs,DC=xxxxx,DC=xx" SamAccountName=yyyyy
# extended LDIF
#
# LDAPv3
# base <OU=Utilisateurs,DC=xxxxx,DC=xx> with scope subtree
# filter: SamAccountName=yyyyy
# requesting: ALL
#

# search result
search: 2
result: 0 Success

# numResponses: 1

Hors ligne

#6 Le 09/10/2013, à 15:11

tiramiseb

Re : [Résolu] dovecot et AD

Le serveur LDAP autorise-t-il l'interrogation sans authentification ?
As-tu essayé avec un autre attribut dans ton filtre ?
As-tu essayé avec "DC=xxxxx,DC=xx" comme base ?

Essaye de commencer avec des essais simple : pour commencer, liste quelque chose, n'importe quoi, de la base LDAP.
Ensuite, essaie de lister le sous-ensemble dans lequel tu fais les requêtes.
Enfin, essaie de construire un filtre qui correspond à ce que tu recherches.

Quand tu tentes d'obtenir le résultat directement au premier coup, il y a de très nombreuses questions qui peuvent se poser.
Il faut toujours commencer simple afin de mettre progressivement hors de cause les différents éléments mis en œuvre, jusqu'au moment où tu arrives à mettre le doigt sur ce qui pose problème.


Sébastien Maccagnoni-Munch - administrateur Linux depuis le XXème siècle
Consultant informatique indépendant - http://www.smm-informatique.fr
Geek et tout plein d'autres choses - http://www.tiramiseb.fr

Hors ligne

#7 Le 09/10/2013, à 15:58

quentin9696

Re : [Résolu] dovecot et AD

tiramiseb a écrit :

Le serveur LDAP autorise-t-il l'interrogation sans authentification ?

Je ne sais même pas si il les autorise ... Je suis débutant à la fois dans AD et Linux ..

Hors ligne

#8 Le 09/10/2013, à 16:28

tiramiseb

Re : [Résolu] dovecot et AD

J'ai déjà mis ça en place pour des clients, mais je n'ai rien qui me revient à l'esprit.
Désolé hmm

Tu comprendras que je ne passerai pas du temps à creuser mes archives pro et te ressortir ces infos, alors même que c'est mon gagne-pain smile Si tu as besoin d'assistance pro je serai ravi de te faire un devis, mais je ne peux pas me faire gratuitement concurrence à moi-même, sinon je ne pourrai plus nourrir ma famille...

Je suis sûr que sur le net tu peux trouver plein d'infos et de docs à ce propos.

Dernière modification par tiramiseb (Le 09/10/2013, à 16:29)


Sébastien Maccagnoni-Munch - administrateur Linux depuis le XXème siècle
Consultant informatique indépendant - http://www.smm-informatique.fr
Geek et tout plein d'autres choses - http://www.tiramiseb.fr

Hors ligne

#9 Le 09/10/2013, à 16:36

quentin9696

Re : [Résolu] dovecot et AD

Je comprend bien. Domange quand même sur un forum ou le libre et le partage est une culture tongue.

Je viens de réussir ma requête (enfin!). C'est bien un problème de non authentifié.

Du coup, il me reste plus qu'à, soit, débloquer les requêtes en non auth sur mon AD, soit faire une auth dans dovecot.

Je te tiens quand même au courent (car je pense que tu va quand même m'aiguiller encore un peu ..?)

Hors ligne

#10 Le 09/10/2013, à 21:13

tiramiseb

Re : [Résolu] dovecot et AD

Domange quand même sur un forum ou le libre et le partage est une culture

Je passe environ un quart de mon temps pour ça, c'est déjà pas mal non ? smile

Si j'offrais gratuitement tous mes services, comment je gagnerais de l'argent ?

soit, débloquer les requêtes en non auth sur mon AD, soit faire une auth dans dovecot.

Utilise l'authentification, c'est mieux.

je pense que tu va quand même m'aiguiller encore un peu ..?

Oui, bien sûr, tant qu'il y a des trucs qui ne me demandent pas des heures de boulot, je peux toujours t'aider smile


Sébastien Maccagnoni-Munch - administrateur Linux depuis le XXème siècle
Consultant informatique indépendant - http://www.smm-informatique.fr
Geek et tout plein d'autres choses - http://www.tiramiseb.fr

Hors ligne

#11 Le 10/10/2013, à 09:31

quentin9696

Re : [Résolu] dovecot et AD

tiramiseb a écrit :

Domange quand même sur un forum ou le libre et le partage est une culture

Je passe environ un quart de mon temps pour ça, c'est déjà pas mal non ? smile

Si j'offrais gratuitement tous mes services, comment je gagnerais de l'argent ?

Oui oui il n'y a pas de soucis. Et puis, un peu de recherche ne fait pas de mal aussi.

Du coup maintenant que mes requêtes marche et après discussion avec mon RSSI, je garde l'auth.

Il me reste juste une dernière question : est-ce possible d'autorisé UNIQUEMENT l'auth smtp ? Car pour le moment j'ai pas réussi à bloqué l'envoie en "anonyme".


Voici la partie concerné de mon fichier main.cf

smtpd_sasl_type = dovecot

smtpd_sasl_path = private/auth

smtpd_sasl_auth_enable = yes

smtpd_sasl_security_options = noanonymous

smtpd_sasl_authenticated_header = yes

smtpd_recipient_restrictions =
        check_recipient_access hash:/etc/postfix/protected
        permit_mynetworks
        permit_sasl_authenticated
        reject_unauth_destination
       # check_policy_service inet:127.0.0.1:53355
        reject

encore merci de ton aide

Hors ligne

#12 Le 10/10/2013, à 10:39

tiramiseb

Re : [Résolu] dovecot et AD

Essaie en supprimant permit_mynetworks, peut-être...


Sébastien Maccagnoni-Munch - administrateur Linux depuis le XXème siècle
Consultant informatique indépendant - http://www.smm-informatique.fr
Geek et tout plein d'autres choses - http://www.tiramiseb.fr

Hors ligne

#13 Le 10/10/2013, à 11:37

quentin9696

Re : [Résolu] dovecot et AD

*parle a soi même* Mais oui qu'est-ce que t'es nul, permit network reflichi deux secondes ! *fin*

Merci beaucoup, du coup ça m'enlève une épine du pied pour "Comment autorisé juste un hôte à utiliser le non auth"

Encore merci à toi. wink

PS : Je garde encore le sujet un peu pour 1 journée si j'ai des problèmes encore (et si ça te gène pas wink)

Dernière modification par quentin9696 (Le 10/10/2013, à 11:38)

Hors ligne

#14 Le 10/10/2013, à 15:53

quentin9696

Re : [Résolu] dovecot et AD

Voila donc dernière question je pense : Voila quand je reçois un mail, je check dans un annuaire ldap (toujours sous sun OS), voir si l'adresse existe, et si elle existe je réécrit l'adresse pour l'envoyé vers un serveur IMAP.

Seul problème, c'est que mon client mail me renvois une erreur comme quoi l'adresse n'existe pas.

Voici l'erreur :

postfix/smtpd[10904]: NOQUEUE: reject: RCPT from xxxxx[xx.xx.xx.xx.xx]: 550 5.1.1 <adresseDestination>: Recipient address rejected: User unknown in local recipient table; from=<adresseSource> to=<adresseDestination> proto=ESMTP helo=<[127.0.0.1]>

Et voici mes deux fichier de conf :

main.cf

virtual_maps = ldap:/etc/postfix/ldap-vacation.cf

et voici le contenu du ldap-vacation.cf

server_host = xxxxx.coria.fr xxxxx.coria.fr
server_port = 389
search_base = ou=People, dc=xxxxx, dc=xx
query_filter = (&(|(mail=%s)(mailAlternateAddress=%s))(vacationActive=TRUE))
result_attribute = mailForwardingAddress

Voici la même requête avec ldapsearch

# ldapsearch -x -b 'ou=people,dc=xxxxx,dc=xx' -H ldap://xxxxx:389 "(|(mail=adresseDestination)(mailAlternateAddress=adresseDestination))" mailForwardingAddress
# extended LDIF
#
# LDAPv3
# base <ou=people,dc=xxxxx,dc=xx> with scope subtree
# filter: (|(mail=adresseDestination)(mailAlternateAddress=adresseDestination))
# requesting: mailForwardingAddress
#

# xxxxxx, people, xxxxx.xx
dn: uid=xxxxxxx,ou=people,dc=xxxxx,dc=xx
mailForwardingAddress: adresseDestinationRelay

# search result
search: 2
result: 0 Success

# numResponses: 2
# numEntries: 1

Par contre lorsque j'envoie le mail avec l'adresse contenu dans "mailForwardingAddress" il va bien à destination sans problème ...

Dernière modification par quentin9696 (Le 10/10/2013, à 17:28)

Hors ligne

#15 Le 10/10/2013, à 17:23

tiramiseb

Re : [Résolu] dovecot et AD

Avec tes "xxxxxx" partout, j'ai du mal à comprendre ce qui pose problème et ce qui fonctionne bien...


Sébastien Maccagnoni-Munch - administrateur Linux depuis le XXème siècle
Consultant informatique indépendant - http://www.smm-informatique.fr
Geek et tout plein d'autres choses - http://www.tiramiseb.fr

Hors ligne

#16 Le 10/10/2013, à 17:29

quentin9696

Re : [Résolu] dovecot et AD

Voila j'ai édité. En espérant que ce soit plus clair...

Hors ligne

#17 Le 10/10/2013, à 17:44

tiramiseb

Re : [Résolu] dovecot et AD

C'est assez complexe ton truc. Là je n'ai pas d'idée, désolé...


Sébastien Maccagnoni-Munch - administrateur Linux depuis le XXème siècle
Consultant informatique indépendant - http://www.smm-informatique.fr
Geek et tout plein d'autres choses - http://www.tiramiseb.fr

Hors ligne

#18 Le 11/10/2013, à 11:34

quentin9696

Re : [Résolu] dovecot et AD

Finalement j'ai trouvé : j'ai plusieurs requêtes LDAP (qui cherche dans différentes OU) et dans la requête qui etait utilisé, j'avais mis autre chose que "result_attribute" pour avoir le résultat.

Maintenant mon serveur postfix fonctionne à merveille wink

Merci de ton aide encore une fois, je passe en résolu

Hors ligne

Haut de page ↑