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édentes Révision précédente
Prochaine révision
Révision précédente
admin:services:xmpp.chapril.org [2019/06/15 15:09]
pitchum [Première installation]
admin:services:xmpp.chapril.org [2021/03/06 17:03] (Version actuelle)
neox Installer Biboumi
Ligne 1: Ligne 1:
 +
 ====== Service xmpp.chapril.org ====== ====== Service xmpp.chapril.org ======
 +
  
 ===== Aspects notables de cette instance XMPP ===== ===== Aspects notables de cette instance XMPP =====
  
-''​TODO''​+==== Identifiants XMPP ====
  
-  * durée de rétention ​des données http_upload +Les comptes créés ont des identifiants ​de la forme //​pseudo@chapril.org//​.
-  * les règles ​de modération à l'​inscription+
  
-===== Routage ​=====+==== Lutte anti-spam/​anti-bot ​==== 
 + 
 +L'​inscription au service est ouverte à tout le monde. 
 +Il y a actuellement deux mécanismes qui peuvent un peu limiter les abus. 
 + 
 +Actuellement l'​inscription ne peut se faire qu'à travers un client XMPP, ce qui rend déjà la tâche de création de comptes un peu plus compliquée que si c'​était faisable par un formulaire Web classique. 
 +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 é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).  
 +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 ==== 
 + 
 +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 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. 
 + 
 +==== Données personnelles ==== 
 + 
 +<note important>​**TODO** 
 +Lister les mesures mises en œuvre pour limiter la fuite de données personnelles et décrire clairement ce qui ne peut pas être protégé (par ex. les admins auront toujours la possibilité de savoir quel compte à déposé quel fichier via http_upload) 
 +</​note>​ 
 + 
 + 
 +===== Intégration du service dans l'​infra Chapril ===== 
 + 
 +==== Routage ​====
  
 Les ports à ouvrir : Les ports à ouvrir :
Ligne 15: 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
  
-Les vhosts pour nginx et letsencrypt ​:+<note important>​**TODO** ​clarifier la situation actuelle concernant le routage IPv6</​note>​
  
-  * xmpp.chapril.org +==== Certificats SSL ====
-  * muc.xmpp.chapril.org +
-  * pubsub.xmpp.chapril.org +
-  * upload.xmpp.chapril.org +
-  * proxy.xmpp.chapril.org+
  
-Les enregistrements DNS :+Le service XMPP n'​étant pas un simple service Web comme la plupart des autres services Chapril, il a nécessité quelques adaptations dans la façon de gérer les certificats letsencrypt.
  
-<code> +<note important>**TODO** : détailler la génération de certificats DNS
-xmpp                         ​IN ​     A       ​xxxxxxxxxx +
-muc.xmpp ​                    ​IN ​     CNAME   ​xmpp +
-echo.xmpp ​                   IN      CNAME   ​xmpp +
-pubsub.xmpp ​                 IN      CNAME   ​xmpp +
-upload.xmpp ​                 IN      CNAME   ​xmpp +
-;​proxy.xmpp ​                  ​IN ​     CNAME   xmpp+
  
 +En attendant, [[admin:​services:​mumble.chapril.org#​configuration_certificat|la doc correspondante pour mumble]] devrait suffire (à mutualiser peut-être ?)
  
-_xmpp-server._tcp.xmpp.chapril.org. ​        ​86400 ​  ​IN      SRV 10 10 5269  xmpp.chapril.org. +  ​* pourquoi du DNS-challenge sur xmpp et du HTTP-challenge sur bastion ? 
-_xmpp-client._tcp.xmpp.chapril.org. ​        ​86400 ​  ​IN ​     SRV 10 10 5222  xmpp.chapril.org. +  ​* pourquoi du wildcard plutôt qu'une une liste exhaustive de AltNames ?
-_xmpps-client._tcp.xmpp.chapril.org. ​       86400   ​IN ​     SRV  5 10 5223  xmpp.chapril.org. +
-; un jour peut-être, pour les flux audio/​vidéo +
-;​_stun._udp.xmpp.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.+
  
-_xmppconnect.xmpp.chapril.org. ​  ​86400 ​  ​IN ​     TXT        "​_xmpp-client-xbosh=https://​xmpp.chapril.org/​bosh"​ + 
-_xmppconnect.xmpp.chapril.org. ​  ​86400 ​  ​IN ​     TXT        "​_xmpp-client-websocket=wss://​xmpp.chapril.org/​ws"​+  * sur bastion 
 +    * xmpp.chapril.org : uniquement pour le site Web et pour le service de partage de fichiers http_upload 
 +  * sur xmpp 
 +    * chapril.org 
 +    * *.chapril.org (wildcard) 
 +</​note>​ 
 + 
 +==== Enregistrements DNS ==== 
 + 
 +<code bind> 
 +xmpp                    IN      A       ​xxxxxxxxxx 
 +muc                     ​IN ​     CNAME   ​xmpp 
 +echo                    IN      CNAME   ​xmpp 
 +pubsub-xmpp ​            ​IN ​     CNAME   ​xmpp 
 +upload-xmpp ​            ​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-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. 
 +_stun._udp.chapril.org. ​               86400   ​IN ​     SRV 10 10 3478  xmpp.chapril.org. 
 +_stun._tcp.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-websocket=wss://​xmpp.chapril.org/​ws"​
  
 </​code>​ </​code>​
Ligne 58: Ligne 105:
 </​code>​ </​code>​
  
-Puis, après avoir activé le dépôt [[https://​backports.debian.org/​news/​stretch-backports/|Debian stretch-backports]] (pour avoir une version ejabberd pas trop vieille) :+Puis, après avoir activé le dépôt [[https://​backports.debian.org/​Instructions/|Debian stretch-backports]] (pour avoir une version ejabberd pas trop vieille) :
  
 <code bash> <code bash>
Ligne 67: Ligne 114:
 psql -U ejabberd -h localhost ejabberd < /​usr/​share/​ejabberd/​sql/​pg.new.sql psql -U ejabberd -h localhost ejabberd < /​usr/​share/​ejabberd/​sql/​pg.new.sql
 </​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
 +</​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 ====
 +
 +Pour supprimer définitivement un compte :
 +<code bash>
 +sudo -u ejabberd ejabberdctl unregister <​username>​ chapril.org
 +</​code>​
 +
  
 ===== Maintenance ===== ===== Maintenance =====
  
 +==== Consulter les logs ====
  
 +<code bash>
 +tail -f /​var/​log/​ejabberd/​ejabberd.log | ccze -A
 +</​code>​
 +
 +==== 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>
 +sudo -u ejabberd ejabberdctl reload_config
 +</​code>​
 +
 +Autre possibilité : augmenter temporairement la verbosité avec la commande :
 +<code bash>
 +sudo -u ejabberd ejabberdctl set_loglevel loglevel ​
 +</​code>​
 +
 +
 +==== 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>
 +systemctl restart biboumi
 +</​code>​
 +
 +==== Consulter l'​état global du service ====
 +
 +<​note>​Les commandes ci-dessous peuvent être utilisées pour créer des sondes de métrologie et/ou de supervision.
 +
 +La liste exhaustive des commandes possibles : <​code>​sudo -u ejabberd ejabberdctl help | less</​code>​
 +
 +</​note>​
 +
 +**Lister les connexions établies avec d'​autres serveurs XMPP (aka. connexions s2s)**
 +
 +<code bash>
 +sudo -u ejabberd ejabberdctl incoming_s2s_number
 +sudo -u ejabberd ejabberdctl outgoing_s2s_number
 +</​code>​
 +
 +**Nombre de comptes**
 +
 +Nombre total de comptes créés et nombre de sessions actives.
 +Attention, il peut y avoir plusieurs sessions simultanées pour un même compte.
 +
 +<code bash>
 +sudo -u ejabberd ejabberdctl registered_users chapril.org | wc -l
 +sudo -u ejabberd ejabberdctl connected_users_number
 +</​code>​
admin/services/xmpp.chapril.org.1560604179.txt.gz · Dernière modification: 2019/06/15 15:09 par pitchum