Jump to content






Foto
- - - - -

Sicheres privates chatten

Posted by Thomas , in Linux, Unix, OS X 28 April 2012 · 2.553 views

openfire xmpp server
Letztens kam ich schon einmal auf die Idee, mir einen XMPP Server hinzustellen. Wegen anderer Dinge war sie dann ein wenig in Vergessenheit geraten und in irgendein hinteres Register gerutscht. Gestern kam die Idee dann die wieder und heute habe ich dann Nägel mit Köpfen gemacht.

Bevor ich ins Detail gehe noch kurz etwas zu der Motivation für einen eigenen XMPP Server: Seit Ewigkeiten nutze ich verschiedene IM-Dienste und gefühlt hängen viele die ich kenne bei whatsapp herum. Bei whatsapp und anderen Diensten in der Art stört mich, dass diese vollen Zugriff auf die Kontakte des Smartphones haben wollen und diese Auslesen können. Bei den alteingesessenen IM-Diensten weiß ich auch nicht, was da so alles geloggt und protokolliert wird. Um mit Familie und Freunden aber auch mal ein vertrauliches Wort fallen zu lassen, habe ich natürlich bei einem eigenen XMPP Server die volle Kontrolle. Obwohl das nicht ganz richtig ist, denn den Server betreibe ich nicht selbst sondern habe mir für die Anwendung einen virtuellen Server gemietet. Hier vertraue ich aber auch auf meinen Hoster, dass da kein Schindluder mit getrieben wird. Die Anforderung an so einen privaten Chat-Server sind ja nicht wirklich groß und somit tut es eine wirklich kleine Maschine, die es bei namhaften Hostern für 8 bis 15 EUR/Monat gibt.

Um auch finanziell keinen Schiffbruch zu erleiden, hatte ich heute früh damit begonnen, einen lokalen Testlauf mit einem Server in VM Ware Fusion gemacht und als Server Software hatte ich mich für OpenFire entschieden. Beim ersten Lauf ging irgendetwas schief, so dass ich die VM noch ein zweites Mal aufsetzen durfte. Nachdem der lokale Server stand, konnte ich mich nach ein paar kleinen Schwierigkeiten auch mit Adium auf den Server verbinden. In iOS hat die Verbindung mit IM+ zwar nicht geklappt, aber dafür mit Monal.

Nachdem die technische Umsetzung geklärt war, habe ich dann schnell ein kleines Serverchen bestellt und konnte loslegen. Als Betriebssystem hatte ich wie auch beim Heimserver CentOS 6 gewählt. Von Haus aus war CentOS 6.0 installiert und deshalb machte ich als ersten ein Update auf 6.2. Als ersten Schritt musste die libdb.i868 installiert werden (das fehlt in der Anleitung bei ignite realtime).
yum install libldb.i686
Als weiterer vorbereitender Schritt musste der Datenbank-Server aufgesetzt werden und nach Installation
yum install mysql mysql-server
musste natürlich noch eine Datenbank für openfire:
mysql> CREATE DATABASE `openfire`;
Query OK, 1 row affected (0.00 sec)

mysql> CREATE USER 'openfire'@'localhost' IDENTIFIED BY 'password';
Query OK, 0 rows affected (0.01 sec)

mysql> GRANT USAGE ON *.* TO 'openfire'@'localhost' IDENTIFIED BY 'password' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
Query OK, 0 rows affected (0.00 sec)

mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES ON `openfire`.* TO 'openfire'@'localhost';
Query OK, 0 rows affected (0.01 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.02 sec)

Natürlich muss das Password ersetzt werden und
/usr/bin/mysql_secure_installation
sollte auch ausgeführt werden.

Nachdem die Vorbereitungen abgeschlossen sind, kann es mit OpenFire losgehen und das geht im Grunde ziemlich fix. Die RPM-Paket der aktuellen Version herunterladen und ich habe es via sftp mit Cyberduck auf den Server übertragen. Mit
rpm -ivh openfire-3.7.1-1.i386.rpm
ist das Programm ruckzuck installiert und mit
/etc/init.d/openfire start
gestartet.

Damit der Server vernünftig läuft muss natürlich mysqld noch automatisch gestartet werden. OpenFire ist bei der Paketinstallation automatisch im Autostart. Nachdem die notwendigen Ports (5222 und 9090) per iptables freigegeben sind, lässt sich ein komfortabler Installer unter <IP>:9090 aufrufen.

Nach der Installation lässt sich OpenFire sehr gut im Adminbereich konfigurieren. Ich habe mich für die Variante entschieden, dass ich die Benutzer anlegen muss und man sich nicht einfach so für den Dienst registrieren kann, denn schließlich geht es mir darum, ein privates System zu haben.

Da der Server nun läuft und bezahlt wird, gehe ich mal davon aus, dass mir in Zukunft noch die eine oder andere Beschäftigung für die virtuelle Kiste einfallen wird. Schließlich hat das Ding aktuell nicht wirklich viel zu tun. ;)




November 2017

M D M D F S S
  12345
6789101112
13141516 17 1819
20212223242526
27282930   

Recent Entries

Recent Comments