Zum Inhalt springen

GRSecurity Kernelschutz 2024

Linux Kernelschutz GRSecurity

GRSecurity ist ein Patch für den Linux Kernel für zusätzliche Sicherheit.
Er fügt die Möglichkeit hinzu, sich vor vielen Arten von Port-Scans zu verstecken und bestimmte Informationen aus dem Netzwerk-Verkehr herauszufiltern.

Er beschränkt den Zugriff auf Daten in /proc in einer Art, dass reguläre Benutzer nur ihre eigenen Prozesse und keine wichtigen Netzwerk-Daten (die Ausgabe von ifconfig ist gestutzt) oder die dmesg Ausgabe sehen können.

Ebenfalls beschränkt es stark die Möglichkeiten in einem chroot-Gefängnis, um Programme am Ausbruch zu hindern und beinhaltet eine Portierung des kompletten OpenWall-Codes.
http://www.grSecurity.net/

Allerdings ist dieser Schutz derzeit umstritten und nicht mehr kostenlos verfügbar.
Die Relevanz von GRsecurity heute ist etwas gemischt. Auf der einen Seite bietet es fortschrittliche Sicherheitsfunktionen, die in vielen Umgebungen, insbesondere in solchen mit hohen Sicherheitsanforderungen, wertvoll sein können. Auf der anderen Seite hat GRsecurity einige Herausforderungen.

  1. Verfügbarkeit:
    Das GRsecurity-Projekt hat den freien Zugang zu seinen stabilen Patches im Jahr 2015 eingeschränkt. Sie sind jetzt hauptsächlich für zahlende Kunden verfügbar, was die Zugänglichkeit für die breite Open-Source-Gemeinschaft verringert.
  2. Integration mit Standard-Linux-Distributionen:
    Viele der Funktionen von GRsecurity sind nicht direkt in populäre Linux-Distributionen integriert. Das bedeutet, dass Benutzer, die GRsecurity nutzen möchten, entweder eine spezialisierte Distribution verwenden oder den Kernel manuell patchen müssen.
  3. Alternativen:
    Viele der Ziele von GRsecurity werden auch von anderen Projekten und Entwicklungen innerhalb des Linux-Kernels adressiert. Zum Beispiel hat der Mainline-Linux-Kernel seine eigene Implementierung von ASLR und anderen Sicherheitsfunktionen.
  4. Kompatibilität und Wartung: Die Verwendung von GRsecurity kann zu Kompatibilitätsproblemen mit Software führen, und die Notwendigkeit, den Kernel manuell zu patchen und zu warten, kann für einige Benutzer oder Organisationen eine zusätzliche Belastung darstellen.

Für mich ist das Thema GRSecurity schon lange nicht mehr relevant, da sowohl Debian als auch Fedora bereits eine Reihe von eingebauten Sicherheitsfunktionen, wie SELinux (besonders prominent in Fedora), AppArmor (in Debian), Firewalls und verbesserte ASLR (Address Space Layout Randomization) enthalten. Diese Funktionen bieten bereits einen hohen Grad an Systemsicherheit. Zudem kenne ich mich mit GRSecurity zu wenig aus und lese auch in den Foren sehr wenig darüber.

Die Nutzung kann zu Problemen kommen, wenn man selbst nicht Herr der Konfiguration ist.
Die Integration von GRsecurity in Debian oder Fedora erfordert einiges an technischem Wissen und zusätzliche Wartung. Der GRsecurity-Patch ist nicht in den Standard-Kernel-Quellen enthalten und muss manuell angewendet werden. Dies kann zu Kompatibilitätsproblemen und zusätzlichem Wartungsaufwand führen.

Daher werden wir hier nur auf diese Möglichkeit hinweisen und sehen den Einsatz eher im professionellen Bereich.
IRC-Mania wird den Fokus auf Kernel-Abhärtung sowie Sicherheits-Systeme setzen.
Zudem ist GRsecurity seit 2015 hauptsächlich für zahlende Kunden verfügbar.

GRsecurity richtet sich in erster Linie an Organisationen mit sehr hohen Sicherheitsanforderungen. Dazu gehören Regierungsbehörden, Militär, Finanzinstitutionen und andere Organisationen, die ein Höchstmaß an Systemsicherheit benötigen.

In der Regel wird man als „normaler Linux-Nutzer“ selten in die Lage kommen, einen Linux-Kernel manuell zu aktualisieren. Die aktuellen Linux-Distributionen und Aktualisierungen übernehmen alle Notwendigkeiten für Dich.
In der Regel arbeitest Du immer mit dem aktuellsten und sichersten Linux-Kernel.

Um den Aufwand zu verdeutlichen, der ggf. auch für die Nutzung von GRSecurity auf Dich zu kommen kann, möchten wir die „manuelle Installation eines Linux-Kernels verdeutlichen

manuelle Aktualisieren des Linux-Kernels

Das manuelle Aktualisieren des Linux-Kernels ist ein mehrstufiger Prozess, der ein gutes Verständnis der Linux-Systemverwaltung erfordert. Hier ist eine grundlegende Anleitung, wie Du den Kernel manuell aktualisieren kannst. Beachte, dass diese Schritte auf den meisten modernen Linux-Distributionen ähnlich sein sollten, aber spezifische Befehle und Verfahren können je nach Distribution variieren.

  1. Vorbereitung:
    • Sichere Dein System. Bevor Du Änderungen am Kernel vornimmst, solltest Du sicherstellen, dass Du eine funktionierende Sicherung hast, falls etwas schiefgeht.
    • Stelle sicher, dass Du die notwendigen Abhängigkeiten installiert hast. Dazu gehören in der Regel Entwicklungswerkzeuge wie gcc, make und die Kernel-Header.
  2. Download des neuesten Kernels:
    • Gehe zur offiziellen Website des Linux-Kernels kernel.org und lade die neueste Kernel-Version herunter.
  3. Entpacken des Kernel-Archivs:
    • Entpacke das heruntergeladene Tar-Archiv mit einem Befehl wie tar xvf linux-*.tar.xz.
  4. Konfiguration:
    • Wechsle in das Verzeichnis des neuen Kernels: cd linux-*.
    • Konfiguriere den Kernel. Du kannst die aktuelle Konfiguration Deines Systems als Ausgangspunkt verwenden (oft verfügbar unter /boot/config-$(uname -r)) oder make menuconfig für eine grafische Konfigurationsoberfläche verwenden.
  5. Kompilierung:
    • Kompiliere den Kernel mit make. Dies kann je nach Systemleistung einige Zeit in Anspruch nehmen.
  6. Installation:
    • Installiere den neuen Kernel mit make modules_install und make install. Diese Befehle installieren die Kernelmodule und den Kernel selbst.
  7. Aktualisieren des Bootloaders:
    • Aktualisiere den Bootloader (z.B. GRUB) mit einem Befehl wie update-grub. Dieser Schritt stellt sicher, dass der Bootloader den neuen Kernel beim nächsten Systemstart anzeigt.
  8. Neustart:
    • Nachdem alles installiert ist, starte das System neu. Beim Booten solltest Du die Option haben, den neuen Kernel auszuwählen.
  9. Überprüfung:
    • Nach dem Neustart überprüfe mit uname -r, ob der neue Kernel erfolgreich geladen wurde.

Jeglicher Fehler kann zu einem unbrauchbaren System führen. Backups sollten vorher beherzigt werden.
Nicht alle Kernel-Versionen sind mit jeder Linux-Distribution kompatibel. Prüfe die Kompatibilität, bevor Du mit der Aktualisierung fortfährst.