GNU/Linux >> LINUX-Kenntnisse >  >> Panels >> Webmin

Index der Webmin-Server

In diesem Kapitel wird das Webmin-Modul zum Auflisten anderer Server in Ihrem Netzwerk erklärt und seine Beziehung zu den Cluster-Modulen und RPC dokumentiert.

Inhalt

Das Webmin-Server-Indexmodul

Dieses Modul dient eigentlich zwei Zwecken, einem einfachen und einem recht komplexen. Sie können damit einen Hauptindex anderer Systeme erstellen, auf denen Webmin in Ihrem Netzwerk ausgeführt wird, die jeweils als Symbol angezeigt werden, auf das Sie klicken können, um eine Verbindung zum Server herzustellen. Jedes Symbol kann entweder ein normaler Link oder ein „Tunnel“ sein, der Sie automatisch bei einem anderen Server anmeldet, wobei der gesamte Datenverkehr über das erste System gesendet wird.

Außerdem kann das Modul verwendet werden, um Systeme zu definieren, die von einem Master-Webmin-Server gesteuert werden können, indem das System- und Serverstatusmodul und die Module in der Cluster-Kategorie verwendet werden. Auf jedem dieser anderen Systeme muss ebenfalls Webmin installiert sein, und ein spezielles RPC-Protokoll (Remote Procedure Call) wird vom Master verwendet, um mit den Slaves zu kommunizieren und diese zu steuern. Wie das alles funktioniert, wird in diesem Kapitel ausführlich erklärt.

Wenn Sie auf das Symbol des Moduls in der Kategorie Webmin klicken, wird eine Seite wie die im Bild unten gezeigte angezeigt. Der größte Teil der Seite wird von einer Tabelle mit Symbolen eingenommen, eines für jeden der anderen Server, die Sie hinzugefügt haben. Wenn dies das erste Mal ist, dass das Modul verwendet wird, werden natürlich zunächst keine Serversymbole angezeigt. Unten befinden sich Schaltflächen zum automatischen Finden anderer Webmin-Server in Ihrem lokalen Netzwerk.

Das Webmin-Server-Indexmodul

Obwohl es zum Erstellen eines Index von Webmin-Webservern entwickelt wurde, gibt es keinen Grund, warum Sie nicht stattdessen Symbole für andere Arten von Webservern erstellen können. Allerdings funktionieren die RPC-Funktionen des Moduls natürlich nur, wenn es mit einem Host kommuniziert, auf dem Webmin läuft.

Hinzufügen eines Webmin-Servers

Führen Sie die folgenden Schritte aus, um diesem Modul einen neuen Server hinzuzufügen, entweder um einen Link darauf bereitzustellen oder damit er mit einem der Cluster-Gruppenmodule verwaltet werden kann:

  1. Klicken Sie auf Neuen Server registrieren Link auf der Hauptseite über oder unter den vorhandenen Symbolen.
  2. Im Hostnamen geben Sie den Internet-Hostnamen oder die IP-Adresse des anderen Servers ein, z. B. server.example.com .
  3. Im Hafen geben Sie den Port ein, auf dem Webmin lauscht, normalerweise 10000 .
  4. Vom Servertyp Menü wählen Sie das Betriebssystem, das der andere Host ausführt. Dadurch wird nur das Symbol festgelegt, das zur Darstellung des Servers verwendet wird.
  5. Wenn sich der andere Webmin-Server im SSL-Modus befindet, wählen Sie Ja im SSL-Server? Feld. Diese Option kann nur verwendet werden, wenn auf dem Master-System das Perl-Modul Net::SSLeay und die OpenSSL-Bibliothek installiert sind, sodass es eine Client-Modus-SSL-Verbindung herstellen kann.
  6. Wenn die Beschreibung auf *Von Hostname und Port* eingestellt ist, werden der Hostname und die Portnummer des Servers unter seinem Symbol auf der Hauptseite des Moduls angezeigt. Sie können jedoch die zweite Option auswählen und eine alternative Beschreibung eingeben, die stattdessen angezeigt werden soll, z. B. Corporate Web Server .
  7. In diesem Modul definierte Server können in Gruppen kategorisiert werden, um sie leichter in die Module der Cluster-Kategorie aufzunehmen. In der Gruppe Mitglied des Servers Im Feld können Sie eine der folgenden Optionen auswählen :*Keine *Das System, das Sie hinzufügen, gehört keiner Gruppe an. *Vorhandene Gruppe *Wenn bereits Gruppen definiert wurden, befindet sich dieser Server in der Gruppe, die im Menü neben dieser Option ausgewählt wurde. Wenn noch keine Gruppen vorhanden sind, wird diese Option nicht einmal angezeigt. *Neue Gruppe *Der Server wird der neuen Gruppe hinzugefügt, deren Namen Sie in das nebenstehende Textfeld eingeben. Eine Gruppe hört auf zu existieren, sobald alle darin enthaltenen Server gelöscht oder in eine andere Gruppe geändert wurden.
  8. Der Linktyp Das Feld ist möglicherweise das wichtigste in diesem Formular, da es bestimmt, ob der neue Server in den Clustermodulen und im System- und Serverstatusmodul verwendet werden kann. Es bestimmt auch, ob das Symbol ein normaler Link oder ein Tunnel ist. Ihre Optionen sind :*Normaler Link zum Server *RPC-Aufrufe können nicht an den anderen Server gesendet werden, und sein Symbol auf der Hauptseite des Moduls ist nur ein normaler Weblink. Wenn das System einen anderen Webserver-spezifischen Port ausführt, sollten Sie diese Option auswählen. *Anmeldung über Webmin mit Benutzername *Diese Option muss ausgewählt werden, wenn Sie die RPC-Funktionen von Webmin zur Steuerung dieses Servers verwenden möchten, z. B. mit den Modulen der Kategorie Cluster. Wenn ausgewählt, müssen Sie einen Benutzernamen und ein Passwort für Webmin auf dem Remote-Host in die Felder daneben eingeben. Der Benutzer sollte root oder admin sein, da andere Webmin-Benutzer standardmäßig nicht berechtigt sind, RPC-Aufrufe zu empfangen, es sei denn, sie wurden ausdrücklich autorisiert. RPC kann verwendet werden, um jeden Befehl auszuführen oder jede Datei auf einem Server zu ändern, weshalb der Zugriff darauf nicht vertrauenswürdigen Webmin-Benutzern gewährt werden darf. Wenn dieser Modus gewählt wird, ist das Symbol des Servers auf der Hauptseite ein Tunnel, der automatisch jeden, der darauf klickt, als den angegebenen Benutzer beim Remote-Server anmeldet. *Anmelden, wenn auf das Symbol geklickt wird *Wenn diese Option gewählt wird, kann der Server nicht für RPC verwendet werden, aber sein Symbol ist immer noch ein Tunnel zum Remote-Host. Beim ersten Anklicken wird der Benutzer jedoch zur Eingabe eines Logins und eines Passworts für das Remote-System aufgefordert, die in einem Cookie im Browser des Benutzers gespeichert werden. Diese Option ist praktisch, wenn Sie möchten, dass verschiedene Benutzer die Tunneling-Funktion nutzen können, sich aber dennoch als sie selbst beim Remote-System anmelden können.
  9. Bei Anmeldung über Webmin mit Benutzername oben ausgewählt wurde, Schnelle RPC-Aufrufe durchführen? Feld bestimmt, ob das neue schnelle RPC-Protokoll oder das ältere langsame Protokoll verwendet wird. Sie können entweder Ja auswählen um die Verwendung des Schnellmodus zu erzwingen, Nein um den langsamen Modus zu erzwingen oder automatisch entscheiden um Webmin den Schnellmodus nur verwenden zu lassen, wenn er verfügbar ist. Wenn die automatische Option ausgewählt ist und der Server nicht kontaktiert oder angemeldet werden kann, wird eine Fehlermeldung angezeigt, wenn Sie auf Erstellen klicken Taste später. Versionen von Webmin vor 0.89 unterstützten das schnelle Protokoll nicht, aber die meisten Systeme sollten inzwischen darüber hinaus aktualisiert worden sein. Im Allgemeinen sollten Sie immer den schnelleren Modus verwenden, es sei denn, eine Firewall blockiert die von ihr verwendeten direkten TCP-Verbindungen. Weitere Einzelheiten zu den Unterschieden zwischen den beiden Modi finden Sie im Abschnitt „Wie RPC funktioniert“ weiter unten in diesem Kapitel.
  10. Klicken Sie abschließend auf Erstellen Schaltfläche, um diesen neuen Server hinzuzufügen. Solange das Formular fehlerfrei war, kehren Sie zur Hauptseite des Moduls zurück, die ein neues Symbol enthalten sollte.

Die Symbole für Server, die nicht in Normaler Link zum Server erstellt wurden Modus sind tatsächlich Links zu einem Programm auf diesem Master-Server, das für Sie eine Verbindung zum Remote-System herstellt. Dies kann tatsächlich nützlich sein, wenn Ihr Master-Server über das Internet erreichbar ist, interne Hosts jedoch nicht, z. B. wenn Sie nur eine einzige Internet-IP-Adresse haben und NAT verwenden. Wenn Sie auf diese internen Server zugreifen, indem Sie in diesem Modul auf dem Master-System auf ihre Symbole klicken, verbindet sich Ihr Browser nur wirklich mit dem Master-Server, der dann die Anfragen an den ausgewählten Slave tunnelt.

Auf einem Webmin-System mit mehreren Benutzern sollten Sie vorsichtig sein, wenn Sie nicht vertrauenswürdigen Benutzern Zugriff auf dieses Modul gewähren. Jeder, der auf ein Symbol für einen Server in Anmeldung über Webmin mit Benutzername klicken kann mode wird mit dem Remote-System als der für diesen Server angegebene Benutzer verbunden, nicht er selbst. Dies wird ihm wahrscheinlich erlauben, Dinge mit Root-Rechten auf diesem Remote-Host zu tun, die er auf dem Master-System nicht tun könnte.

Im Abschnitt „Modulzugriffskontrolle“ wird später erläutert, wie Sie steuern können, welche Serversymbole ein bestimmter Benutzer verwenden kann, sodass nicht vertrauenswürdige Personen auf diejenigen im Safe beschränkt werden können. auf Modi.

Bearbeiten oder Löschen eines Webmin-Servers

Sobald ein Server zu diesem Modul hinzugefügt wurde, können Sie alle seine Details bearbeiten oder ihn sogar ganz löschen. Die folgenden Schritte sind:

  1. Klicken Sie auf der Hauptseite auf (bearbeiten) Link neben dem Namen des Servers, den Sie ändern möchten. Dadurch wird ein Bearbeitungsformular angezeigt, das fast identisch mit dem zum Hinzufügen eines Servers ist.
  2. Alle Felder können bearbeitet werden und haben dieselben Optionen und Bedeutungen wie im Abschnitt „Hinzufügen eines Webmin-Servers“ erläutert. Die einzige Ausnahme ist Schnelle RPC-Aufrufe machen? Feld, das nicht über die Option Automatisch entscheiden verfügt Auswahl, wenn das Modul bereits den RPC-Modus ausgearbeitet hat, den der Remote-Server unterstützt.
  3. Klicken Sie auf Speichern Schaltfläche, um Ihre neuen Einstellungen zu aktivieren. Oder wenn Sie diesen Server aus dem Modul entfernen möchten, klicken Sie auf Löschen stattdessen. Alle anderen Module (z. B. die in der Cluster-Kategorie), die diesen Server verwendet haben, entfernen ihn automatisch aus ihren Listen.

Verwendung von Servertunneln

Wenn Sie in einem der Tunnelmodi auf ein Symbol für einen Webmin-Server klicken, werden Sie über dieses Mastersystem mit ihm verbunden. Die Benutzeroberfläche des Remote-Hosts ist fast genauso wie bei einer normalen Anmeldung, außer dass jede Seite einen speziellen Webmin-Server enthält Verknüpfung. Wenn Sie darauf klicken, gelangen Sie zurück zum Webmin Servers Index-Modul auf dem Master-System, was bequemer ist, als ein paar hundert Mal auf die Zurück-Schaltfläche in Ihrem Browser zu klicken.

Damit das Tunneling funktioniert, muss der Master-Server den HTML-Code analysieren und ändern, der von dem Remote-Host zurückgesendet wird, bei dem Sie sich anmelden. Derzeit funktioniert dies gut für Webmin-Server, kann aber fehlschlagen, wenn Sie zu einer anderen webbasierten Anwendung oder Website tunneln, die HTML verwendet, das von diesem Modul nicht unterstützt wird. Zu den Symptomen gehören Links, die auf nicht vorhandene Seiten auf dem Masterserver verweisen, und Bilder, die nicht ordnungsgemäß geladen werden.

Wenn Sie auf das Symbol für einen Server klicken, *Anmelden, wenn auf das Symbol * geklickt wird, wird zunächst ein Anmeldeformular zur Eingabe eines Benutzernamens und eines Kennworts für das Remote-System angezeigt. Dies wird auch dann angezeigt, wenn der Remote-Host Webmin nicht auf dem ausgewählten Port ausführt, kann aber verwendet werden, um sich bei jedem Webserver anzumelden, der die Standard-HTTP-Authentifizierung verwendet. Nachdem Sie sich angemeldet haben, werden Ihr Benutzername und Ihr Passwort gespeichert, bis Sie entweder Ihren Browser schließen (wodurch das Cookie verworfen wird) oder auf (Abmelden) klicken Link, der unter dem Symbol des Servers auf der Hauptseite des Moduls erscheint.

Broadcasting und Scannen für Server

Wenn Sie eine große Anzahl von Webmin-Servern in Ihrem Netzwerk haben, kann es mühsam sein, sie einzeln zu diesem Modul hinzuzufügen. Es gibt jedoch einen besseren Weg - das Master-System kann in Ihrem lokalen LAN nach anderen Webmin-Servern senden oder Anfragen an Hosts innerhalb eines bestimmten Netzwerks senden, um nach Servern zu suchen. Alle gefundenen werden automatisch zu diesem Modul hinzugefügt, allerdings nur in Normaler Verbindung zum Server Modus. Es gibt keine Möglichkeit, dass das Master-System automatisch ein Login und ein Passwort für ein entferntes System ermittelt, da dies eine riesige Sicherheitslücke wäre, wenn dies möglich wäre!

Gehen Sie folgendermaßen vor, um andere Webmin-Server zu finden:

  1. Wenn Sie nur Ihr lokales LAN durchsuchen möchten, klicken Sie unten auf der Hauptseite des Moduls auf die Schaltfläche *Broadcast für Server*. Um ein anderes Netzwerk zu suchen, geben Sie dessen Adresse in das Feld rechts neben Nach Servern suchen ein Taste, bevor Sie sie drücken. Dies muss ein Klasse-C-Netzwerk sein, eingegeben wie 192.168.1.0 .
  2. Eine Seite mit den URLs der gefundenen Server wird angezeigt. Neue haben Neuen Server gefunden vor ihren URLs haben diejenigen, die sich bereits auf der Hauptseite befinden, Bekannten Server gefunden , und Antworten vom Master-System selbst haben *Diesen Server gefunden*.
  3. Wenn der Vorgang abgeschlossen ist, können Sie zur Hauptseite zurückkehren, die jetzt ein zusätzliches Symbol für jeden der neu gefundenen Server enthält. Dann kann bearbeitet werden, um in den Modus *Anmeldung über Webmin mit Benutzername* zu wechseln, um sie für RPC zu verwenden.

Alle Versionen von Webmin seit 0.75 lauschen am UDP-Port 10000 auf die von diesem Modul gesendeten Broadcast- und Scan-Pakete und antworten mit ihrem Hostnamen, ihrer Portnummer und ihrem SSL-Modus. Ein Server wird nicht gefunden, wenn eine Firewall diesen Port blockiert oder wenn UDP-Listening aus Sicherheitsgründen ausgeschaltet wurde.

So funktioniert RPC

RPC ist ein Protokoll, mit dem ein Webmin-System ein anderes steuern kann. Eine RPC-Anforderung ist normalerweise ein Aufruf einer Funktion in der Bibliothek eines Moduls und enthält die Parameter für diese Funktion. Es gibt jedoch andere RPC-Anforderungstypen, um Daten zu und von einem Server zu übertragen, zu prüfen, ob ein Modul verfügbar ist, die Konfiguration eines Moduls abzurufen und ein Stück Perl-Code auszuführen. Dieser Abschnitt erklärt die technischen Details seiner Funktionsweise und kann übersprungen werden, wenn Sie kein Programmierer sind und keine Probleme mit RPC-Verbindungen haben.

Wenn Sie das System- und Serverstatusmodul so einrichten, dass einige Statusinformationen von einem entfernten System abgerufen werden, wird ein RPC-Aufruf an Funktionen im selben Modul auf diesem System durchgeführt, um festzustellen, ob ein Dienst aktiv oder inaktiv ist. Wenn ein Benutzer im Modul „Cluster-Benutzer und -Gruppen“ hinzugefügt wird, werden in ähnlicher Weise mehrere RPC-Aufrufe durchgeführt, um ihn der Kennwortdatei hinzuzufügen, sein Home-Verzeichnis zu erstellen und Dateien hineinzukopieren. Kapitel 56 erklärt, wie Sie RPC in Ihren eigenen Modulen verwenden und wo seine Grenzen liegen.

Wie bereits erwähnt, hat RPC zwei verschiedene Modi – schnell und langsam. Der langsame Modus ist am einfachsten, da er eine HTTP-Anforderung vom Master an den Slave für jeden RPC-Funktionsaufruf, jede Dateiübertragung oder Informationsanforderung verwendet. Alle Parameter, Daten und Rückgabewerte sind in dieser Anfrage und ihrer Antwort enthalten, und es werden keine anderen TCP-Verbindungen hergestellt. Der Vorteil dieses Modus ist, dass er durch Firewalls und Proxys hindurch funktioniert, solange HTTP-Anfragen an Port 10000 erlaubt sind.

Abgesehen davon, dass dieser Modus langsam ist, hat er einen großen Nachteil:HTTP ist ein zustandsloses Protokoll, aber Webmin-RPC-Aufrufe sind nicht zustandslos. Es ist durchaus möglich, dass ein Funktionsaufruf eine globale Variable setzt, von der der nächste Funktionsaufruf abhängt. Das bedeutet, dass für jeden Master, der eine RPC-Session eröffnet, auf dem entfernten System ein Hintergrundprozess gestartet werden muss, in dem der Zustand gehalten wird. Aber es gibt keine Möglichkeit für ein Slave-System, automatisch zu erkennen, wann das Master-CGI-Programm beendet ist, und damit den Hintergrundprozess zu beenden, da keine direkte Verbindung zwischen den beiden besteht!

Die Lösung von Webmin besteht darin, dass der Prozess beendet wird, wenn der Master einen speziellen RPC-Aufruf durchführt oder nach 30 Sekunden Inaktivität. Wenn ein Master-CGI-Programm die Funktion remote_finished nicht aufruft, bleibt der entfernte Prozess herum und verbraucht Speicher, bis die Zeitüberschreitung abgelaufen ist. Wenn aus irgendeinem Grund mehr als 30 Sekunden zwischen RPC-Aufrufen an denselben Host vergangen sind, wird der Hintergrundprozess beendet und zukünftige RPC-Aufrufe schlagen fehl.

Das neuere schnelle RPC-Protokoll löst diese Probleme, indem es nur eine anfängliche HTTP-Anforderung verwendet, um einen Hintergrundprozess auf dem Remote-System zu starten. Der Master-Server stellt dann eine TCP-Verbindung zu diesem Prozess her (der auf einem freien Port wartet) und sendet stattdessen RPC-Anforderungen über diese Verbindung. Wenn das Hauptprogramm beendet wird, wird diese Verbindung automatisch abgebaut, und der entfernte Hintergrundprozess wird beendet. Es sind keine speziellen Funktionsaufrufe oder Timeouts erforderlich.

Der schnelle RPC-Modus bietet eine viel bessere Unterstützung für die Übertragung großer Dateien zu und von Remote-Systemen. Der langsame Modus versucht, Dateien innerhalb einer HTTP-Anforderung zu codieren, was fehlschlagen kann, wenn sie zwei groß sind. Der neuere Modus überträgt sie stattdessen unverschlüsselt über eine separate TCP-Verbindung, was schneller und weitaus zuverlässiger ist. Die Cluster-Softwarepakete und Cluster-Webmin-Konfigurationsmodule können fehlschlagen, wenn ein großes Paket im langsamen Modus installiert wird.

Das einzige Problem mit dem schnellen Modus besteht darin, dass einige Firewalls die TCP-Verbindung blockieren können, die normalerweise an einem Port 1 oder 2 über dem Basis-Webmin-Port des Remote-Hosts hergestellt wird, z. B. 10001 oder 10002. Wenn Daten übertragen werden, können mehrere Verbindungen hergestellt werden RPC, daher muss jede Firewall in Ihrem Netzwerk zwischen den beiden Servern so konfiguriert sein, dass sie Verbindungen vom Master zum Remote-Host auf Ports im Bereich von 10000 bis 10100 zulässt.

Modulzugriffskontrolle

Wenn Sie mehr als einen Webmin-Benutzer auf Ihrem System haben, möchten Sie dieses Modul möglicherweise anderen Personen zur Verfügung stellen, ohne ihnen Zugriff auf alle Serversymbole oder die Möglichkeit zu geben, Server hinzuzufügen. Dies ist nützlich, wenn Sie möchten, dass andere nur Symbole für Server sehen, die nicht in Anmeldung über Webmin mit Benutzername sind Modus, wodurch das Modul nur zu einem Index anderer Systeme in Ihrem Netzwerk wird. Der erste Schritt besteht darin, dieses Modul einem Benutzer zuzuweisen, wie auf WebminUsers erklärt. Sie können ihn dann so einschränken, dass er nur die Tunnel für bestimmte Server sehen und verwenden kann, indem Sie diesen Schritten folgen:

  1. Klicken Sie im Webmin-Benutzermodul neben dem Namen des Benutzers oder der Gruppe auf Webmin Servers Index, um das Zugriffskontrollformular aufzurufen.
  2. Ändern Sie die Modulkonfiguration bearbeiten? Feld auf Nein , damit er die Benutzeroberfläche nicht für andere ändern kann.
  3. Im Feld Kann Server verwenden Feld wählte Ausgewählt und wählen Sie diejenigen aus der Liste unten aus, die Sie sichtbar machen möchten.
  4. Ändern Sie die Option Kann Server bearbeiten? und Kann Server finden? Felder auf Nein .
  5. Klicken Sie auf Speichern Schaltfläche, um die neuen Einschränkungen zu aktivieren.

Das Verstecken eines Servers vor einem Benutzer in diesem Modul hindert ihn nicht daran, ihn in anderen Modulen zu verwenden, die RPC verwenden.

Konfigurieren des Indexmoduls für Webmin-Server

Dieses Modul verfügt über mehrere Einstellungen, die steuern, wie seine Benutzeroberfläche angezeigt wird und wie Scans für Server durchgeführt werden. Sie können sie bearbeiten, indem Sie auf Modulkonfiguration klicken Link auf der Hauptseite, der ein Formular mit den folgenden Feldern aufruft:

Die Konfiguration des Webmin-Servers
Webmin
  1. Funktioniert die Upnp-Client / Server-Kombination?

  2. Häufig gestellte Fragen zu Cloud-Servern

  3. Deaktivieren Sie die HTTP-Komprimierung auf Apache-Servern

  4. Stellen Sie sicher, dass die Server erfolgreich neu gestartet werden

  5. Untersuchen Sie kompromittierte Server

Webmin-Konfiguration

So installieren Sie Webmin in Ubuntu 20.04

So installieren Sie den Webmin Server Manager auf AlmaLinux 8

So installieren Sie Webmin unter CentOS 7

Verwenden von Ajenti beim Verwalten von Linux-Servern

So installieren Sie Webmin unter Ubuntu Linux