# Jabber/XMPP Jabber/XMPP ist ein Instant-Messaging-Protokoll wie Whatsapp (welches selbst auf XMPP basiert), Telegram, Signal oder Threema. Im Gegensatz zu denen ist es aber offen. Es gibt eine Vielzahl von Clients und es wird nicht über zentrale Server geleitet, sondern ist verteilt, wie bspw. auch E-Mail. Interessant ist auch, dass Jabber nicht durch die Vorratsdatenspeicherung überwacht werden soll. Die Verwaltung dafür geht aktuell leider nur über den [[support@in-berlin.de|Support]]. Mehr Informationen zu Jabber/XMPP gibt es in der [[https://en.wikipedia.org/wiki/XMPP|Wikipedia]] oder unter [[https://xmpp.org/|xmpp.org]]. ## Anlegen von Usern Man hat für seine Accountnamen folgende Auswahlmöglichkeiten: * sitename@jabber.in-berlin.de * rechnername@jabber.in-berlin.de * beliebig@sitename.in-berlin.de Wer eine eigene Domain hat, kann natürlich auch diese für XMPP nutzen, siehe hierfür auch die [[domainsitename#jabber/xmpp|Domain-Anleitung]].\\ \\ Wenn man sich einen Accountnamen ausgesucht hat, kann man sich beim [[support@in-berlin.de|Support]] melden und wir legen den Account so schnell wie möglich an. ## Einstellungen zum Verbinden Eine Liste von Clients zum Verbinden gibt es unter [xmpp.org](http://xmpp.org/xmpp-software/clients/). Wer sich nicht entscheiden kann oder will, hat hier eine kleine Liste: * [[https://conversations.im/|Conversations]] (Android) -- derzeit der populärste XMPP-Client * [[https://gajim.org/|Gajim]] (Linux, Windows) -- sehr mächtig * [[https://dino.im|Dino]] (Linux) -- gilt als besonders einfach für neue Users, kann Audio/Video calls und Message Reactions * [[https://profanity-im.github.io/|Profanity]] (Linux) -- für die Konsole * [[https://beagle.im/|Beagle]] (MacOS) -- eventuell auch Monal probieren * [[https://conversejs.org/|Converse.js]] (Web) -- auch zum Einbinden in die eigene Webseite * für iOS am besten [[https://monal.im|Monal]] und [[https://siskin.im|Siskin]] ausprobieren. Bei der Verbindung ist generell SSL/TLS zu verwenden, ebenso der Login per Hash (manchmal als *non-plaintext auth* bezeichnet). Zum Verbinden muss man bei einigen Clients auch als Server, mit dem man sich verbindet, =jabber.in-berlin.de= eintragen, wenn diese keine SRV-Records abfragen. Einige Home-Router geben auch keine SRV-Records weiter. Bei diesen muss man dann bei dnsmasq die Option `filterwin2k` abschalten, damit es funktioniert. ## Ändern des Passworts Das Passwort kann entweder vom [Support](kontakt) oder "in-band" mit seinem Messenger ändern. Für letzteres wird das alte benötigt, das neue einmal bestätigt und die Änderung wird sofort übernommen. Wenn man das Passwort für seinen Account vergessen hat, muss man eine Mail an support schicken, dann wird das Passwort zurückgesetzt. ## Multi-User-Chats Wer einen Multi-User-Chat (Konferenz für mehrere User, MUC) haben will, kann sich davon bis zu 10 pro User anlegen. Wem dies nicht reicht, der schreibt eine Mail an support. Das Anlegen geschieht einfach über das Betreten des Chats (als User der Domain). Der Name ist ein beliebiger `@jabber.in-berlin.de` oder `@conference.sitename.in-berlin.de` bzw. `@conference.domain.tld`, je nachdem, wo man seinen Account angelegt hat. Anschließend ist man dort Admin und kann den Channel kontrollieren. ## Serverzertifikate Standardmäßig stellen wir für alle Domains die bei uns XMPP nutzen Zertifikate über Let's Encrypt aus. Diese werden ebenso wie das Serverzertifikat alle 2-3 Monate neu erstellt. Dabei ändert sich der Fingerprint, aber wenn man Let's Encrypt vertraut, stellt das üblicherweise kein Problem dar. Wer ein eigenes Zertifikat benutzen möchte, kann dies dem [[kontakt|Support]] mitteilen. Dafür müssen aber der private Schlüssel und das Zertifikat auf dem Jabber-Server abgelegt werden. ## Logging Zu Debugging-Zwecken wird allerdings jeweils mit Uhrzeit geloggt: * welcher Server hat sich mit welchem virtuellen Host (welcher Domain) verbunden? * welcher virtuelle Host hat sich mit welchem anderen Server verbunden? Es werden keine userspezifischen Daten oder einzelne Nachrichten erfasst! Zur abhörsicheren Benutzung ist Ende-zu-Ende-Verschlüsselung empfehlenswert. Dazu werden bei Jabber/XMPP die Methoden [[https://de.wikipedia.org/wiki/OMEMO|OMEMO]], [[https://de.wikipedia.org/wiki/OpenPGP|OpenPGP]] oder [[https://de.wikipedia.org/wiki/Off-the-Record_Messaging|OTR]] verwendet. Allerdings kann prinzipbedingt keine dieser Methoden die Metadaten verschlüsseln, z.B. wer mit wem kommuniziert.