Outlook openldap

Fermé
mathilde - 18 mai 2007 à 15:13
[Dal] Messages postés 6193 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 4 juillet 2024 - 6 juin 2007 à 11:38
Bonjour.

On m'a demandé d'installer un serveur openldap sur une machine Linux puis de mettre à jour, grâce à cette annuaire, les contacts dans Microsoft Outlook.
Comment faire le lien entre les deux applis?
Pouvez-vous m'éclairer sur ce sujet?
Merci.

Mathilde
A voir également:

11 réponses

[Dal] Messages postés 6193 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 4 juillet 2024 1 089
23 mai 2007 à 19:46
Salut,

(...)
le nom de la machine linux.
Comment puis-je lui attribuer un nom?


C'est un problème Windows et non Linux (ou un problème réseau en général). Si tu disposes d'un serveur DNS interne à ton réseau (je suppose que la machine est sur un LAN), tu peux déclarer le nom d'hôte de cette machine dans ton DNS interne.

Tu peux aussi le déclarer dans le fichier hosts ou lmhosts du poste Windows de consultation.

Voir fichier host et lmhost à ce sujet.

Ou si ta machine Linux gère un serveur Wins, ou est gérée par un serveur Wins, tu peux utiliser son nom NetBIOS.

J'ai son adresse IP mais apparemment, ça ne convient pas à Outlook, il ne trouve pas ma machine.

Celà est anormal. Ton problème est ailleurs (je viens de faire le test et chez moi celà fonctionne avec l'IP seulement sur Outlook Express 6).

As-tu définit dans les options du profil LDAP la base DN sur laquelle tu as créé ton répertoire d'adresses OpenLDAP ?

Par exemple, un truc du genre :

"dc=masociete, dc=annuaireinterne"

Si ton utilisateur doit s'authentifier, tu dois aussi indiquer son user DN et son mot de passe (celà dépend de la façon dont tu as monté ta base et ton serveur OpenLDAP) ...

Pour tester le bon fonctionnement de ton serveur OpenLDAP à partir de Windows, tu peux utiliser un outil tel que celui-ci http://ldaptool.sourceforge.net/ , les produits Microsoft n'étant pas toujours très forts pour renvoyer des messages d'erreur instructifs.

Bien sûr, tu devrais aussi t'assurer qu'il fonctionne correctement sur le serveur Linux lui-même, en utilisant, par exemple l'outil de ligne de commande ldapsearch, ou l'outil graphique précité, qui est multiplateforme.


Dal
0
Merci pour toutes ces informations.

J'ai ajouté dans le fichier hosts de la machine windows, l'adresse IP de ma machine linux et un nom correspondant.
Dans Outlook express 2002, je vais dans :
outils,
comptes de messagerie,
ajouter un annuaire,
service d'annuaire internet (ldap),
nom du serveur : je mets celui inscrit dans le fichier hosts,
je ne mets pas de nom d'utilisateur car mon annuaire peut être lu par tous,
dans les paramètres supplémentaires :
dans le nom complet, je remets le nom de machine écrit dans mon fichier hosts,
le numéro de port je laisse 389,
dans l'onglet rechercher j'inscris la racine de ma base ldap.
Je ferme outlook, je l'ouvre et quand j'essaie de parvenir à l'annuaire, j'ai le message suivant :
impossible de contacter le service d'annuaire ldap (81)

Il n'y a une seule chose dont je ne suis pas sûre : dans mon fichier de configuration slapd.conf, j'ai mis que les droits en lecture étaient accessibles à tous (option par défaut) mais est-ce vrai pour n'importe quelle machine venant se connecter à l'annuaire ldap ou seulement pour les comptes installés sur le serveur ldap?
D'avance merci pour votre aide.

Mathilde
0
J'ai installé ldaptool sur la machine windows.
J'ai mis comme paramètre de connexion :
user DN = le root de mon fichier slapd.conf
base DN = base de mon annuaire ldap
Dans l'onglet server j'ai mis l'adresse IP de ma machine Linux
Le test de connexion est négétif, j'ai le message suivant :
LDAP Bind : can't contact ldap server.

Pourtant lorsque je ping ma machine linux depuis ma machine windows, c'est ok.

Pouvez-vous m'aider?

Merci.

Mathilde
0
Pour information, le ldapsearch fonctionne.
Cela ne résout pas mon problème mais c'est un point que j'avais oublié de préciser.

Mathilde
0
Bonjour Dal.

Apparemment, ta config fonctionne.
Peux-tu me donner ton paramétrage d'outlook ainsi que ton paramétrage d'openldap pour que je compare?
Merci.

Mathilde
0
Plus de réponse?
Aidez-moi s'il vous plaît !

Mathilde
0
[Dal] Messages postés 6193 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 4 juillet 2024 1 089
25 mai 2007 à 13:12
Salut Mathilde,

Désolé, je ne vois tes messages que maintenant.

Ce que tu fais avec Outlook ne me semble pas erroné, mais je n'ai pas ta version de Outlook, alors pour déterminer si tu peux accéder de ta machine Windows au serveur LDAP Linux essayes d'abord avec LDAPExplorerTool.

1.

Dans LDAPExplorerTool, crée une nouvelle définition de profil.

Dans la définition du profil, après avoir définit un "Configuration name" quelconque, vas dans l'onglet "Server", mets l'adresse IP du serveur Linux (pour le moment) à la rubrique "server name or IP", décoche "use default port" pour port SSL, laisse seulement le port 389 par défaut.

Sur ce même onglet, tu as un bouton "Test connection".

Quand tu cliques dessus, laisse la boite password vide.

Si tu n'as pas un message "Test ok" à ce stade, et que tu arrives à interroger le serveur LDAP localement sous Linux avec ldapsearch, c'est que la machine Windows n'arrive pas à atteindre le port 389 de ta machine Linux. Vérifie qu'il n'y a pas de firewall sur le serveur ou le client Windows bloquant le trafic sur le port TCP 389.

Si tu as un message "Test ok", dis moi quelle est la syntaxe de la commande ldapsearch que tu utilises sur le serveur Linux.

2.

Si tu as "Test ok", tu peux passer à cette étape.

Dans l'onglet "Connection" de LDAPExplorerTool, coche "anonymous login", mets SSL et TLS à "No", et clique sur "Guess value" pour Base DN. Si LDAPExplorerTool ne devine pas tout seul tape ton Base DN, mets à cet endroit ce que tu as définit dans la ligne "suffix" de la définition de ta base dans slapd.conf (c'est aussi cette information qu'attend Outlook à la rucbrique "Rechercher dans la base").

Le "rootdn" dans slapd.conf définit l'utilisateur ayant tous les droits sur la base, ce n'est pas l'information attendue à cet endroit.

Laisse les autres onglets dans leur état par défaut.

3.

Certains clients LDAP ont du mal avec la V3 du protocole LDAP. Pour remédier à ce problème, tu peux insérer la ligne

allow bind_v2

dans slapd.conf, avant ta définition des bases ldbm.


Voilà quelques éléments :)

Bon courage !


Dal
0
J'ai essayé l'étape 1.
Je n'ai pas "test OK" donc je dois avoir un firewall qui bloque le port 389.
Comment puis-je le vérifier (je n'y connais rien en réseau...)?
Merci.

Mathilde
0
[Dal] Messages postés 6193 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 4 juillet 2024 1 089
25 mai 2007 à 15:04
Salut,

Je ne suis pas expert en firewall (surtout sous Linux, depuis que ne suis passé sous FreeBSD il y a quelques années), alors tu devrais vérifier tout cela et t'adresser à la personne qui a mis en place le firewall sur le serveur Linux.

Si tu tiens à tenter l'expérience, tu peux essayer de taper la commande suivante (sous root) et voir si celà arrange les choses :

iptables --table filter --append INPUT --protocol tcp --destination-port 389 --jump ACCEPT

Celà devrait garder le firewall en place, mais permettre au trafic sur ce port d'entrer.

Ou, plus radical, tu supprimes tous les paramétrages de ton firewall (ne serait-ce que pour voir) :

iptables --table filter --flush
iptables --table nat --flush
iptables --table mangle --flush
iptables --policy INPUT ACCEPT
iptables --policy FORWARD ACCEPT
iptables --policy OUTPUT ACCEPT

En fait, tu dois avoir un script du genre "iptables-stop" dans ta distribution, qui fait cela. Au fait, tu as oublié de dire quelle était ta distribution.

Pour ton firewall, au démarrage de ta machine Linux, le firewall est reconstruit par un script démarré après l'initialisation des interfaces réseau. Les règles que tu auras purgées reviendront donc au redémarrage si tu ne sais pas où se trouve le script qui les contient.

Sous Linux, tu as aussi des fichiers comme /etc/hosts.allow qui peuvent être modifiés pour bloquer certains hôtes (ceci dit, tu dis que tu arrives à pinguer).

Pour XP, je peux plus difficilement t'aider, cela dépend du firewall utilisé, et je ne les connais pas bien non plus sous Windows (en particulier celui de XP que je n'utilise pas), mais tu dois aussi vérifier que les connexions sortantes vers l'IP du serveur Linux (ou son sous-réseau) sont permises, que le port tcp 389 n'est pas bloqué en trafic sortant (celà serait étonnant), et, pour certains firewalls sous Windows, que que l'application cliente est autoriser à initier des connexions réseau.

Là aussi, la solution radicale est de fermer le firewall du côté XP aussi (si tu peux, bien sûr :).

Vérifie aussi qu'entre les deux, il n'y a rien d'autre qui peut bloquer (une passerelle, proxy, un routeur avec des fonctions de firewall,...).

Enfin, sous Windows, tu peux utiliser une application comme Wireshark, pour analyser le trafic réseau et voir les requêtes sortantes destinées au serveur LDAP et si des réponses arrivent à ces requêtes. Mais ce genre d'outil est un peu compliqué à utiliser.


Dal
0
Ma distribution est redhat entreprise 3.
Voici mon fichier iptables dans /etc/sysconfig :

Firewall configuration written by redhat-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT

mathilde
0
Quand je fais iptables off, j'ai "test OK" !!!!
Ma question est donc : quelle ligne dois-je ajouter dans mon fichier de config iptables pour que même quand iptables est activé, je puisse laisser ouvert le port tcp 389?
Merci en tous cas !!!!
Ca fait plaisir d'avancer un peu.
J'essaye de continuer la suite en attendant de configurer proprement iptables.

Mathilde
0
[Dal] Messages postés 6193 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 4 juillet 2024 1 089 > mathilde
25 mai 2007 à 16:17
Firewall configuration written by redhat-config-securitylevel
# Manual customization of this file is not recommended.


Utilise l'application graphique redhat-config-securitylevel


Dal
0
mathilde > mathilde
25 mai 2007 à 16:28
Merci !!!
Je vois maintenant parfaitement mon annuaire avec LDAPExplorerTool.
En revanche avec Outlook, je ne vois aucune de mes entrées.
J'ai essayé de mettre allow bind_v2 dans mon fichier slapd.conf
Le problème est que comme je n'avais défini aucun droit d'accès dans slapd.conf (par défaut il est écrit que la lecture est accessible à tous et que l'utilisateur rootdn a tous les droits), du coup, ça supprime cette politique par défaut et je n'ai plus aucun droit sur mon annuaire.
Ma question est donc la suivante :
comment définir proprement les droits (lecture pour tous, tous les droits pour rottdn) afin de pouvoir ajouter la fameuse ligne "allow bind_v2" sans problème?
Merci.

Mathilde
0
[Dal] Messages postés 6193 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 4 juillet 2024 1 089 > mathilde
25 mai 2007 à 16:46
J'ai essayé de mettre allow bind_v2 dans mon fichier slapd.conf
(...) du coup, ça supprime cette politique par défaut


Je trouve cela étonnant. Tu veux dire que désormais ta commande ldapsearch sur le serveur ne fonctionne plus si tu ne t'authentifies pas en rootdn ?

Sinon, avant ta définition des bases ldbm, tu devrais avoir ceci :

access to * by * read

Bien sûr, après chaque changement de slapd.conf, tu dois redémarrer le démon slapd pour que les changements prennent effet.


Dal
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
[Dal] Messages postés 6193 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 4 juillet 2024 1 089
28 mai 2007 à 10:03
Bonjour Mathilde,

Ces différentes messages semblent indiquer que le démon n'est pas lancé correctement. Est-ce bien celà ?

Peux tu lancer le démon si tu remets ton fichier slapd.conf tel qu'il était à ton message < 17 > (où il était visiblement lancé) ?

N'as-tu pas modifié les permissions du fichier slapd.conf par accident ?


Dal
0
Oui c'est bien cela.
Quand dans le fichier slapd.conf, je ne mets aucune règle concernant les droits (aucune ligne access..), une politique par défaut s'applique donnant tous els droits à rootdn et les droits en lecture à tous les autres.
Dès que je tente d'inscrire une politique de droits, je n'arrive pas à redémarrer le démon.
Voici mon fichier slapd.conf :

# $OpenLDAP: pkg/ldap/servers/slapd/slapd.conf,v 1.8.8.7 2001/09/27 20:00:31 kurt Exp $
#
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/nis.schema
include /etc/openldap/schema/redhat/autofs.schema
include /etc/openldap/schema/redhat/kerberosobject.schema

pidfile //var/run/slapd.pid
argsfile //var/run/slapd.args

# Sample Access Control
# Allow read access of root DSE
# Allow self write access
# Allow authenticated users read access
# Allow anonymous users to authenticate
#
#access to dn="" by * read
#access to *
# by self write
# by users read
# by anonymous auth
#
# if no access controls are present, the default is:
# Allow read by all
#
# rootdn can always write!


#######################################################################
# ldbm database definitions
#######################################################################

database ldbm
suffix "dc=entreprises,dc=fr"
rootdn "cn=root,dc=entreprises,dc=fr"
#rootpw {SSHA}p3cvc9wMO1VKjGVoJ8c6iUk69qhISCmF
rootpw {crypt}ijFYNcSNctBYg
directory /var/lib/ldap
# Indices to maintain
index objectClass,uid,uidNumber,gidNumber,memberUid eq
index cn,mail,surname,givenname eq,subinitial


Lorsque mon fichier de config est comme ci-dessus, je n'ai aucun problème pour arrêter et redémarrer le démon.
En revanche, dès que j'ajoute :

access to * by dn="cn=root,dc=entreprises,dc=fr" write
access to * by * read
allow bind_v2

Il m'est impossible de redémarrer le démon...

Je ne comprends pas pourquoi.

Mathilde
0
Bonjour Dal.

Je vois mon annuaire LDAP dans Outlook!
Dans le champ "Nom", je vois le cn de mon entrée.
Par contre, je voulais savoir quel champ du fichier LDIF correspond à l'adresse mail (actuellement, dans Outlook, l'adresse mail n'est pas renseignée...).
Merci.

Mathilde
0
[Dal] Messages postés 6193 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 4 juillet 2024 1 089
29 mai 2007 à 14:44
Salut Mathilde,

Content que cela fonctionne (accessoirement, quel était le pb ?).

Le champ devrait s'appeler "mail".

Il est définit par inetOrgPerson, qui se trouve dans inetorgperson.schema (que tu as déjà inclus dans ton slapd.conf).

Dans ton fichier ldif, tu dois ajouter

objectClass: inetOrgPerson

à la définition de tes entrées, et tu pourras inclure le champ mail.


Dal
0
Merci !!!

En fait je n'avais dans mon annuaire aucun objet du type Person.
Je pensais qu'Outlook pouvait voir un objet de type OrganizationalUnit par exemple (pour afficher les coordonnées d'un service informatique par exemple).
Mais apparemment ce n'est pas le cas...

Mathilde
0
Par défaut lorsque je fais :
outils
carnet d'adresses

J'ai une fenêtre qui s'ouvre avec sur la droite un encadré où il est écrit : Afficher les noms de : "ldap"
En revanche, je n'ai aucune liste qui apparaît de manière automatique sur cette fenêtre.
C'est seulement lorsque j'utilise la fonction "rechercher" que je vois apparaître des entrée.
Je voulais savoir s'il existait un moyen de faire apparaître par défaut certaines adressses...

Merci.

Mathilde
0
Lorsque je fais une recherche sur le "Nom complet", ça fonctionne correctement.
En revanche lorsque je fais une recherche sur le champ "Service", sans rien mettre dans le champs "Nom complet", outlook ne me retourne aucun résultat.
Le champs service est pourtant correctement renseigné lorsque je sélectionne une entrée dans Outlook...

Mathilde
0
Suite du message précédent :

pour identifier le service, dans le fichier LDIF, j'avais inscrit ou:INFORMATIQUE

Peut-être y a-t-il un champ plus approprié...

Mathilde
0
[Dal] Messages postés 6193 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 4 juillet 2024 1 089 > mathilde
30 mai 2007 à 14:15
Salut Mathilde,

Si ton but est d'afficher cette information sur Outlook, tu as intérêt à te documenter sur le schéma, ou la partie d'un schéma standard, utilisé par Outlook. Si ce n'est pas documenté (ou que celà ne suit aucun standard), il faudra que tu procèdes par tâtonnements.

D'après la RFC 2256, dont est issue la classe "organizationalPerson" (dont hérite inetOrgPerson), https://www.ietf.org/rfc/rfc2256.txt

5.12. ou

   This attribute contains the name of an organizational unit
   (organizationalUnitName).

    ( 2.5.4.11 NAME 'ou' SUP name )


Celà semble donc approprié.

Essaye de remplacer "ou" par "organizationalUnitName", peut-être que Outlook sera plus content, sinon, je ne vois pas.

Note qu'avec le client LDAP de Thunderbird, le schéma standard passe très bien.


Dal
0
[Dal] Messages postés 6193 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 4 juillet 2024 1 089
5 juin 2007 à 14:45
Salut Mathilde,

Un peu de lecture.

man 5 slapd-ldap
man 5 slapd-meta



Dal
0
J'ai les messages suivants :
No entry for slapd-ldap in section 5 of the manual
No entry for slapd-meta in section 5 of the manual

mathilde
0
J'ai trouvé des pages man sur internet.
Je regarde.

Mathilde
0
[Dal] Messages postés 6193 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 4 juillet 2024 1 089
5 juin 2007 à 15:12
Tu n'as peut être pas installé les manuels ?

Procure toi la version des pages de manuel correspondante à ta version du serveur OpenLDAP.

En attendant, voilà les pages de manuel en ligne sur die.net :

https://linux.die.net/man/5/slapd-ldap
https://linux.die.net/man/5/slapd-meta


Dal
0
Merci.

Peut-on écrire les règles de réécriture directement dans slapd.conf (je ne suis pas sûre d'avoir bien compris ce passage : il faut que je me remette à l'anglais !!!)?

Mathilde
0
[Dal] Messages postés 6193 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 4 juillet 2024 1 089
6 juin 2007 à 11:38
Salut Mathilde,

C'est effectivement ce que je comprends, mais le slapd.conf en question est celui définissant le proxy. La directive "uri" mentionne le serveur LDAP pour lequel tu définis le proxy, qui serait, donc, un autre serveur, mais la documentation n'est pas claire sur le point de savoir si une gestion ad hoc est prévue pour le cas où le proxy serait sur la même machine que le serveur visé.

Dans le doute, je suppose qu'en définissant l'uri <hostname[:port]> sur un port différent du port standard et en lançant deux instances différentes du serveur OpenLDAP, tu devrais pouvoir avoir le proxy et le serveur final sur la même machine, chacun avec ses fichiers de configuration respectifs.

Pour le reste, la page de man a l'air complexe, tu trouveras surement plus d'aide sur la liste openldap qu'ici, si tu bloques quelque part. Je ne connais pas de forum ou de liste équivalente francophone sur OpenLDAP.

Si tu arrives à le faire, je serai intéressé de connaitre ta façon de procéder :) et cela sera utile aux autres utilisateurs francophones de OpenLDAP qui se posent les mêmes questions que toi.


Dal
0
N'avez-vous aucune piste à me donner?
Je ne sais par où commencer.
D'avance merci.

Mathilde
-1
[Dal] Messages postés 6193 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 4 juillet 2024 1 089
21 mai 2007 à 19:10
Salut Mathilde,

Je ne connais pas bien Microsoft Outlook.

Cependant, tu pourrais simplement installer ton serveur ldap sous Linux et utiliser les fonctions de Outlook permettant la recherche d'adresses par l'interrogation de serveurs LDAP, au lieu d'exporter le contenu du serveur LDAP vers les contacts Outlook ou de l'importer par je ne sais quel moyen te forçant à une synchronisation.

Sur une version d'Outlook Express dont je dispose, celà se trouve en cliquant sur "Adresses" et sur "Rechercher des personnes". Celà n'est pas très bien pensé pour l'utilisateur, je trouve. Peut-être sur sur d'autres versions d'Outlook c'est mieux.

Sinon, avec une messagerie comme Thunderbird, l'intégration par défaut d'un serveur LDAP dans les requêtes de recherches d'adresses e-mail est possible et c'est vraiment agréable.


Dal
-1
Merci pour cette réponse.
Je vais essayer...

Mathilde
0
Apparemment, Outlook demande le nom de la machine linux.
Comment puis-je lui attribuer un nom?
J'ai son adresse IP mais apparemment, ça ne convient pas à Outlook, il ne trouve pas ma machine.
Je vous remercie pour votre aide.

Mathilde
0