Jitsi Meet Installation



Durch die aktuelle Corona Pandemie sind Videokonferenzen einer der Möglichkeiten, um in Kontakt zu bleiben. Weil einige der Videokonferenz Angebote dubiose Sicherheits- und Privacy-Aspekte haben ist eine Open Source Lösung die man selbst hosten kann eine gute Idee. Seit den Enthüllungen von Edward Snowden kann man ja nicht mehr annehmen dass nicht mitgeschnitten wird, ausser man ist im besten Fall naiv.

Ein Beispiel für eine Anwendung mit einer dubiosen Sicherheits-Historie is Zoom: Soviel ich weiss ist Zoom der einzige Drittanbieter von Software der es geschafft hab, dass seine Software aus Sicherheitsgründen bei einem Sicherheitsupdate des Betriebssystem-Herstellers deinstalliert wurde. Zoom hatte eine Anwendung installiert, die es jeder bösartigen Webseite erlaubte, die Kamera einzuschalten und Video mitzuschneiden. Daraus haben sie in der Folge aber nicht viel gelernt, weil sie vor kurzem dabei erwischt wurden dass sie Benutzerdaten an Facebook weitergegeben haben, auch wenn der Nutzer keinen Facebook-Account hat. Daher kann man diese Anwendung wohl nicht empfehlen.

Sichere Videokonferenzen mit mehr als zwei Teilnehmern sind typischerweise so implementiert, dass Klartext (oder vielleicht besser "Klarvideo"), also unverschlüsseltes Video und/oder Audio am Server vorliegt. Selbst wenn der Browser mit https verbindet und das Audio/Video verschlüsselt versendet wird, wird es am Server ausgepackt und für andere Teilnehmer der Konferenz neu verschlüsselt. Der Grund ist, dass sonst jeder Teilnehmer die Inhalte für jeden anderen Teilnehmer lesbar verschlüsseln müsste. Eine einfach Implementierung würde dabei eine mit der Anzahl der Teilnehmer quadratisch steigende Anzahl von Video/Audio Streams brauchen. Eine besser durchdachte Anwendung würde die Streams so verschlüsseln, dass jeder Teilnehmer sie entschlüsseln kann. Aber diese Variante macht das Hinzufügen oder Entfernen von Teilnehmern der Konferenz schwieriger und wird von den standard Sicherheitsprotokollen für Audio- und Videoverschlüsselung nicht unterstützt (so dass der Schlüsselaustausch auf einem anderen Kanal erfolgen müsste). Dies ist der technische Grund, warum die meisten Videokonferenz-Anwendungen unverschlüsselten Klartext am Server haben. Das macht es für den Betreiber des Servers einfach, mitzuschneiden. Jitsi-Meet ist in dieser Hinsicht nicht verschieden: Auch hier liegt am Server Klartext vor. Aber die gute Nachricht ist, dass man den Server selbst betreiben kann.

Auf der Jitsi-Meet Seite findet man Instruktionen (leider meines Wissens nur in Englisch) um den Installationspfad für Debian oder Ubuntu basierte Linux Installationen um das Jitsi-Meet Repository zu ergänzen. Damit ist es möglich, Jitsi-Meet mit dem üblichen apt-get install jitsi-meet zu installieren.

Sobald das mal gemacht ist, erlaubt die resultierende Jitsi-Meet Instanz allen Usern, neue Konferenzen anzulegen. Für die meisten Installationen möchte man dieses Verhalten nicht haben. Daher gibt es auf der Jitsi-Meet Github Seite Instruktionen um nur einem Moderator das Erzeugen von neuen Konferenzen zu erlauben.

Die in der Anleitung erwähnte Gast-Domain guest.jitsi-meet.example.com braucht nicht im DNS angelegt zu werden, sie wird nur intern für nicht-eingeloggte Benutzer verwendet.

Mit dem aus dieser Anleitung resultierenden Server kann man eigene Video-Konferenzen hosten. Es gibt aber leider ein Problem mit dem Firefox Browser. Dieser verhält sich störend im Zusammenhang mit der Jitsi-Meet Software. Die Details sind in einem Bug-Tracker Ticket beschrieben (leider nur in Englisch). Der Effekt des Bugs ist, dass Audio und Video immer mal wieder nicht funktioren. Leider nicht nur für die Firefox-Benutzer, sondern für alle Teilnehmer sobald es einen Firefox-Benutzer in der Konferenz gibt. Aus diesem Grund ist es eine gute Idee, Benutzern mit Firefox Browser nicht zu erlauben, den Konferenz-Server zu nutzen bis dieser Bug gefixt ist. Wenn man das will, editiert man die Datei /usr/share/jitsi-meet/interface_config.js in der Jitsi-Meet Installation. Es gibt zwei Konfigurations-Einträge, einer mit dem Namen OPTIMAL_BROWSERS enthält in der Default-Konfiguration auch den firefox. Ein weiterer Eintrag namens UNSUPPORTED_BROWSERS ist in der Standardeinstellung leer. Um Firefox-Nutzer von der Konferenz auszuschließen wird der firefox Eintrag von OPTIMAL_BROWSERS nach UNSUPPORTED_BROWSERS verschoben.

Mit diesem Setup habe ich nun einen laufenden Konferenz-Server wo ich nicht dubiosen Online-Angeboten bezüglich Sicherheit und Privacy vertrauen muss.