In diesem Container wird ein Webserver ausgeführt, auf dem Sie beim Navigieren einen tatsächlichen Firefox -Browser bedienen. Unter der Haube läuft der Behälter XRDP über Apache Guacamole, um das Firefox -Fenster zu servieren.

Dieses Projekt wurde von diesem Blog -Beitrag inspiriert. Die Kreation von Ivonets ist wirklich cool, aber ich dachte, ich würde meine eigenen bauen und einige Verbesserungen hinzufügen. Zuerst habe ich das Apache Guacamole -Bild auf ein aktuelles aktualisiert. Dann habe ich den Browser auf Firefox umgestellt und herausgefunden, wie die Erweiterungen abgebrochen werden sollen, damit sie bereits beim Erstellen des Bildes in den Browser gebacken werden. Zuletzt habe ich einen SecComp -Whitelist -Filter für zusätzliche Sicherheit erstellt.
Dieser Build umfasst Firefox und die PIA VPN -Erweiterung. Die DockerFile hat auch Zeilen für Ublock Origin, Decentraleyes und Privacy Badger ausgezeichnet. Sie wurden kommentiert, um bei der Stabilität zu helfen, aber Sie können sie leicht zu Ihren Bedürfnissen entsprechen.
Dieses Bild wird auf Docker Hub veröffentlicht, und Sie können es mit dem Befehl ausführen:
$ docker run -d --rm --shm-size=1G -p 8080:8080 --name foxception lawndoc/foxception:latest
Es ist wichtig, alle Flags einzubeziehen, damit dieser Docker -Container ordnungsgemäß ausgeführt und geschlossen werden kann. Ich empfehle Ihnen, alle verwendeten Flaggen und das zu lesen, was sie bedeuten (siehe wichtiger Hinweis unten).
Sie können dieses Bild mit einem SECComp -Filter ausführen, um die zulässigen Syscalls des Containers im Falle einer erfolgreichen Ausbeutung zu minimieren. Dazu klonen Sie dieses Repo, erstellen ein Bild mit dem bereitgestellten Skript und führen mit dem bereitgestellten SecComp -Filter aus:
$ git clone https://github.com/lawndoc/foxception.git
$ cd foxception
$ ./build.sh
$ sudo docker run -d --shm-size=1G -p 8080:8080 --security-opt seccomp=foxception_seccomp.json --name foxception lawndoc/foxception:latest
Der SECComp -Filter wurde mit diesem Tool hergestellt, das alle sympalifizierten Systeme am Kernel protokolliert und dann einen SECComp -Filter erzeugt, wenn Sie den Container stoppen. Der bereitgestellte Filter ermöglicht es nur, dass die SYSKALLE, die diesen Container benötigen, wie er beabsichtigt war. Ich empfehle dringend, den SECComp -Filter zu verwenden, da ich in diesem Dienst keine Analyse von Sicherheitsanfällen durchgeführt habe (siehe wichtiger Hinweis unten).
Beachten Sie auch, dass, wenn Sie den Container zu stark ändern, zusätzliche Systeme erfordern, die durch den bereitgestellten SECComp -Filter nicht weißeListetiert werden. In diesem Szenario können Sie das oben erwähnte Tool verwenden, um einen neuen Filter zu generieren.
Um Ihre eigenen Standardverlängerungen auszuwählen, müssen Sie das XPI-Archiv zum Verzeichnis/usr/share/mozilla/tensions/{EC8030F7-C20A-464F-9B0E-13A3A9E97384}/hinzufügen
Das Archiv muss <APP-ID> .xpi bezeichnet werden, wobei <APP-ID> die Anwendungs-ID des Add-Ons ist. Zum Beispiel ist {EC8030F7-C20A-464F-9B0E-13A3A9E97384} die App-ID von Firefox und der Name des Verzeichnisses, zu dem Sie die XPI-Archive hinzufügen sollten. Sie finden die App/Erweiterungs-ID eines beliebigen Add-Ons, das Sie bereits haben, indem Sie: Debuggen in Ihrem lokalen Firefox-Browser.
Um eine Erweiterung herunterzuladen, machen Sie einfach eine Locken wie in der Dockerfile. Sie können die Download-URL des XPI-Archivs des Add-On herunterladen, indem Sie auf die Firefox-Add-On-Website gehen und mit der rechten Maustaste auf die Schaltfläche "Hinzufügen zu Firefox" schweben oder mit der rechten Maustaste klicken.
Abhängig von Ihrem Setup kann dieser Browser dem Internet ausgesetzt sein. Da es in Ihrem Netzwerk ausgeführt wird, wird alles, was im Browser erledigt ist, wieder an das Host -Netzwerk gebunden. Stellen Sie daher sicher, dass Sie wissen, woher es zugänglich ist, und den Zugriff mit Firewalls, HTPasswd usw. zu steuern. Außerdem habe ich keine Schwachstellenanalyse in diesem Container durchgeführt, sodass es möglicherweise sehr gut in der Lage ist, Dinge zu tun, die es nicht beabsichtigt hat. Aus diesem Grund sollten Sie diesen Container auch mit dem vorgesehenen SECComp -Filter wie oben angegeben ausführen.