Posts Tagged ‘ldap’

Relais postfix et vérification d’adresse depuis exchange

Comme vous le savez peut-être (ou pas…), ce magnifique produit qu’est postfix offre la possibilité de vérifier l’existence d’une adresse dans un domaine depuis un relais.

Grâce à l’option relay_recipient_maps, une ou plusieurs tables de recherche (lookup tables) peuvent être indiquées afin de filtrer les mails reçus. Plusieurs backend sont proposés (db4, mysql, ldap, etc.).

Prenons un cas relativement courant :

  • Un serveur exchange (2000/2003) pour gérer les boîtes mail,
  • Un relais postfix en frontal pour effectuer un certain nombre de filtrages.

Il serait bien sympa que le relais puisse intérroger l’exchange pour vérifier l’existence des destinataires. Rien de plus simple! Avec un postfix supportant ldap, créer par exemple le fichier /etc/postfix/ldap_users.cf et y coller les quelques lignes suivantes :

server_host = monserveurexchange
domain = mondomaine.tld
search_base = dc=mondomaine,dc=tld
query_filter = (|(mail=%s)(mailAlternateAddress=%s))
result_attribute = mail
ldap_cache = yes
ldap_cache_expiry = 600
ldap_cache_size = 64256
bind = yes
bind_dn = MONDOMAINEmonuser
bind_pw = monmotdepasse
version = 3

Avec ces quelques lignes (qu’il faut évidemment adapter en fonction de votre configuration), on indique à postfix de comparer une adresse de la forme user@mondomaine.tld avec les attributs mail et mailAlternateAddress des enregistrements LDAP du serveur exchange. L’activation du cache est nécessaire pour éviter de surcharger les différents serveurs. Le bind est optionnel (il dépend de votre configuration).

Pour tester la configuration avant de l’activer, y’a qu’à faire ça :

# postmap -q user@mondomaine.tld ldap:/etc/postfix/ldap_users.cf user@mondomaine.tld

Si la requête renvoie un résultat, c’est tout bon ^^. Si c’est pas le cas… c’est tout mauvais. (aie!)

Pour activer le filtrage de façon permanente, coller la ligne suivante dans le fichier /etc/postfix/main.cf :

relay_recipient_maps = ldap:/etc/postfix/ldap_users.cf

Puis recharger postfix.

A: Cool ??
B: ooouuuueeeep!! ^^