Webserver und Firewall mit VMware auf einem Server betreiben
Einer für Alles

CloudSicherheitSicherheitsmanagementVirtualisierung

Wer Server und Clients ins Web bringen und per Firewall schützen will, muss sich nicht zwingend mit Kabelsalat und Hardware-Anschaffungen plagen. Der Workshop zeigt, wie VMware dies alles vereinfacht.

Vielseitiges System

Webserver und Firewall mit VMware auf einem Server betreiben

Dank virtueller Maschinen (VMs) stehen dem Anwender mehrere Rechner mit verschiedenen Konfigurationen oder Betriebssystemen zur Verfügung, ohne zusätzliche Hardware anzuschaffen. Bereits in der Ausgabe 12/2005 hat Internet Professionell am Beispiel einer Testumgebung ausführlich die Vorteile und die Bedienung der emulierten PCs erörtert.

VMs eignen sich aber nicht nur zum Testen, auch produktive Dienste können darin laufen. Im folgenden Workshop richten Sie auf einem einzigen PC unter VMware Workstation eine virtuelle DMZ (demilitarisierte Zone) mit Firewall ein. Der Host-PC und Rechner aus dem LAN können darüber abgesichert surfen. Zusätzlich arbeiten in der DMZ virtuelle Server, die aus dem Internet erreichbar sind.

Die vorgestellte Lösung ermöglicht es dem Anwender, einen eigenen Webserver zu betreiben. Kleinere Firmen können Teile ihres Web-Auftritts, etwa Anbindungen an interne Datenbanken, im eigenen Haus vorhalten, und für Außendienstmitarbeiter lässt sich damit ein Terminalserver bereitstellen, der von jedem Platz der Welt aus erreichbar ist. Die DMZ kann sogar mit dem kostenlosen VMware-Player betrieben werden, der ausführlich in Ausgabe 2/2006 vorgestellt wurde. Dazu ist allerdings das Editieren der Konfigurationsdateien notwendig.


Der Host-PC

Webserver und Firewall mit VMware auf einem Server betreiben

Als Host-PC kann im einfachsten Fall bereits der eigene Arbeitsplatzrechner dienen, besser ist eine separate Maschine. Der Host muss über zwei Netzwerkkarten verfügen, wovon eine ganz normal ans LAN angeschlossen ist. Die zweite Netzwerkkarte wird direkt mit einem DSL-Modem oder einem Router zum Internet verbunden. Die Installation von VMware auf dem Host-PC ist selbsterklärend. Nach dem Setup sollten Sie ein eigenes Verzeichnis für die zukünftigen VMs erstellen, aus Performance-Gründen möglichst auf einer zweiten Festplatte.


Die Firewall-VM

Webserver und Firewall mit VMware auf einem Server betreiben

Kernstück der virtuellen DMZ ist eine virtuelle Maschine (VM), in der die Linux-Distribution IPCop als Firewall läuft. Genauso könnten Sie einen ISA-Server installieren. Mit drei virtuellen Netzwerkkarten wird die Firewall-VM zum Vermittler zwischen LAN, DMZ und Internet.

– Der virtuelle Adapter1 ist direkt mit der physischen Netzkarte im Host verbunden, an der auch das LAN angeschlossen ist. Die Firewall ist darüber uneingeschränkt aus dem LAN erreichbar. Nutzer können sicher im Internet surfen und auf die Server in der DMZ zugreifen.
– Der virtuelle Adapter2 ist an ein internes VMware-Netz ohne physische Netzwerkkarte angeschlossen, das die eigentliche DMZ bildet. Dieses virtuelle Netz ist in sich abgeschottet und kann nur über die Firewall erreicht werden. Am gleichen Netz hängt auch der virtuelle Webserver.
– Der virtuelle Adapter3 ist der physischen Host-Netzwerkkarte zugewiesen, die am DSL-Modem oder am Router steckt. Darüber hält die Firewall die Internet-Verbindung.

IPCop sorgt dafür, dass keinerlei Verbindungen aus der DMZ oder vom Internet ins LAN hergestellt werden können. Vom Internet aus sind nur die Server in der DMZ auf explizit freigegebenen Ports erreichbar. Physische Rechner im eigenen LAN lässt IPCop mittels NAT im Internet surfen, wobei nur Antwortpakete rückwärts passieren dürfen.


Zusammenbauen der Firewall-VM

Webserver und Firewall mit VMware auf einem Server betreiben

Die virtuelle Maschine für die IPCop-Installation kann ganz bequem mit dem Wizard unter File, New, Virtual Machine mit Typical zusammengeklickt werden. Wählen Sie als Gast-OS Other Linux 2.4x Kernel, vergeben Sie den Namen ipcop und legen Sie für die VM ein eigenes Verzeichnis an. Die weitere Konfiguration der virtuellen Hardware erfolgt nach den Vorgaben des Wizards.

Vor der Installation der Software ist an der VM etwas Nacharbeit nötig. Im Menü VM, Settings, Hardware entfernen Sie überflüssige Geräte. Ihre Firewall benötigt kein USB und kein Audio, außerdem genügen 16 MByte RAM. Da VMware den Speicher zwischen Host und VMs aufteilen muss, sollten Sie nicht zu verschwenderisch damit umgehen. Die virtuelle Platte darf dagegen ruhig etwas zu groß sein, weil ihre Behälterdatei auf dem Host nur den wirklich belegten Platz verbraucht.


Netzwerkonfiguration

Webserver und Firewall mit VMware auf einem Server betreiben

Zwei ganz essenzielle Dinge fehlen noch: die Netzwerkkarten. Die Firewall benötigt in der Endausstattung drei davon. Also setzen Sie schnell den virtuellen Schraubenzieher an und bauen mit VM, Settings, Add? ruck, zuck zwei weitere Ethernet-Adapter ein.

Alle drei Adapter werden als Custom-Adapter konfiguriert und jeweils an ein bestimmtes virtuelles VMware-Netz (VMnet) angeschlossen. Dabei muss folgende Reihenfolge unbedingt eingehalten werden, denn jede Netzkarte hat später in der Firewall eine bestimmte Aufgabe zu erfüllen: Da VMnet1 schon fest für das Host-only-Netzwerk von VMware reserviert ist, schließen Sie den ersten virtuellen Adapter an VMnet0 an. Der zweite gehört an VMnet2 und der dritte an VMnet3.

Jetzt folgt die Zuweisung der eben angeschlossenen VMnet-Switches zu den physischen Netzkarten. So legen Sie fest, welche virtuelle Netzkarte der Firewall Kontakt zur Außenwelt hat und welche nicht. Über Edit, Virtual Network Settings, Automatic Bridging muss zuerst die automatische Auswahl abgestellt werden. Unter Host Virtual Network Mapping konfigurieren Sie dann die VMnet-Switches manuell.

VMnet0 bekommt die physische Karte des Host-PCs zugewiesen, die am LAN hängt. VMnet3 gehört zur Karte, die am DSL-Modem oder am Router steckt. Diese beiden Netze sind somit direkt mit einer physischen Netzwerkkarte verbunden. Virtuelle Adapter an diesen Netzen funktionieren dadurch wie echte Netzwerkkarten.

VMnet2 bleibt not bridged, alle angeschlossenen virtuellen Netzwerkkarten haben somit keinerlei Verbindung zur realen Welt. Sie können intern nur mit anderen virtuellen Maschinen am selben Switch kommunizieren. Das virtuelle Netz VMnet2 bildet später die abgeschottete DMZ.


Installation von IPCop

Webserver und Firewall mit VMware auf einem Server betreiben

In der vorbereiteten VM kann jetzt IPCop installiert werden. Das ISO-Image von der IPCop-Webseite binden Sie vor dem Start über VM, Settings, CD-ROM, Use ISO Image direkt als emulierte CD ein. Vergessen Sie nicht, dass Tastatur und Maus in einer VM erst dann funktionieren, wenn einmal in das Fenster geklickt wurde. Mit [Strg Alt] wird die Maus dann wieder freigegeben. In Ihrer virtuellen Maschine beginnt die Installation mit der Sprachauswahl und dem Willkommensbildschirm. Nach der Auswahl von CD-ROM als Programmquelle partitioniert das Setup automatisch die Festplatte und installiert IPCop. Navigieren lässt sich mit der Tabulatortaste.

Bei der Netzwerkkonfiguration sollte die automatische Erkennung einen Adapter vom Typ AMD PCnet32 finden. Den ersten Adapter macht IPCop zur grünen Schnittstelle. Er stellt damit das sichere LAN dar, in diesem Falle VMnet0. Als IP-Adresse weisen Sie beispielsweise die 192.168.1.1 zu. Die Adresse muss im Netzwerkbereich Ihres LANs liegen und frei sein. Damit ist die Grundinstallation abgeschlossen, das IPCop-Setup startet gleich anschließend automatisch.


Konfiguration von IPCop

Webserver und Firewall mit VMware auf einem Server betreiben

Nach der Auswahl des Tastatur-Layouts DE und der Zeitz
one Europe, Berlin bekommt Ihre Firewall den Hostnamen ipcop und den Domänennamen localdomain zugewiesen. Im nächsten Fenster deaktivieren Sie ISDN, und anschließend beginnt die Netzwerkkonfiguration.

IPCop stellt die Gefährlichkeit seiner angeschlossenen Netze durch unterschiedliche Farben dar:

– Grün ist das lokale abgesicherte LAN. Internetverkehr gelangt nur mittels NAT nach außen.
– Gelb ist die DMZ, in der später solche Rechner stehen, die auf bestimmten Ports vom Internet aus erreicht werden können, wie der Webserver.
– Rot ist schließlich das Internet, von dem nur Antwortpakete über NAT zurück ins LAN gelangen oder Verbindungen über bewusst geöffnete Ports in die DMZ zugelassen werden.

Der Typ der Netzwerkkonfiguration ist im Beispiel GREEN+ORANGE+RED. In der Treiber- und Karten-Zuordnung werden die Netzwerkfarben ORANGE und RED den beiden verbleibenden Schnittstellen zugewiesen. Das grüne Netz wurde vom Setup bereits an die Schnittstelle eth0 vergeben. Orange kommt jetzt an eth1 und Red an eth2. Die IPCop-Netze sind damit den richtigen virtuellen Netzwerkkarten zugeordnet.

In den Adress-Einstellungen erhält das orange Netz die IP 192.168.2.1. Das rote Netz muss PPPoE verwenden, wenn ein DSL-Modem angesprochen wird, oder es bekommt eine IP-Adresse, die zum Router passt.

DNS- und Gateway-Einstellungen sind bei einem DSL-Modem nicht notwendig, da der Provider diese Daten beim Verbindungsaufbau liefert. Trotzdem muss hier unbedingt OK gewählt werden, weil sonst die Installation abbricht. Dient ein Router als DSL- oder Standleitungs-Abschluss, dann wird dessen Adresse im Feld für DNS-Server und Gateway eingetragen.

Jetzt fragt das Setup noch die Passwörter für die IPCop-Nutzer ab. Der Nutzer root erhält die volle Kontrolle über das System an der Kommandozeile, und mit dem Nutzer admin melden Sie sich später am Web-Interface von IPCop an. Eine nachträgliche Änderung der gesamten Konfiguration ist möglich, indem Sie sich als root an der Konsole anmelden und das Kommando setup eingeben.

Nach erfolgreichem Abschluss der Installation und dem automatischen Neustart von IPCop ist es Zeit für den ersten Snapshot. Damit wird der momentane Systemzustand Ihrer virtuellen Maschine gesichert, und Sie können jederzeit durch ein Revert zu diesem Stand zurückkehren.


Internetzugang einrichten

Webserver und Firewall mit VMware auf einem Server betreiben

Die weitere Konfiguration der Firewall erfolgt mit IPCops Web-Interface, das sich vom LAN aus über 192.168.1.1:81 erreichen lässt. Die Anmeldung funktioniert nur mit dem Nutzer admin, nicht als root. Nach dem Bestätigen des IPCop-Zertifikats im Browser konfigurieren Sie im Menüpunkt Netzwerk, Einwahl die PPPoE-Verbindung des DSL-Modems zum Internet-Provider. Wird ein Router verwendet, entfällt dieser Schritt.

Neben den Zugangsdaten können bei einer DSL-Flatrate die Haken an Verbinden bei IPCop-Neustart und Dauerhafte Verbindung gesetzt werden. Unter System, Startseite lässt sich dann der Status der Verbindung prüfen und mittels Verbinden ein Test starten. Der Verbindungsaufbau erfolgt innerhalb weniger Sekunden. Wenn er fehlschlägt, muss geprüft werden, ob Adapter3 wirklich an die richtige physische Host-Netzkarte zum DSL-Modem gebunden ist. Weiterhin sind unter Logs, Systemlogdateien, RED auch detaillierte Fehlermeldungen ersichtlich.

Nach der Zugangskonfiguration kann die Firewall bereits als sicherer Internetzugang verwendet werden. Dazu ist auf dem Host und an den LAN-PCs als Default-Gateway sowie DNS-Server die Adresse 192.168.1.1 einzutragen. Alle Nutzer können jetzt über die Firewall auf das Internet zugreifen, ohne dass Würmer oder Hacker zur Gefahr werden – wichtig vor allem, wenn das DSL-Modem ohne Router ungesichert an der Leitung hängt. Funktioniert alles, ist es wieder Zeit für einen Snapshot, um den Konfigurationsstand zu sichern.


Die Server in der DMZ

Webserver und Firewall mit VMware auf einem Server betreiben

Die detaillierte Konfiguration und die Einrichtung der virtuellen Server in der DMZ bleibt den Vorlieben des Nutzers überlassen. Linux mit Apache oder Windows mit IIS – die Konfiguration ist abhängig von der eingesetzten Software. Auch ein Terminalserver oder ein XP Professional mit Remote-Desktop können in der DMZ laufen. Die Zugänge sollten dann aus Sicherheitsgründen mit einem SSL-Tunnel oder zum Beispiel mit dem Citrix-Secure-Gateway abgesichert werden. Eine einfache Lösung lässt sich bereits mit dem SSH-Zugang von IPCop und Putty auf den Clients realisieren. So könnte RDP sogar direkt ins LAN getunnelt werden.

Die Server in der DMZ benötigen als virtuelle Maschinen jeweils nur eine einzige virtuelle Netzkarte am Custom-Net VMnet2. Sie müssen mit IP-Adressen aus dem Netz 192.168.2.x und mit dem Default-Gateway 192.168.2.1 konfiguriert werden. Vom LAN aus sollte ein Server in der DMZ dann bereits über einen Ping erreichbar sein.


Zugriff auf dem Web

Webserver und Firewall mit VMware auf einem Server betreiben

Maschinen in der DMZ können nicht ins LAN pingen – das ist normal. Aber auch ins Internet wird ein Ping von IPCop geblockt. Zum Verbindungstest aus der DMZ ins Internet muss als Ersatz ein Telnet auf Port 80 eines bekannten Webservers dienen.

Für den Zugriff vom öffentlichen Internet auf einen Webserver innerhalb Ihrer DMZ müssen im Web-Interface von IPCop unter Firewall, Portweiterleitung die TCP-Ports 80 und 443 auf die IP-Adresse (192.168.2.x) des Servers weitergeleitet werden. Dadurch werden alle Pakete, die an die genannten Ports der öffentlichen IP-Adresse adressiert sind, nach innen in die DMZ zum Webserver durchgereicht. Sämtliche anderen Verbindungsversuche werden blockiert.

Wenn IPCop nicht direkt an einem DSL-Modem hängt, sondern hinter einem Router, so müssen dazu schon im Router entsprechende Ports geöffnet oder an IPCop weitergeleitet werden.

Sollte ein Hacker einen Server auf einem offenen Port knacken, dann gelangt er aus der DMZ im VMnet2 trotzdem nicht ins grüne Netzwerk. Friedliche Nutzer aus dem grünen Netz können den Webserver aber jederzeit für Wartungszwecke oder zum Datenaustausch erreichen.

Die VM für einen Webserver sollte aus mehreren virtuellen Platten bestehen. Mindestens eine für das System und eine zusätzliche im Modus Independet-Persistent nur für die Daten. Mit einem Revert kann somit eine Beschädigung des Systems wieder rückgängig gemacht werden, ohne Daten auf der Persistent-Platte zu verlieren.


DynDNS einrichten

Webserver und Firewall mit VMware auf einem Server betreiben

Bleibt das Problem der wechselnden IP-Adresse, wenn ein normaler DSL-Zugang verwendet wird. Daran scheitert der Verbindungsaufbau aus dem Internet zu den Servern in der DMZ.

Die vom Provider zugeteilte dynamische IP-Adresse kann zum Testen der gesamten Konfiguration vorerst im Web-Interface unter System, Startseite nachgesehen werden. Für eine permanente Erreichbarkeit müssen Sie sich aber eine Subdomain bei einem Weiterleitungsdienst registrieren.

IPCop unterstützt eine Liste der üblichen Anbieter. Im Menü Dienste, Dynamischer DNS kann die Aktualisierung konfiguriert werden und mit Aktualisierung erzwingen sollten Sie die Funktion einmal testen. Im Abschnitt IPCop der Log-Dateien muss dann ein ähnlicher Eintrag wie dieser erscheinen:

Dynamic DNS ip-update for myhost.dyndns.org: success

Mit abschließenden Snapshots aller VMs wird der erreichte Stand e
ndgültig gesichert. Zusätzlich kann VMware Workstation 5.5 alle VMs als ein Team zusammenfassen, um sie auf Knopfdruck gemeinsam zu starten oder zu beenden.