Outils pour utilisateurs

Outils du site


admin:services:xmpp.chapril.org

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
admin:chatons:xmpp [2019/10/19 07:36] – [Maintenance] pitchumadmin:services:xmpp.chapril.org [2024/03/13 09:55] (Version actuelle) – [Désactiver un compte] update syntax for command "ban_account" pitchum
Ligne 2: Ligne 2:
 ====== Service xmpp.chapril.org ====== ====== Service xmpp.chapril.org ======
  
-<note important>**TODO** 
- 
-  * définir une durée de rétention des données http_upload (1 an pour l'instant) 
-  * définir des quotas de stockage des données http_upload (200Mo pour l'instant) 
-  * définir les règles de modération à l'inscription (aucune pour l'instant) 
-  * personnaliser le message d'accueil reçu automatiquement sur le client XMPP lors de la création du compte 
-</note> 
  
 ===== Aspects notables de cette instance XMPP ===== ===== Aspects notables de cette instance XMPP =====
Ligne 24: Ligne 17:
 Attention donc le jour où on envisage d'activer le module [[https://docs.ejabberd.im/admin/configuration/#mod-register-web|mod_register_web]]. Attention donc le jour où on envisage d'activer le module [[https://docs.ejabberd.im/admin/configuration/#mod-register-web|mod_register_web]].
  
-Lors de l'inscription un captcha simpliste est présenté, limitant ainsi la création de comptes massive par des bots. +Lors de l'inscription un captcha évolué est présenté, limitant ainsi la création de comptes massive par des bots, car posant une question variable et demandant une manipulation de l'information présentée (par exemple addition, suppression de chiffres dans un nombre, etc).  
-Cela dit le captcha est réellement simpliste et il n'est pas impossible qu'un jour des bots soient capables de le déjouer.+En supplément, on limite le nombre de captcha émis par IP avec la règle [[https://docs.ejabberd.im/admin/configuration/toplevel/#captcha-limit|captcha_limit]], configurée à 10 dans le fichier de configuration d'ejabberd, qui limite le nombre de captcha émis par JID/IP par minute.
  
 ==== Quotas de stockage ==== ==== Quotas de stockage ====
  
-Les données partagées (photos, vidéos, pdf, ...) sont stockées pendant 365 jours maximum.+Les données partagées (photos, vidéos, pdf, ...) sont stockées pendant 380 jours maximum
 +C'est un peu plus qu'une année et ça peut être utile par exemple à un repas de famille annuel où on aimerait revoir une photo prise l'an passé.
  
-Chaque compte dispose d'un quota de 200 Mo pour ces données.+Chaque compte dispose d'un quota de 500 Mo pour ces données.
 Le mécanisme de quota dans ejabberd n'est pas bloquant, lorsqu'un nouveau fichier est envoyé et que le quota du compte est atteint alors ejabberd supprime le ou les plus anciens fichiers de ce compte pour libérer suffisamment de place pour le nouveau fichier. Le mécanisme de quota dans ejabberd n'est pas bloquant, lorsqu'un nouveau fichier est envoyé et que le quota du compte est atteint alors ejabberd supprime le ou les plus anciens fichiers de ce compte pour libérer suffisamment de place pour le nouveau fichier.
  
Ligne 50: Ligne 44:
   * TCP 5223 : xmpps-client   * TCP 5223 : xmpps-client
   * TCP 5269 : xmpp-server   * TCP 5269 : xmpp-server
 +  * TCP 3478 : _stun et _turn
 +  * TCP 5349 : _stuns et _turns
  
 <note important>**TODO** : clarifier la situation actuelle concernant le routage IPv6</note> <note important>**TODO** : clarifier la situation actuelle concernant le routage IPv6</note>
Ligne 58: Ligne 54:
  
 <note important>**TODO** : détailler la génération de certificats DNS <note important>**TODO** : détailler la génération de certificats DNS
 +
 +En attendant, [[admin:services:mumble.chapril.org#configuration_certificat|la doc correspondante pour mumble]] devrait suffire (à mutualiser peut-être ?)
  
   * pourquoi du DNS-challenge sur xmpp et du HTTP-challenge sur bastion ?   * pourquoi du DNS-challenge sur xmpp et du HTTP-challenge sur bastion ?
Ligne 78: Ligne 76:
 pubsub-xmpp             IN      CNAME   xmpp pubsub-xmpp             IN      CNAME   xmpp
 upload-xmpp             IN      CNAME   xmpp upload-xmpp             IN      CNAME   xmpp
-;proxy                   IN      CNAME   xmpp+irc                     IN      CNAME   xmpp 
 +;proxy                  IN      CNAME   xmpp
  
 _xmpp-server._tcp.chapril.org.         86400   IN      SRV 10 10 5269  xmpp.chapril.org. _xmpp-server._tcp.chapril.org.         86400   IN      SRV 10 10 5269  xmpp.chapril.org.
 _xmpp-client._tcp.chapril.org.         86400   IN      SRV 10 10 5222  xmpp.chapril.org. _xmpp-client._tcp.chapril.org.         86400   IN      SRV 10 10 5222  xmpp.chapril.org.
 _xmpps-client._tcp.chapril.org.        86400   IN      SRV  5 10 5223  xmpp.chapril.org. _xmpps-client._tcp.chapril.org.        86400   IN      SRV  5 10 5223  xmpp.chapril.org.
-; un jour peut-être, pour les flux audio/vidéo +_stun._udp.chapril.org.                86400   IN      SRV 10 10 3478  xmpp.chapril.org. 
-;_stun._udp.xmpp.chapril.org.                86400   IN      SRV 10 10 3478  xmpp.chapril.org. +_stun._tcp.chapril.org.                86400   IN      SRV 10 10 3478  xmpp.chapril.org. 
-;_stun._udp.jabber.xmpp.chapril.org.         86400   IN      SRV 10 10 3478  xmpp.chapril.org.+_stuns._tcp.chapril.org.               86400   IN      SRV 10 10 5349  xmpp.chapril.org. 
 +_turn._tcp.chapril.org.                86400   IN      SRV 10 10 3478  xmpp.chapril.org. 
 +_turn._udp.chapril.org.                86400   IN      SRV 10 10 3478  xmpp.chapril.org. 
 +_turns._tcp.chapril.org.               86400   IN      SRV 10 10 5349  xmpp.chapril.org.
  
 _xmppconnect.chapril.org.   86400   IN      TXT        "_xmpp-client-xbosh=https://xmpp.chapril.org/bosh" _xmppconnect.chapril.org.   86400   IN      TXT        "_xmpp-client-xbosh=https://xmpp.chapril.org/bosh"
Ligne 113: Ligne 115:
 </code> </code>
  
 +Pour le pont XMPP/IRC Biboumi : 
 +<code bash>
 +sudo apt install biboumi
 +</code>
 +
 +<note>
 +**TODO** lister les principaux éléments de configuration dans le fichier ///etc/ejabberd/ejabberd.yml//
 +</note>
 +
 +===== Modération =====
 +
 +==== Désactiver un compte ====
 +
 +Génère un mot de passe aléatoire pour un compte et ferme immédiatement toutes les sessions actives de ce compte .
 +(encore jamais testé)
 +
 +<code bash>
 +sudo -u ejabberd ejabberdctl ban_account <username> chapril.org "Raison du bannissement"
 +</code>
 +
 +Si besoin de réactiver le compte, il faut lui affecter un nouveau mot de passe (il n'est pas possible de restaurer le précédent) et le communiquer à son propriétaire.
 +
 +<code bash>
 +sudo -u ejabberd ejabberdctl change_password <username> chapril.org <nouveau_mot_de_passe>
 +</code>
 +
 +==== Supprimer un compte ====
 +
 +Pour supprimer définitivement un compte :
 +<code bash>
 +sudo -u ejabberd ejabberdctl unregister <username> chapril.org
 +</code>
 +
 +
 +==== Retirer des messages inappropriés dans un salon ====
 +
 +Actuellement, ''ejabberd'' ne prend pas encore en charge la XEP-0425: Message Moderation (cf. [[https://github.com/processone/ejabberd/issues/3730|github#3730]]).
 +
 +Donc en attendant, pour nettoyer d'éventuels messages inappropriés on est limité :
 +  * on peut retirer/modifier les message dans l'archive MAM, donc ça n'aura aucun effet sur les clients XMPP qui auraient déjà reçu les messages en question
 +  * il faut nettoyer à la main directement en BDD, donc il faut être très prudent et bien cibler exactement les messages incriminés
 +
 +Procédure suggérée, issue d'un expérience vécue.
 +
 +Un compte spammeur du serveur ''otherserver.net'' a posté sur plusieurs salons Chapril des images dont l'url commence par ''<nowiki>https://otherxmpp.net:5443/upload/</nowiki>'', dans la nuit du 18 au 19 février.
 +
 +Cet url se retrouve dans les colonnes ''archive.xml'' et ''archive.txt'', c'est donc dans ces colonnes qu'il faut faire du ménage.
 +
 +<code sql>
 +-- Identifier les lignes ayant besoin d'être corrigées.
 +SELECT id, nick, bare_peer, txt, xml, created_at
 +FROM archive 
 +WHERE kind = 'groupchat'
 +AND bare_peer LIKE '%@otherserver.net'
 +AND created_at > now() - interval '1 day'
 +</code>
 +
 +Récupérer les ''id'' des messages inappropriés (par exemple : 30787317,30787332,30787341,30787229,30787205) et les réutiliser dans la requête //UPDATE// qui suit :
 +
 +<note important>Attention, ici on écrit directement dans la BDD, avec nos petites mains maladroites.
 +Bien penser à vérifier qu'on a la bonne clause //WHERE// au moment de faire //UPDATE ...//.</note>
 +
 +<code sql>
 +UPDATE archive 
 +SET
 +  xml = regexp_replace(xml, '<body>.*</body>', '<body>Message retiré par l''équipe de modération</body>'),
 +  txt = 'Message retiré par l''équipe de modération'
 +WHERE id IN (30787317,30787332,30787341,30787229,30787205);
 +</code>
  
 ===== Maintenance ===== ===== Maintenance =====
Ligne 122: Ligne 193:
 </code> </code>
  
-==== Relancer le service ====+==== Augmenter la verbosité des logs ==== 
 + 
 +Ouvrir le fichier ///etc/ejabberd/ejabberd.yml// et passer le paramètre //loglevel: 3// à 4 ou 5 pour avoir plus d'infos. 
 + 
 +Pour prendre en compte le changement sans redémarrer le service :
  
 <code bash> <code bash>
-systemctl restart ejabberd+sudo -u ejabberd ejabberdctl reload_config
 </code> </code>
  
-==== Désactiver un compte ====+Autre possibilité : augmenter temporairement la verbosité avec la commande : 
 +<code bash> 
 +sudo -u ejabberd ejabberdctl set_loglevel loglevel  
 +</code>
  
-Génère un mot de passe aléatoire pour un compte et ferme immédiatement toutes les sessions actives de ce compte . 
-(encore jamais testé) 
  
 +==== Relancer le service ====
 +
 +Recharger le service sans interruption (après avoir modifié une configuration par exemple) :
 +
 +<code bash>
 +sudo -u ejabberd ejabberdctl reload_config
 +</code>
 +
 +Sinon, quand on n'a pas le choix, stopper et relancer le service (avec quelques secondes d'interruption) :
 +<code bash>
 +systemctl restart ejabberd
 +</code>
 +
 +Pour le pont XMPP/IRC Biboumi: 
 <code bash> <code bash>
-sudo -u ejabberd ejabberdctl ban_account <username> chapril.org+systemctl restart biboumi
 </code> </code>
  
admin/services/xmpp.chapril.org.1571470561.txt.gz · Dernière modification : 2019/10/19 07:36 de pitchum