- Liste von Jabber-Server-Software
-
Dieser Artikel behandelt das Messaging-Protokoll Jabber. Für die Bedeutung eines Jabbers in Ethernet-Netzwerken, siehe Jabber (Ethernet). - 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.
- 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“.
jabber.org
, der Server der Jabber Software Foundation,jabber.ccc.de
, der Server des Chaos Computer Clubs.JabJab
, ein deutscher Server mit Jabber-Transports.- Google Talk für Inhaber eines Google-Accounts (
talk.google.com
auf Port5223
, 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/…} anxmpp-gmx.gmx.net
, @1und1.de aufxmpp-mm.gmx.net
, @1und1.com, @online.de mittelsgmx.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.
- jabber.ccc.de bietet unter jabberd.jabber.ccc.de Verbindungen auf den Ports 80 (STARTTLS) und 443 (Legacy SSL),
- jabber80.com arbeitet auf Port 80,
- 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.
- Jabber Software Foundation (englisch)
- XMPP.org (englisch)
- Yet another Jabber FAQ – Eine aktuell gehaltene Jabber-FAQ (deutsch)
- Verschlüsseltes & anonymisiertes IM per Jabber
- Übersicht über Jabber-Server und deren Services (englisch)
- Anleitung Verschlüsselt Jabbern mit Psi
- Links zum Thema Jabber im Open Directory Project (englisch)
- 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-End Signing and Object Encryption for the Extensible Messaging and Presence Protocol (XMPP)
- ↑ XEP 45: Multi-User Chat
- ↑ Gründe für Jabber
- ↑ Jabber Software Foundation Publishes Open VoIP and Multimedia Protocols. jabber.org, 15. Dezember 2005
- ↑ XEP 166: Jingle
- ↑ XEP 167: Jingle Audio Media Description Format
- ↑ Google Talkabout, Sean Egan: Jingle all the way
- ↑ Jabber Wiki: Jingle (XEP-0166)
- ↑ Jabber Software Foundation: XEP-0030: Service Discovery Version 2.2, 24. Januar 2006
- ↑ teltarif.de: GMX bringt eigenen Instant Messenger heraus
- ↑ heise.de: GMX-Jabber mit eigener Domain nutzen
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
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
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
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.
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
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
Um Firewalls zu umgehen kann man folgende Server benutzen:
Viele andere Server bieten aber ebenfalls Verbindungen über Port 443 oder Port 80 an.
Literatur
Weblinks
Allgemein
RFCs
Belege
Wikimedia Foundation.