ADMIN

2024

02

2024-01-30T12:00:00

Softwareverteilung und Patchmanagement

SCHWERPUNKT

072

Monitoring

Patchmanagement

Linux-Monitoring mit Red Hat Insights

Praktische Einblicke

von Thorsten Scherf

Veröffentlicht in Ausgabe 02/2024 - SCHWERPUNKT

Mit Insights stellt Red Hat einen Clouddienst zur Verfügung, um Linux-Systeme innerhalb hybrider Cloudumgebungen in Hinblick auf Sicherheit, Performance und Verfügbarkeit zu überwachen. Mittlerweile enthält der Service eine Vielzahl an unterschiedlichen Komponenten, die das Leistungsspektrum erweitern. So lassen sich nun auch neue Systeme bei unterschiedlichen Cloudanbietern erzeugen. Wir stellen die wichtigsten Features vor.

Das Konzept, Linux-Systeme an zentraler Stelle über ein ein Webinterface zu verwalten, ist ja eigentlich ein alter Hut. Red Hat selbst bietet hierfür im eigenen Portfolio das Produkt "Satellite Server" [1] an. Administratoren können mit dieser Software den kompletten Lebenszyklus eines Systeme abbilden. Das beginnt mit der initialen Provisionierung eines Systems, bis zum Verteilten von Software-Updates und Konfigurationsdateien. Mit Insights [2] stellt Red Hat einen Clouddienst zur Verfügung, um den Ansatz des Systemmonitorings und der Verwaltung insbesondere für hybride Cloudumgebungen zu erweitern.
Der Service analysiert RHEL-Systeme regelmäßig, auf denen der Insights-Client läuft, und schlägt Aktionen vor, um mögliche Konfigurationsprobleme zu beseitigen. Neben aktuellen CVE- und Errata-Meldungen greift Insights hierfür auch auf unterschiedliche Datenbanken zurück. Die enthalten nicht nur OpenSCAP-basierte Regelwerke zur Umsetzung von Compliance-Anforderungen, sondern auch Regelsätze, die zuvor lediglich in Form von Red-Hat-Knowledgebase- Artikeln [3] vorlagen. Somit profitieren Sie von jeder Menge technischem Know-How, um Ihre Systeme regelmäßig einer grundlegenden Analyse zu unterziehen. Bei Bedarf beseitigt Insights identifizierte Probleme automatisiert mithilfe von Ansible-Playbooks.
Knowledgebase-Artikel werden in den meisten Fällen von Red-Hat-Support-Engineers im Zusammenhang mit Support-Tickets erstellt. Die Artikel beschreiben zumeist ein Problem, das auf einem Kundensystem identifiziert wurde, und stellen konkrete Lösungswege zu dessen Beseitigung zur Verfügung. IT-Verantwortliche, die ähnliche Schwierigkeiten haben, können somit sehr einfach anhand der Problembeschreibung selbstständig den beschriebenen Lösungsweg verfolgen. Als konkretes Beispiel, wie Insights Ihnen beim Aufspüren von möglicherweise fehlerhaften Konfigurationseinstellungen helfen kann, soll ein Red-Hat-Knowledgebase-Artikel aus dem Bereich der Netzwerkkonfiguration dienen [4].
Das Konzept, Linux-Systeme an zentraler Stelle über ein ein Webinterface zu verwalten, ist ja eigentlich ein alter Hut. Red Hat selbst bietet hierfür im eigenen Portfolio das Produkt "Satellite Server" [1] an. Administratoren können mit dieser Software den kompletten Lebenszyklus eines Systeme abbilden. Das beginnt mit der initialen Provisionierung eines Systems, bis zum Verteilten von Software-Updates und Konfigurationsdateien. Mit Insights [2] stellt Red Hat einen Clouddienst zur Verfügung, um den Ansatz des Systemmonitorings und der Verwaltung insbesondere für hybride Cloudumgebungen zu erweitern.
Der Service analysiert RHEL-Systeme regelmäßig, auf denen der Insights-Client läuft, und schlägt Aktionen vor, um mögliche Konfigurationsprobleme zu beseitigen. Neben aktuellen CVE- und Errata-Meldungen greift Insights hierfür auch auf unterschiedliche Datenbanken zurück. Die enthalten nicht nur OpenSCAP-basierte Regelwerke zur Umsetzung von Compliance-Anforderungen, sondern auch Regelsätze, die zuvor lediglich in Form von Red-Hat-Knowledgebase- Artikeln [3] vorlagen. Somit profitieren Sie von jeder Menge technischem Know-How, um Ihre Systeme regelmäßig einer grundlegenden Analyse zu unterziehen. Bei Bedarf beseitigt Insights identifizierte Probleme automatisiert mithilfe von Ansible-Playbooks.
Knowledgebase-Artikel werden in den meisten Fällen von Red-Hat-Support-Engineers im Zusammenhang mit Support-Tickets erstellt. Die Artikel beschreiben zumeist ein Problem, das auf einem Kundensystem identifiziert wurde, und stellen konkrete Lösungswege zu dessen Beseitigung zur Verfügung. IT-Verantwortliche, die ähnliche Schwierigkeiten haben, können somit sehr einfach anhand der Problembeschreibung selbstständig den beschriebenen Lösungsweg verfolgen. Als konkretes Beispiel, wie Insights Ihnen beim Aufspüren von möglicherweise fehlerhaften Konfigurationseinstellungen helfen kann, soll ein Red-Hat-Knowledgebase-Artikel aus dem Bereich der Netzwerkkonfiguration dienen [4].
Wurde ein System, das das unter [4] beschriebene Problem aufweist, im Insights Service registriert, meldet der Service proaktiv, dass der Fehler auf dem System vorhanden ist und schlägt direkt mögliche Lösungswege vor. Mithilfe von Ansible Playbooks besteht dann die Möglichkeit, das Problem direkt aus Insights heraus zu beheben.
Verfügbar innerhalb Hybrid Cloud Console
Insights steht als Service innerhalb der webbasierten Red Hat Hybrid Cloud Console [5] zur Verfügung. Um Zugriff auf die Konsole zu erhalten, benötigen Sie einen Red-Hat-Account. Aus der Konsole heraus können Sie dann Ihre komplette Infrastruktur bestehend aus RHEL-Systemen, OpenShift-Clustern und der Ansible-Automation-Plattform verwalten. Für sämtliche Komponenten aus dieser Infrastruktur steht ein Insights-Client zur Verfügung, sodass Sie die einzelnen Funktionen des Insights-Services sowohl auf RHEL als auch der Ansible-Automation-Plattform sowie innerhalb von Open Shift-Clustern nutzen können.
Für das Registrieren eines Systems in Insights stehen unterschiedliche Wege zur Verfügung. In diesem Artikel beschränken wir uns auf RHEL-Systeme und zeigen, wie Sie ein solches mit der Insights-Client-Software innerhalb des Clouddienstes registrieren. Sollten Sie ein System bereits mithilfe des Red Hat Subscription Managers (RHSM) registriert haben, reicht es aus, einfach das Paket "insights-client" zu installieren und im Anschluss das Tool aufzurufen mit
insights-client --register
Diese Methode ist dann relevant, sollten Sie schon über die Vielzahl an Systemen verfügen, die mithilfe des Subscription-Managers bei Red Hat registriert wurden, aber noch nicht in den Insights-Service integriert sind.
Anbinden mittels Activation Key
Alternativ dazu können Sie neue Systeme mit dem Remote Host Configuration Manager (RHC) gleichzeitig an das Red Hat Subscription Management sowie an Insights anbinden. Hierfür ist ein sogenannter Activation Key notwendig, den Sie als RHC-Administrator innerhalb der Hybrid Cloud Console generieren. Hierzu navigieren Sie einfach zum Menüpunkt "Red Hat Insights / RHEL / Inventory / System Configuration / Activation Keys". Benutzer der Red-Hat-Satellite-Software kennen das Konzept der Activation Keys bereits. Eigentlich handelt es sich hierbei um einen einfachen pre-shared Key, mit dem eine Registrierung ohne Angabe von Benutzernamen und Passwort möglich ist. Zusätzlich können Sie weitere Informationen wie beispielsweise Software-Repositories an den Schlüssel binden. Diese werden dann an sämtliche Systeme weitergeben, die Sie mit diesem Schlüssel registrieren. Das Anmleden eines Systems erfolgt dann mit dem folgenden Befehl:
rhc connect -a <Activation Key> -o <Organization-ID>
An dieser Stelle ist es noch interessant zu wissen, dass das Remote-Host-Configuration-System aus einer Serverkomponente als Teil des Insights-Services und einer Clientkomponente auf dem zu registrierenden System besteht. Ob der Client Änderungen an Konfigurationsdateien von Insights empfangen und auch ausführen darf, können Sie innerhalb der Console unter dem Menüpunkt "Insights / RHEL / Inventory / System Configuration / Remote Host Configuration (RHCS)" festlegen. Es ist empfehlenswert, hier mit den Standardeinstellungen zu arbeiten, da ansonsten Insights nicht in der Lage ist, mögliche Probleme auf Ihren Systemen zu beseitigen.
Sollte es zu Schwierigkeiten in der Kommunikation mit dem Remote Host Configuration Manager kommen, können Sie mit dem folgenden Befehl überprüfen, ob der lokale Clientservice tatsächlich aktiv ist:
systemctl status rhcd
Bild 1: Eine Vielzahl an Knowledgebase-Artikeln steht innerhalb des Insights-Clouddienstes als Regelsatz zur Verfügung.
Compliance dank Insights Advisor
Sobald Sie ein System in Insights registriert haben, taucht dieses unter dem Menüpunkt "Red Hat Insights / RHEL / Inventory" innerhalb der Hybrid Cloud Console auf. Wählen Sie das gewünschte System aus, sehen Sie neben allgemeinen Informationen zu dem System ebenfalls die Menüpunkte "Advisor", "Vulnerability", "Compliance" und "Patch".
Über das Advisor-Feature erhalten Sie Informationen über eventuell vorhandene Konfigurationsprobleme, die auf Ihrem System existieren. Hierfür greift Insights auf Regelsätze zurück, die im Zusammenhang mit den bereits zuvor angesprochenen Knowledgebase-Artikeln stehen. An dieser Stelle finden Sie dann auch nähere Informationen zu dem Problem und wie Sie dieses selbstständig lösen können.
Alternativ können Sie über die Schaltfläche "Remediate" Insights anweisen, ein entsprechendes Ansible-Playbook zu verwenden, das dann beim nächsten Check-in des Systems automatisch dort ausgeführt wird, um die fehlerhafte Konfiguration zu beheben. An dieser Stelle sei noch erwähnt, dass Insights nicht in der Lage ist, sämtliche Konfigurationsprobleme mithilfe eines Playbooks komplett automatisiert zu beheben.
Ganz ähnlich verhält es sich mit dem Aufspielen von Red Hat Security Advisories (RHSA). Unter dem Menüpunkt "Vulnerability" sehen Sie, für welche CVE-Meldungen Pakete auf dem System eingespielt werden müssen, um die in der CVE-Meldung beschriebene Sicherheitslücke zu schließen. Eine Liste an ausstehenden Bugfixes (RHBA) beziehungsweise Enhancement Advisories (RHEA) erhalten Sie über dem Menüpunkt "Patch". Für sämtliche Advisories gilt, dass Sie diese zentral über die Hybrid Cloud Console auf Ihrem System einspielen können.
Um ein System auf bestimmte Compliance-Anforderungen hin zu scannen, müssen Sie das System zuerst an das gewünschte Compliance-Regelwerk binden. Dies können Sie ganz einfach innerhalb des Insights Services (Menüpunkt "Red Hat Insights / RHEL") in der Hybrid Cloud Console über den Menüpunkt "Security / Compliance / SCAP Policies" vornehmen. Möchten Sie ein System beispielsweise anhand des DISA Secure Technical Implementation Guides (STIG) scannen, fügen Sie das gewünschte System einfach diesem Compliance-Regelwerk hinzu. Auf dem System selbst können Sie dann einen automatisierten Scan in den gewünschten Intervallen konfigurieren. Für einen initialen Test rufen Sie einfach den Insights-Client mit der Option "--compliance" auf:
insights-client --compliance
In diesem Fall wird ein Scan des Systems unmittelbar gestartet und die Ergebnisse wandern zum Insights Service. Diese können Sie dann im Menüpunkt Compliance eines Systems einsehen.
Bild 2: Nach der Registrierung eines Systems stellt Insights die Ergebnisse der Systemanalyse über die webbasierte Hybrid Cloud Console zur Verfügung.
System-Deployments in der Cloud
Im Lauf der letzten Jahre hat der Insights Service einige neue Features erhalten. So ist es nun möglich, mit dem Tool Image Builder innerhalb der Hybrid Cloud Console eigene Images zu erzeugen und hierfür nicht nur auf Red-Hat-eigene Software-Repositories zurückgreifen zu müssen, sondern auch individuelle Repositories einzubinden. So können Sie beim Erzeugen eines neuen System-Images direkt die Softwarepakete inkludieren, die Sie auf Ihren Systemen benötigen.
Um eigene Software direkt in Images einzubinden, erlaubt Insights unter dem Menüpunkt "Content / Repositiories" das Setup von beliebigen Softwarequellen. Hierfür müssen Sie lediglich die URL des Repositories und einige zusätzliche Informationen, wie beispielsweise einen optionalen GPG-Key zur Verifizierung der Signatur von Paketen, die aus diesem Repository stammen, mit angeben.
Im Anschluss ermöglicht Insights das Deployment dieser Images in unterschiedlichen Cloudumgebungen. Aktuell stehen Connectoren für Amazon Web Services, Microsoft Azure und die Google Cloud Platform zur Verfügung. Nach der erfolgreichen Provisiolierte System automatisch Zugriff auf sämtliche anderen Insights-Services haben.
Images erzeugen und ausrollen
Mit Insights können Sie dann System-Images erzeugen, die Sie nach dem Deployment ganz klassisch mittels RPM beziehungsweise DNF aktualisieren. Als Alternative hierzu stehen sogenannte immutable, also nicht veränderbare, Images auf Basis von OSTree [6] zur Auswahl. Diese kommen immer dann zum Einsatz, wenn Sie anstatt von einzelnen Paketen direkt eine komplett neue Version eines Systemimages ausrollen möchten. Als Beispiel soll hier Red Hat Enterprise Linux für Edge Systeme [7] dienen.
Bevor Sie nun das erste Image erstellen, ist es von Vorteil, zuerst eine Verknüpfung zwischen Ihrem Cloudanbieter und der Red Hat Hybrid Cloud Console herzustellen. Auf diese Verknüpfung können Sie dann beim Erstellen eines Images zurückgreifen, um das neu erstellte Abbild direkt innerhalb der gewünschten Cloudumgebung für die Provisionierung eines neuen Systems zu verwenden.
Für eine neue Verknüpfung klicken Sie auf das kleine Rädchen am oberen rechten Bildschirmrand und wechseln in die Settings der Console. Im Menü "Integrations / Cloud" erstellen Sie durch Betätigung der Schaltfläche "Add Source" eine neue Verknüpfung. Hierfür wählen Sie dann den gewünschten Cloudanbieter aus und gehen Schritt für Schritt durch den Konfigurationsassistenten. Dieser fragt, je nach Cloudprovider, unterschiedliche Informationen zu Ihrem Konto ab. Für die Verknüpfung mit AWS müssen Sie beispielsweise die Access-ID und den Secret Access Key für Ihren AWS-Account bereithalten.
Hat dies soweit funktioniert, taucht die neue Verknüpfung in der Übersicht auf, und Sie können beim Anlegen von neuen Images hierauf zurückgreifen, um das Image innerhalb der soeben konfigurierten Cloud-Umgebung einzusetzen.
Unter "Inventory / Images" erzeugen Sie nun die gewünschten Abbilder für die jeweiligen Cloudumgebungen. Hier müssen Sie sich nun wie erwähnt entscheiden, ob Sie ein RPM/DNF- oder OSTree-basiertes Image erstellen möchten. In diesem Artikel verwenden wir ein RPM/DNF-Image zur Provisionierung eines RHEL-Systems. Über die Schaltfläche "Create Image" starten Sie den Assistenten zum Anlegen des Images. Neben dem eigentlichen Betriebssystem und der Architektur können Sie hier die gewünschte Cloudumgebung für das Deployment des Abbilds angeben.
Im nächsten Schritt wählen Sie die zuvor unter "Integrations" eingerichtete Verknüpfung aus, sodass der Zugriff auf diese Umgebung unter Ihrem dort hinterlegten Konto stattfindet. Unter dem Menüpunkt "Register" wählen Sie einen Activation Key aus, mit dem die Registrierung des neuen Systems in Insights stattfinden soll, sobald Sie dieses Imge innerhalb der Umgebung starten, um so ein neues System auf Basis dieses Abbilds zu erzeugen.
Nachdem Sie sich für ein passendes Partitionierungslayout entschieden haben, können Sie schließlich die gewünschten Softwarepakete auswählen, die Sie in diesem Image einbinden möchten. Hierzu haben Sie die Möglichkeit, nicht nur auf die Repositories zuzugreifen, die Sie an den Activation Key gebunden haben, sondern auch auf die custom Repositories die zuvor unter "Content / Repositories" angelegt wurden. Im letzten Schritt erhalten Sie schließlich eine Zusammenstellung der eingegebenen Daten. Sobald Sie diese Angaben bestätigen, startet die Image-Builder-Anwendung innerhalb von Insights mit der Erstellung des neuen Abbilds.
Neue Systeme starten
Sobald dieser Vorgang abgeschlossen ist, taucht das neue Image in der Übersicht unter "Inventory / Images" auf. In der Spalte "Instance" können Sie durch Auswahl von "Launch" dann schließlich neue Systeme auf Basis des soeben erstellten Images erzeugen. Hierzu startet wieder ein Assistent, der Sie Schritt für Schritt durch diesen Prozess führt. So können Sie bei einem AWS-Image beispielsweise die Region angeben, die Sie für den Launch verwenden möchten. Gleiches gilt für die Typen und Anzahl an Instanzen. Ferner lässt sich ein SSH-Schlüssel hinterlegen, mit dem nach dem erfolgreichen Launch ein Login auf dem System möglich ist. Auch hier erhalten Sie zum Abschluss eine Übersicht der eingegebenen Daten.
Der ganze Vorgang nimmt einige Minuten in Anspruch. Hat alles geklappt, gibt Insights die Meldung "System launched successfully" aus und Sie können das auf dem Bildschirm aufgeführte SSH-Kommando verwenden, um einen SSH-Login zu der neuen Systeminstanz durchzuführen. Während des Launch-Vorgangs wurde das System bereits mithilfe des zuvor verwendeten Activation Keys innerhalb von Insights registriert und taucht nun bereits im Menüpunkt "Inventory / Systems" auf.
Sensible Daten herausfiltern
Da Insights kontinuierlich Systeme auf mögliche Risiken und fehlerhafte Konfigurationen überwacht, sendet der Insights-Client-Service regelmäßig Daten an den Insights-Clouddienst. Dies passiert standardmäßig einmal pro Tag. Der übertragene Datensatz ist dabei auf die notwendigen Informationen beschränkt und enthält tatsächlich weniger Informationen, als ein typischer "sosreport", der üblicherweise im Rahmen eines Supporttickets an den Red-Hat-Technical-Support gesendet wird.
Der Clientdienst überträgt sämtliche Daten in verschlüsselter Form und verwendet hierfür einen mit TLS gesicherten Kommunikationskanal. Des weiteren besteht die Möglichkeit, den zu übertragenden Datensatz im Vorfeld zu bereinigen, sodass Hostnamen und IP-Adressen anonymisiert übertragen werden. Hierzu editieren Sie die Datei "/etc/insights-client/insights-client.conf" und stellen sicher, dass die folgenden beiden Konfigurationsoptionen zum Einsatz kommen:
obfuscate=true
obfuscate_hostname=true
Möchten Sie darüber hinaus weitere Daten aus dem Datensatz anonymisieren, ist auch dies möglich, indem Sie die Datei "/etc/insights-client/remove.conf" anlegen. Mittels dieser sorgen Sie dafür, dass bestimmte Dateien nicht in den Datensatz aufgenommen werden (files), die Ausgabe von bestimmten Kommandos nicht Teil des Datensatz werden (commands) und bestimmte Patterns und Keywords entfernt (patterns) oder anonymisiert (keywords) werden:
[remove]
files=/etc/hosts
commands=/bin/dmesg
patterns=password,username
keywords=Secret123,PassW0rd
Wird ein Pattern im Datensatz gefunden, entfernt Insights die komplette Zeile, in der das Pattern auftaucht. Die Keywords werden durch den String "keyword[0]", "keyword[1]" und so weiter ersetzt. Um zu überprüfen, ob die Anonymisierung der Daten wie gewünscht klappt, rufen Sie das Tool insights-client mit der Option "--no-upload" auf:
insights-client --no-upload
Das Werkzeug erzeugt dann einen Datensatz unter Berücksichtigung der Datei "remove.conf", ohne diesen an den Red Hat Insights Service zu senden. Sie können das Archiv dann lokal auspacken und überprüfen, ob die gewünschten Änderungen an den Dateien durchgeführt wurden.
Beachten Sie, dass neue Versionen des Insights Clients auch YAML-Dateien unterstützen. Statt der Datei "remove. conf" können Sie stattdessen auch mit den beiden Dateien "file-redaction.yaml" und "file-content-redaction.yaml" arbeiten. Diese unterstützen dann auch, im Gegensatz zur "remove.conf", den Einsatz regulärer Ausdrücke.
Fazit
Mit Insights stellt Red Hat einen Clouddienst zur Verfügung, der eine proaktive Analyse von RHEL-Umgebungen durchführt. Somit können Sie Konfigurations- und Compliance-Probleme schnell identifizieren und beheben. Auch fehlende Patches erkennt und meldet Insights.
Mittlerweile erlaubt der Dienst auch das Provisionieren von RHEL-Systemen innerhalb hybrider Cloudumgebungen. Hierfür können Sie in Insights eigene Images erzeugen, die Sie dann für das Deployment der Systeme einsetzen. Wie immer hilft ein Blick in die sehr umfangreiche Dokumentation [8] dabei, sich mit den sehr mächtigen Funktionen des Insights-Clouddienstes vertraut zu machen.
(dr)
Link-Codes
[3] Red-Hat-Knowledgebase: https://access.redhat.com/search/