Table des matières
Prosody
Petite définition piquée à 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 : Nicolargo Mon blog à l'abandon Man Openssl Prosody