Forum Linux.général Serveur XMPP : PROSODY

Posté par  . Licence CC By‑SA.
Étiquettes :
0
28
mai
2017

Bonjour à tous,

Je tente en ce moment de mettre en place un serveur XMPP sur raspbian.

J'utiliserai dans un premier temps les clients :
smartphone : "Xabber Classic"
pc (debian) : pigdin

J'ai suivi le tuto suivant mais ça ne suffi pas à priori :
Prosody debian-facile

Je viens de voir ce tuto : XMPP linuxfr.org

Je n'arrive pas à me connecter même en local. Le moyen à priori classique est une connexion en SSL.

Jusqu'ici j'ai configuré iptables avec fail2ban pour les connexions ssh vers ma raspi :

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
fail2ban-ssh  tcp  --  anywhere             anywhere             multiport dports 4448
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:xmpp-client
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:xmpp-server
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:5223

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:xmpp-client
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:xmpp-server
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:5223

Chain fail2ban-ssh (1 references)
target     prot opt source               destination         
RETURN     all  --  anywhere             anywhere 

Je n'ai pas investigué avec wireshark encore mais je ne vois pas ce qui bloque, j'ai ouvert les ports 5222, 5223 et 5269 sur la box de la maison.

J'ai testé avec xabber classic et pidgin mais je n'arrive pas à me connecter au serveur prosody

Auriez-vous des conseils ?

Merci d'avance.

  • # Réponse

    Posté par  . Évalué à 1.

    Peut être cette partie ?

    _xmpp-client._tcp.jabber        IN      SRV     0 5 5222 host.exemple.com.
    _xmpp-server._tcp.jabber        IN      SRV     0 5 5269 host.exemple.com.
    
  • # Logs

    Posté par  . Évalué à 1.

    Logs prosody et client aussi, peux-tu nous les envoyer ?

    • [^] # Re: Logs

      Posté par  . Évalué à 1.

      J'ai regardé ici mais je n'arrive pas à trouver les logs de pidgin : Lien pidgin

      Je cherche pour prosody

      • [^] # Re: Logs

        Posté par  . Évalué à 2. Dernière modification le 29 mai 2017 à 08:43.

        Voici /var/log/prosody/prosody.log :

        May 28 19:21:17 general info    Hello and welcome to Prosody version 0.9.7
        May 28 19:21:17 general info    Prosody is using the select backend for connection handling
        May 28 19:21:17 portmanager     info    Activated service 's2s' on [::]:5269, [*]:5269
        May 28 19:21:17 portmanager     info    Activated service 'c2s' on [::]:5222, [*]:5222
        May 28 19:21:17 portmanager     info    Activated service 'legacy_ssl' on no ports
        May 28 19:21:17 mod_posix       info    Prosody is about to detach from the console, disabling further console output
        May 28 19:21:17 mod_posix       info    Successfully daemonized to PID 13088
        

        Voici /var/prosody/prosody.err :

            May 28 16:50:23 certmanager     error   SSL/TLS: Failed to load '/etc/prosody/certs/example.com.key': Previous error (see logs), or other system error. (for conference.example$
            May 28 16:50:23 conference.example.com:tls      error   Unable to initialize TLS: error loading private key (system lib)
            May 28 17:01:47 certmanager     error   SSL/TLS: Failed to load '/etc/prosody/certs/example.com.key': Check that the path is correct, and the file exists. (for conference.exam$
            May 28 17:01:47 conference.example.com:tls      error   Unable to initialize TLS: error loading private key (No such file or directory)
            May 28 17:01:47 certmanager     error   SSL/TLS: Failed to load '/etc/prosody/certs/example.com.key': Previous error (see logs), or other system error. (for conference.example$
            May 28 17:01:47 conference.example.com:tls      error   Unable to initialize TLS: error loading private key (system lib)
            May 28 17:28:17 localhost:tls   error   Unable to initialize TLS: No SSL/TLS configuration present for localhost
            May 28 17:28:17 localhost:tls   error   Unable to initialize TLS: No SSL/TLS configuration present for localhost
            May 28 18:43:55 certmanager     error   SSL/TLS: Failed to load '/etc/prosody/certs/xmpp.domaine.org.cert': Check that the path is correct, and the file exists. (for xmpp.free$
            May 28 18:43:55 xmpp.domaine.org:tls    error   Unable to initialize TLS: error loading certificate (No such file or directory)
            May 28 18:43:55 certmanager     error   SSL/TLS: Failed to load '/etc/prosody/certs/xmpp.domaine.org.cert': Check that the path is correct, and the file exists. (for xmpp.free$
            May 28 18:43:55 xmpp.domaine.org:tls    error   Unable to initialize TLS: error loading certificate (No such file or directory)
        

        Bon maintenant que je vois les logs je vais peut être pouvoir analyser mon problème, …

        Par contre les logs de pidgin, … dans /var/log pas de trace de log ni dans ~/.purple/…

        • [^] # Re: Logs

          Posté par  . Évalué à 2.

          May 28 16:50:23 certmanager error SSL/TLS: Failed to load '/etc/prosody/certs/example.com.key'

          je crois que le message est clair,
          tu veux faire du SSL mais
          - soit tu n'as pas configuré de clef et certificat SSL pour ton serveur
          - soit le fichier n'a pas le bon nom
          - soit le fichier n'a pas les bons droits

          • [^] # Re: Logs

            Posté par  . Évalué à 1.

            Le fichier n'a pas les bons droit est plus probable, que faut-il donner comme droit ?

            • [^] # Re: Logs

              Posté par  . Évalué à 2.

              Le fichier n'a pas les bons droit est plus probable

              donc tu as trouvé le fichier au bon endroit ?

              que faut-il donner comme droit ?

              ceux indiquer dans la documentation de prosody :D

              • [^] # Re: Logs

                Posté par  . Évalué à 1.

                J'ai donné les droits suivants :

                chmod 600 /etc/prosody/certs/exemple.tld.key
                chown prosody:prosody /etc/prosody/certs/exemple.tld.key
                chown prosody:prosody /etc/prosody/certs/exemple.tld.crt
                

                Toujours pas de succès

                • [^] # Re: Logs

                  Posté par  . Évalué à 2.

                  Ces fichiers existent vraiment ? Question bête mais il ne me semble pas avoir vu de certificats et clefs installées par prosody.

                  C’est une étape à faire sois-même… ou laisser certbot (Let's Encrypt) le faire, puis déployer au bon endroit.

                  • [^] # Re: Logs

                    Posté par  . Évalué à 1.

                    Je me suis trompé dans le nom de mon serveur, pardons pour le post.

  • # Pas de certificats

    Posté par  . Évalué à 2.

    Salut,

    Tu dois avoir de quoi chiffrer les flux en SSL.
    let's encrypt devrait régler ton problème.

    Sinon pour tester génère un auto-signer.

    • [^] # Re: Pas de certificats

      Posté par  . Évalué à 1.

      J'avais generé un certificat auto-signé mais meme avec ca ca ne voulais pas.

      En fait sous pidgin, j'ai 3 options de type de connexion.
      -Authentification crpyté
      -Crypté si possible
      -SSL

      Voila, mais je ne vois pas d'ou le problème peut venir. De la generation des clés par OpenSSL ?

      • [^] # Re: Pas de certificats

        Posté par  (site web personnel) . Évalué à 2.

        Voila, mais je ne vois pas d'ou le problème peut venir. De la generation des clés par OpenSSL ?

        côté serveur, au vu des logs ci-dessus.

        • [^] # Re: Pas de certificats

          Posté par  . Évalué à 1.

          Voici mes nouveaux logs :

          pas de prosody.err mais prosody.log :

          May 29 11:56:16 mod_posix       warn    Received SIGTERM
          May 29 11:56:16 general info    Shutting down: Received SIGTERM
          May 29 11:56:16 general info    Shutting down...
          May 29 11:56:16 general info    Shutdown status: Cleaning up
          May 29 11:56:16 general info    Shutdown complete
          May 29 11:56:16 general info    Hello and welcome to Prosody version 0.9.7
          May 29 11:56:16 general info    Prosody is using the select backend for connection handling
          May 29 11:56:16 portmanager     info    Activated service 's2s' on [::]:5269, [*]:5269
          May 29 11:56:16 portmanager     info    Activated service 'c2s' on [::]:5222, [*]:5222
          May 29 11:56:16 portmanager     info    Activated service 'legacy_ssl' on no ports
          May 29 11:56:16 mod_posix       info    Prosody is about to detach from the console, disabling further con$
          May 29 11:56:16 mod_posix       info    Successfully daemonized to PID 14799
          

          J'ai utilisé cette commande pour générer mes clés :

          prosodyctl cert generate mondomaine.org
          Résultat :

          root@raspberrypi:/etc/prosody/certs# prosodyctl cert generate mondomaine.org
          Choose key size (2048): 
          Generating RSA private key, 2048 bit long modulus
          .............................................................................................................................................+++
          .....+++
          e is 65537 (0x10001)
          Key written to /var/lib/prosody/mondomaine.org.key
          Please provide details to include in the certificate config file.
          Leave the field empty to use the default value or '.' to exclude the field.
          
          Config written to /var/lib/prosody/mondomaine.org.cnf
          Certificate written to /var/lib/prosody/mondomaine.org.crt
          

          Il doit y avoir une erreur sur la génération de la clé !! Arret brusque et puis "e is 65537 (0x10001)"

          • [^] # Re: Pas de certificats

            Posté par  . Évalué à 1.

            Pour moi ça n'est pas un problème de certificat mais le protocole XMPP qui utilise des enregistreurs SRV dans nos DNS :

            _xmpp-client._tcp.jabber IN SRV 0 5 5222 host.exemple.com.
            _xmpp-server._tcp.jabber IN SRV 0 5 5269 host.exemple.com.

            Autrement, comment puis-je voir ce qui ne va pas entre le client et le serveur ? Avec wireshark ? En interne avec les logs rien n'est indiqué pour les problèmes de connexions entre client-serveur.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.