Wie wir unser BigBlueButton-Hosting absichern

November 13, 2020

Wir betreiben den populären Open Source Videokonferenz-Service “BigBlueButton” (kurz: BBB) mit hohem Anspruch. Unsere Kunden sind Schulen, NGOs und Organisationen mit gesellschaftlichem Mehrwert.

In Kooperation mit dem Verein Cyber4EDU e.V. stellen wir diesen Service inzwischen von Grundschulen bis berufsbildenden Schulen vielen Bildungseinrichtungen zur Verfügung. Viele nutzten unser BBB schon im ersten Lockdown und verwenden es in zunehmendem Maße auch im Regelbetrieb. In Kooperation mit einer Landes-Bildungs-Verwaltung bereiten wir nun den Einsatz für einige 10.000 Schülerinnen und Schüler vor, um im Falle eines erneuten Lockdowns “Remote-Unterricht” im großen Stil ermöglichen zu können.

Im Folgenden wollen wir erläutern, mit welchen Abläufen wir einen möglichst reibungslosen Betrieb bei gleichzeitig hoher Sicherheit für unsere Nutzer und ihre Daten sicherstellen.

Verfügbarkeit: Wir zerlegen und skalieren

Die Anforderungen an Verfügbarkeit und Qualität sind bei Videokonferenz-Diensten besonders hoch. Dem werden wir durch eine besondere Architektur des Services gerecht.

Speziell hierfür haben wir die modular aufgebaute Original-Software in ihre Komponenten zerlegt und betreiben die wesentlichen Elemente auf jeweils eigenen virtuellen Hosts. Mehrere Cluster aus BBB-Servern stellen die Basis des Services dar. Diese werden von mehreren Lastverteilungen (“Scalelite”) bedient. Verschiedenste “Frontends” wie Greenlight (das Webinterface zu BBB), Moodle (ein Lernmanagement-System), Nextcloud (ein Kollaborations-Tool), SchulmanagerOnline (Videokonferenz-Module) fordern von der Lastverteilung Räume an und werden von dort auf die jeweils am wenigsten belasteten BBB-Server verteilt. Folgende Grafik veranschaulicht unser Vorgehen:

Unsere BigBlueButton-Architektur

Open Source richtig genutzt: Wir prüfen

Obwohl oder gerade weil wir von den Vorteilen von Open Source-Lösungen überzeugt sind, investieren wir viel Zeit, um Software, die wir in den Produktivbetrieb überführen, auf Herz und Nieren zu überprüfen, bevor wir sie in unser Deployment einbinden. Das versteht sich eigentlich für jede Software, egal ob Open Source oder proprietär, von selbst. Der Open Source-Ansatz erlaubt es uns aber, noch tiefer zu gehen — wenn es sein muss, bis hinunter auf den Quellcode.

Denn BigBlueButton enthält, wie jede Software, diverse Fehler, Sicherheitslücken und konzeptionelle Probleme. Da BBB aber Open Source ist, können wir uns selbst ein Bild machen. Wir analysieren BBB und seine Komponenten kontinuierlich in unserem Team, melden Sicherheitslücken und Fehler an die Entwickler und bauen jeweils Schutzmechanismen in und um die Komponenten. Das verbessert nachhaltig die Sicherheit — für uns und andere BigBlueButton-Anbieter und deren Nutzer. Gleichzeitig profitieren wir von den Sicherheitsanalysen anderer Expert:innen.

Dazu verfolgen wir die aktuelle Entwicklung von BigBlueButton, sodass wir neue Features antizipieren und testen oder Fehlerbehebungen validieren können, noch bevor eine neue Version erscheint.

Weiterhin trägt erheblich zur Sicherheit bei, dass wir die Zugriffsrechte der Komponenten analysieren und soweit möglich beschränken. So laufen diese nicht mehr wie beim Originalsystem als “root”. Ausgewählte Prozesse werden zudem mittels “AppArmor” geschützt, sodass nur noch erwartbare Zugriffe auf das System gewährt werden.

Open Source richtig genutzt: Wir geben zurück

Durch unsere Meldungen konnten die Entwickler bereits mehrere Sicherheitslücken schließen. Wir betreiben dabei aktive Kommunikation und belassen es nicht bei einem einfachen Hinweis an die Entwickler.

Weitere Härtungen, die sich nicht sofort trivial von den BigBlueButton-Autor:innen umsetzen lassen, haben wir in ein eigenes dafür geschriebenes Ansible-Repository überführt, dass wir der Community zur Verfügung stellen. Es behebt zum Beispiel die oben genannten Probleme.

Fehler vermeiden: Wir setzen auf das Vier-Augen-Prinzip

Grundsätzlich gilt bei uns das Vier-Augen-Prinzip. Systemadministrator:innen arbeiten immer zu zweit an Produktivsystemen und dokumentieren ihre Arbeit in einem fortlaufenden, für alle relevanten Personen einsehbaren, Log.

Pflege und Skalierung: Wir bevorzugen Herden statt Haustiere

Wir betrachten unsere Server nicht als lieb gewonnene Haustiere, die wir stetig pflegen, sondern ersetzen die Installationen regelmäßig auch außerhalb der großen Update-Zyklen durch neue. Dies geschieht, ohne dass Nutzer dies bemerken. So können wir verhindern, dass auf den Servern Probleme, etwa durch veraltete Konfigurationen, kumulieren.

Die Hosts sind über drei Rechenzentren verteilt und werden vollautomatisch mittels “Ansible” erzeugt, sodass auch kurzfristig auf wachsenden Bedarf reagiert werden kann.

Das Deployment erfolgt entsprechend vollautomatisch. So können keine Tippfehler durch Ermüdung beim Konfigurieren vieler Hosts entstehen. Erst nach umfangreichen Tests in einem eigens dafür reservierten Test-Cluster werden neue Versionen in Betrieb genommen.

Testen: Wir automatisieren

Ein ausgefeiltes Testsystem prüft kontinuierlich den vollen Funktionsumfang der Services mit automatisierten Testusern und misst die Reaktionszeiten des Systems, sodass Probleme schon durch das Laufzeitverhalten erkannt werden, bevor sie störend werden können.

Monitoring: Wir sorgen für einen reibungslosen Betrieb

In einem Monitoring- und Alertingsystem laufen die Daten der Tests mit weiteren “Vitalparametern” der Produktivsysteme zusammen. Von dort werden in mehreren Eskalationsstufen die verantwortlichen Systemadministrator:innen alarmiert, falls ein Problem auftritt.

Benutzererfahrung: Wir verbessern

Die Anforderungen an Video-Conferencing sind vielfältig. Gleichzeitig ergeben sich durch faktisch nicht trivial zu behebende Probleme wie die Verfügbarkeit an moderner Hardware und Bandbreite bei den Konferenzteilnehmern Beschränkungen.

Wir prüfen fortwährend, wie wir unseren Nutzern dabei am Besten gerecht werden und wie wir neue Entwicklungen für unsere Nutzer bereitstellen können.

Pauschalaussagen verbieten sich hier allerdings, sodass die Kapazität des Systems nur anhand von Beispielen angegeben werden kann. Wichtig ist für uns, dass wir mit unseren Kunden dafür sorgen, dass die Konferenzteilnehmer BigBlueButton sinnvoll für ihren Zweck einsetzen können.

Datensicherheit: Wir schaffen Vertrauen

Videokonferenzsysteme sollten einem besonderen Maß an Datenschutz genügen: Hier werden nicht nur sensible Informationen ausgetauscht; vielmehr besteht ein besonderer Durchgriff auf die privaten Daten der Nutzer:innen, etwa durch die Verwendung von Kamera und Mikrofon oder dem Zugriff auf Desktop und Dateisystem. Diesen Schutz gewährleisten wir auf zwei Arten.

Wir arbeiten zum Einen grundsätzlich datensparsam. So haben wir das Logging der Systeme auf ein absolutes Minimum im Sinne von Fehleranalyse und Angriffs-Monitoring reduziert und speichern diese für maximal sieben Tage.

Zum anderen erhöhen wir die effektive Sicherheit unserer Software auch durch die oben beschriebenen Maßnahmen. Damit gehen wir über die rein formellen Anforderung der DSGVO hinaus.

Neben den gebotenen Auftragsdatenverarbeitungsverträgen unterstützen wir unsere Kunden auch mit Leitfäden und Vorlagen für Einwilligungserklärungen für ihre Nutzer.

Noch Fragen?

In diesem Artikel haben wir versucht, unsere Arbeit so kompakt und zugleich so transparent wie möglich zusammenzufassen. Falls es dennoch Fragen gibt, freuen wir uns über eine Mail an support AT infra.run.