vserver oder xen - kernelupdates und Sicherheitsaspekte

VirtualBox, VMWare, KVM, XEN, OpenVZ, Virtuozzo, etc.
tomotom
Posts: 330
Joined: 2006-09-22 13:37

vserver oder xen - kernelupdates und Sicherheitsaspekte

Post by tomotom » 2007-08-30 15:03

xen kennt jeder der sich mit Virtualisierung beschäftigt, von VServer hingegen scheint ein Schattendasein zu fristen. Die Konzepte der beiden Virtualisierungskonzepte zeigen Unterschiede. So benötigt xen einen Hypervisor, der Ram verbraucht, VServer hingegen nicht. VServer geht auch sehr sparsam mit Speicherplatz um, da Bibliotheken zwischen verschiedenen VServer Gästen geteilt werden können.

Der Unterschied in Punkto Sicherheit scheint auf der Hand zu liegen: VServer trennt seine Gäster mit dem chroot Mechanismus und nutzt nur einen Kernel, Xen hingegen stellt seinte Gäste völlig getrennt neben einander und nutzt einen zweiten Kernel. Jetzt denkt jeder, Xen wäre sicherer als VServer.

Doch sieht man sich die Kernelversionen an die von Xen verwendet werden findet man mit 2.6.18 Kernel, die ca. ein Jahr als sind wohingegen Vserver mit 2.6.22 aktuelle Kernel verwendet. Die aktuellen Kernel beinhalten sicherlich alles Sicherheitspatches des letzten Jahres.

Wie sieht das mit dem xen Kernel aus. Der offizielle Xen Kernel scheint, sich z.B. von dem aktuelen xen Debian Kernel nicht zu unterscheiden, beide geben die Kernelversion 2.6.18 an. Bauen die Debian xen Maintainer die Sicherheitspatches ein oder nicht? Der Vserver Kernel scheint aktuellst gepflegt zu werden. Den VServer 2.6.21 Kernel gibt es mit dem grsecurity Patch.

Ich wüßte gerne was Ihr zu dieser Situation meint, wisst (auch im Hinblick auf evt. eingepflegte Sicherheitspatches von den Distributoren, z.B. bei Debian) und welche Sicherheit Euch sicherer erscheint - die evt. ausbrechen zu können oder die, auf Grund fehlender Kernelpatches Opfer eines Angriffes zu werden?

tomotom
Posts: 330
Joined: 2006-09-22 13:37

Re: vserver oder xen - kernelupdates und Sicherheitsaspekte

Post by tomotom » 2007-08-31 10:08

Kennt Ihr Euch mit VServer nicht auch oder habt Ihre keine Meinung dazu? Vielleicht seit Ihr ja noch im Urlaub ... :-)

aquajo
RSAC
Posts: 167
Joined: 2003-02-25 21:07

Re: vserver oder xen - kernelupdates und Sicherheitsaspekte

Post by aquajo » 2007-08-31 13:22

Es sind halt ganz unterschiedliche Konzepte die dahinterstehen (in paar Wochen kann ich evtl. dazu auch was längeres veröffentlichen).

Die ganzen Betriebssystemvirtualisierer (openvz, Linux vServer, Solaris Zones usw.) haben den Vorteil halt, dass durch einen geteilten Betriebssystemkern der Overhead sehr gering ist. Der Nachteil dabei ist, das die Isolation zwischen den virtuellen Servern recht gering ist.
z.B. Falls in dem Kernel eine Lücke gefunden wird die ihm vollen Zugriff auf das System gibt, hat er auch Zugriff auf die anderen virtuellen Server.
Oder auch im Fehlerfalle, durfte selber miterleben, dass bei einem Setup für virtuelle Server erlaubt war tmpfs-Dateisysteme zu mounten. Falls nun ein Nutzer eines anlegte was in etwa die Größe von RAM + Swap des Systems hatte und füllte, wurden alle virtuellen Server unbenutzbar.

Die Hypervisor-basierten Lösungen haben da den Vorteil, eine deutlich bessere Isolierung der unterschiedlichen virtuellen Server zu bieten, kostet natürlich etwas Performance, und die Dom-0 sollte aus Sicherheitserwägungen auch nur der Verwaltung dienen (die hat ja wieder Vollzugriff).

Was im konkreten Fall besser ist, muss man dann immer abwägen. (Ich würde bei potentiell feindlichen virtuellen Servern, also z.B. vermietete vServer, eher Xen nehmen)

Hoffe konnte damit etwas helfen.

User avatar
daemotron
Administrator
Administrator
Posts: 2800
Joined: 2004-01-21 17:44

Re: vserver oder xen - kernelupdates und Sicherheitsaspekte

Post by daemotron » 2007-08-31 13:43

Im Grunde genommen hat AquaJo bereits alles gesagt. In Puncto Flexibilität und Sicherheit möchte ich aber noch mal eine Lanze für Xen brechen.

Flexibilität: Du kannst wirklich unterschiedliche Betriebssysteme virtualisiert betreiben. Ob das Deine Anforderungen jemals vorsehen, kann ich natürlich nicht sagen, aber technisch wäre es möglich, für bestimmte Dienste oder Kunden eben ein anderes OS zur Verfügung zu stellen (z. B. *BSD, OpenSolaris, Plan9 etc.). Du könntest sogar soweit gehen, innerhalb einer DomU noch mal mit VServer & Co zu virtualisieren.

Sicherheit: Vorausgesetzt, Deine Hardware erlaubt "freie Kernelgestaltung" (sprich: VT oder Pacifica), kannst Du natürlich in den DomUs gehärtete Linux-Kernel mit grsecurity, SELinux oder RSBAC verwenden (möglicherweise an einigen Punkten mit Einschränkungen, das habe ich noch nicht so ausführlich getestet). Außerdem legen Amok laufende Prozesse Dir nicht gleich den ganzen Server lahm, sondern nur die jeweilige DomU. Wie schlecht die Ressourcenlimitierung bei ungezogenen Kunden mit VServer oder OpenVZ funktioniert, wurde hier im Forum ja bereits hinreichend diskutiert (Stichwort: "VServer stinken").

Xen ist natürlich eine recht umfangreiche Lösung. Wenn es Dir am Ende nur darum geht, für einzelne Applikationen oder Kunden dedizierte Userlands (z. B. mit unterschiedlichen Distributionen, glibc-Versionen etc.) zur Verfügung zu stellen, würde ich auf Virtualisierungslösungen komplett verzichten und stattdessen chroot in Verbindung mit grsecurity zur Ausbruchssicherung einsetzen. Möchtest Du hingegen auch die Ressourcen für die einzelnen Instanzen limitieren und kontrollieren können, bietet Xen das meiner Meinung nach beste (Ressourcen-)Kosten/Nutzen-Verhältnis.

tomotom
Posts: 330
Joined: 2006-09-22 13:37

Re: vserver oder xen - kernelupdates und Sicherheitsaspekte

Post by tomotom » 2007-08-31 14:02

Die Vorteile von xen schätze ich auch sehr. Selber nutze ich auch xen. Generell sehe ich noch den Vorteil bei einer Virtualisierung, dass man schnell mal ein Backup einer domU machen kann, dann Upgrades aufspielen, weitere Dinge testen und wenn alles geklappt hat is gut wenn nicht schnell die Backup-domU starten.

Was mich allerdings zum eröffnen dieses Thread geführt hat was die Frage warum der xen Kernel so alt ist und ob der VServer Kernel da nicht sicherer ist als der alte xen Kernel. Ich vermute ähnlich wie Mathias es von Suse berichtet hat, dass die einzelnen Distributoren aktuelle Kernel-Sicherheits-Paches in den xen Kernel einbauen was heißen würde, dass z.B. der etch xen Kernel mit der Version 2.6.18-5 sicherer ist, da er die von Debian vermutlich eingepflegten Patches enthält, als der aktuele xen Kernel 3.1.0.

Ob das so ist ist eine Vermutung. Vieleicht kann dazu noch mal jemand etwas sagen.

aquajo
RSAC
Posts: 167
Joined: 2003-02-25 21:07

Re: vserver oder xen - kernelupdates und Sicherheitsaspekte

Post by aquajo » 2007-08-31 14:11

Da Xen noch nicht vollständig in den Mainstream-Kernel gelangt ist (Über die Pravirt-Schnitstelle wird bei der nächsten Kernelversion wohl zumindest die Basisfuktionen unterstützt) ist das warten der Patches recht aufwendig.

Von den Lücken im Kernel kann damit ein ungepatchter Xen-Kernel aktuell veraltet sein.
Aber die Sicherheit der verschiedenen vServer untereinander regelt der Hypervisor, und dieser gilt als sehr sicher.

Man muss hier also zwei Ebenen der Sicherheit unterscheiden, die im virtuellen Server (bei Xen mit ungepatchten Kernel aktuell noch nicht ganz zufriedenstellend) und die Sicherheit zwischen verschiednen virtuellen Servern, diese gilt als sehr gut.

tomotom
Posts: 330
Joined: 2006-09-22 13:37

Re: vserver oder xen - kernelupdates und Sicherheitsaspekte

Post by tomotom » 2007-08-31 14:19

AquaJo wrote:...
Von den Lücken im Kernel kann damit ein ungepatchter Xen-Kernel aktuell veraltet sein.
...

Welcher Xen-Kernel ist nun sichere, der aktuelle xen 3.1 mit 2.6.18 oder der der einzelnen Distributoren, die evt. ihren patchen?

aquajo
RSAC
Posts: 167
Joined: 2003-02-25 21:07

Re: vserver oder xen - kernelupdates und Sicherheitsaspekte

Post by aquajo » 2007-08-31 15:09

tomotom wrote:Welcher Xen-Kernel ist nun sichere, der aktuelle xen 3.1 mit 2.6.18 oder der der einzelnen Distributoren, die evt. ihren patchen?


(Leider (noch?)) der Kernel der Distributoren, da die i.d.R. zeitnah für alle von denen angebotenen Kernel die notwendigen Security-Fixes einbauen.
Die Xen-kernel sind i.d.R. nur bei den Release-Datum "aktuell".