poivron.org - passé/futur

Aller au contenu | Aller au menu | Aller à la recherche

Jabber : un espace de communication libre et affinitaire

Jabber est un protocole de messagerie instantannée libre et décentralisé. Il permet également un haut degré de confidentialité en permettant des communications chiffrés avec le serveur (via SSL) et entre utilisateurs (via GnuPG). Contrairement à ICQ ou MSN, les specifications sont libres, standardisées. Ce protocole fonctionne de façon décentralisée : n'importe qui peut installer son propre serveur Jabber. HOWTO issu de l'expérience jardinière.

Le serveur Jabber installé sur le Poivron est un jabberd 1.4. Cette version est maintenant assez ancienne et très stable. Elle a aussi l'avantage indéniable d'être très bien packagé pour Debian.

J'ai suivi de loin un HOWTO pour la première partie de l'installation, ainsi qu'une documentation dédié à l'installation du chiffrement SSL. Il existe aussi une documentation réalisé par Léa-Linux. L'essentiel du travail a été maché par le développeur Debian responsable des paquets Jabber. On attaque : sudo apt-get install jabber

Ensuite, il faut modifier /etc/jabber/jabber.cfg afin de configurer correctement la variable JABBER_HOSTNAME avec l'adresse du serveur Jabber. Ici, jabber.org.

Le gros de la configuration s'effectue dans le fichier /etc/jabber/jabber.xml. Ce fichier est au format XML, mais ça ne doit effrayer personne, il est très bien documenté et bouré d'exemple.

Première étape, direction jabber/service[id=sessions]/jsm/vCard pour modifier la description du serveur. Elle sera donnée aux clients ou aux serveurs qui la demande. Deuxième étape, enregistrez-vous comme administrateur du serveur dans jabber/service[id=sessions]/jsm/admin en read et write. Troisième étape, rendez-vous jabber/service[id=c2s] afin d'enlèver le port client en clair (<ip port="5222"/>) et on ajoute la version SSL (<ssl port='5223'>xxx.xxx.xxx.xxx</ssl>) avec l'IP du serveur. Dernière modification, dans jabber/io/ssl, il faut rajouter le chemin du certificat X.509 pour notre IP.

On ouvre les ports 5223 (clients SSL) et 5269 (les autres serveurs Jabber) dans le pare-feu et /etc/init.d/jabber restart

Afin de vérifier que le certificat a été correctement lu par le serveur, on utilise la commande openssl s_client -connect poivron.org:5223. Si vous ne voyez que CONNECTED s'afficher, cela veut dire que jabberd n'a pas été capable de lire votre certificat. Commencez par vérifier que le serveur est capable de le lire : votre certificat doit être lisible par le groupe adm.

Si cela marche, on continue avec un client Jabber. Vérifier que la connexion se fait, qu'on peut s'enregistrer, qu'on est bien administrateur, que la communication avec d'autres serveurs Jabber se passe bien.

Pour suivre les recommandations de la spécification, l'étape suivante passe par l'ajout des trois lignes suivantes dans le fichier configurant la zone DNS de Bind :

_xmpp-server._tcp 86400 IN SRV 5 0 5269 poivron.org.
_xmpp-client._tcp 86400 IN SRV 5 0 5223 poivron.org.
_jabber._tcp      86400 IN SRV 5 0 5269 poivron.org.

Dans le cas de poivron, nous n'en avions pas besoin car poivron.org correspondait déjà à l'IP qui héberge le serveur Jabber.

Bon. Mais en attendant que le reste du monde se décide à lâcher tous ces protocoles de communication propriétaire, installons aussi les paserelles vers ICQ et MSN. sudo apt-get install jabber-jit jabber-msn et less /usr/share/doc/jabber-{jit,msn}/README.Debian. Je n'ai eu aucun problème en les suivant, il suffit de rajouter les lignes indiqués dans les bons fichiers de configuration.

Petite astuce générer un secret fiable composé de 20 caractères héxadécimaux : gpg --gen-random 1 20 | xxd -p

Enfin, après un peu de recherche, je suis tombé sur donnant ce qu'il fallait pour réaliser de jolis graphs des connections clients et serveurs avec MRTG.

Trackbacks

Aucun trackback.

Pour faire un tracback sur ce billet : http://poivron.org/blog/tb.php?id=3

Commentaires

Aucun commentaire pour le moment.

Ajouter un commentaire

Le code HTML dans le commentaire sera affiché comme du texte, les adresses internet seront converties automatiquement.