ClickCease Live-Patching im DevOps-Workflow - TuxCare

Inhaltsübersicht

Abonnieren Sie unseren beliebten Newsletter

Schließen Sie sich 4.500+ Linux- und Open-Source-Experten an!

2x im Monat. Kein Spam.

Live-Patching im DevOps-Workflow

DeShea Witcher

2. Dezember 2020 - Vizepräsident für Marketing

DevOps ist eine Kombination aus Softwareentwicklung und IT-Betrieb, die darauf abzielt, Produkte schneller als normal zu verbessern und weiterzuentwickeln, um Unternehmen dabei zu helfen, effektiver zu konkurrieren und ihre Kunden besser zu bedienen.

Der DevOps-Arbeitsablauf ist durch schnelle Veröffentlichungszyklen gekennzeichnet, die schnell getesteten Code erfordern. Dies wird erreicht, indem den Entwicklern die Möglichkeit gegeben wird, schnell neue virtuelle Maschinen zu erstellen, die in der Regel auf Vorlagen basieren und auf denen sie diese Tests durchführen können. Dies wird mit Skripten gesteuert, wobei mindestens eines der zahlreichen verfügbaren Automatisierungstools wie Ansible oder Puppet verwendet wird.

Entwickler richten in der Regel neue virtuelle Maschinen ein, um neuen Code zu testen, zu erstellen und freizugeben, sind sich aber selten bewusst, dass diese virtuellen Maschinen von böswilligen Akteuren ins Visier genommen werden können, selbst wenn sie nur von kurzer Dauer sind. Wenn ein solches System kompromittiert wird, kann es ein Sprungbrett für den Zugriff auf interne Ressourcen sein, die sonst unerreichbar wären. Diese Tatsache ist seit mindestens 2015 bekannt, als das Thema auf der Black Hat Europe 2015 mit dem passenden Titel "Continuous Intrusion" diskutiert wurde: Warum KI-Tools die besten Freunde von Angreifern sind" diskutiert wurde, und dennoch wird das Risiko immer noch heruntergespielt und ignoriert.

In diesem Artikel erfahren Sie, wie Sie die KernelCare-Bereitstellung in den Arbeitsablauf integrieren können, damit auch diese Systeme mit den neuesten Kernel-Patches auf dem neuesten Stand gehalten werden.

DevOps Virtuelle Maschinen

DevOps nutzt Virtualisierung, um schnelle und stabile Implementierungen zu ermöglichen. "Virtualisierung ist der Prozess der Erstellung von Software, die verschiedene Hardware- und Softwareumgebungen nachahmt, ohne dass die physische Hardware selbst ausgetauscht werden muss"(BMC). Eine virtuelle Maschine soll als Simulation einer bestimmten Hardware- oder Softwarekonfiguration fungieren, die es DevOps ermöglicht, verschiedene Aspekte von Software oder Hardware zu testen, ohne physische Komponenten austauschen zu müssen; außerdem können mehrere Simulationen gleichzeitig ausgeführt werden, was den Prozess beschleunigt.

Sicherheitsprobleme

Die virtuellen Maschinen basieren auf Vorlagen, die zu einem bestimmten Zeitpunkt erstellt wurden, und wenn sie online gestellt werden, gibt es in der Regel keinen Aktualisierungsprozess, so dass jede Schwachstelle, die zum Zeitpunkt der Erstellung vorhanden war, oder jede Schwachstelle, die seit der Erstellung aufgetaucht ist, in der virtuellen Maschine vorhanden ist, die online gestellt wird. Dieses Risiko wird durch die übliche kurze Lebensdauer dieser virtuellen Maschinen heruntergespielt.

"Sie können einen Snapshot einer virtuellen Maschine erstellen und auf die Festplatte schreiben, so dass Sie sie beim nächsten Mal nicht neu erstellen müssen, oder für die Notfallwiederherstellung. Man kann einfach eine dieser virtuellen Maschinen, die sich in Offline-Bibliotheken befinden, abfeuern. Aber in den meisten Fällen werden sie nicht mit A/V-Signaturen und Patches auf dem neuesten Stand gehalten", so Neil MacDonald.

Bei diesen virtuellen Maschinen handelt es sich in der Regel um "Wegwerf"-Virtual Machines. Sie werden in Betrieb genommen, zu Testzwecken verwendet und dann entweder gelöscht oder vergessen. Das Problem ist, dass diese virtuellen Maschinen technisch gesehen immer noch Server sind, und wenn sie nicht gepatcht und gewartet werden, sind die Schwachstellen, die zum Zeitpunkt der Erstellung bestanden, immer noch vorhanden, was bedeutet, dass sie ein ideales Ziel für Hacker sind. Sie sollten zwar nach Patches oder Schwachstellen suchen, tun dies aber oft nicht, so dass diese Vorlagen eine Gefahr darstellen, die auf sich warten lässt.

Hacker haben diese mögliche Sicherheitslücke erkannt und können auf das Erscheinen der virtuellen Maschinen lauern und sie in dieser Zeit angreifen. Diese können genau der Einstiegspunkt in die übrige Infrastruktur sein, da diese virtuellen Maschinen Zugang zu Datenbanken, anderen internen Systemen oder Authentifizierungsmechanismen benötigen.

Was ist DevSecOps?

Die einfache Definition von DevSecOps ist, dass es die Sicherheit in die Entwicklung und den Betrieb einbringt. Es fügt das Ziel hinzu, Sicherheit in die DevOps-Pipeline zu implementieren, um sicherzustellen, dass alles sicher und geschützt ist. Die Umstellung eines Unternehmens auf ein DevSecOps-Framework kann sich als schwierig erweisen, da es oft zusätzliche Arbeit erfordert, die Informationen in den virtuellen Maschinen zu überwachen. KernelCare bietet jedoch Live-Patching, damit Sie keine zusätzliche Arbeit leisten müssen, um die Systeme sicherer zu machen. Unser System kümmert sich für Sie um alle Sicherheits-Patches für den Kernel und die gemeinsam genutzten Bibliotheken.

KernelCare DevSecOps-Lösung

Da Sicherheit und Live-Patching für den DevOps-Prozess wichtig sind, wird eine einfache Lösung benötigt: KernelCare. KernelCare verfügt über ein einfaches Installationsverfahren, das automatisiert und in die Bereitstellungsskripte für die virtuellen Maschinen aufgenommen werden kann. Auf diese Weise patcht KernelCare den Kernel und/oder die gemeinsam genutzten Bibliotheken live, wenn sie online gestellt werden, und trägt dazu bei, sie sicherer zu machen, wie kurz auch immer ihre Lebensdauer sein mag. Auf diese Weise wird auch sichergestellt, dass alle Snapshots, die Sie von virtuellen Maschinen erstellen, gepatcht werden, wenn sie online gestellt werden, so dass Sie sich keine Sorgen machen müssen, dass alte Schwachstellen Hackern Tür und Tor öffnen, um in Ihre Systeme einzudringen.

Wenn das Unternehmen Container anstelle von virtuellen Maschinen verwendet, dann die Installation von KernelCare auf dem Container-Host immer noch empfohlen. Auf diese Weise können Sie alle Ihre Container schützen, ohne den Host neu starten zu müssen, um Sicherheitspatches anzuwenden, und ohne Ausfallzeiten.

In der DevOps-Pipeline findet die hier beschriebene Integration zwischen der Build- und der Testphase statt.

Integration von KernelCare in Ihre Systeme

Unter KernelCare mit Ansible zu integrierenzu integrieren, müssen Sie die folgenden Informationen angeben:

  • " ePortal-Servernamen (oder IP) in der Ansible-Variable eportal srv. Weitere Optionen für die Konfigurationsdatei finden Sie unter Config Options und KernelCare Client Config File (ePortal).
  • "Ein Aktivierungsschlüssel in der Ansible-Variable activation_key. Aktivierungsschlüssel können in ePortal generiert werden, wie in Schlüsselverwaltung (ePortal) beschrieben.

Um KernelCare mit Puppet zu integrieren, folgen Sie den Anweisungen im verlinkten Video.

Ein Beispiel für die Integration von KernelCare in Ihr System ist ein Code:

- Gastgeber: Kernelcare

  vars:

       eportal_srv: http://192.168.250.19

       activation_key: 89gRVCp1rY0ZQ053

Aufgaben:

- name:Download des Installations-Shell-Skripts

       get_url:

       url: “{{ eportal_srv }}/installer”

       dest: /root/kc-install.sh

       Modus: '0700'

- name:Ausführen des Installations-Shell-Skripts

       Shell: /root/kc-install.sh >> /var/log/kcare_install.log

       Umwelt:

       KCARE_REPO: “{{ eportal_srv }}/repo”

- name:kcare.conf mit ePortal-Konfiguration aktualisieren

       blockinfile:

       Pfad: /etc/sysconfig/kcare/kcare.conf

       erstellen: ja

       blockieren: |

       PATCH_SERVER={{ eportal_srv }}/

       REGISTRATION_URL={{ eportal_srv }}/admin/api/kcare

- name:register KernelCare-Agenten

       command: /usr/bin/kcarectl –register {{ activation_key }}

Schlussfolgerung

Mit KernelCare werden alle Patches während der Bereitstellungsphase Ihrer DevOps-Pipeline installiert, ohne dass die Entwickler bei der Erstellung virtueller Maschinen zusätzlichen Aufwand haben. Sie werden eine sicherere Umgebung für Ihre Tests haben. Dies wird wiederum zu einer sichereren internen Umgebung führen. KernelCare ist ein Schritt in die richtige Richtung und unterstützt Sie bei der Umstellung Ihrer DevOps auf DevSecOps. Das Live-Patching von KernelCare lässt sich problemlos in die Deployment-Skripte für neue virtuelle Maschinen integrieren und macht sie so besser gegen Schwachstellen geschützt; mit KernelCare erhalten Sie mehr Sicherheit ohne zusätzlichen Aufwand.

Möchten Sie das Patchen von Sicherheitslücken ohne Kernel-Neustart, Systemausfallzeiten oder geplante Wartungsfenster automatisieren?

Erfahren Sie mehr über Live-Patching mit TuxCare

Werden Sie ein TuxCare-Gastautor

Los geht's

E-Mail

Beitreten

4,500

Linux & Open Source
Fachleute!

Abonnieren Sie
unseren Newsletter