Wir bringen eine öffentliche virtuelle QEMU-Maschine ohne Netzwerkkarte ins Internet und versuchen, sie abzubauen

Es gibt Zeiten, in denen ein zufriedener Benutzer einer öffentlichen virtuellen Maschine möglicherweise auf die Tatsache stößt, dass die virtuelle Maschine keinen Zugriff auf das Internet hat. Dem Benutzer stehen ein Prozessor, ein Speicher, eine Festplatte mit einem Betriebssystem, grundlegende Schnittstellen, ein RAS-Port und das alles zur Verfügung.


In diesem Fall kann der Hoster auch verstanden werden, dass es für ihn einfacher ist, den Zugang zum Internet heute zu deaktivieren, um sich morgen nicht über Benutzeraktivitäten im Internet Gedanken zu machen, da verschiedene vom Benutzer beleidigte und beleidigte Personen zunächst anfangen, die Dinge mit dem Hoster zu klären. In einigen Ländern ist beispielsweise die Praxis des Blockierens der IP-Adressen des Hosts vor dem Test weit verbreitet, was nicht den böswilligen Benutzer, sondern unschuldige Benutzer betrifft.


Neue Internetmethode


Bisher konnte der Client, um eine virtuelle Maschine ohne Netzwerk ins Internet zu bringen, nur ein physisches USB-Gerät weiterleiten, das das Internet von seiner Adresse verteilt: Modem, Netzwerkadapter.


Heutzutage kann ein Benutzer Ports analog zu SSH an einen VPN- oder Proxyserver weiterleiten. Dazu ist es erforderlich, dass alle drei Seiten des Clients, des Hosts und der virtuellen Maschine auf der Basis von FlexVDI-Code zusammengesetzt werden, d. H. Es ist erforderlich, Softwarepakete neu zu erstellen und zu installieren, die für den Remotezugriff über das Spice-Protokoll verwendet werden.


FlexVDI ist eine verbesserte Version des offenen RAS-Protokolls SPICE und eine zusätzliche Abstraktionsebene des gleichnamigen Unternehmens. Der gesamte erforderliche Code ist in den Github- Repositorys verfügbar.


Verbindung


Um einen Spice-Client von FlexVDI zu erhalten, kann ein Linux-Benutzer den Client entweder manuell kompilieren oder mehrere Aktionen für das AppImage-Image des Clients ausführen:


Zuerst müssen Sie das appImage-Image des Clients von der offiziellen Website herunterladen, es zu einer ausführbaren Datei machen und es mit dem folgenden Befehl entpacken:


./flexvdi-linux-client-2.2.15-x86_64.AppImage --appimage-extract 

Nachdem der Befehl ausgeführt wurde, befinden sich die Bilddateien im Verzeichnis squashfs-root im Verzeichnis mit der Datei. Wir interessieren uns für den würzigen Client, aber die direkte Ausführung der Datei schlägt fehl, da die Anwendung versucht, Bibliotheken zu verwenden, die sich im System und nicht im Image befinden. Erstellen Sie eine Kopie der AppRun-Datei, um scharf zu arbeiten. Kommentieren oder löschen Sie in der Kopierdatei am Ende die Zeile:


  ./python2.7 ./flexvdi_launcher.pyc "$@" 

und stattdessen fügen wir eine Zeile des Formulars hinzu:


 ./spicy --uri=spice://vpla.umvirt.com?port=6060 -R 3128:127.0.0.1:3128 --spice-debug 

Hier können Sie die Verbindung zum RAS-Port über das Gewürzprotokoll zur öffentlichen virtuellen RetroGamer-Maschine auf dem Server vpla.umvirt.com konfigurieren und den Port 3128 vom Tintenfisch zur virtuellen Maschine mit Ausgabe von Debugging-Informationen weiterleiten.


Wir speichern die Datei, installieren den Squid-Proxyserver und überprüfen die Funktionsfähigkeit mit einem Browser.


Unten sehen Sie einen Screenshot des Proxy-Server-Einstellungsfensters für Firefox:



Wenn der Browser erfolgreich mit dem Proxy zusammenarbeitet, reservieren Sie den Zugriff auf die virtuelle Maschine und führen Sie die erstellte Startdatei mit der Ausgabe aus, die in die Datei umgeleitet wird. Beispiel:


 ./myApp > spicy.log 

Die folgenden Meldungen sollten in der Protokolldatei angezeigt werden:


 (spicy:10702): GSpice-DEBUG: port-forward.c:183 Created new port forwarder 

und


 (spicy:10702): GSpice-DEBUG: port-forward.c:231 Associate guest (null), port 3128 -> 127.0.0.1 port 3128 

Wenn die Nachricht nicht angezeigt wird, bedeutet dies, dass entweder auf dem Host oder in der virtuellen Maschine der Code der ursprünglichen Gewürzpakete nicht durch den Flexvdi-Code ersetzt wird.


In einer virtuellen Maschine:


  1. Wir überprüfen die Portweiterleitung mit dem Befehl:
     ss -atnl 
  2. Wir überprüfen das Fehlen eines Netzwerks mit dem Befehl:
     ip addr 

In den Browsereinstellungen schreiben wir dieselben Parameter für den Proxyserver vor.



Überprüfen des Netzwerkzugriffs


Wir überprüfen die IP-Adresse beispielsweise unter http://umvirt.com/agentinfo



Wir prüfen die Möglichkeit, Sites zu eröffnen, öffnen beispielsweise die Online-Mining-Site " Coinhive ".



Wie Sie sehen, wurde die virtuelle Maschine nicht nur von der Adresse des Clients aus online geschaltet, sondern konnte auch den Mining-Prozess starten.


Ein Video des Verbindungsprozesses ist auf Youtube verfügbar.

Source: https://habr.com/ru/post/de431598/


All Articles