Linux-Server und Appliances über SSH inventarisieren
Linux-Server mit NetBlade über SSH und ein normales Konto auslesen: System, Kernel, CPU, Arbeitsspeicher und installierte Pakete, mit Hostschlüssel-Prüfung.
Linux-Server, Hypervisor-Hosts und viele Appliances sprechen keine Windows-Verwaltung, wohl aber SSH. Mit einem einzigen normalen Konto meldet sich NetBlade an, liest aus, was der Rechner ist und welche Pakete darauf laufen, und merkt sich die Identität des Servers, damit ein ausgetauschter Rechner nicht still und leise dein Passwort einsammeln kann. Dieser Artikel behandelt, was ausgelesen wird, welches Konto du anlegst und den einen Sicherheitsmechanismus, den du verstehen musst.
Bevor du anfängst
- Die Linux-Rechner stehen nach einem Scan unter Geräte, mit offenem Port 22 (der Port-Scanner oder Identifizieren zeigt ihn).
- Administrativer Zugang zu jedem Server, um ein Konto anzulegen.
- Der SSH-Daemon des Servers lauscht auf Port 22: Mit diesem Port verbindet sich NetBlade.
1. Wissen, was NetBlade über SSH ausliest
Von einem Linux-Server oder einer Appliance liest NetBlade:
- den Hostnamen;
- das Betriebssystem aus
/etc/os-releaseoder, wenn diese Datei fehlt, den Kernelnamen; - die Kernelversion;
- Prozessormodell und Anzahl der Kerne;
- den gesamten Arbeitsspeicher;
- installierte Pakete aus
dpkg(Debian, Ubuntu und Derivate) oderrpm(Red Hat, Rocky, AlmaLinux, SUSE und Derivate); - den Hostschlüssel des Servers, den es sich merkt.
Über SSH kommt nichts zu Datenträgern, Benutzern oder Schutzmaßnahmen zurück. Das ist eine Grenze dessen, was NetBlade über dieses Protokoll fragt, nicht des Geräts, und die Karte sagt das auch: «Über SSH ausgelesen. Ein Linux-Host oder eine Appliance antwortet mit Name, Kernel und Paketen, und nichts zu Datenträgern, Benutzern oder Schutzmaßnahmen.»
2. Ein normales Konto anlegen, ohne sudo
Jeder Befehl, den NetBlade ausführt, liest Dateien und Tools, die jeder Benutzer lesen kann: hostname, /etc/os-release, uname, /proc/cpuinfo, nproc, /proc/meminfo und die Paketliste mit dpkg-query oder rpm -qa. Es nutzt nie sudo und braucht nie root. Gib ihm ein Konto, das nicht mehr kann.
Auf einem typischen Linux-Server, als root oder mit sudo (allgemeine Linux-Administration, passe es an deine Distribution an):
sudo useradd -m -s /bin/bash netblade
sudo passwd netblade
Füge diesen Benutzer nicht zu sudo, wheel oder einer anderen administrativen Gruppe hinzu.
Hinweis: NetBlade authentifiziert sich über SSH mit einem Passwort. Anmeldung per Schlüssel wird nicht unterstützt. Akzeptieren deine Server nur Schlüssel, musst du für dieses eine Konto in der Konfiguration des SSH-Daemons die Passwortanmeldung erlauben. Wäge das gegen deine Richtlinien ab, nimm ein langes, eindeutiges Passwort und schränke das Konto so ein, wie es deine Standards verlangen.
3. Die SSH-Anmeldedaten hinterlegen
- Öffne Anmeldedaten und klicke auf Hinzufügen….
- Stelle Protokoll auf Linux / SSH.
- Gib Benutzer und Passwort ein.
- Wähle unter Wo sie gelten Ein Standort oder Diese Scanbereiche, wenn deine Server in einem Bereich liegen, den du mit Bereich behalten gespeichert hast.
- Gib eine Bezeichnung, zum Beispiel „Büro A - Linux nur lesen“, und klicke auf Hinterlegen.
- Gib die Adresse eines Servers unter Rechner zum Testen ein und klicke auf Testen. LETZTER TEST sollte «Funktioniert» zeigen.
SSH-Anmeldedaten werden dort versucht, wo Port 22 offen gesehen wurde (oder wo noch keine Ports bekannt sind), nach allen passenden Windows- und SNMP-Anmeldedaten.
4. Die Server auslesen
- Öffne Geräte und klicke auf Tiefeninventar, oder öffne die Karte eines Servers und klicke auf Tiefenscan.
- Der Auslesestatus zeigt «Ausgelesen am … über …».
- Die Registerkarte Software listet die installierten Pakete mit ihren Versionen.
- Inventar › Software enthält diese Pakete jetzt neben den Windows-Programmen, sodass „Wer hat noch diese Version?“ über beide hinweg funktioniert.
Tipp: Pakete zählen für Schwachstellenprüfungen nur, wenn das Wörterbuch von NetBlade sie benennen kann. Auf der Seite „Software“ zeigt Nur was das Wörterbuch benennen kann, welche das sind. Ein Programm, das das Wörterbuch nicht benennen kann, bekommt nirgends in der App ein Schwachstellenurteil: Stille ist keine Sicherheit.
5. Die Hostschlüssel-Prüfung verstehen
Beim ersten Verbinden mit einem Server merkt sich NetBlade den SHA-256-Fingerabdruck seines Hostschlüssels. Ist der Schlüssel bei einer späteren Verbindung ein anderer, hält NetBlade an, bevor es das Passwort sendet, und zeigt:
«Der Hostschlüssel ist nicht der, den dieses Gerät beim letzten Mal gezeigt hat. Es wurde nichts gesendet: Entweder wurde dieser Rechner neu installiert, oder unter seiner Adresse antwortet etwas anderes.»
Das schützt deine Anmeldedaten vor einem Gerät, das die Adresse des Servers übernommen hat, ob es versehentlich ins Netzwerk gesteckt oder absichtlich dort platziert wurde.
Wenn du die Meldung siehst:
- Finde heraus, warum. Wurde der Server neu installiert, ersetzt oder seine Adresse einem anderen Rechner gegeben?
- Kannst du es nicht erklären, behandle es als Sicherheitsvorfall, nicht als Störung.
- Ist die Änderung legitim, setze die alte Auslesung zurück, damit der neue Schlüssel akzeptiert werden kann. In dieser Version geht das, indem du das Gerät löschst: Klicke unter Geräte auf Auswählen, hake es an und klicke auf Löschen. Es verschwindet mit allem, was von ihm ausgelesen wurde, und seinem Verlauf aus dem Katalog und kommt beim nächsten Scan als neues Gerät zurück. Lies es dann erneut aus.
6. Appliances mit eigener Shell
Viele Appliances (Firewalls, manche Switches, NAS-Menüs) akzeptieren eine SSH-Anmeldung, antworten aber mit ihrer eigenen Befehlszeile statt einer Linux-Shell. NetBlade begrenzt jeden Befehl mit einem Timeout, damit die Auslesung nicht hängt, aber es kommt wenig oder nichts zurück. Für diese Geräte ist SNMP das bessere Protokoll: siehe SNMP.
Prüfen, ob es geklappt hat
- Die Karte des Servers zeigt «Ausgelesen am … über …» sowie System, Kernel, Prozessor, Kerne und Arbeitsspeicher.
- Die Registerkarte Software listet Pakete.
- Auf dem Dashboard enthält Ausgelesene Rechner die Server.
Wenn etwas schiefgeht
- «SSH hat die Verbindung oder die Anmeldedaten abgelehnt». Falscher Benutzer oder falsches Passwort, das Konto ist gesperrt, oder der Server akzeptiert für dieses Konto keine Passwortanmeldung. Probier dieselbe Anmeldung in einem Terminal aus, um zu sehen, was zutrifft.
- Keine Pakete aufgelistet. NetBlade liest nur
dpkgundrpm. Distributionen mit anderen Paketmanagern liefern die Systemdaten, aber keine Paketliste. - Der Server lauscht auf einem anderen Port als 22. NetBlade verbindet sich nur auf Port 22.
- Die Hostschlüssel-Meldung erscheint nach einer geplanten Neuinstallation. Das ist zu erwarten. Folge Schritt 5.
- Nichts zu Datenträgern oder Benutzern. Wird über SSH bewusst nicht ausgelesen.
Weiter
Sind PCs, Netzwerkgeräte und Server ausgelesen, zeichne, wie sie verkabelt sind: Die Netzwerkkarte aufbauen.
← Alle Anleitungen Funktionsübersicht → Das Produkt: NetBlade Windows →