Das Host Europe Serverinterface

Was antwortet der Host Europe AgileDevOP auf die Frage: „Wo ist das Logoutbutton noch gleich?“ Vermutlich „Keine Ahnung, irgendwo halt.“

ärgerlich, das man danach suchen muß

Ich hatte heute das zweifelhafte Vergnügen im Host Europe Interface für Serververwaltung ausloggen zu wollen. Im Gegensatz zu dem erwähnten DevOP hab ich das dann doch noch gefunden:

Das Webinterface von Host Europe zeigt keine Buttons oder UI-Elemente, dafür ein Nummer unbekannter Herkunft und funktion, aus der ein PULL-DOWN Menü erwächst.Im Allgemeinen finde ich ja Buttons oder farbliche Hervorhebungen eine gute Idee, aber unter dieser nichtssagenden Nummer, die, wie ich vermute, wohl die Kundennummer ist, tauchte dann im 6pt Font ein „Logout“ auf. Ihr merkt schon, es war nicht einer meiner Server 😉

Sorry Host Europe

Aber das ist echt üble Benutzerführung. Wollt Ihr den Kunden mit der Oberfläche quälen oder zu Sachen verleiten, die er bereuen würde? Links war ja noch alles ok, aber wieso um alles in der Welt ist das Logout nicht auch da, so am Ende der Optionen für Server ? oder gleich mal ganz anders .. ( Brav aufs Datum achten, wir sind Euch da seit Jahren vorraus.)

Ich frage deshalb, weil ja ohnehin nicht allzu-viele Funktionen zur Verfügung stehen. Eine „Überladung des Interfaces“ brauchen wir bei der spärlichen Möblierung sicherlich nicht befürchten 🙂

@HE: Geht mal In Euch und überlegt mal, wie man das hübscher und bedienerfreundlicher machen kann. Danke.

Evolution Hosting Fenstersystem

(Screenshot einer Weboberfläche mit Fenstersystem (C) 2018 EVH )

Zum Abschluß noch …

@HE: Eure VNC Schnittstelle erwartet was auch immer für eine Tastaturbelegung und funktioniert auch mit dem von Euch favorisierten TigerVNC unter Linux nicht.

 

Die Platte in Tokyo einhängen

Die Idee ist schon fast zehn Jahre alt, aber es hat wohl eine Weile gedauert bis es funktioniert hat. Der Traum in Tokyo ein USB-Gerät in einen PC zu hängen und in Kenia zu benutzen, funktioniert tatsächlich. Die Lösung lautet: USBIP

Wie funktioniert das ?

Es gibt einen USBIP-Server und einen Clienten. Der Server bindet Geräte ein und stellt Sie im Netz zur Verfügung. Der Server sorgt auch dafür, daß das Gerät lokal nicht mehr zur Verfügung steht. Damit kann es bei der Benutzung keine Kollisionen geben. Der Client verbindet sich zum Server und bindet das USB-Gerät dann lokal ein und stellt es, wie jedes andere Gerät zur Verfügung.

Damit das funktioniert müssen einige Kernel-Module geladen werden. Praktischerweise ist alles was man so braucht im Paket dabei. Alles in allem ein ziemlich übersichtlicher Vorgang.

Die Installation

Die Installation ist ganze einfach:

sudo dnf -y install usbip

Das wars schon.

WARNUNG

Wie man im Beispiel sehen wird, greifen die Befehle direkt auf IP Adressen zu. D.h. wenn Ihr ein Gerät freigebt, kann jeder, der es über das Netzwerk erreichen kann, es auch benutzen. Das kann im Einzelfall ein Problem werden. Daher ist eine Begrenzung des Zugriffs per IP-Firewall zwingend notwendig.

Der USBIPd stellt die Option zur Verfügung, sich auf einen bestimmten Port zubinden :

–tcp-port PORT Listen on TCP/IP port PORT.

Damit kann man, zumindest theoretisch, mehrere Dienste parallel benutzen und somit die Freigabe per Firewall regeln.

Beispiel – Eine Kamera benutzen

Der Server hat IP 192.168.0.103. Auf dem wurden zur Vorbereitung folgende Befehle ausgeführt:

[root@warrior marius]# modprobe usbip-host
[root@warrior marius]# usbipd &

nun müssen wir natürlich noch wissen, welches Device wir überhaupt freigeben müssen:

[root@warrior marius]# usbip list -l
– busid 2-3 (0ac8:0302)
Z-Star Microelectronics Corp. : ZC0302 Webcam (0ac8:0302)

[root@warrior marius]# usbip bind -b 2-3
usbip: info: bind device on busid 2-3: complete

„usbip list -l“ listet die zur Verfügung stehenden lokalen Geräte auf.
„usbip bind -b 2-3“ bindet das USB Gerät mit der ID 2-3 an den usbipd, so daß es exportiert werden kann.

Auf der Clientseite ist das ähnlich einfach:

[root@eve marius]# modprobe vhci-hcd

Das Kernelmodul i.d.R. immer nötig, es können aber auch andere Module zusätzlich benötigt werden.

[root@eve marius]# usbip list -r 192.168.0.103
Exportable USB devices
======================
– 192.168.0.103
2-3: Z-Star Microelectronics Corp. : ZC0302 Webcam (0ac8:0302)
: /sys/devices/pci0000:00/0000:00:14.0/usb2/2-3
: (Defined at Interface level) (00/00/00)

Wie man sehen kann, ist das Gerät jetzt verfügbar. Nun müssen wir es noch lokal einfügen:

[root@eve marius]# usbip attach -r 192.168.0.103 -b 2-3

und nun können wir es benutzen, da es wie jede andere WebCam als Videogerät zur Verfügung gestellt wurde:

[root@eve marius]# camorama -d /dev/video0
… jede Menge unnötige Fehlermeldungen später …
name = medium
name = large

Wenn man es wieder abmelden will, muß man den lokalen USBIP Port kennen:

[root@eve marius]# usbip port
Imported USB devices
====================
Port 00: <Port in Use> at Full Speed(12Mbps)
Z-Star Microelectronics Corp. : ZC0302 Webcam (0ac8:0302)
12-1 -> usbip://192.168.0.103:3240/2-3
-> remote bus/dev 002/004
[root@eve marius]# usbip detach -p 00
usbip: info: Port 0 is now detached!

Das wars. Jetzt noch auf dem Server mit unbind entfernen:

[root@warrior marius]# usbip unbind -b 2-3
usbip: info: unbind device on busid 2-3: complete

und das Gerät ist wieder lokal benutzbar.

Anwendungen

Per SSH-VPN könnte man damit z.b. WebCams in Rechenzentren benutzen, oder Festplatten einbinden, die vollverschlüsselt sind, auch wenn der „Server“ kompromittiert wurde, denn die Verschlüsselung läuft auf dem lokalen Rechner, ein MITM-Angriff kann damit nicht stattfinden. USB-Tastaturen und Mäuse würden auch lustige Sachen erlauben 😉

Wie dämlich muß man sein…

Diese Logzeile habe ich grade aus dem Mailserver gezogen:

2018-10-09 10:44:35 SMTP protocol synchronization error (next input sent too soon: pipelining was not advertised): rejected „GET / HTTP/1.1″ H=[107.170.202.125] next input=“Host: mailserver:26\r\nUser-Agent: Mozilla/5.0 zgrab/0.x\r\nAccept: */*\r\nAccept-Encoding: gzip\r\n\r\n“

Ich übersetz mal :

GET / HTTP/1.1
Host: mailserver:26
User-Agent: Mozilla/5.0 zgrab/0.x
Accept: */*
Accept-Encoding: gzip

Wenn man sich das genau ansieht, wobei „MAILSERVER“ unsere Mailserver IP war, wird man bei HOST das irritierende „:26“ entdecken. Die Portnummer gehört im HTTP Protokoll gar nicht in den „Host:“- Header rein, trotzdem hat dieses miserable Script es angehängt. Unser Glück, so kann man das aufklären 🙂

Es handelt sich offenbar um einen Portscanner, der bei „nicht-so-standart“-Ports wie „26“ , einfach mal austestet, ob da nicht ein Webserver zu finden ist. Vielleicht in der Hoffnung da was zu finden, was auf Port 80 nicht zu finden wäre, wer weiß. Auf Port 26 hat unser Mailserver einen Ausweichport, falls der DSL-Router des Kunden mal wieder Port 25 für alles außer T-Offline-Mailservern sperrt. Das hat sich in der Vergangenheit extrem gut bewährt, weil man im Mailprogramm nur statt Port 25 26 angeben brauchte und schon war diese leidige Routersperre umgangen.

Eingeführt haben die Routerhersteller das, damit die ganzen gehackten Windows-Pcs nicht ständig das Netz mit Spams beglücken. Das war aber nur bedingt erfolgreich 😉

Wie kam ich jetzt auf dämlich, achso ja, weil sich der Mailserver natürlich, wie auf Port 25 auch, sofort als Mailserver outet 🙂 Man muß also nicht erst HTML hinschicken um zu sehen was es ist 😀