Webbrowser absichern mit VSERVERDienstag, 16 November, 2010 2:11

Die Entwicklung von malware schreitet voran, bisher ist die Standard Strategie dagegen, Betriebssystem und Applikationen stets auf aktuellem Stand zu halten und Sicherheitssoftware, d. i. im Einzelnen einen Antivirus und eine Firewall einzusetzen. Manchmal werden auch intrusion detection Systeme verwendet oder file integrety checkers.

Linux kennt chroot, d. i. ein Verzeichnis, das aus Sicht der Applikation im chroot der Stamm des Betriebssystems ist. Die Applikation im chroot kann (normalerweise) nicht aus dem chroot ausbrechen. Gentoo bietet mir nicht an, Webbrowser und andere Netzapplikationen im chroot einzusperren. - Wenn ich das möchte, ist das ein Aufwand, den ich selbst erledigen muss, obwohl es Pakete gibt, für die man per USE flag ein chroot bestimmen kann.

linux+chroot googlen 

VSERVER ist ein Projekt, das erlaubt, ein virtuelles Linux mit demselben Kernel laufen zu lassen. Auch hier wird ein Verzeichnis im System verwendet und darin läuft ein richtiges Linux System parallel zum host System. Es funktioniert wie ein chroot, hat aber mehr Konfigurationsmöglichkeiten und ist besser abgeschottet als das chroot.

http://linux-vserver.org 

Applikationen in einem VSERVER sind gegen den host gekapselt, aber es gibt Schnittstellen, SSH Beispielsweise. Ich kann mich auf dem VSERVER per SSH vom host aus einloggen, auch wenn beide auf der selben Maschine laufen. SSH bietet an X zu transportieren, also kann ich im host X-Applikationen vom VSERVER laufen lassen. Eine Analyse von X über SSH kann man sich hier ansehen (englisch):

X over SSH - A Tutorial 

Um nun Firefox, Opera oder welchen modernen internet browser auch immer und internet messanger wie Pidgin vom eigenen host abgeschottet laufen zu lassen, wird ein minimaler VSERVER installiert, wie z. B. hier beschrieben:

Gentoo Linux Dokumentation -- Gentoo Linux-VServer Howto 

Ausführlicher und in Englisch: Gentoo Linux Documentation -- Gentoo Linux-VServer 

Danach kann man seinen VSERVER behandeln wie einen zweiten Computer der mit Gentoo installiert ist. Er funktioniert genauso, braucht aber nicht alles. Da ich hier nur einzelne X Applikationen haben will, brauche ich gar keinen xorg server und auch keine Fenstermanager im VSERVER. Mein host, in dem die Applikationen dargestellt werden hat das X. Man muss nur darauf achten, dass die Bibliotheken, gegen die die Applikation gelinkt ist, im VSERVER liegen, wodurch sich auch die Optik ergibt. Auch die Proxy Konfiguration wenn die z. B. auf 127.0.0.1 zeigt, trifft den VSERVER und nicht den gastgebenden host - das kann verwirrend sein, wenn man das vergisst.

Damit die im VSERVER liegenden Applikationen im host schön gestartet werden können, bietet es sich an, SSH nicht über password authentification, sondern mittels public key authentification laufen zu lassen. Siehe:

ssh public key authentifizierung googlen 

Auch wenn davon abgeraten wird, kann auf Passwortvergabe für den Schlüssel verzichtet werden, denn schließlich ist das ja der springende Punkt - das VSERVER Programm wie andere Programme die lokal installiert sind starten zu können, ohne ein Passwort eingeben zu müssen.

Eine Programmverknüpfung auf dem Desktop oder im Programm-Menü würde im host dann z. B. eine Kommandozeile wie folgende enthalten:

  ssh -p 23 -Y simpson@tux firefox

-p gibt den Port an, schliesslich kann der SSH deamon im VSERVER nicht auf dem gleichen Port laufen, wie im host. Wir erinnern uns: Es ist die Maschine, die antwortet! simpson ist der user der im VSERVER über SSH und dem übergebenen public key ohne Passworteingabe firefox startet und im host kann das der user bart z. B. tun.

Damit firefox von tux aber überhaupt X resourcen im host nutzen darf, muss dem X mitgeteilt werden, dass ein fremder host, in diesem Fall tux das überhaupt darf. Im host muss daher

  xhost +tux

ausgeführt werden. Am besten vorher im xterm ausprobieren und dann z. B. in der Datei .xinitrc fest einbauen, damit das automatisch gestartet wird wenn man seinen Fenstermanager startet.

Dieser Artikel geht nun nicht sehr ins Detail ein. Ein sicherheitsbewußter Leser der Linux verwendet wird sich sicher selbst Lücken füllen können. Andererseits kann aber auch gerne eine Frage gestellt werden, wenn sich die Lösung eines bestimmten Problems einfach nicht zeigen will.

Vergnügliches sicheres browsen im Internet!

Categories: Linux

[ [2448] Kommentare ]