15.12.2018 | 21:46 Uhr
 
Kommentieren     
Virtualisierung von Computern
     -
der/die Rechner im Rechner -

Unter Virtualisierung versteht man die Entkoppelung der Hardware vom verwendeten Betriebssystem in einer abstrakten, physisch nicht vorhandenen Ebene. Dies kann entweder mittels Stellung eines Virtuellen Host (Gast-System) oder einer virtuellen Laufzeitumgebung innerhalb des verwendeten (Host-)Betriebssystem, welches die Basisfunktionen für die virtuelle Maschine (VM) zur Verfügung stellt, durch die Virtualisierungssoftware erfolgen. Wir gehen hier etwas näher auf die Laufzeitumgebungs-Variante ein, weil diese im privaten Bereich mehr Anklang findet. - Beispiele für Virtualisierungslösungen wären VMware, Sun VirtualBox (Laufzeitumgebung innerhalb eines Hostsystems) oder Xen (läuft direkt über die Hardware).


Virtual Machine

Jede VM verfügt über ein eigenes virtuelles BIOS und einen eigenen zugewiesenen virtuellen Hardwaresatz wie Arbeitsspeicher, Festplatten(-kapazitäten), Netzwerkkarten, CD/DVD-Laufwerke etc..Dabei erkennt das virtuelle Betriebssystem, völlig unabhängig von der real physisch vorhandenen Hardware, einen lauffähigen, konsistenten Hardwaresatz. Quasi sind alle Komponenten mit Standardtreibern ausgestattet (virtuelle Hardware), für deren reibungslose ”Zusammenarbeit” mit der tatsächlich vorhandenen Hardware die Virtualisierungsumgebung verantwortlich ist. Diese gibt somit vor, welche Systeme virtualisiert werden können.
Mit dem kreierten Hardwaresatz wird das virtuelle Betriebssystem dann isoliert installiert (wie real auch) und später gestartet. Innerhalb der Hostsystems wird die VM in einer einzigen Datei gespeichert (siehe
Vorteile weiter unten).


Auf einem einigermassen perfomanten Einzelrechner könnte man eine VM beispielsweise so einsetzen:

 

Beispiel einer Virtual Machine


Ruckzuck zwei Subnets und eine virtuelle “Hardware”-Firewall oder Proxyserver gebastelt:
Im obiger Grafik wäre das Hostsystem des physisch vorhandenen Rechners selbst nicht mit dem Internet in Berührung, sondern lediglich die virtuellen Maschinen. VM1 nutzt die Netzwerkkarte seines Hostsystems* als Brücke für die Verbindung zum Router in Subnet 1 (z.B. 192.168.1.0) und managed (als Router oder Proxyserver) sowie kontrolliert (als Firewall) über eine zweite virtuelle Netzwerkkarte die Verbindung zu VM2 in Subnet 2 (z.B. 192.168.2.0). VM2 wird letztendlich zum sicheren Surfen verwendet. Wäre VM2 beispielsweise durch Viren&Co. korrumpiert, könnte sie einfach wiederhergestellt werden, indem das VM-Image durch das Original oder Backup ersetzt wird - dazu genügt ein einziges Drag&Drop!

*das Hostsystem selbst kann sich zudem noch in einem dritten Subnet befinden und hätte so auch in netzwerktechnischer Sicht keine Verbindung zu den virtuell gehosteten Systemen und wäre somit absolut aussen vor...Nur VM1 und der Router müssen im gleichen Subnet liegen.

Weiterevirtuelle Machinen (auch auf anderen Rechnern) sind genauso zu vernetzen wie im realen Netzwerkleben auch. So können komplexe (Netzwerk-)Systeme aus physisch vorhandenen und virtuellen Computern entstehen. Auch im privaten Bereich sinnvoll einsetzbar. Im obigen Beispiel könnte man VM 1 auch zum internen Mailserver (mit Spam- und Virenprüfung) für VM 2 und/oder das Hostsystem machen. Mit einer zweiten Netzwerkkarte im realen Rechner (Hostsystem) könnten im Subnet 2 auch echte Rechner (und/oder dortig gehostete VM) vernetzt sein, die über VM 1 (als Firewall) mit der Aussenwelt kommunizieren. Die Möglichkeiten sind vielzählig...

Im obigen Beispiel könnte man, zum reinen Schutz des Hostsystems, VM 2 auch gänzlich weglassen und mit VM 1  im WordWideWeb surfen. Die extra gebastelte Firewall-Funktion von VM 1 als zusätzlicher Schutz fiele dann allerdings weg.


Somit ergeben sich zu obigem Beispiel folgende wesentliche Verwendungsmöglichkeiten:

  • Schützen des Hostsystems (im Beispiel ein WinXP) vor Angriffen aus dem Internet (Viren&Co., [Bundes]Trojaner...) oder Word Wide Web beim Surfen mit dem Browser. Denn dazu wird eine VM (kann jedes beliebige Betriebssystem sein) verwendet, die notfalls, nach jeder beendeten Internetverbindung, zurückgesetzt werden kann (Ersetzen des VM-Image durch die Sicherungskopie).
     
  • Schützen eines virtuellen Systems (im Beispiel VM2). Z.B. zur sicheren Übertragung von verschlüsselten Daten auf ein isoliertes System
     
  • Absichtliches Infiltrieren eines virtuellen Systems mit Viren&Co., um deren Arbeitsweisen und Verbreitungsroutinen zu analysieren: Stellen Sie z.B. einmal eine (virtualisierte) ungepatchte und ungeschützte W2k-Version aus dem Jahre 2003 in eine DMZ ins Netz und warten Sie was innerhalb kürzester Zeit passieren wird...:-) Unsere Schätzung: der erste Befall eines Wurms noch innerhalb von 10 Minuten...
     
  • Ausprobieren verschiedener Betriebssysteme, ohne die eigene Hardware auch nur ansatzweise zu berühren, was bei realer Installation anfallen würde (z.B. Bildung von Partitionen, Bootloaderkonfiguration u.s.w. ”)
     
  • Erstellung eines Honeypot als Falle für Intruder: Der Eindringling wütet sozusagen in Quarantäne, “friesst Köder” und/oder fängt sich gar unwissentlich Böses ein :-)....Dabei kann er auch noch beobachtet werden

Ausstattung einer virtuellen Maschine (RAM ist das halbe Leben):

Der physisch vorhandene Rechner verfügt über 2 GB RAM. Unsere virtuelle Maschine statten wir nun mit 1 GB RAM aus und installieren in dieser virtuellen Umgebung z.B. ein Linux unter dem Gastsystem Windows. Nach dem Start des virtuellen Systems, wird dem Windows-Hostsystem auch tatsächlich 1 GB RAM fehlen.

D.h. für das Starten mehrerer virtuellen Maschinen sollte eine üppige Kapazität an RAM und Rechenleistung des Prozessors vorhanden sein. Sie können nicht mehr an RAM verteilen als Sie real zur Verfügung haben. Dabei muss das physikalische Hostsystem selbstverständlich berücksichtigt werden.
Richtig Spass macht´s dann ab 4-6 GB RAM aufwärts (um so mehr um so besser!), wenn drei-vier virtuelle Maschinen parallel mit JEWEILS realen 1,5 GB (oder mehr) RAM auf EINEM Rechner arbeiten können. Zu empfehlen ist, bei mehreren gleichzeitig stattfindenden Virtualisierungen, die Verwendung von mind. zwei Monitoren. Den Überblick zu behalten, auf welcher Maschine man sich gerade befindet, wird trotzdem schwierig bleiben :-)
.

Jedenfalls wird Ihr Prozessor dann auch endlich ´mal gefordert - und “bohrt nicht langweilig in der Nase” wie sonst beim Surfen, eMailen and so on... - sowie Ihr Arbeitsspeicher an seine Grenzen geführt.
 


Die Vorteile einer Virtual Machine auf einen Blick:

  • auf einem physischen System können mehrere Anwendungen bzw. plattformunabhängige Betriebssysteme existieren und gleichzeitig gestartet werden, z.B.  als Hostsystem ein Windows XP und gleichzeitig läuft ein virtuelles Windows Vista oder 7 und ein virtuelles Linux u.s.w.
     
  • Sicherheit durch Isolation: Virtuelle Maschinen sind vom Server-System oder anderen VM völlig isoliert. Stürzt eine VM ab oder ist korrumpiert, hat das keine Auswirkungen auf seine Umgebung. Auch ein Virus kann nicht auf das Hostsystem überspringen. Kommunikation ist nur über konfigurierte Netzwerkverbindungen möglich, siehe nächster Punkt.
     
  • Simulation ganzer Netzwerke ist über konfigurierte Netzwerkverbindungen möglich: Bridged Networking over Host oder über weitere virtuelle Netzwerkadapter
     
  • Die komplette Virtual Machine wird in einer einzigen Datei auf dem Hostsystem gespeichert, d.h. kann ganz einfach gesichert, verlagert (auch auf anderen Computer), kopiert bzw. vervielfältigt und wiederhergestellt werden
     
  • Über standardisierte virtuelle Hardware der Virtualisierungs-Software oder -Umgebung ist die Kompatibilität der VM auf vielen Hostsystemen gewährleistet

Nachteile:

  • die Performance leidet, abhängig von der verwendeten Hardware des Hostsystems und des zugeteilten Hardwaresatzes
  • Abhängigkeit von den Möglichkeiten der virtuellen Hardware (Virtualisierungs-Software)
Kommentieren