Liste von Jabber-Server-Software

Liste von Jabber-Server-Software
Dieser Artikel behandelt das Messaging-Protokoll Jabber. Für die Bedeutung eines Jabbers in Ethernet-Netzwerken, siehe Jabber (Ethernet).
Jabber-Logo
Ein einfaches Jabber-Netzwerk mit den Servern „jabber.org“ und „draugr.de“. Grüne Clients sind online, gelbe Clients schreiben sich gerade Nachrichten und blaue „Subclients“ sind die einzelnen Ressourcen eines Benutzers. Das braune Netzwerk ist nicht mit dem Internet verbunden. Der Server „draugr.de“ ist über Transports mit anderen IM Services (ICQ, AIM o. ä.) verbunden.

Jabber (englisch [ˈdʒæbə(ɹ)]: „(daher-)plappern“) ist eine Sammlung XML-basierter Netzwerkprotokolle, die hauptsächlich für Instant Messaging verwendet werden. Der Kern des Protokolls (XMPP) ist ein Internetstandard für Instant Messaging.

Dabei werden in diesem Bereich gängige Funktionen wie Nachrichtenübermittlung, Konferenzen mit mehreren Benutzern, Anzeigen des Online-Status, Dateiübertragungen und viele weitere Dienste unterstützt. Wesentliches Merkmal von Jabber ist offene Standardisierung. Außerdem erlaubt Jabber über so genannte „Transports“ die Kommunikation mit Benutzern, die in proprietären Netzwerken wie ICQ oder dem Yahoo! Messenger angemeldet sind.

Die Netz-Architektur erinnert dabei an SMTP: Jeder an das Internet angebundene Jabber-Server kann Nachrichten mit anderen Servern austauschen. So sind Verbindungen über Anbieter-Grenzen hinweg möglich. Nachrichten werden vom Nutzer zum eigenen Server, von dort zum fremden Server und dann zum Empfänger weitergeleitet. Auch sind isolierte Netzwerke, beispielsweise in Firmen-Intranets möglich.

Das Jabber-Protokoll wurde seit 1998 ursprünglich vom Jabber-Projekt entwickelt, dessen Aufgabe mittlerweile die XMPP Standards Foundation fortführt.

Inhaltsverzeichnis

Client-Software

Eine Kontaktliste („Roster“) im Jabber-Client Gajim

Ein großer Vorteil von Jabber ist, dass nahezu für jedes Betriebssystem und in jeder Programmiersprache Jabber-Clients existieren.

Wie in den Listen zu ersehen ist, gibt es eine Vielzahl von Clients, die das Jabber-Protokoll unterstützen.

Für fast jeden Geschmack und Anwendungszweck existiert Software, um Jabber zu nutzen. Allerdings sind diese in der Unterstützung des Protokolls erheblich unterschiedlich weit implementiert.

Die XMPP Standards Foundation pflegt ebenfalls eine Liste von Client-Software.

Identitäten und Adressierung

Um Benutzer innerhalb des Jabber-Netzwerkes zu identifizieren und zu adressieren, gibt es den so genannten Jabber Identifier (JID). Dieser hat die Form „alice@example.com“, erinnert an eine E-Mail-Adresse und verhält sich auch ähnlich: So ist hier alice der Benutzername und example.com der Server, bei dem der Nutzer registriert ist. Durch das Konzept der „Ressourcen“ ist es möglich, sich mit einer Identität an einem Jabber-Server mehrfach anzumelden.

Konferenzen

Jabber unterstützt Konferenzen mit mehreren Benutzern. Heutzutage ist dabei die Spezifikation Multi-User Chat (MUC)[1] die verbreiteteste. Sie unterstützt Funktionen wie beispielsweise Rollenzuordnung für Nutzer innerhalb des Chats, passwortgeschützte oder unsichtbare Räume und ist abwärtskompatibel zur früheren Spezifikation Groupchat.

Konferenzräume werden auch durch Jabber Identifier repräsentiert.

Verschlüsselung

Lückenhaft In diesem Artikel oder Abschnitt fehlen folgende wichtige Informationen:
  • XEP-116, XEP-187, XEP-188, XEP-200, RFC 3923
  • Implementierungen / Verbreitung / Kompatibilität / Zukunft
  • Off-Band-Verschlüsselung (VoIP, Video, etc.)
  • Welche Informationen wann verschlüsselt (Passwörter, Nachrichten, ...)

Du kannst Wikipedia helfen, indem du sie recherchierst und einfügst.

Die Verbindung zwischen zwei Jabber-Clients wird immer über mindestens einen Jabber-Server aufgebaut. Sind beide Clients an zwei verschiedenen Servern angemeldet, so muss auch zwischen den beiden Servern eine Verbindung aufgebaut werden (Client A ↔ Server A ↔ Server B ↔ Client B). Da auf diesem Übertragungsweg Nachrichten an jeder Station (und auch dazwischen) abgehört, respektive mitgeschnitten werden können, empfiehlt es sich diese zu verschlüsseln.

Client-zu-Server- + Server-zu-Server-Verschlüsselung

Verschlüsselung zwischen Client und Server mittels SSL/TLS
Hierbei wird die Verbindung zwischen einem Client und dem Server, an dem dieser Client angemeldet ist, verschlüsselt.
SSL-Verbindungen zum Jabber-Server werden in der Regel auf Port 5223 angeboten. TLS-Verbindungen können, sofern der Server es unterstützt, mittels StartTLS auch auf dem Standardport 5222 benutzt werden. Einige Server bieten jedoch auch explizit Port 5224 für TLS an.
Server-zu-Server-Verschlüsselung
Selbst wenn die Verbindungen der Clients zu ihren jeweiligen Servern verschlüsselt sind, so ist die Kommunikation zwischen den Servern ein möglicher Angriffspunkt. Viele Server verschlüsseln daher ihre Verbindungen zu anderen Servern.

Diese beiden Methoden sind zwar als voneinander unabhängig zu betrachten, dennoch ist es sinnvoll, sie in Kombination zu verwenden, da sonst die Verbindung am schwächsten Punkt − d. h. dort wo die Verbindung nicht verschlüsselt ist − angreifbar ist. Werden diese Verfahren eingesetzt, so wird die Sicherheit erheblich verbessert, dennoch sind die Server ein Angriffspunkt, da selbst bei einer Kombination aus Server-zu-Server- und Client-zu-Server-Verschlüsselung die Daten an beiden Servern entschlüsselt werden.

Ende-zu-Ende-Verschlüsselung

Einen höheren Grad an Sicherheit bietet die Ende-zu-Ende-Verschlüsselung: Indem alle Daten vom Ausgangsclient ver- und erst vom jeweiligen Zielclient wieder entschlüsselt werden, werden Angriffspunkte minimiert. Die Verbindung ist gezwungenermaßen jederzeit verschlüsselt und die Server können die von ihnen weitergeleiteten Daten nicht entschlüsseln. So können die Betreiber des Servers und potenzielle Angreifer lediglich Rückschlüsse auf den Zeitpunkt, die Dauer und den ungefähren Umfang eines Gespräches schließen.

OpenPGP
Dieses Verfahren beruht auf dem Prinzip der asymmetrischen Verschlüsselung. Die Schlüssel bleiben über einen längeren Zeitraum unverändert. Jedes Schlüsselpaar kann eindeutig einem „Schlüsselinhaber“ zugeordnet werden. Daher kann mit dieser Form der Verschlüsselung nicht nur die Vertraulichkeit einer Datenübertragung erreicht werden, sondern auch eine Verbindlichkeit im Sinne der Informationssicherheit: Gesprächsteilnehmer können damit anhand von Aufzeichnungen später nachweisen, welche Aussagen in dem Gespräch von welchen Personen gemacht wurden.
Off-the-Record Messaging
OTR bietet die Möglichkeit, Übertragungen abhörsicher (vertraulich) zu gestalten, gleichzeitig jedoch eine Abstreitbarkeit (Unverbindlichkeit) zu ermöglichen: Gesprächsteilnehmer müssen ihre Identität nicht preisgeben. Anhand der verwendeten Schlüssel kann niemand, auch nicht die Gesprächsteilnehmer, später nachweisen, dass das Gespräch stattgefunden hat. Durch den häufigen Wechsel der Schlüssel kann ein Zusammenhang zwischen verschiedenen „Gesprächsfetzen“ nicht hergestellt werden. Diese Form der Verschlüsselung eignet sich besonders für Whistleblower und alle sonstigen vertrauliche Gespräche „sub rosa“.

Zusammenfassung

Da die Server-zu-Server-Verschlüsselung von Jabber nicht vom Endbenutzer beeinflusst werden kann, weil sie im Hoheitsbereich der Serveradministratoren stattfindet, ist die für den Endbenutzer größtmögliche Sicherheit durch die gleichzeitige Verwendung von Client-zu-Server-Verschlüsselung und Ende-zu-Ende-Verschlüsselung erreichbar.

Standardisierung

Das Jabber-Protokoll ist im Gegensatz zu anderen im Internet eingesetzten Instant-Messaging-Protokollen offen dokumentiert [2] und wird öffentlich aktiv weiterentwickelt. Seit der Ernennung zum Internetstandard definiert sich Jabber als „XMPP + XEPs“.

Der Internet-Standard „XMPP“

Der Kern des Jabber-Protokolls wurde von der IETF Anfang 2004 mit einigen Änderungen als Internet-Standard unter der Bezeichnung Extensible Messaging and Presence Protocol (XMPP) verabschiedet.

Erweiterungen: „XMPP Extension Protocol“

Die Entwicklung des Jabber-Protokolls baut auf dem Fundament XMPP auf, indem die XSF sogenannte XMPP Extension Protocols veröffentlicht, die Erweiterungsvorschläge für das Protokoll darstellen. Diese sind in der Jabber-Gemeinschaft als Standard akzeptiert.

Stiftung

Die XMPP Standards Foundation ist verantwortlich für die Standardisierung der auf XMPP aufbauendenden Protokolle, den sogenannten XMPP Extension Protocols. Direktor und Autor der meisten XEPs ist Peter Saint-Andre.

Jingle-Erweiterung

Mit der „Jingle“ genannten Erweiterung kann Jabber P2P-Sitzungen vereinbaren. Heutzutage wird dies vor allem für VoIP genutzt und ist in der Aufgabenstellung SIP sehr ähnlich.

Nachdem Google am 8. August 2005 mit der Veröffentlichung von Google Talk das Jabber-Protokoll zunächst proprietär um VoIP-Funktionen erweiterte, veröffentlichte [3] die Jabber Software Foundation am 15. Dezember 2005 die Spezifikation[4] der Erweiterung „Jingle Signalling“, die Jabber um P2P-Fähigkeiten erweitert, sowie die Spezifikation[5] einer ersten Anwendung, „Jingle Audio“ für VoIP. Am selben Tag veröffentlichte[6] Google den Quellcode der Programmbibliothek libjingle, die diese Funktionalität implementiert. Die Umsetzung von Googles libjingle unterscheidet sich jedoch von der offiziellen Spezifikation.[7]

Einige andere Jabber-Clients implementieren (z. B. auch durch Nutzung von libjingle) mittlerweile auch „Jingle Audio“, sodass VoIP-Funktionen mit Jabber nicht nur Google Talk und Windows-Systemen vorbehalten sind. Die Programmversionen mit Jingle-Audio-Unterstützung befinden sich meist noch im experimentellen Status, so dass eine Verfügbarkeit jeweils mit einer der nächsten Veröffentlichungen wahrscheinlich ist.

Mittlerweile existieren weitere Anwendungen, die „Jingle Signalling“ – das beispielsweise die Kommunikation durch NATs hindurch vereinbart – als Grundlage benutzen. Bisher sind unter anderem Jingle-Profile für Video (auf Theora-Basis), UDP (nutzbar etwa zur Vereinbarung von Mehrspieler-Netzwerk-Spielen) und das InterAsterisk-Protokoll spezifiziert. Auch eine Umsetzung von DTMF – zwecks Rückwärtskompatibilität mit dem herkömmlichen Telefonnetz – existiert.

Zurzeit wird an Profilen für Datenaustausch und virtuelle private Netzwerke gearbeitet.

Transports

Alice sendet ihre Nachricht erst zu dem Jabber-Server an dem sie angemeldet ist, dann zum Jabber-Transport. Dieser leitet sie über den ICQ-Server zu Bob weiter.

Hauptartikel: Jabber-Transport

Ein besonderes Konzept von Jabber ist das der Transports. Hiermit ist es möglich, andere Netzwerke (im Jabber-Jargon Legacy Services genannt) wie AIM, ICQ, Y!M, Gadu-Gadu oder IRC zu verwenden und mit deren Benutzern zu interagieren. Auch zu MSN ist das möglich, allerdings schalten viele Administratoren diesen Transport aus rechtlichen Gründen ab. Anders als bei Multi-Protokoll-Clients, wie Trillian, Miranda IM oder Kopete, funktioniert die Verbindung zu Fremdnetzen bei Jabber nicht dadurch, dass die notwendigen Protokolle auf Clientseite unterstützt werden. Stattdessen wird die Kommunikation zu Fremdnetzen von Jabber-Servern zur Verfügung gestellt. Die Server transportieren dabei die Nachrichten zwischen den Netzwerken, ohne dass die beiden beteiligten Benutzer hierfür besondere Vorkehrungen treffen müssen.

Jeder Benutzer von Jabber kann sich bei Transports registrieren, indem er seine vorhandenen Login-Informationen an diesen Dienst übergibt. Dazu müssen Clients Service Discovery[8] (zu deutsch „Dienste-Ermittlung“) unterstützen. So ist es möglich, Server nach angebotenen Transports zu durchsuchen und ohne zusätzliche Installation von Plugins, Kommunikation mit Nutzern proprietärer Instant-Messaging-Netzwerke zu betreiben.

Server

Für den Betrieb eines Jabber-Netzwerkes wird mindestens ein Jabber-Server (ähnlich dem Mail Transfer Agent) benötigt. Dieser kann in einem Intranet als alleinige Kommunikationsschnittstelle existieren oder über das Internet zu anderen Jabber-Servern (die „XMPP Federation“) Verbindungen herstellen.

Software

Bezeichnung Betriebssystem Lizenz Bemerkung Sprache Weblink
chime multiplattform GPL / kommerziell wird nicht mehr weiterentwickelt Java [1]
ejabberd multiplattform GPL Erlang [2]
jabberd14 multiplattform GPL C [3]
jabberd2 GPL Rewrite des jabberd14 C [4]
Openfire multiplattform GPL / kommerziell Java [5]
OpenIM multiplattform BSD Java [6]
psyced GPL LPC [7]
Tigase multiplattform GPL Java [8]
WPJabber GPL Fork des jabberd14 C [9]
xmppd.py multiplattform GPL Python [10]

Bekannte Jabber-Server oder -Dienste

siehe auch: Kanonische Liste der öffentlichen Jabber-Server

Verlässliche Anbieter mit vielen Benutzern, die ein kostenloses Benutzerkonto und meist eine Registrierung aus dem Jabber-Client heraus ermöglichen, sind z. B.:

Besondere Server

  • Google Talk für Inhaber eines Google-Accounts (talk.google.com auf Port 5223, nur mit SSL),
  • United Internet mit seinen Marken GMX (GMX-Webmessenger), Web.de und 1&1 testet die Akzeptanz eines Jabber-Dienstes[9] (die verwendbaren Adressen und zugehörigen Anmeldeserver lauten auf @web.de via xmpp-webde.gmx.net, @gmx.{de/net/at/…} an xmpp-gmx.gmx.net, @1und1.de auf xmpp-mm.gmx.net, @1und1.com, @online.de mittels gmx.net). Außerdem können eigene bei 1&1 gehostete Domains verwendet werden[10].
  • Mabber bietet einen eigenen J2ME-Client für Mobiltelefone sowie einen webbasierten Chat.
  • Einige deutschsprachige Universitäten und Fachhochschulen haben sich im Jabber University Network organisiert.

Um Firewalls zu umgehen kann man folgende Server benutzen:

Viele andere Server bieten aber ebenfalls Verbindungen über Port 443 oder Port 80 an.

Literatur

  • D. J. Adams: Programming Jabber. O’Reilly Media, Januar 2002, ISBN 0-59-600202-5.
  • Stephen Lee u. a.: Jabber Programming. John Wiley & Sons, April 2002, ISBN 0-76-454934-0.
  • Iain Shiegoka: Instant Messaging in Java: The Jabber Protocols. Manning Publications, Mai 2002, ISBN 1-930110-46-4.

Weblinks

Allgemein

RFCs

  • RFC 3920Extensible Messaging and Presence Protocol (XMPP): Core
  • RFC 3921Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence
  • RFC 3922Mapping the Extensible Messaging and Presence Protocol (XMPP) to Common Presence and Instant Messaging (CPIM)
  • RFC 3923End-to-End Signing and Object Encryption for the Extensible Messaging and Presence Protocol (XMPP)

Belege

  1. XEP 45: Multi-User Chat
  2. Gründe für Jabber
  3. Jabber Software Foundation Publishes Open VoIP and Multimedia Protocols. jabber.org, 15. Dezember 2005
  4. XEP 166: Jingle
  5. XEP 167: Jingle Audio Media Description Format
  6. Google Talkabout, Sean Egan: Jingle all the way
  7. Jabber Wiki: Jingle (XEP-0166)
  8. Jabber Software Foundation: XEP-0030: Service Discovery Version 2.2, 24. Januar 2006
  9. teltarif.de: GMX bringt eigenen Instant Messenger heraus
  10. heise.de: GMX-Jabber mit eigener Domain nutzen

Wikimedia Foundation.

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Jabber-Agent — Ein Jabber Transport (auch Jabber Agent oder Jabber Gateway) ist ein Dienst innerhalb eines Jabber Netzwerkes, der Nutzer anderer Instant Messaging Systeme transparent als Jabber Nutzer repräsentiert. Hiermit ist es möglich, andere Netzwerke (oft …   Deutsch Wikipedia

  • Jabber-Gateway — Ein Jabber Transport (auch Jabber Agent oder Jabber Gateway) ist ein Dienst innerhalb eines Jabber Netzwerkes, der Nutzer anderer Instant Messaging Systeme transparent als Jabber Nutzer repräsentiert. Hiermit ist es möglich, andere Netzwerke (oft …   Deutsch Wikipedia

  • Jabber-Transport — Ein Jabber Transport (auch Jabber Agent oder Jabber Gateway) ist ein Dienst innerhalb eines Jabber Netzwerkes, der Nutzer anderer Instant Messaging Systeme transparent als Jabber Nutzer repräsentiert. Hiermit ist es möglich, andere Netzwerke (oft …   Deutsch Wikipedia

  • Jabber Enhancement Proposal — Die XMPP Extension Protocols (kurz XEP; dt. etwa „XMPP Erweiterungsprotokolle”) beschreiben offizielle Erweiterungen des Extensible Messaging and Presence Protocol. Über die offiziellen Erweiterungen wacht die XMPP Standards Foundation in einem… …   Deutsch Wikipedia

  • Offener Proxy-Server — Ein Proxy (von engl. „proxy representative“ = Stellvertreter, bzw. lat. „proximus“ = der Nächste) arbeitet als Vermittler, der auf der einen Seite Anfragen entgegennimmt, um dann über seine eigene Adresse eine Verbindung zur anderen Seite… …   Deutsch Wikipedia

  • Proxy-Server — Ein Proxy (von engl. „proxy representative“ = Stellvertreter, bzw. lat. „proximus“ = der Nächste) arbeitet als Vermittler, der auf der einen Seite Anfragen entgegennimmt, um dann über seine eigene Adresse eine Verbindung zur anderen Seite… …   Deutsch Wikipedia

  • Proxy Server — Ein Proxy (von engl. „proxy representative“ = Stellvertreter, bzw. lat. „proximus“ = der Nächste) arbeitet als Vermittler, der auf der einen Seite Anfragen entgegennimmt, um dann über seine eigene Adresse eine Verbindung zur anderen Seite… …   Deutsch Wikipedia

  • Ejabberd — Webschnittstelle von ejabberd Basisdaten Entwickler: Alexey Shchepin Aktuelle Vers …   Deutsch Wikipedia

  • Extensible Messaging and Presence Protocol — Familie: Internetprotokollfamilie Einsatzgebiet: Instant Messaging Ports: 5222/TCP (Client zu Server) 5269/TCP (Server zu Server) Legacy SSL: 5223/TCP (SSL) XMPP im TCP/IP‑Protokollstapel: Anwendung …   Deutsch Wikipedia

  • ejabberd — Webschnittstelle von ejabberd Basisdaten Entwickler ProcessOne Aktuelle  …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”