====== Prosody ====== Petite définition piquée à [[https://fr.wikipedia.org/wiki/Prosody| Wikipédia]] : Prosody est un serveur Jabber/XMPP multiplateforme libre de messagerie instantanée écrit en Lua. Ses vocations sont d'être faible consommateur de ressources, facile à utiliser et modulaire. ===== Installation ===== Si prosody n'est pas dans les dépôts officiel de votre distribution préférée tapez les commandes suivantes: ''# echo "deb http://packages.prosody.im/debian stable main" | tee -a /etc/apt/sources.list'' ''# wget http://prosody.im/files/prosody-debian-packages.key -O- | apt-key add -'' Ensuite ''# aptitude update'' Puis on lance l'installation: ''# aptitude install prosody'' Création des certificats et clés SSL dans le répertoire certs/. : ''cd /etc/prosody/certs/'' Certificats et clés : ''# openssl req -new -x509 -days 365 -nodes -out "mon-domain.tld.cert" -keyout "mon-domain.tld.key"'' req : La commande req crée et traite des demandes de certificats au format PKCS#10. En plus, elle peut créer des certificats autosignés servant par exemple comme CA racine. x509 : Gestion de données pour les certificats X.509 -new : nouveau -days : durée de validité des clés et certificats. .cert : Le certificat. .key: La clé privé. Fichier de "conf" Prosody: ''# nano /etc/prosody/prosody.cfg.lua'' Créer le ou les VirtualHosts : VirtualHost "mon-domaine.tld" ssl = { enabled = true key = "/etc/prosody/certs/mon-domaine.tld.key"; certificate = "/etc/prosody/certs/mon-domaine.tld.cert"; } VirtualHost "mon-domaine2.tld" ssl = { enabled = true key = "/etc/prosody/certs/mon-domaine2.tld.key"; certificate = "/etc/prosody/certs/mon-domaine2.tld.cert"; } La configuration actuelle ne permet pas de s'enregistrer directement à partir d'un client, pour le faire: ''# allow_registration = true "désactiver pas défaut"'' Ajouter un utilisateur: ''# prosodyctl adduser mon-user@mon-domaine-tld'' ==== Sécurité ==== Firewall : Les ports à ouvrir si vous avez un firewall, ou si vous faites du NAT sur votre routeur sont : Le port 5222/TCP en entrée pour les connexions clientes. Le port 5269/TCP en entrée et en sortie pour les connexions serveurs. # iptables -A INPUT -p tcp --dport 5222 -j ACCEPT # iptables -A INPUT -p tcp --dport 5269 -j ACCEPT # iptables -A OUTPUT -p tcp --dport 5269 -j ACCEPT Pour sécurisé les échange entre les clients et le serveur, et entre les serveur eux même modifier dans la configuration prosody.cfg.lua: c2s_require_encryption = true s2s_require_encryption = true sources : [[http://blog.nicolargo.com/2011/01/un-serveur-jabber-en-5-minutes-chronos-sous-debianubuntu.html| Nicolargo]] [[http://blog.maniakteam.fr/|Mon blog à l'abandon]] [[http://www.man-linux-magique.net/man1/openssl.html|Man Openssl]] [[http://prosody.im/doc/install|Prosody]]