Mise en Place Du Serveur Jabber Prosody Sous Debian

Prosody est un serveur jabber (xmpp). Il permet donc la mise en place d’un serveur de messagerie. On va donc pouvoir déployé un service de communication privé associé au nom de domaine de son choix.

Ce qui va, en autres avantages (TLS, gestion des logs, envoie de fichier, salon de discution, client de son choix), d’avoir le contrôle sur ses communications. Pas de GAFAM à l’écoute. Pas d’indiscretion.

Installation

On peu ajouter le dépot du projet afin de disposer d’une version plus à jour.

en root:

echo "deb https://packages.prosody.im/debian stretch main" >> /etc/apt/source.list.d/prosody.list
wget https://prosody.im/files/prosody-debian-packages.key -O- | sudo apt-key add -
apt update

ensuite on install:

apt install prosody

Configuration

Coté serveur

On identifi la partie suivante dans le fichier /etc/prosody/prosody.lua :

disco_items = {
        {
                "muc.mondomaine.tld" --multi user chat
        },{
                "pubsub.mondomaine.tld" -- fonction de micro-blogging
        }
};

Ensuite, on configure crée le fichier /etc/prosody/conf.avail/mondomaine.tld.cfg.lua

VirtualHost "mondomaine.tld"
        enabled = true;
        ssl = {
                key = "/etc/prosody/certs/mondomaine.tld.key";
                certificate = "/etc/prosody/certs/mondomaine.tld.crt";
        }
        http_host = "xmpp.mondomaine.tld";
        archive_expires_after = "1w";
        default_archive_policy = "roster";


VirtualHost "anonymous.mondomaine.tld"
        enabled = true;
        authentication = "anonymous";
        allow_anonymous_multiresourcing = true;
        allow_anonymous_s2s = true;
        anonymous_jid_gentoken = "XMPP Anonymous User";
        anonymous_randomize_for_loopback = true;

Component "muc.mondomaine.tld" "muc"
        name = "Salons de discution du serveur XMPP !";
        modules_enabled = {
--              "muc_limits";
        };
        muc_event_rate = 0.5;
        muc_burst_factor = 10;

Component "pubsub.mondomaine.tld" "pubsub"
        name = "Service de publication / souscription";

et on crée un lien depuis le répertoire /etc/prosody/conf.d qui pointera vers le fichier de config.

cd /etc/prosody/conf.d
ln -s /etc/prosody/conf.avail/mondomaine.tld.cfg.lua

Création des utilisateurs

prosodyctl adduser nithir

Coté registrar

On déclare l’ensemble des domaines dans la zone concerné :

muc.mondomaine.tld
anonymous.mondomaine.tld
pubsub.mondomaine.tld

Le cas de mondomaine.tld est particulier. Il va falloir ajouter quelque parametre :

_xmpp-client._tcp IN SRV 5 5222 mondomaine.tld.
_xmpp-server._tcp IN SRV 5 5269 mondomaine.tld.

On déclare donc les ports associé au service xmpp. 5269 ici est la version chiffré par TLS du service.

Coté client

On configure le sevice sur mondomaine.tld sur le port 5269.

Liste de client

  • android
    • conversation
  • linux
    • pidgin
    • profanity (cli)
    • telepathy