10-05-2024, 17:23
Wenn Sie mit VMware Workstation arbeiten und den Netzwerkverkehr zwischen virtuellen Maschinen einschränken müssen, ist es viel einfacher, als Sie vielleicht denken. Sie wissen, wie Sie manchmal eine bestimmte Maschine isolieren möchten, sei es, um etwas sicher zu testen oder um zu verhindern, dass sensible Informationen auslaufen? Es ist wie ein geheimes Klubhaus; Sie möchten sicherstellen, dass nur bestimmte Mitglieder kommen und gehen können. Ich habe meine fairen Erfahrungen mit der Isolierung von VMs gemacht, und ich würde Sie gerne durch den Prozess führen.
Zuerst sollten Sie überlegen, wie Ihr Netzwerk konfiguriert ist. VMware Workstation bietet Ihnen mehrere Optionen: Bridged, NAT und Host-Only. Bridged ermöglicht es Ihrer VM, sich mit dem physischen Netzwerk zu verbinden, was bedeutet, dass jede VM mit jedem Gerät in Ihrem Netzwerk kommunizieren kann, einschließlich anderer VMs. Wenn Sie den Verkehr einschränken möchten, möchten Sie diese Option möglicherweise nicht für Ihre internen Maschinen verwenden. NAT ist für eine gewisse Isolierung etwas besser, da es die IP-Adresse des Hosts teilt, aber es kann trotzdem Möglichkeiten für Kommunikation eröffnen, die Sie vielleicht nicht wollen. Die Host-Only-Option ist jedoch Ihr bester Tipp, wenn Sie den externen Zugriff vollständig einschränken möchten, während Sie gleichzeitig den VMs die Kommunikation untereinander ermöglichen.
In der Praxis erstelle ich in der Regel ein oder mehrere Host-Only-Netzwerke in VMware Workstation. Diese Option bereitet den Boden für Ihre isolierte Umgebung. Wenn Sie ein Host-Only-Netzwerk einrichten, können nur Maschinen, die mit diesem speziellen Host-Only-Netzwerk verbunden sind, kommunizieren. Wenn Sie mehrere VMs ausführen, können Sie sie so konfigurieren, dass sie sich in separaten Host-Only-Netzwerken befinden. Auf diese Weise können sie, selbst wenn sie auf derselben physischen Maschine sind, nicht miteinander sprechen.
Nehmen wir an, Sie haben drei VMs: VM1, VM2 und VM3. Jede von ihnen kann verschiedenen Host-Only-Netzwerken zugewiesen werden. Zum Beispiel könnte ich VM1 dem Host-Only-Netzwerk 1 und VM2 dem Host-Only-Netzwerk 2 zuweisen. VM3 könnte sogar in einem separaten Host-Only-Netzwerk sein. Auf diese Weise wird VM1 nicht einmal wissen, dass VM2 existiert, was großartig ist, wenn ich verhindern möchte, dass sie kommunizieren.
Ein weiterer Ansatz, den ich oft verwende, um die Kommunikation einzuschränken, besteht darin, Firewall-Regeln innerhalb jeder VM zu nutzen. Die meisten Betriebssysteme verfügen über integrierte Firewalls, und Sie können diese so konfigurieren, dass eingehender und ausgehender Verkehr blockiert wird, wie es Ihnen passt. Jede VM kann als eigene Festung dienen. Wenn Sie beispielsweise mit einer Linux-VM arbeiten, verwende ich normalerweise iptables, um spezifische Regeln festzulegen, die den Verkehr basierend auf verschiedenen Kriterien erlauben oder verweigern. Dies hilft mir, eine weitere Kontrollschicht hinzuzufügen, sodass ich genau einstellen kann, welche Verbindungen zulässig sind.
Sie können sehr spezifische Regeln erstellen. Zum Beispiel, wenn Sie möchten, dass VM1 nur Verkehr von einer bestimmten IP-Adresse zulässt und alles andere blockiert, können Sie das ganz einfach einrichten. Sie können auch Protokolle, Ports und so weiter einschränken. Wenn Sie nur SSH-Zugriff wollen und HTTP-Anfragen blockieren möchten, kann das über diese Firewall-Einstellungen realisiert werden. Es ist ziemlich mächtig, wenn man erst einmal den Dreh raus hat, diese Regeln zu erstellen. Auf diese Weise würden selbst bei Netzwerk Einstellungen, die den VMs erlauben, sich gegenseitig zu sehen, Ihre Firewall-Regeln verhindern, dass sie kommunizieren.
Wenn Sie es mit fortschrittlicheren Netzwerkkonfigurationen zu tun haben, erlaubt Ihnen VMware auch die Nutzung virtueller Switches. Wenn Sie mit physischen Switches vertraut sind, wird Ihnen dieses Konzept sinnvoll erscheinen. Wenn Sie virtuelle Switches erstellen, können Sie festlegen, welche VMs mit welchem Port am Switch verbunden werden können. Sie können mehrere vSwitches erstellen und jede VM dem entsprechenden Switch zuweisen. Wenn Sie es auf diese Weise einrichten, können Sie bestimmten VMs an einem Switch die Kommunikation erlauben, während andere vollständig isoliert werden.
Wenn ich dies tue, finde ich es wichtig, jedem neuen Switch einen beschreibenden Namen zu geben, damit ich alles leicht im Blick behalten kann. Sie möchten später nicht hastig herausfinden, welcher Switch was macht, oder? Diese Art der Organisation macht es viel einfacher, wenn Ihre Konfiguration komplexer wird. Es ist eine gute Praxis, diese Konfigurationen zu dokumentieren, damit Sie einen klaren Überblick darüber haben, welche VM mit welchem Switch verbunden ist und welcher Verkehr erlaubt ist.
Nun, wenn Sie mit einem Team arbeiten und gemeinsam genutzte Ressourcen für Ihre Entwicklungsumgebung verwenden, kann es etwas komplizierter werden, alles abzusichern. Sie müssen sicherstellen, dass Ihre VMs nicht nur nicht miteinander kommunizieren können, sondern auch vom Host abgeschottet sind. Dies ist besonders wichtig, wenn Sie Anwendungen testen, die möglicherweise Schwachstellen aufweisen. Unter normalen Bedingungen können der Host und die VMs frei kommunizieren, aber Sie könnten die Einstellungen jeder VM anpassen, damit sie nur mit dem virtuellen Netzwerk und nicht mit dem Host-System kommunizieren können.
Um dies zu tun, gehen Sie in die Einstellungen jeder VM und deaktivieren Sie das Kontrollkästchen, das der VM ermöglicht, sich mit dem Host-Netzwerkadapter zu verbinden. Dadurch werden sie vollständig isoliert und schaffen eine Sandbox, in der sie ohne jeglichen externen Kontakt oder Einfluss arbeiten können. Es ist, als würde man ein Paar Geräuschunterdrückungskopfhörer aufsetzen; alles Außenstehende wird blockiert.
Es ist auch sehr hilfreich, Schnappschüsse zu verwenden, wenn Sie sich nicht ganz sicher sind, ob die Konfigurationen korrekt eingerichtet sind. Auf diese Weise können Sie, wenn Sie das Gefühl haben, einen Fehler gemacht zu haben, der Verkehr möglicherweise nicht dort zulässt, wo er nicht sein sollte, immer zu einem vorherigen Zustand Ihrer VM zurückkehren. Es ist wie ein sofortiges Backup Ihrer Arbeitsumgebung, und ich wünschte, ich hätte das früher in meiner IT-Karriere entdeckt. Schnappschüsse ermöglichen es Ihnen, herumzuspielen und Anpassungen vorzunehmen, ohne das Risiko, alles durcheinander zu bringen.
Ein weiterer Punkt, den ich erwähnen möchte, ist die Wichtigkeit, Ihre Einstellungen nach deren Anwendung zu testen. Lassen Sie es nicht einfach so und gehen Sie davon aus, dass es funktioniert; nehmen Sie sich wirklich ein paar Minuten Zeit, um die Kommunikationswege auszuprobieren. Sie könnten versuchen, eine VM von einer anderen zu pingen oder jedes Netzwerkdienstprogramm zu verwenden, mit dem Sie vertraut sind, nur um zu überprüfen, dass der Verkehr angemessen eingeschränkt wird. Es ist immer besser, auf Nummer sicher zu gehen, und ein bisschen Testen kann Ihnen später potenzielle Kopfschmerzen ersparen.
Eine letzte Sache, die Sie im Hinterkopf behalten sollten, ist, dass es, wenn Sie mit Desktop-Anwendungen arbeiten, die Zugriff auf Remote-Server benötigen, typischerweise darauf ankommt, wie Sie die Netzwerkeinstellungen Ihrer Anwendung konfigurieren. Wenn eine VM auf eine bestimmte Ressource zugreifen muss, sollten Sie sicherstellen, dass Sie Ihre Firewall und Routing-Tabellen so konfiguriert haben, dass dieser Verkehr erlaubt wird, während alles andere weiterhin eingeschränkt bleibt. Diese Einrichtung ermöglicht es Ihnen, ein Gleichgewicht zwischen Sicherheit und Funktionalität zu wahren.
Wenn Sie all diese Methoden zusammen verwenden – Host-Only-Netzwerke, Firewall-Regeln, virtuelle Switches und sorgfältige Verwaltung von Zugriffsberechtigungen – schaffen Sie eine robuste Umgebung, in der Sie experimentieren und lernen können, ohne die Sicherheit zu gefährden. Sie können Ihre virtuelle Landschaft in VMware Workstation aufbauen, die nicht nur Ihren Bedürfnissen entspricht, sondern auch sicherstellt, dass alles sicher funktioniert.
Dieser Prozess hat meine Fähigkeit, Ressourcen effektiv zu verwalten, erheblich verbessert, während ich gleichzeitig eine strenge Kontrolle über den Zugriff aufrechterhalte, und mit ein wenig Übung werden Sie feststellen, dass es Ihnen in Fleisch und Blut übergeht, diese Kontrollen einzurichten und zu verwalten. Es geht darum, eine Umgebung zu schaffen, in der Sie sich sicher fühlen können, dass Ihre Konfigurationen wie beabsichtigt funktionieren, ohne ungewollte Exposition gegenüber anderen Teilen Ihres Netzwerks.
Zuerst sollten Sie überlegen, wie Ihr Netzwerk konfiguriert ist. VMware Workstation bietet Ihnen mehrere Optionen: Bridged, NAT und Host-Only. Bridged ermöglicht es Ihrer VM, sich mit dem physischen Netzwerk zu verbinden, was bedeutet, dass jede VM mit jedem Gerät in Ihrem Netzwerk kommunizieren kann, einschließlich anderer VMs. Wenn Sie den Verkehr einschränken möchten, möchten Sie diese Option möglicherweise nicht für Ihre internen Maschinen verwenden. NAT ist für eine gewisse Isolierung etwas besser, da es die IP-Adresse des Hosts teilt, aber es kann trotzdem Möglichkeiten für Kommunikation eröffnen, die Sie vielleicht nicht wollen. Die Host-Only-Option ist jedoch Ihr bester Tipp, wenn Sie den externen Zugriff vollständig einschränken möchten, während Sie gleichzeitig den VMs die Kommunikation untereinander ermöglichen.
In der Praxis erstelle ich in der Regel ein oder mehrere Host-Only-Netzwerke in VMware Workstation. Diese Option bereitet den Boden für Ihre isolierte Umgebung. Wenn Sie ein Host-Only-Netzwerk einrichten, können nur Maschinen, die mit diesem speziellen Host-Only-Netzwerk verbunden sind, kommunizieren. Wenn Sie mehrere VMs ausführen, können Sie sie so konfigurieren, dass sie sich in separaten Host-Only-Netzwerken befinden. Auf diese Weise können sie, selbst wenn sie auf derselben physischen Maschine sind, nicht miteinander sprechen.
Nehmen wir an, Sie haben drei VMs: VM1, VM2 und VM3. Jede von ihnen kann verschiedenen Host-Only-Netzwerken zugewiesen werden. Zum Beispiel könnte ich VM1 dem Host-Only-Netzwerk 1 und VM2 dem Host-Only-Netzwerk 2 zuweisen. VM3 könnte sogar in einem separaten Host-Only-Netzwerk sein. Auf diese Weise wird VM1 nicht einmal wissen, dass VM2 existiert, was großartig ist, wenn ich verhindern möchte, dass sie kommunizieren.
Ein weiterer Ansatz, den ich oft verwende, um die Kommunikation einzuschränken, besteht darin, Firewall-Regeln innerhalb jeder VM zu nutzen. Die meisten Betriebssysteme verfügen über integrierte Firewalls, und Sie können diese so konfigurieren, dass eingehender und ausgehender Verkehr blockiert wird, wie es Ihnen passt. Jede VM kann als eigene Festung dienen. Wenn Sie beispielsweise mit einer Linux-VM arbeiten, verwende ich normalerweise iptables, um spezifische Regeln festzulegen, die den Verkehr basierend auf verschiedenen Kriterien erlauben oder verweigern. Dies hilft mir, eine weitere Kontrollschicht hinzuzufügen, sodass ich genau einstellen kann, welche Verbindungen zulässig sind.
Sie können sehr spezifische Regeln erstellen. Zum Beispiel, wenn Sie möchten, dass VM1 nur Verkehr von einer bestimmten IP-Adresse zulässt und alles andere blockiert, können Sie das ganz einfach einrichten. Sie können auch Protokolle, Ports und so weiter einschränken. Wenn Sie nur SSH-Zugriff wollen und HTTP-Anfragen blockieren möchten, kann das über diese Firewall-Einstellungen realisiert werden. Es ist ziemlich mächtig, wenn man erst einmal den Dreh raus hat, diese Regeln zu erstellen. Auf diese Weise würden selbst bei Netzwerk Einstellungen, die den VMs erlauben, sich gegenseitig zu sehen, Ihre Firewall-Regeln verhindern, dass sie kommunizieren.
Wenn Sie es mit fortschrittlicheren Netzwerkkonfigurationen zu tun haben, erlaubt Ihnen VMware auch die Nutzung virtueller Switches. Wenn Sie mit physischen Switches vertraut sind, wird Ihnen dieses Konzept sinnvoll erscheinen. Wenn Sie virtuelle Switches erstellen, können Sie festlegen, welche VMs mit welchem Port am Switch verbunden werden können. Sie können mehrere vSwitches erstellen und jede VM dem entsprechenden Switch zuweisen. Wenn Sie es auf diese Weise einrichten, können Sie bestimmten VMs an einem Switch die Kommunikation erlauben, während andere vollständig isoliert werden.
Wenn ich dies tue, finde ich es wichtig, jedem neuen Switch einen beschreibenden Namen zu geben, damit ich alles leicht im Blick behalten kann. Sie möchten später nicht hastig herausfinden, welcher Switch was macht, oder? Diese Art der Organisation macht es viel einfacher, wenn Ihre Konfiguration komplexer wird. Es ist eine gute Praxis, diese Konfigurationen zu dokumentieren, damit Sie einen klaren Überblick darüber haben, welche VM mit welchem Switch verbunden ist und welcher Verkehr erlaubt ist.
Nun, wenn Sie mit einem Team arbeiten und gemeinsam genutzte Ressourcen für Ihre Entwicklungsumgebung verwenden, kann es etwas komplizierter werden, alles abzusichern. Sie müssen sicherstellen, dass Ihre VMs nicht nur nicht miteinander kommunizieren können, sondern auch vom Host abgeschottet sind. Dies ist besonders wichtig, wenn Sie Anwendungen testen, die möglicherweise Schwachstellen aufweisen. Unter normalen Bedingungen können der Host und die VMs frei kommunizieren, aber Sie könnten die Einstellungen jeder VM anpassen, damit sie nur mit dem virtuellen Netzwerk und nicht mit dem Host-System kommunizieren können.
Um dies zu tun, gehen Sie in die Einstellungen jeder VM und deaktivieren Sie das Kontrollkästchen, das der VM ermöglicht, sich mit dem Host-Netzwerkadapter zu verbinden. Dadurch werden sie vollständig isoliert und schaffen eine Sandbox, in der sie ohne jeglichen externen Kontakt oder Einfluss arbeiten können. Es ist, als würde man ein Paar Geräuschunterdrückungskopfhörer aufsetzen; alles Außenstehende wird blockiert.
Es ist auch sehr hilfreich, Schnappschüsse zu verwenden, wenn Sie sich nicht ganz sicher sind, ob die Konfigurationen korrekt eingerichtet sind. Auf diese Weise können Sie, wenn Sie das Gefühl haben, einen Fehler gemacht zu haben, der Verkehr möglicherweise nicht dort zulässt, wo er nicht sein sollte, immer zu einem vorherigen Zustand Ihrer VM zurückkehren. Es ist wie ein sofortiges Backup Ihrer Arbeitsumgebung, und ich wünschte, ich hätte das früher in meiner IT-Karriere entdeckt. Schnappschüsse ermöglichen es Ihnen, herumzuspielen und Anpassungen vorzunehmen, ohne das Risiko, alles durcheinander zu bringen.
Ein weiterer Punkt, den ich erwähnen möchte, ist die Wichtigkeit, Ihre Einstellungen nach deren Anwendung zu testen. Lassen Sie es nicht einfach so und gehen Sie davon aus, dass es funktioniert; nehmen Sie sich wirklich ein paar Minuten Zeit, um die Kommunikationswege auszuprobieren. Sie könnten versuchen, eine VM von einer anderen zu pingen oder jedes Netzwerkdienstprogramm zu verwenden, mit dem Sie vertraut sind, nur um zu überprüfen, dass der Verkehr angemessen eingeschränkt wird. Es ist immer besser, auf Nummer sicher zu gehen, und ein bisschen Testen kann Ihnen später potenzielle Kopfschmerzen ersparen.
Eine letzte Sache, die Sie im Hinterkopf behalten sollten, ist, dass es, wenn Sie mit Desktop-Anwendungen arbeiten, die Zugriff auf Remote-Server benötigen, typischerweise darauf ankommt, wie Sie die Netzwerkeinstellungen Ihrer Anwendung konfigurieren. Wenn eine VM auf eine bestimmte Ressource zugreifen muss, sollten Sie sicherstellen, dass Sie Ihre Firewall und Routing-Tabellen so konfiguriert haben, dass dieser Verkehr erlaubt wird, während alles andere weiterhin eingeschränkt bleibt. Diese Einrichtung ermöglicht es Ihnen, ein Gleichgewicht zwischen Sicherheit und Funktionalität zu wahren.
Wenn Sie all diese Methoden zusammen verwenden – Host-Only-Netzwerke, Firewall-Regeln, virtuelle Switches und sorgfältige Verwaltung von Zugriffsberechtigungen – schaffen Sie eine robuste Umgebung, in der Sie experimentieren und lernen können, ohne die Sicherheit zu gefährden. Sie können Ihre virtuelle Landschaft in VMware Workstation aufbauen, die nicht nur Ihren Bedürfnissen entspricht, sondern auch sicherstellt, dass alles sicher funktioniert.
Dieser Prozess hat meine Fähigkeit, Ressourcen effektiv zu verwalten, erheblich verbessert, während ich gleichzeitig eine strenge Kontrolle über den Zugriff aufrechterhalte, und mit ein wenig Übung werden Sie feststellen, dass es Ihnen in Fleisch und Blut übergeht, diese Kontrollen einzurichten und zu verwalten. Es geht darum, eine Umgebung zu schaffen, in der Sie sich sicher fühlen können, dass Ihre Konfigurationen wie beabsichtigt funktionieren, ohne ungewollte Exposition gegenüber anderen Teilen Ihres Netzwerks.