Open Source im professionellen Einsatz

Distributionen

Wer selbst Hand anlegen will, muss als erste Hürde die geeignete Distribution mit entsprechend kompilierten GTK+-Paketen finden. Broadway – genauer das GDK-Backend – hielt erst mit der noch recht jungen Version 3.2 Einzug in das Gnome-Toolkit und ist in den meisten Distributionen noch nicht einkompiliert. Weder Ubuntu 11.10 noch Fedora 16 vermochten im Test von Haus aus einzelne Programme in den Browser zu verlagern. Problemärmer war indes Open Suse 12.1, das ein GTK+ mit Broadway-Support mitbringt. Zum Testen installierten die Autoren des Linux-Magazins die 64- und die 32-Bit-Version der Distribution aus dem kompletten DVD-Image und wählten Gnome als Standarddesktop. Der Kasten "Großes Kino?" zeigt, wie Anwender herausfinden, ob ihre Distribution Broadway beherrscht.

Großes Kino?

Wer herausfinden will, ob die eigene Distribution bereits Broadway unterstützt, greift zu dem Unix-Urgestein »strings« . Es reicht, mit »strings /pfad/zu/libgdk-3.so | grep broadway | wc -l« nach dem entsprechenden Text in der Library zu suchen (Abbildung 4). Die Ergebnisliste sollte weit über 100 Einträge aufweisen. Untrüglicher Hinweis auf fehlenden Broadway-Support ist auch die Fehlermeldung »Gdk-ERROR **: Unsupported GDK backend: broadway« beim Programmstart. Andere Möglichkeiten, Broadways Funktionstüchtigkeit zu überprüfen, fehlen derzeit.

Abbildung 4: Das Strings-Kommando hilft beim Check, ob die eigene Installation mit oder ohne Broadway kompiliert ist.

Abbildung 4: Das Strings-Kommando hilft beim Check, ob die eigene Installation mit oder ohne Broadway kompiliert ist.

Probleme im Publikum

Mit dem Bereitstellen der entsprechenden GTK+-Version allein ist es jedoch noch nicht getan, denn Broadway greift für die Anzeige auf so genannte Websockets [4] zurück. Websocket aus HTML 5 ist ein neues Protokoll, das eine bidirektionale Kommunikation zwischen Webserver und Browser erlaubt. Anders ausgedrückt kann damit der Server dem Browser einen Datenstrom senden, selbst wenn dieser ihn gar nicht aktiv angefragt hat. Lediglich die Eröffnung der Websockets-Sitzung erfolgt per HTTP, danach läuft die Kommunikation über das neue Websocket-Protokoll.

Aus Sicherheitsgründen ist in allen aktuellen Browsern die Unterstützung von Websockets deaktiviert (Abbildung 2, Kasten "Happy End"), es gibt zumindest in Firefox auch keine versteckte Option, um dieses Verhalten zu ändern. Einziger Ausweg ist die Installation einer älteren Version, in der die Unterstützung für das Protokoll noch besteht. Der Test griff auf Empfehlung der Broadway-Entwickler auf Firefox 4.0.1 zurück, für den Mozilla fertige »tar.gz« -Pakete auf seinen Mirrors bereitstellt [5].

Happy End

Für Broadway stehen mittlerweile zwei Patches bereit ([6], [7]), die zu Redaktionsschluss zwar noch nicht in Form einer vorkompilierten Library vorlagen, aber Großes versprechen: Mit ihnen soll die Technologie dank der Unterstützung von Websockets V7+ künftig in jedem aktuellen Browser laufen. Zudem entfallen damit dann die umständlichen Änderungen an der Firefox-Konfiguration. Derzeit treten laut Entwicklerangaben mit den Patches jedoch noch Probleme auf, beispielsweise bei der Tasteneingabe.

Abbildung 2: Im aktuellen Firefox verweigert Broadway mit dieser Fehlermeldung seinen Dienst.

Abbildung 2: Im aktuellen Firefox verweigert Broadway mit dieser Fehlermeldung seinen Dienst.

Nach Download und Entpacken des Archivs schlug der erste Firefox-Start jedoch mit Hinweis auf fehlende Bibliotheken fehl. Des Rätsels Lösung besteht darin, die Variable »LD_LIBRARY_PATH« auf das Browserverzeichnis zu setzen, etwa mit »LD_LIBRARY_PATH=/home/floeff/firefox/home/floeff/firefox/firefox-bin« . Vor dem ersten Start ist es wichtig, alle bereits laufenden Firefox-Instanzen zu beenden, da nicht beide Versionen parallel aktiv sein können (siehe Kasten "Nicht ohne Stuntman!").

Nicht ohne Stuntman!

Das Mischen mehrerer Firefox-Versionen kann sich unter Umständen negativ auf das verwendete Benutzerprofil auswirken, vor allem dann, wenn Extensions zum Einsatz kommen, die nur mit einer der Versionen kompatibel sind.

Da die notwendigen Konfigurationsänderungen gleichzeitig potenzielle Sicherheitslücken offenlegen, ist dringend anzuraten, entweder mit verschiedenen Profilen oder gleich mit einem dedizierten Testbenutzer zu arbeiten. Für die normale Internetnutzung sollte der Benutzer unbedingt auf einen aktuellen Firefox zurückgreifen, um in den Genuss von Sicherheitsupdates zu kommen.

Doch selbst das genügt noch nicht. Auch wenn Firefox 4.0.1 grundsätzlich die Unterstützung für Websockets mit an Bord hat, muss der Anwender das Protokoll explizit aktivieren. Eine grafische Konfiguration dafür ist nicht vorgesehen, weshalb der Weg über »about:config« in der Adresszeile führt (siehe Abbildung 3). Zwei Optionen sind im dort erscheinenden Dialog von Bedeutung: Zum einen »network.websocket.enabled« , die auf dem Testsystem bereits korrekt auf »true« gesetzt war, dann »network.websocket.override-security-block« , für die Broadway den gleichen Wert verlangt.

Abbildung 3: Trotz kompatibler Firefox-Version sind noch einige händische Änderungen notwendig.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 3 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Als digitales Abo

Als PDF im Abo bestellen

comments powered by Disqus

Ausgabe 07/2013

Preis € 6,40

Insecurity Bulletin

Insecurity Bulletin

Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...

Linux-Magazin auf Facebook