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 hat, 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.