Archives de catégorie : annuaire

Tunnel TLS pour ldap

Il y a semble-t-il un bugg récent assez gênant sur la libraire GnuTLS sous Debian 7. Suite à une mauvaise implémentation semble-t-il au niveau de la négociation des algorithmes de chiffrement, il est impossible de générer ou d’utiliser des certificats pour les programmes qui utilisent cette librairie. Et c’est le cas notamment de slapd, le serveur d’annuaire LDAP (OpenLDAP) sous UNIX.

Le problème aurait pu passer presque inaperçu… mais il y eu heartbleed…Et il se trouve donc qu’un certain nombre d’admins systèmes ont dû changer très rapidement les certificats de leurs serveurs, et ont dû tomber sur ce problème.

Il devient ainsi impossible de relier un serveur de messagerie ou un serveur web avec un annuaire LDAP utilisant OpenLDAP. J’ai notamment le problème avec mon serveur postfix

Il est possible de ne pas utiliser la connexion à l’annuaire via TLS. C’est potentiellement un gros problème de sécurité en fonction des différents réseaux que vont traverser ces flux. Bref, ont n’a plus de sécurité sur un flux qui contient toute l’authentification du réseau. C’est assez moyen.

Il est aussi possible de mettre en place une solution de remplacement avec stunnel. Cela revient en fait à faire manuellement la connexion et le tunnel sécurisé par TLS. En plus, on peut conserver les mêmes certificats que le démon slapd.

Côté serveur

Il faut commencer par désactiver l’utilisation du port tcp/636. Pour cela, il faut modifier une ligne dans le fichier /etc/default/slapd :
SLAPD_SERVICES="ldap://127.0.0.1:389/"

Redémarrer le démon slapd.

Ensuite,on concatène le certificat et sa clé dans un seul fichier :
cat /etc/ssl/private/slapd.key /etc/ssl/certs/slapd.crt > /etc/ssl/private/slapd-all.crt

Enfin, on crée le bout du tunnel côté serveur, en réutilisant le certificat :
stunnel -d 636 -r 127.0.0.1:389 -p /etc/ssl/private/slapd-all.crt

Côté client

Le client, c’est le service qui utilise l’annuaire LDAP, par exemple postfix.

On crée le bout du tunnel côté client :
stunnel -c -d 6389 -r ldap.serveur.net:636

Enfin, on dit au client, en l’occurrence postfix, d’utiliser le tunnel. Modifier le fichier /etc/postfix/main.cf (ou équivalent) :
account_server_host = ldap://localhost:6389/

Et on redémarre postfix

CF : https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=737921

Continuer la lecture de Tunnel TLS pour ldap

Nouveaux serveurs

Je profite de la disponibilité récente de machines virtuelles (VPS) chez OVH à des tarifs vraiment abordables pour scinder des services du serveur zulu :

  1. xray : serveur d’annuaire LDAP, Debian Linux 7.0 ;
  2. whisky : serveur de messagerie (smtp+xmpp+webmail), Debian Linux 7.0.

Le serveur annuaire est opérationnel mais pas encore exploité. Le serveur de messagerie est encore en cours de configuration. Pour ce dernier, je pensais utiliser Kolab, mais au vue des problèmes de configuration pour exporter l’annuaire sur un autre serveur je reviens à Horde

L’annuaire est un service critique pour plusieurs autres services comme la messagerie, les blogs et le wikis.

La messagerie est un point, que dis-je, LE point de vulnérabilité commun à tous les services que l’on utilise sur Internet. Ils ont tous en commun de demander une adresse email de secours sur laquelle on peut recevoir le nécessaire pour réinitialiser les mots de passes. Cela concerne les réseaux sociaux comme facebook et twitter, mais aussi google, gmail, yahoo, live, les assurances, les impôts, les sites marchants, les banques, etc…