Faulbaer's Schlafmulde :: german :: anleitung :: debian und jabberd-paket und ssl
2006.05.31, 13:32

debian und jabberd-paket und ssl

seit ein paar tagen betreibe ich meinen eigenen jabber-server auf tosses.info verschluesselt. es handelt sich hierbei um den alten ranzigen eins-vierer jabberd, den ich als distributionspaket unter debian eingespielt habe.

gegenueber vielen seiten und blogs, die beschreiben, wie man frischere jabberd an den start bringt und konfiguriert, moechte ich eine anleitung rausgeben, die sich mit dem alten beschaeftigt.

meine anleitung betrifft vor allem eine konfiguration, die sich ausschliesslich um ssl und verschluesselte passworte dreht. wer also nur einen jabberd hochziehen will, ist hier schlecht aufgehoben.

es gab ein paar kleinere schwierigkeiten und missverstaendnisse, die sich aus unterschieden zum neuen daemon oder zu debian-eigenheiten ergaben.

der walk-through sieht so aus:
* zertifikat erzeugen (wahlweise self-signed oder ein kommerzielles) das zertifikat sollte im common name dringend auf den hostnamen des jabberservers zeigen. bei mir war das 'tosses.info', damit meine jabber-id meiner mail-adresse gleicht.
* jabber installieren und den daemon stoppen ('apt-get install jabber; /etc/init.d/jabber stop')
** jetzt koennen wir mal schauen, wo debian jabber verstreut hat (/etc/jabber, /var/lib/jabber, /var/run/jabber, /var/log/jabber, /usr/lib/jabber, /usr/sbin/jabberd, /etc/init.d/jabber)
* jabber-konfiguration anpassen (/etc/jabber/jabber.xml). hier gibt es einiges anzupassen:
** zuerstmal alle 'localhost' durch den tatsaechlichen servernamen ersetzen. (in vi ':1,$s/localhost/SERVERNAME/g')
** die registry sollte anfangs aktiviert sein, denn es macht wenig spass, jabber-nutzer mit verschluesselten kennworten per hand anzulegen.
** sprachliche anpassungen sind natuerlich fuer alle entsprechenden sektionen zu empfehlen (vCard, register, welcome, message to und admin)
** mein 'jud' (jabber user directory) habe ich nach 'jid="tosses.info"' geerdet. zumindest bei mir nahm das beispiel-jud keine anfragen an.
** weitere gateways habe ich noch nicht konfiguriert, aber diese muessen natuerlich erstmal installiert werden (zum beispiel durch 'apt-get install jabber-aim')
** bei der authentication habe ich alles auf mod_auth_crypt reduziert. also die anderen auskommentiert (*digest, *plain). damit werden die kennwort-hashes verschluesselt uebertragen und auf dem server abgelegt. das macht die administration natuerlich etwas umstaendlicher und man braucht ein kleines tool, um diese schicken sha1-mime64-hashes zu bauen. es gibt natuerlich auch andere tools, die sich um die user-pflege im jabber kuemmern, doch sollte man mal dringend in den code schauen, ob sie das auch richtig machen.
** da ich ja nur ssl-zugang anbieten will, habe ich 'ip port' auskommentiert und 'ssl port' auf den standard-port gesetzt. hier sollte die externe ip-adresse des servers gesetzt werden, sonst kommt keine verbindung zustande.
** die weiteren agenten habe ich noch nicht aktiviert und werde mich wohl irgendwann mal um einen aim-agenten bemuehen ... naja ...
** in der ssl-section tragen wir die passende 'key ip' ein und setzen den korrekten pfad zu unserem pem-file. (falls noch nicht vorhanden, einfach eine datei aus ssl-key und ssl-certificate erzeugen: 'cat ssl.key ssl.crt > ssl.pem'). bei mir liegt die pem-datei im /etc/jabber verzeichnis.
** ansonsten habe ich alles andere unberuehrt gelassen.
* wenn alle dateien liegen, wo sie hingehoeren, jetzt den server wieder starten ('//etc/init.d/jabber start') und die logs pruefen ('tail /var/log/jabber//*')

jetzt kann man mittels gaim oder einem anderen ordentlichen jabber-client (nicht apples ichat) einen neuen nutzer auf dem server registrieren. hierbei muss darauf geachtet werden, dass '[x] force old ssl' aktiviert ist.

im trouble-shooting sollte man auf die ueblichen dinge achten:
* user und group-id der verwendeten konfiguration und nutzerverzeichnisse hinsichtlich des daemons anpassen. (wenn der daemon als root laeuft, was er nicht sollte, gibts natuerlich keinen stress, aber wenn man verzeichnisse und dateien als 'root' mit 'og-rwx' angelegt hat, kommt der daemon natuerlich als 'jabber:adm' nicht an die files.
* generell alle konfigurierten ip-adressen und pfade pruefen - ansonsten ist der daemon sehr pflegeleicht
* xml-basierte konfigurationsdateien haben den nachteil, dass man tags vergessen kann - da sollte man mal mit nem xml-editor druebergehen, um sicherzustellen, dass nichts fehlt.

jo - viel spass kann ich nur wuenschen. bei mir steht jetzt wohl bot-programmierung an ...

Faulbaer (wieder so ein langer artikel ... puh!)

Technorati Tags: , , , , , , ,

 
add a comment