« Plugins de prosody » : différence entre les versions

De Wiki JabberFR
Aller à la navigation Aller à la recherche
(→‎Administration : server_contact_info)
Ligne 84 : Ligne 84 :


=== Plugins venant de prosody-modules ===
=== Plugins venant de prosody-modules ===
===== smacks =====
Le module smacks implémente la XEP-0198 (Stream Management) et permet une reconnexion transparente à une session XMPP déjà en cours. Elle est particulièrement utile sur les réseaux mobiles.
[https://modules.prosody.im/mod_smacks.html Documentation (en anglais)]


===== turncredentials =====
===== turncredentials =====
Ligne 136 : Ligne 142 :
                 "measure_cpu";
                 "measure_cpu";
                 "measure_memory";
                 "measure_memory";
                "log_auth";
                 "measure_client_identities";
                 "measure_client_identities";
                 "measure_client_features";
                 "measure_client_features";
Ligne 142 : Ligne 147 :
                 "measure_message_e2ee";
                 "measure_message_e2ee";
                 "measure_registration";
                 "measure_registration";


=== Exemple de configuration ===
=== Exemple de configuration ===

Version du 16 janvier 2021 à 10:55

Tutoriels prosody

  1. Installation du serveur Jabber prosody
  2. Configuration de base du serveur prosody
  3. Création des comptes avec prosody
  4. Configuration des ports de prosody
  5. Configuration avancée de prosody
  6. Configuration de prosody et Coturn
  7. Intégration de LDAP dans prosody
  8. Configurer les passerelles pour prosody
  9. server2server (s2s) de prosody
  10. Plugins de prosody

Plugins inclus avec prosody

Prosody fournit une configuration de base avec déjà un certain nombre de plugins activés, il est recommandé de garder ces modules, et d’en ajouter d’autres. À titre d’exemple, voici la liste des modules fournies avec prosody 0.11 (les modules préfixés par -- ne sont pas activés) :

modules_enabled = {
                                              
       -- Generally required                                                                  
               "roster"; -- Allow users to have a roster. Recommended ;)
               "saslauth"; -- Authentication for clients and servers. Recommended if you want to log in.
               "tls"; -- Add support for secure TLS on c2s/s2s connections
               "dialback"; -- s2s dialback support       
               "disco"; -- Service discovery                                                  
                                              
       -- Not essential, but recommended
               "carbons"; -- Keep multiple clients in sync
               "pep"; -- Enables users to publish their avatar, mood, activity, playing music and more
               "private"; -- Private XML storage (for room bookmarks, etc.)
               "blocklist"; -- Allow users to block communications with other users
               "vcard4"; -- User profiles (stored in PEP)
               "vcard_legacy"; -- Conversion between legacy vCard and PEP Avatar, vcard
                                                                                              
       -- Nice to have                                                                        
               "version"; -- Replies to server version requests                      
               "uptime"; -- Report how long server has been running
               "time"; -- Let others know the time here on this server
               "ping"; -- Replies to XMPP pings with pongs                     
               "register"; -- Allow users to register on this server using a client and change passwords
               --"mam"; -- Store messages in an archive and allow users to access it
               --"csi_simple"; -- Simple Mobile optimizations         
                                                                                              
       -- Admin interfaces
               "admin_adhoc"; -- Allows administration via an XMPP client that supports ad-hoc commands
               --"admin_telnet"; -- Opens telnet console interface on localhost port 5582
                                                                                              
       -- HTTP modules
               --"bosh"; -- Enable BOSH clients, aka "Jabber over HTTP"
               --"websocket"; -- XMPP over WebSockets
               --"http_files"; -- Serve static files from a directory over HTTP
                                              
       -- Other specific functionality
               --"limits"; -- Enable bandwidth limiting for XMPP connections
               --"groups"; -- Shared roster support                     
               --"server_contact_info"; -- Publish contact information for this service
               --"announce"; -- Send announcement to all online users      
               --"welcome"; -- Welcome users who register accounts
               --"watchregistrations"; -- Alert admins of registrations
               --"motd"; -- Send a message to users when they log in
               --"legacyauth"; -- Legacy authentication. Only used by some old clients and bots.
               --"proxy65"; -- Enables a file transfer proxy service which clients behind NAT can use
}



Fonctionnalités de base

mam

Le module mam, (pour Message Archive Management, la XEP-0313) permet au serveur de garder un historique des messages échangés par l’utilisateur (n’inclut pas ceux échangés dans des salons de discussion, qui gardent leur propre historique). Si votre but est d’avoir un serveur a destination d’utilisateurs grand public, il est fortement recommandé de l’activer, afin d’avoir une bonne expérience utilisateur entre les différents clients.

Administration

admin_telnet

Permet l’administration du serveur via telnet en localhost sur le port 5582. N’importe quel utilisateur unix du serveur peut y accéder, c’est donc une faille de sécurité si quiconque d’autre que les administrateurs du serveur ont un compte dessus.

server_contact_info

Le but de ce module est de fournir un moyen de contact standardisé des administratrices et administrateurs d’un service XMPP. Il est standardisé dans la XEP-0157, et est donc accessible à tous. Il est particulièrement nécessaire quand on veut gérer un serveur ouvert aux inscriptions, puisque si aucun moyen de contact n’est trouvable facilement et que du spam est émis depuis ce domaine, il peut se retrouver dans la liste JabberSPAM.

contact_info = {
       abuse = { "mailto:abuse@example.com", "xmpp:admin1@example.com", "xmpp:admin2@example.com" },
       admin = { "mailto:xmpp@example.com", "xmpp:admin1@example.com", "xmpp:admin2@example.com" },
       feedback = { "xmpp:servicechat@example.com?join" },
       security = { "mailto:security@example.com",  "xmpp:admin1@example.com", "xmpp:admin2@example.com" },
       support = { "xmpp:servicechat@example.com?join" },
}

Plugins venant de prosody-modules

smacks

Le module smacks implémente la XEP-0198 (Stream Management) et permet une reconnexion transparente à une session XMPP déjà en cours. Elle est particulièrement utile sur les réseaux mobiles.

Documentation (en anglais)

turncredentials

Le module turncredentials sert à établir des canaux de discussion audio et vidéo en pouvant passer outre les différentes restrictions réseau en place, notamment sur les réseaux mobiles qui sont très limités.

Son activation requiert la configuration d’un serveur STUN/TURN (à JabberFR, nous avons choisi le serveur coturn), et le partage d’informations dans la configuration de prosody.

turncredentials_host = "votreserveurturn.example.com"
turncredentials_secret = "un secret partagé entre prosody et le serveur turn"

Le secret doit être unique et aléatoire, et vous pouvez en générer un avec la commande openssl rand -base64 32.

Documentation (en anglais)


Plugins concernant l'administration

s2s_blacklist

Le plugin s2s_blacklist permet de maintenir une liste statique de serveurs avec lesquels la communication n’est pas désirée, par exemple parce que les administrateurs ne répondent pas aux requêtes qui leur sont faites pour purger les comptes de spammeurs.

Un bon départ est la liste du dépôt JabberSPAM. La liste lors de l’écriture de cet article est la suivante :

s2s_blacklist = {
   "bashtel.ru",
   "creep.im",
   "darkengine.biz",
   "default.rs",
   "hiddenlizard.org",
   "jabber.cd",
   "jabber.freenet.de",
   "jabber.ipredator.se",
   "jabber.npw.net",
   "jabber.sampo.ru",
   "labas.biz",
   "otr.chat",
   "paranoid.scarab.name",
   "rassnet.org",
   "safetyjabber.com",
   "sj.ms",
   "xmpp.bytesund.biz",
}


Plugins de monitoring

Pour pouvoir obtenir des statistiques sur l’utilisation de son serveur, et ainsi avoir une interface analogue à stats.jabberfr.org, il faut activer les modules suivants :

               "prometheus";
               "measure_cpu";
               "measure_memory";
               "measure_client_identities";
               "measure_client_features";
               "measure_client_presence";
               "measure_message_e2ee";
               "measure_registration";

Exemple de configuration