Wer sich einigermassen um Sicherheit oder Privatsphäre kümmert, hat seinen Browser sicherlich entsprechend eingestellt. Sind diese Einstellungen strikt, wollen gängige, browserbasierte Video Conferencing Apps vielleicht nicht mehr richtig funktionieren.

Update 31.05.2022: Ergänzungen für neuere BBB-Versionen, überholte Angaben und Links angepasst.

Wegen Videokonferenzen den Browser wechseln oder das Profil auf die Voreinstellung zurücksetzen? Viele User finden, das wäre ein unsinniger Rat. Fortgeschrittenere Anwender/-innen verwenden bereits verbesserte FF user.js-Dateien. Was müssen sie spezifisch anpassen, damit Videokonferenzen gut funktionieren? Dazu finden sich anscheinend noch wenige Informationen.

Ein paar Ideen folgen - Ergänzungen sind willkommen!

Inhalt:

Einführung

Referenz-Videokonferenz-Applikationen BBB und Jitsi Meet

BigBlueButton (BBB) oder Jitsi Meet gibt es schon seit über einem Jahrzehnt. Beide dürfen als bewährt, zuverlässig und recht sicher gelten, was nicht für alle vermeintlich modischen Apps gesagt werden kann. Das wäre allerdings ein Thema für sich. BBB wurde und wird gerne im Bildungsbereich, etwa Fernunterricht, verwendet, ist aber ebenso wie Jitsi Meet ideal für eine Webkonferenz oder für ein Online-Meeting. Jitsi Meet dürfte für kleinere bis mittelgrosse Konferenzen geeignet sein, wobei das offenbar stark von den serverseitigen Einstellungen abhängt. Einige BBB-Plattformen bieten Konferenzen mit Tausenden von Teilnehmerinnen an.

Ein grosser Vorteil gegenüber anderen Videokonferenz-Applikationen ist, dass sie nur einen Browser voraussetzen und fast immer gut funktionieren. Für Jitsi Meet gibt es auch eine Android- oder iOS-App.

Welche Angebote gibt es?

Jitsi Meet

oder eine eigene Variante ist bei vielen Hosting-Anbietern verfügbar. Eine Liste vieler Angebote zeigt auch mehrere in der Schweiz.

Diejenigen Angebote mit einem grünen Häkchen in der Spalte Non-Google STUN/TURN sollten für “bessere” Sicherheit und Privatsphäre vorgezogen werden.

BigBlueButton (BBB)

Das bekannteste, öffentlich verfügbare Angebot in der Schweiz ist sicherlich die BBB-Plattform von CH Open und green.ch AG. Daneben betreiben einige Organisationen oder Firmen eigene Instanzen.

Referenz-Browser Firefox (FF)

Firefox gilt als ein gut konfigurierbarer Webbrowser. Auch das wäre ein Thema für sich. Jedenfalls steht mit der user.js-Datei eine Möglichkeit zur Verfügung, welche Firefox sehr viel stärker als andere Browser konfigurieren oder ändern lässt. Bereits “privat(er)” und “sicher(er)” eingestellt ist die Firefox-Variante LibreWolf.

user.js

Eine user.js-Datei kann beispielsweise auf vorgefertigten user.js von arkenfox oder vom Privacy-Handbuch basieren. Das idealerweise separate Profil für Videokonferenzen mit separater user.js-Datei kann mit den nachstehenden Einträgen ergänzt werden.

Browser-Einstellungen für Video Conferencing

Separates FF-Profil mit angepasster user.js für Videokonferenzen

Kenntnisse zur user.js-Datei oder about:config werden in diesem Beitrag vorausgesetzt. Dazu gibt es viele Anleitungen, bspw. im Privacy-Handbuch (PH).

  1. Empfehlung: ein separates Video-Conferencing-Profil mit angepasster user.js-Datei anlegen. Das geht am Einfachsten.
  2. Die notwendigen Anpassungen können in einer user.js-Datei des genannten Videokonferenz-Profils unten angefügt werden – Einträge weiter unten übersteuern Einträge weiter oben.

Notwendige Preferences

user_pref Erläuterungen
user_pref("dom.webaudio.enabled", true) da arkenfox und andere auf false sind; FF Default = true
user_pref("media.peerconnection.enabled", true) arkenfox u. a. auf false
user_pref("media.peerconnection.ice.no_host", false) arkenfox, PH u. a. auf true
user_pref("media.peerconnection.ice.proxy_only_if_behind_proxy", false) arkenfox u. a. auf true
user_pref("privacy.resistFingerprinting", false) arkenfox u. a. auf true
user_pref("javascript.options.wasm", true) Security: false. BBB > 2.21

Optionale Preferences

Gemäss eigenen Tests überflüssig, aber stören nicht:
user_pref("media.peerconnection.ice.relay_only", false) FF Default

Gegenmassnahmen bei ausgeschaltem RFP

Einzelne Gegenmassnahmen wegen abgeschalteten resistFingerprinting (RFP)
Optional. Ersetzen RFP teilweise, ohne VideoConf zu stören (vgl. arkenfox).
user_pref("dom.enable_resource_timing", false)
user_pref("dom.enable_performance", false)
user_pref("browser.zoom.siteSpecific", false)
user_pref("dom.netinfo.enabled", false)
user_pref("media.webspeech.synth.enabled", false)
user_pref("media.video_stats.enabled", false)
user_pref("media.ondevicechange.enabled", false)
user_pref("webgl.enable-debug-renderer-info", false)
user_pref("dom.w3c_pointer_events.enabled", false)
user_pref("ui.use_standins_for_native_colors", true)
user_pref("ui.systemUsesDarkTheme", 0)
user_pref("ui.prefersReducedMotion", 0)

Einstellungen Extensions

  • NoScript: JavaScript zulassen
  • uBlockOrigin: keine speziellen Anpassungen nötig. Ältere Versionen: Prevent WebRTC from leaking local IP addresses auf off stellen

Firewall: Hosts und Ports

Bei einer sinnvollerweise restriktiven Firewall-Einstellung müssen zusätzlich erlaubt werden:

  • BBB: Host IP und Ports nebst 443: 16384:32768 (UDP)
  • Jitsi Meet: Host-IP und Ports nebst 443: 5349 (TCP), 3478 und 10000:20000 (UDP)

Zwei Beispiele

Jitsi Meet von switch.ch

  • open.meet.switch.ch, Info (SWITCH, eine Stiftung im Bildungs- und Forschungsbereich, kann als seriös erachtet werden)
  • IP TCP und UDP Traffic:
    130.59.0.0/16 (TCP: zufällige IP aus diesem Bereich, UDP: wohl nur 130.59.99.8)
  • Ports nebst sowieso offenem 443:
    5349 (STUN/TURN über TCP), 3478 (COTURN querying STUN über UDP) 10000:20000 (UDP, bei SWITCH offenbar effektiv nur 10000)

BBB von CH Open/Green

  • bbb.ch-open.ch
  • IP TCP und UDP Traffic:
    bbb.ch-open.ch oder IP 82.195.231.179
  • Ports nebst 443:
    16384:32768 (UDP)

Zusammenfassung:
Sinnvollerweise kann für viele Firewalls eine immer noch akzetabel sichere Einstellung sein: Bei Host-IPs der verwendeten Dienste die Ports 5349 (TCP) und UDP 3478, 10000: 32768 erlauben. Also beispielsweise (nur) eine Regel für Host 1, Host 2, … mit genannten offenen Ports.

Ergänzungen willkommen

Wer hat andere Erfahrungen? Korrekturen und Vorschläge gerne!