YaJFAQ (Yet another Jabber FAQ)
Inhalt
Editorial
Wenngleich sich jede große Instant-Messaging-Plattform damit brüstet, dem Benutzer die neusten und besten Features kostenlos und aus reiner Nächstenliebe zur Verfügung zu stellen, unterscheiden sich AOL, Microsoft und Yahoo im Grunde genommen kaum voneinander. Jeder Konzern setzt auf Zentralität, Proprietät und Kommerz; auf eigene, plattformgebundene, untereinander inkompatible und werbebehaftete Clients, durch die der Benutzer auf eigene oder andere Bezahldienste aufmerksam gemacht und stärker an ein Produkt gebunden werden soll.
Zwar sind Microsoft und Yahoo gerade dabei, ihre Instant-Messaging-Netze zusammenzuschalten, doch ob sich deshalb grundlegend etwas an den oben angesprochenen Eigenschaften ihrer IM-Politik ändern wird, darf bezweifelt werden.Desweiteren sind die AGB der führenden IM-Dienste inzwischen so ausgelegt, dass man bei Benutzung sämtliche Rechte der gesendeten Daten abtritt und es dem Netzbetreiber erlaubt, diese Daten nach eigenem Ermessen - auch kommerziell - zu verwenden. Auf seiner Internetseite Warum Jabber statt ICQ/MSN/AIM/Y! schreibt Marcel passend:
"[...] Du trittst alle deine Rechte an Materialien ab, die du ueber die Dienste verbreitest bzw. gibst den Dienstanbietern uneingeschraenkte Nutzungsrechte. Das heisst konkret, dass die beispielsweise deine Logs mitschneiden, deine selbstgeschriebenen Gedichte in Buchform herausbringen und dich dann verklagen koennen, weil du deine eigenen Gedichte veroeffentlichst."
Aus diesen Gründen tut es gut, eine Alternative zu haben. Diese möchte ich euch nachfolgend näherbringen und aufzeigen, dass das Austauschen von Informationen in Echtzeit auch angenehmer stattfinden kann.
1 Grundlagen
1.1 Was ist Jabber?
Im Gegensatz zu seinen Pendants ICQ, MSN und Konsorten ist Jabber eine Ansammlung quelloffener, auf XML basierender Netzwerkprotokolle, die vordergründig beim Instant Messaging zum Einsatz kommen. Im Oktober 2004 wurden Teile des Jabber-Protokolls als Internetstandard im Bereich Instant Messaging anerkannt (s. auch 4.2 RFCs).
Der Grundgedanke hinter dem Projekt war und ist, dass die Technologie, überall Informationen mit Leuten rund um den Globus in Echtzeit auszutauschen, frei und ohne jegliche Kontrolle stattfinden soll; das Protokoll für jedermann offen und uneingeschränkt verfügbar ist.
1.2 Was brauche ich, um Jabber benutzen zu können?
Neben einem Computer mit Internetanschluss lediglich einen Client und die Adresse eines Servers, auf dem du dir deinen Jabber Identifier anlegen möchtest.
1.3 Wie ist das Jabber-Netzwerk organisiert?
Das öffentliche Jabber-Netzwerk ist dezentral organisiert und besteht mittlerweile aus dutzenden unabhängigen Servern, die in der Regel untereinander so vernetzt sind, dass es für den Benutzer keine Rolle spielt, ob er oder sein Gesprächspartner sich nun auf dem selben oder einem anderen Server befindet.
2 Merkmale
2.1 JID, Ressource und Prioritäten
Ähnlich wie bei anderen Instant-Messaging-Plattformen, hat auch jeder Jabber-Benutzer eine Kennung, mit der er im gesamten Netzwerk für andere Benutzer erreichbar ist: den Jabber Identifier (kurz: JID; auch Jabber-ID).
Dieser setzt sich aus dem Benutzernamen (node), einem "@" und der Domain des Servers zusammen, auf dem der Benutzername registriert ist. Alternativ kann noch eine sogenannte Ressource folgen, die - durch ein "/" von der Domain getrennt - dazu dient, entweder Angaben zum verwendeten Client oder dem momentanen Aufenthaltsort zu machen. Eine anschauliche Grafik dazu habe ich dem Wikipedia-Artikel Jabber Identifier entnommen:

Da es mit Jabber auch möglich ist, von mehreren Computern aus gleichzeitig auf einen Account zuzugreifen, ist mit der Ressource-Angabe auch ein Prioritäten-System verknüpft. Dieses macht es möglich, anzugeben, an welchen Computer eine Nachricht geschickt werden soll. Der gültige Bereich des Prioritätswerts geht von -128 bis +127, wobei Clients, die eine negative Priorität zugewiesen bekommen haben, nur Nachrichten empfangen, die explizit über die Ressource-Kennung an sie adressiert sind.
Anhand eines Beispiels lässt sich dieses Verfahren wohl am besten erläutern: Ein Benutzer ist über zwei Computer mit seinem JID node@domain/ressource bzw. dem Server verbunden. Nun sollen alle ankommenden Nachrichten an den Client weitergeleitet werden, den der Benutzer auf der Arbeit verwendet. Dazu muss diesem lediglich eine höhere Priorität zugewiesen werden als dem anderen Client, der beispielsweise zuhause läuft:
node@domain/home (Priorität: 2)
node@domain/work (Priorität: 5)
2.2 Transports
Eine weitere Besonderheit an Jabber sind die sogenannten Transports. Diese Erweiterung ist auf dem Großteil der öffentlichen Server zu finden und dient dazu, dem Benutzer die Einwahl in andere Netzwerke wie ICQ, MSN oder IRC zu ermöglichen.
Voraussetzung für die Nutzung dieses Dienstes ist ein vorher registrierter Account des jeweiligen Netzwerks sowie ein Client, der dieses Feature unterstützt. Sofern beide Bedingungen erfüllt sind, muss der Transport über den Client registriert werden, um sich für den Benutzer in ein anderes Netzwerk einzuwählen. Hierzu müssen dem Transport entsprechende Login-Daten mitgeteilt werden; bei ICQ wären dies beispielsweise die UIN und das Login-Passwort. Danach ist der Benutzer in der Lage, über den Transport auch mit Personen anderer Netzwerke zu kommunizieren.
2.3 Dateitransfer
Selbstverständlich bietet auch Jabber die Möglichkeit, Dateien mit anderen Benutzern auszutauschen. Hierzu kann ein beliebiger freier Port verwendet werden.
Neben dem P2P-Prinzip ist der Datentransfer auch über einen Proxy-Server möglich, sofern dieser vom Serverbetreiber freundlicherweise bereitgestellt wird. Hierbei wird eine Datei nicht direkt zwischen zwei Clients ausgetauscht, sondern vorher noch über eine weitere Station - den Proxy-Server - gesendet.
Macht der Benutzer von der NAT-Technik Gebrauch, muss dem Jabber-Client zusätzlich die externe, also vom Provider zugewiesene, IP-Adresse mitgeteilt werden, damit ein Datenaustausch stattfinden kann. Sofern man über eine variable IP-Adresse verfügt, bietet sich hier der Einsatz eines DynDNS-Eintrags an.
2.4 MUC
Der MUC ist der Nachfolger des Groupchats und der Conference und macht es möglich, dem IRC ähnliche Chat-Räume auf einem Jabber-Server zu erstellen. Dadurch ist es möglich, sich mit mehreren Leute gleichzeitig zu unterhalten.
Ein umfangreicher Artikel hierzu ist bei Wikipedia zu finden.
3 Sicherheit und Ports
3.1 Einleitung
Alle in den folgenden Abschnitten beschriebenen Verbindungen können unverschlüsselt oder verschlüsselt stattfinden. Sobald Informationen unverschlüsselt, d.h. im Klartext, über das Internet versendet werden, sind diese prinzipiell abhör- und manipulierbar. Sofern die Möglichkeit besteht, ist es daher ratsam, auf Verschlüsselungsprotokolle zurückzugreifen.
3.2 Verbindung Client-to-Server
Bei der Kommunikation zwischen der Klient- und der Serverinstanz werden nicht nur sensible Benutzerdaten wie der JID und das dazugehörige Passwort übertragen, sondern auch sämtliche Nachrichten, die die Gesprächspartner untereinander austauschen:
Client 1 <--> Server von Client 1 & 2 <--> Client2
Befinden sich die Gesprächspartner auf zwei unterschiedlichen Servern, wird eine Nachricht zuerst an den Server des Senders weitergeleitet und von dort aus an den Server des Empfängers, welcher die Nachricht dann an den Client des Empfängers sendet:
Client 1 <--> Server von Client 1 <--> Server von Client 2 <--> Client 2
Eine unverschlüsselte Verbindung zwischen Client und Server läuft standardmäßig über über den Port 5222 (TCP) ab. Verschlüsselte Verbindungen werden mittlerweile mittels TLS über den selben Port abgewickelt.
Bevor XMPP Teil des Jabber-Protokolls wurde, wurden Verbindungen noch via SSL über Port 5223 (TCP) verschlüsselt. Diese Methode ist auch heute noch häufig aus abwärtskompatiblen Gründen verfügbar.
3.3 Verbindung Client-to-Client
Abgesehen vom Dateitransfer (vgl. 2.3 Dateitransfer) kommt eine direkte Verbindung der beiden Klientinstanzen bei Jabber nicht zustande, da der Nachrichtenaustausch, wie im voherigen Abschnitt bereits erwähnt, über mind. einen Server stattfindet. Es wäre jedoch trotzdem ratsam, wenn die Gesprächspartner ihre Nachrichten mit OpenPGP oder OTR verschlüsseln würden, da es einerseits schwierig ist, festzustellen, ob die Verbindung Server-to-Server mit SSL oder TLS abgesichert ist und andererseits wären trotz vorhandener Verschlüsselung mittels eines der beiden Protokolle immer noch Serveradministratoren oder Personen, die sich unbefugten Zugriff zu einem Server verschafft haben, in der Lage, den Nachrichtenverkehr abzuhören und zu manipulieren.
(Siehe auch ICQ- Verschlüsselung mit OTR und GPG? Was?)
3.4 Verbindung Server-to-Server
Jabber-Server kommunizieren untereinander unverschlüsselt standardmäßig über den Port 5269 (TCP). Genau wie bei der Verbindung zwischen der Klient- und der Serverinstanz, kann eine verschlüsselte Verbindung über zwei Möglichkeit zustande kommen: via SSL und Port 5270 (TCP) oder via TLS und Port 5269 (TCP).
4 Weblinks
4.1 Allgemein
- Jabber bei Wikipedia
- Warum Jabber statt ICQ/MSN/AIM/Y!
- Über den neuen Punkt in der ICQ-Nutzerbedingung
- Empfohlene Jabber Clients
- Jabber einrichten: Eine Schritt-für-Schritt- Anleitung
- Offiziell registrierte Jabber Server
- Noch eine Liste bekannter Server
- Eine Liste öffentlicher Server mit Userbewertungen
- Freies & sicheres IM mit Jabber & OpenPGP
- Off-the-Record Messaging
- Sicherheitsaspekte von Instant Messaging (Diplomarbeit von Holger Schildt)
4.2 RFCs
RFCs beschreiben Quasi-Standards oder "Best Practices" (derzeit beste Vorgehensweisen), die das Internet betreffen. XMPP, der Kern von Jabber, ist in folgenden RFCs festgehalten:
- RFC 3920: Extensible Messaging and Presence Protocol (XMPP): Core
- RFC 3921: Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence
- RFC 3922: Mapping the Extensible Messaging and Presence Protocol (XMPP) to Common Presence and Instant Messaging (CPIM)
- RFC 3923: End-to-EndSigning and Object Encryption for the Extensible Messaging and Presence Protocol (XMPP)
Diese Faq wurde ursprünglich auf communis im veröffentlicht und befindet sich auf dem Stand vom 02.02.2010.
Last edited by missi on 2/11/2010 at 19:34

Henning