Wegwerf-Browser für FreeBSD 13.2 mit pot

Wegwerf-Browser in Jail nutzen

Wegwerf-Browser können zu einem äußerst nützlichen Tool werden, wenn es darum geht einen Browser isoliert vom Host-System zu betreiben. So ist sichergestellt, dass Firefox keinerlei Zugriff auf die Daten vom Host-System bekommt.

Attention: For the english version, click here!

Wenn du eine Session beendest, kannst du sicher sein, dass die ganze Browser-Umgebung gelöscht ist und genau so einfach lässt sich ein neuer Browser auch wieder neu aufsetzen, der vollständig getrennt vom Host-System agiert.

Das Ganze lässt sich mit dem Jail-Manager pot einfach umsetzen. In der Vergangenheit habe ich bereits hier ein kleines Tutorial zu pot verfasst.

Voraussetzung für den Wegwerf-Browser

Sofern du FreeBSD noch nicht mit einer grafischen Oberfläche nutzt, solltest du es spätestens jetzt tun. Diese wird später benötigt, um den isolierten Browser innerhalb einer Jail öffnen können.

Hier sind ein paar Möglichkeiten aufgelistet, um unter FreeBSD 13.2 eine Desktop-Umgebung zu installieren:

Eine geeignete Jail erstellen

Wenn du jetzt eine Desktop-Umgebung installiert hast kannst du dich jetzt, um die Jail kümmern.

Als erstes, solltest du wieder dein Repository updaten:

pkg update && pkg upgrade -y

Ist das getan, installierst du pot, um damit im Anschluss deine Jail zu erstellen:

pkg install pot

Daraufhin musst du pot initialisieren.

pot init

Danach solltest du pot in der /etc/rc.conf verfügbar machen, sodass nach einem Neustart pot automatisch mitgestartet wird.

service pot enable

Im nächsten Schritt erstellst du eine Jail mit dem Namen ffbox. Als base system kannst du FreeBSD 13.2 nutzen und die Netzwerkverbindung sollte public-bridge sein.

pot create -p ffbox -b 13.2 -t single -N public-bridge

Wechsel in deine erstellte Jail mittels folgendem Kommando:

pot run ffbox

Hierbei wird die Jail auch automatisch gestartet. Wie du am Prompt erkennst, bist du nun als root@ffbox angemeldet.

Innerhalb der Jail installierst du nun die Pakete xauth und Firefox. xauth wird benötigt, um dadurch im weiteren Verlauf des Tutorials mittels ssh -X die Verbindung zum remote display innerhalb der Jail weiterzuleiten. Deshalb ist es wichtig vorab eine funktionierende Desktop-Umgebung installiert zu haben.

pkg install xauth firefox

Bearbeite nun die Datei /etc/ssh/sshd_config mit dem Editor deiner Wahl und treffe folgendee Einstellungen:

PublicKeyAuthentication yes
X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost

Die PublicKeyAuthentication lässt die SSH-Verbindung mittels Public Key auf die Jail zu. Durch X11Forwarding wird Verbindung zum remote display in der Jail hergestellt. Dies geschieht alles über die Netzwerkverbindung. Um dafür die grafische Oberfläche von deinem Host-System zu nutzen muss X11UseLocalhost auf yes gesetzt sein. X11DisplayOffset legt den ersten verfügbaren Display fest, um X11Forwarding über ssh nutzen zu können.

Da der SSH-Dienst in der Jail bisher noch nicht gestartet war, solltest du das jetzt tun.

service sshd enable
service sshd start

Hast du das alles erledigt empfehle ich dir einen seperaten User mit adduser anzulegen.

root@ffbox:~ # adduser
Username: ffuser
Full name:
Uid (Leave empty for default):
Login group [ffuser]: wheel
Login group is wheel. Invite ffuser into other groups? []:
Login class [default]:
Shell (sh csh tcsh bash rbash nologin) [sh]:
Home directory [/home/ffuser]:
Home directory permissions (Leave empty for default):
Use password-based authentication? [yes]:
Use an empty password? (yes/no) [no]:
Use a random password? (yes/no) [no]:
Enter password:
Enter password again:

Verlasse nun deine Jail mit exit.

Wieder auf dem Host-System, öffne ein Terminal.

ssh -X ffuser@10.192.0.3 firefox

Bevor du aber jetzt den Browser allerdings nutzt, solltest du mit dem letzten Kapitel fortfahren.

Snapshot erstellen und einspielen

Bevor du jetzt jedes Mal die Jail löschst und neu erstellst, kannst du dir über pot einen Snapshot sichern und ihn bei Bedarf wieder zurückrollen.

Zuerst muss die Jail gestoppt werden.

pot stop ffbox

Im Anschluss kannst du den Snapshot ziehen, anstatt die Jail zu löschen.

pot snapshot -p ffbox

Jetzt kannst du die Jail wieder zurückrollen.

pot revert -p ffbox

Fazit

Jetzt hast du deinen eigenen Wegwerf-Browser innerhalb einer Jail eingerichtet. Damit kannst du isoliert vom Host-System einfach und bequem surfen. Wenn du eine neue Session benötigst, nutze den zuvor erstellten Snapshot und rolle die Jail zurück. Viel Spaß beim Ausprobieren.


Disposable browser for FreeBSD 13.2 with pot

A disposable browser can become an extremely useful tool when it comes to running a browser isolated from the host system. This ensures that Firefox has no access to the data on the host system.

When you end a session, you can be sure that the entire browser environment is deleted, and setting up a new browser is just as simple, operating completely separately from the host system.

All of this can be easily achieved using the jail manager pot. In the past, I have already written a small tutorial on pot here.

Prerequisites for the disposable browser

If you’re not already using FreeBSD with a graphical interface, you should do so now. This will be required later to open the isolated browser within a jail.

Here are a few options for installing a desktop environment on FreeBSD 13.2:

Creating an Appropriate Jail

Once you’ve installed a desktop environment, you can now focus on creating the jail.

First, update your repository:

pkg update && pkg upgrade -y

Once that’s done, install pot to create your jail:

pkg install pot

Next, initialize pot:

pot init

Afterward, you should make pot available in the /etc/rc.conf file so that pot is automatically started upon reboot.

service pot enable

In the next step, create a jail named ffbox. You can use FreeBSD 13.2 as the base system, and the network connection should be public-bridge.

pot create -p ffbox -b 13.2 -t single -N public-bridge

Access your newly created jail using the following command:

pot run ffbox

This command also automatically starts the jail. As you can see from the prompt, you are now logged in as root@ffbox.

Inside the jail, install the packages xauth and Firefox. xauth is required to forward the connection to the remote display inside the jail using ssh -X in the later part of the tutorial. Therefore, it’s essential to have a functioning desktop environment installed beforehand.

pkg install xauth firefox

Now, edit the file /etc/ssh/sshd_config using your preferred text editor and make the following settings:

PublicKeyAuthentication yes
X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost

The PublicKeyAuthentication allows the SSH connection to the jail using a public key. X11Forwarding establishes a connection to the remote display inside the jail, all done over the network connection. To use the graphical interface from your host system, X11UseLocalhost must be set to yes. X11DisplayOffset specifies the first available display for using X11Forwarding over SSH.

Since the SSH service was not yet running in the jail, you should do that now.

service sshd enable
service sshd start

Once you’ve completed these steps, I recommend creating a separate user with adduser.

root@ffbox:~ # adduser
Username: ffuser
Full name:
Uid (Leave empty for default):
Login group [ffuser]: wheel
Login group is wheel. Invite ffuser into other groups? []:
Login class [default]:
Shell (sh csh tcsh bash rbash nologin) [sh]:
Home directory [/home/ffuser]:
Home directory permissions (Leave empty for default):
Use password-based authentication? [yes]:
Use an empty password? (yes/no) [no]:
Use a random password? (yes/no) [no]:
Enter password:
Enter password again:

Now, exit your jail with exit.

Back on the host system, open a terminal and use the following command:

ssh -X ffuser@10.192.0.3 firefox

Before using the browser, you should continue with the last section.

Creating and Restoring Snapshots

Instead of deleting and recreating the jail each time, you can use pot to take a snapshot and roll it back when needed.

First, you need to stop the jail:

pot stop ffbox

Next, you can create a snapshot instead of deleting the jail:

pot snapshot -p ffbox

Now, you can roll back the jail:

pot revert -p ffbox

Conclusion

You have now set up your own disposable browser within a jail. This allows you to browse in isolation from the host system easily and conveniently. When you need a new session, use the previously created snapshot and roll back the jail. Enjoy experimenting!

Start the discussion

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert