XMPP - Interface d’administration

9 mai 2021

Alors, vous commencez à avoir un serveur vraiment fonctionnel, vous commencez à imaginez la création de comptes pour vos utilisateurs. En ligne de commande ?

 Accéder à l’administration web du serveur

Dans listen, vérifier que vous avez bien ejabberd_web_admin :

/etc/ejabber/ejabber.yml - listen listen: ... - port: 5280 ip: "::" module: ejabberd_http tls: true protocol_options: 'TLS_OPTIONS' request_handlers: /admin: ejabberd_web_admin /.well-known/acme-challenge: ejabberd_acme

Dans la documentation de web_admin [1], il est indiqué que les droits d’accès à ce module sont définis par l’access_rule nommée configure.

Donc vérifiez que dans access_rules, vous avez bien le groupe configure

/etc/ejabber/ejabber.yml - access_rules access_rules: ... configure: allow: admin

Il autorise le groupe admin. Dans acl ajouter votre utilisateur à la liste admin.

/etc/ejabber/ejabber.yml - acl acl: admin: user: - "poivron@xmpp.poivron-robotique.fr"

Sauvegardez votre fichier, rechargez la configuration de votre serveur. Pour accéder à votre interface d’administration, utilisez votre IP locale. Pour l’instant vous n’avez pas redirigé le port 5280 de votre routeur vers votre serveur. Je ne vous le recommande pas, pour des raisons de sécurité. Et aussi parce que j’ai eu des problèmes avec cette interface lorsque je n’y accédait pas depuis l’adresse locale.

Aussi, vous remarquerez que le module listen active les connexions chiffrées (tls : true). Pour vous connecter à votre interface, utiliser le protocole https !
Essayer avec https://<IP_LOCALE>:5280/admin. Vous devrez rentrer votre identifiant XMPP complet (id@serveur) et votre mot de passe XMPP.

 Gestion des utilisateurs

La configuration actuelle du serveur permet à vos utilisateur de modifier leur mot de passe depuis leur client XMPP. Pour la création/suppression des utilisateurs, ejabberd dispose de deux modules.

Mais d’abord, réfléchissez... Qui peut accéder à votre interface de gestion des utilisateurs ? Vous seul ? Tous le monde ? Une liste d’admin ? Tous vos utilisateurs enregistrés ? Je n’ai pas la réponse à cette question. Voici comment avoir une interface web, accessible depuis votre réseau local.

Créez un lien entre une requête web et le module mod_register_web :

/etc/ejabber/ejabber.yml - listen listen: ... - port: 5280 ip: "::" module: ejabberd_http tls: true protocol_options: 'TLS_OPTIONS' request_handlers: /admin: ejabberd_web_admin /.well-known/acme-challenge: ejabberd_acme /users: mod_register_web

Paramétrez les droits pour le module mod_register. Nous le paramètrerons pour que seules les demandes provenant de notre serveur soient acceptées. Ceci bloque la création de compte depuis le client XMPP (pour éviter le SPAM). Dans les acl, définissez votre groupe loopback comme les ip de votre serveur (la configuration par défaut est suffisante) :

/etc/ejabber/ejabber.yml - acl acl: ... loopback: ip: - 127.0.0.0/8 - ::1/128

Dans access_rules, le groupe trusted_network autorise les connexions provenant des acl loopback.

/etc/ejabber/ejabber.yml - access_rules access_rules: ... trusted_network: allow: loopback

Maintenant, configurer mod_register et activez mod_register_web :

/etc/ejabber/ejabber.yml - modules modules: ... mod_register: ip_access: trusted_network mod_register_web: {}

Note : Si le module mod_register n’accepte les connexions que depuis votre serveur, réalisez bien que mod_register_web est sur votre serveur. Par conséquent, quiconque ayant accès à mod_regster_web pourra créer des utilisateurs (ou essayer de les supprimer).

Note2 : Pour rendre publique mod_register_web tout en protegeant mod_web_admin, vous pouvez changer mod_register_web de port pour le mettre sur 8443 qui est déjà redirigé - si vous avez suivi XMPP - Partager des fichiers efficacement.

 Testez !

Maintenant, connectez-vous à la page : https://<IP_LOCALE>:5280/users/ . Mettez bien le "/" final, sans quoi vous accéderez à la première page mais pas aux suivantes. Si vous avez redirigé le port sur votre routeur, vous pouvez aussi utiliser votre nom de domaine. Essayez de modifier votre mot de passe et de créez vos utilisateurs !


Commentaires

Il n'y a pas de commentaires

Ajouter un commentaire

Pseudo :
Mail :

Texte :

Copyright "POIVRON" 2011-2023, tous droits réservés
Administration du site