Browser Extensions und Add-ons verwalten - Chrome, Edge Chromium und Firefox

22.10.2020 | Autor: Mark Heitbrink

Die drei aktuellen Browser Google Chrome, Microsoft Edge (Chromium) und Firefox unterstützen das Management ihrer Erweiterungen. Chromiumartige nennen sie Extensions, bei Mozilla reden wir über Add-ons.

Warum sollten sie kontrolliert werden? Warum muss ich mir die Arbeit als Admin machen?
Die Antwort ist relativ einfach: In dem Sumpf der Erweiterungen sind zu viele böse Menschen unterwegs und wir reden über Malware, die direkt in eurem Browserverlauf und der Kommunikation mit der Welt eingeklinkt ist.Werbeblocker haben sich als die größten Datensammler rausgestellt und andere sammeln einfach alles was an Daten möglich ist. Es sind Beispiele genügend verfügbar.

Ein aktuelles (10/2020) Beispiel:
Datenklau: Browser-Extension Nano Adblocker/Defender & Co. entfernen

Jeder Browser unterstützt Konzepte in Form von:

  • Blocklist, Erweiterungen die explizit verboten sind, der Einfachheit halber Alle.
  • Allowlist, Erweiterungen die nach Betrachtung durch eine Person erlaubt worden sind.  
  • AutoInstall, Erweiterungen, die in jedem Browser verfügbar sein sollten, damit sie immer da sind
    Firefox unterscheidet innerhalb dieser noch ob der User sie entfernen kann oder nicht. Chrome/Edge erlauben/können das nicht, wenn die Erweiterung als Autoinstall kommt. 
  • Ebenfalls kann das Regelwerk granular gesteuert werden um Kategorieren wie Themes und andere ebenfalls zu kontrollieren.

Jeder Browser verwendet zur Identifizierung der Erweiterung eindeutige IDs. Diese sind in jedem Browser unterschiedlich. Microsoft Edge verwendet im Endeffekt einen gespiegelten Chrome Store mit Microsoft URLs. Trotzdem hat Microsoft noch einmal einen Review auf die Extensions gemacht und es sind nicht alle in Chrome verfügbaren Erweiterungen im Microsoft Extensions Store enthalten. Ebenfalls unterscheiden sich die IDs von Google und Microsoft bei technisch absolut identischer Erweiterung.

Wir benötigen zur Kontrolle die Download Quelle, wo die Erweiterung zu finden ist. Bei Chrome/Edge ist diese optional. Wird sie nicht genannt erwarten beide Browser die Extension im eigenen Store. 

Da jeder der Browser mittlerweile auf anderen OS Plattformen beheimatet ist, gibt es alternativ die Möglichkeit das Regelwerk aus den Richtlinien als JSON File zu definieren und anzuwenden. Das gilt für Chrome, Edge und Firefox.

Mein Regelwerk: Alles ist verboten, es sei denn ich erlaube es (Whitelist)

Die Konfiguration Chrome und Edge sind technisch identisch, da der Microsoft Edge ein Chromium ist. Nur die Namen der Richtlinien und die IDs ändern sich im jeweiligen Extensions Store. Als Beispiele werden ich einen Freien Open Source Password Manager verwenden und einen Tracking/Werbeblocker.

!Good to know! Die Microsoft Edge Erweiterungen akzeptieren auch die IDs vom Google Chrome.

Das macht es etwas einfacher, da wir per copy&paste arbeiten können, zum anderen sind nicht alle Extensions von Chrome im Edge Store verfügbar. In dem Fall muss die Chrome ID verwendet werden.

uBlock Origin
https://chrome.google.com/webstore/detail/ublock-origin/cjpalhdlnbpafiamejdnhcphjbkeiagm
https://microsoftedge.microsoft.com/addons/detail/ublock-origin/odfafepnkmbhccpbejgmiehpchacaeak
https://addons.mozilla.org/de/firefox/addon/ublock-origin

Bitwarden - Kostenloser Passwortmanager
https://chrome.google.com/webstore/detail/bitwarden-free-password-m/nngceckbapebfimnlniiiahkandclblb
https://microsoftedge.microsoft.com/addons/detail/bitwarden-kostenloser-p/jbkfoedolllekgbhcbcoahefnbanhhlh
https://addons.mozilla.org/de/firefox/addon/bitwarden-password-manager/

Microsoft Edge / Google Chome Richtlinien:

Google: Computerkonfiguration\Administrative Vorlagen\Google\Google Chrome\Erweiterungen
Microsoft: Computerkonfiguration\Administrative Vorlagen\Microsoft Edge\Erweiterungen

Blocklist:
Google: Schwarze Liste für Installation von Erweiterungen konfigurieren
Microsoft: Steuern, welche Erweiterungen nicht installiert werden können

Der Eintrag in der Liste ist ein simples "*" (Sternchen/Asterisk), um alles zu verbieten

Allowlist
Weiße Liste für Installation von Erweiterungen konfigurieren
Installation bestimmter Erweiterungen zulassen

Hier tragen wir die Extensions ein, die ein User selber installieren darf. Aber woher bekommt man überhaupt die ID? Wir können sie der URL der Extension direkt entnehmen, siehe obigen URL Liste:
chrome.google.com/webstore/detail/bitwarden-free-password-m/nngceckbapebfimnlniiiahkandclblb
microsoftedge.microsoft.com/addons/detail/bitwarden-kostenloser-p/jbkfoedolllekgbhcbcoahefnbanhhlh

Es handelt sich bei den Einträgen um eine LIST Box. Diese ist leider nicht additiv, d.h. über mehrere Richtlinien/OU Strukturen hinweg würde diese Liste überschrieben werden. Die IDs sind alleine für sich nicht sprechend. Ich mache in so einem Fall immer 2 Einträge pro Erweiterung. Der erste Eintrag ist ein Text der zu meiner Dokumentation dient, der zweite ist der Wert, den der Client versteht und anwendet. Für die Richtlinien, bzw. die Funktionalität des Browser ist das Textfeld praktisch ein fehlerhafter Eintrag, der ignoriert wird. Der Vorgang ist wie schon hier beschrieben:
Ransomware Schutz - Attack Surface Reduction - ASR - Microsoft Defender Exploit Guard

In der Praxis wird es wohl darauf hinauslaufen, das ich als Adminstrator nur sehr wenige Installationen der Erweiterungen automatisiert laufen lasse, denn die Wünsche der Anwender sind u.U. zu individuell, als das sie mit Gruppenrichtlinien abgebildet werden könnten. Ich würde nur 2 oder 3 vielleicht auch 5 automatisiert installieren. Mehr sind nicht für alle notwendig. Die anderen kann ich nach Betrachtung erlauben und auf die Whitelilst setzen. Da der User sie mir gemeldet hat, das er sie benötigt, kann er sie auch selber installieren, nach dem ich sie eingetragen habe.

Autoinstall
Google: Liste der Apps und Erweiterungen konfigurieren, deren Installation erzwungen wurde
Microsoft: Steuern, welche Erweiterungen automatisch installiert werden.

Identischer Eintrag wie oben. Einfach die ID eintragen, fertig.

Mozilla Firefox (Stand Version 82, keine ESR)

Mozilla Firefox ist erst seit der Version 60 ESR, bzw. ab 63(?) in jeder Version in Richtung Gruppenrichtlinien/Policies Funktionalität unterwegs. Über die einfache Richtlinien Konfiguration ist zur Zeit (Stand 11.2020) kein "Alles verbieten, ausser ..." möglich. Sobald die Richtlinie "Add-On Installation deaktivieren" aktiviert ist, gibt es nur die Möglichkeit AddOns zu erzwingen. Dieser werden dann per "Force_install" integriert, sind aber nicht optional als Whitelist. Hier verhält sich Firefox anders als die beiden oben beschriebenen Browser. Das "force_install" der Add-ons über "Erweiterungen installieren" ist etwas tricky, es braucht noch eine weitere Richtlinie, damit sowohl URL als auch ID des AddOns bekannt sind.

Alles verbieten, AddOns erzwingen:
Computerkonfiguration\Administrative Vorlagen\Mozilla\Firefox\Add-Ons
"Add-On Installation deaktivieren" = Deaktiviert (!) Siehe Erklärungstext [...] Wenn Sie die Richtlinieneinstellung deaktivieren, können keine Add-ons installiert werden)
Computerkonfiguration\Administrative Vorlagen\Mozilla\Firefox\Erweiterungen
"Erweiterungen installieren" = Aktiviert ->
addons.mozilla.org/firefox/downloads/latest/bitwarden-password-manager/latest.xpi
"Verhindern, das Erweiterungen deaktiviert oder gelöscht werden" = Aktiviert -> {446900e4-71c2-419f-a6a7-df9c091e268b}

Lösung: Alles verbieten, einiges Erzwingen, optionale Allowlist:
Wir verwenden ein JSON.
Computerkonfiguration\Administrative Vorlagen\Mozilla\Firefox\Erweiterungen
"Erweiterungen mit JSON verwalten"

Stolperfallen und Hilfen:

  • Die URL des Add-Ons gibt keine Auskunft über die ID oder die Download Quelle
  • Die ID versteckt sich in der manifest.json Datei des XPI, d.h. die Datei herunterladen, mit 7zip entpacken undmit einem mit Editor öffnen. Oder die Datei nach Installation im Profil suchen.
  • "Link kopieren" auf dem XPI als QuellAngabe in der Richtlinien sollte vermieden werden, da es immer nur auf die spezielle Version verweist und nicht pauschal auf "LATEST". Latest ist zu bevorzugen, wir wollen eine dauerhaft funktionierende Richtline, die URL und das Regelwerk sollte pauschalisiert sein.
  • Die URL zu, LATEST steht nirgends. Diese kann man manchmal raten, manchmal nicht.
  • Mozilla bietet tatsächlich eine Add-On, um ID und LATEST der Add-Ons leichter zu identifizieren, bzw. direkt über das Add-On anzuzeigen.
    Dokumentation der Steuerung über das JSON
    https://github.com/mozilla/policy-templates/blob/master/README.md#extensions
    Such Add-On on AMO (Add-on Mozilla Org?)
    https://github.com/mkaply/queryamoid/releases/tag/v0.1
    https://github.com/mkaply/queryamoid/releases/download/v0.1/query_amo_addon_id-0.1-fx.xpi

Das JSON ist ein Multi_SZ Wert in der Registry, es erlaubt die Beibehaltung einer Formatierung, im Gegensatz zu den den Lesezeichen in Chrome und Edge. Edge Chromium - Google Chrome Favoriten verteilen, die einen Einzeiler benötigen.

 

{
  "*": {"installation_mode":"blocked"},
  "{446900e4-71c2-419f-a6a7-df9c091e268b}": {"installation_mode": "force_installed","install_url":"https://addons.mozilla.org/firefox/downloads/latest/bitwarden-password-manager/latest.xpi"},
  "uBlock0@raymondhill.net": {"installation_mode": "force_installed","install_url": "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi"},
  "queryamoid@kaply.com": {"installation_mode": "force_installed","install_url": "https://github.com/mkaply/queryamoid/releases/download/v0.1/query_amo_addon_id-0.1-fx.xpi"}
}

 

Ich habe hier alle auf force_install (Autoinstall) stehen, möglich wäre aber auch "allowed", "blocked" oder "normal_installed". In letzterem Fall kann der User sie entfernen. Sie sind installiert, als ob er es selbst getan hätte.

Mit dem Such Add-On ist die Verwaltbarkeit um einiges leichter, es bleibt das etwas unhandliche JSON. Den Bug, das die Richtlinien nicht wie erwartet funktionieren habe ich schon mal reported https://bugzilla.mozilla.org/show_bug.cgi?id=1588059 und einen neuen Bug eingestellt https://bugzilla.mozilla.org/show_bug.cgi?id=1672923. Letzterer scheint Bewegung in die Sache zu bringen :-)

Ich habe jahrelang Chrome favorisiert und empfohlen, da er von Anfang an Richtlinien tauglich war. Jetzt ist es halt der Edge, weil er von Microsoft ist und den Microsoft Defender Application Guard unterstützt. Firefox wird wohl der 2te Browser in den Unternehmen werden. IE ist tod, der alte EDGE genauso, Chrome benötige ich nicht, wenn ich Microsoft Edge habe, deswegen kommt FireFox hinzu, um eine 2te Engine zu haben im Fehler- oder Sicherheitsfall. Sie muss sich nur administrieren lassen und Richtlinien ist das Mittel der Wahl.