Knoten-Compliance

Knoten-Images für Anthos-Cluster auf VMware (GKE On-Prem) sind mit den Einstellungen von PCI DSS, NIST Baseline High und DoD Cloud Computing SRG Impact Level 2 vorkonfiguriert.

In den folgenden Abschnitten werden die geänderten Konfigurationen für die Compliance beschrieben.

Installierte Pakete

Die folgenden Pakete sind in den Betriebssystem-Images des Knotens enthalten:

Audit

Die dem Betriebssystem hinzugefügten Audit-Regeln erfüllen die Anforderungen für das Logging von Änderungen an der Dateiinhaberschaft und -berechtigungen, das Löschen von Dateien, das Laden und Löschen von Kernel-Modulen, die Verwendung von privilegierten Befehlen und Systemverwaltungsbefehlen.

Die folgenden Ereignisse werden im Audit-Log des Knotens protokolliert:

  • Ändern der benutzerbestimmbaren Zugriffssteuerung:

    • chmod: Dateimodi oder Access Control Lists ändern
    • chown: Dateieigentümer und -gruppe ändern
    • fchmod: Dateimodus ändern
    • fchmodat: Dateimodus ändern
    • fchown: Eigentümer und Gruppe einer Datei ändern
    • fchownat: Eigentümer und Gruppe einer Datei ändern
    • fremovexattr: Wert für erweitertes Attribut entfernen
    • fsetxattr: Wert für erweitertes Attribut festlegen
    • lchown: Eigentümer und Gruppe einer Datei ändern
    • lremovexattr: Wert für erweitertes Attribut entfernen
    • lsetxattr: Wert für erweitertes Attribut festlegen
    • removexattr: Wert für erweitertes Attribut entfernen
    • setxattr: Wert für erweitertes Attribut festlegen
  • Löschen von Dateien

    • ename: Namen einer Datei ändern
    • renameat: Namen einer Datei ändern
    • rmdir: Verzeichnisse entfernen
    • unlink: Verzeichniseinträge entfernen
    • unlinkat: Verzeichniseintrag entfernen
  • Laden des Kernel-Moduls

    • deleted: Nicht verwendetes ladbares Kernel-Modul entfernen
    • finit: Kernel-Modul aus Dateideskriptor laden
    • init: ELF-Image in Kernel-Bereich laden
  • Anmeldeereignisse

    • faillock: Nutzerkonto nach wiederholten fehlgeschlagenen Anmeldeversuchen sperren
    • lastlog: Anmeldedatensätze
    • tallylog: Erfolgreiche und fehlgeschlagene Anmeldeversuche aufzeichnen
  • Medienexport: mount -F-Befehle zum Bereitstellen von Remote-Dateisystemen

  • Privilegierte Befehle

    • chage: Informationen zur Nutzerdatenbank hinzufügen oder ändern
    • chsh: Informationen zur Nutzerdatenbank hinzufügen oder ändern
    • crontab: crontab-Dateien für einzelne Nutzer verwalten
    • gpasswd: Passwort für Gruppenmitgliedschaft festlegen oder ändern
    • newgrp: Änderung in eine neue Gruppe
    • passwd: Nutzerpasswort ändern
    • postdrop: Dienstprogramm für Postfixes
    • postqueue: Warteschlangenkontrolle nach Postfix
    • ssh_keysign: Hostschlüssel für SSH-Daemon verwalten
    • su: Nutzeridentität ersetzen
    • sudo: Befehl als anderer Nutzer ausführen
    • unix_chkpwd: Passwort des aktuellen Nutzers bestätigen
  • Sysadmin-Aktionen: sudoer-Änderungen

  • Systemabschaltung: Betriebssystem herunterfahren und neu starten

  • Fehlgeschlagene Dateiänderung

    • creat: Neue Datei erstellen
    • ftruncate: Datei kürzen oder auf eine bestimmte Länge erweitern
    • open: Dateien und Verzeichnisse öffnen
    • open_by_handle_at: Öffnen oder Erstellen einer Datei zum Lesen oder Schreiben
    • openat: Öffnen oder Erstellen einer Datei zum Lesen oder Schreiben
    • truncate: Datei kürzen oder auf eine bestimmte Länge erweitern
  • Nutzer-/Gruppenänderung

    • group: Mitgliedschaft in einer lokalen Gruppe
    • gshadow: Gruppenpasswort-Datenbank
    • opasswd: Datenbank zur Wiederverwendung von Passwörtern
    • passwd: Anmeldedaten für lokale Nutzer
    • shadow: Hash-codierte lokale Passwortdatenbank für Nutzer

Anforderungen an Passwörter für Nutzerprofile

Die Komplexitätsanforderungen für Nutzerpasswörter sind für die Compliance erforderlich. Diese Komplexitätsanforderungen werden in /etc/security/pwquality.conf so implementiert:

minlen = 15
lcredit = -1
maxrepeat = 3
difok = 8
maxclassrepeat = 4
ocredit = -1
dcredit = -1
ucredit = -1
minclass = 4

SSH-Server

Die folgenden Einstellungen wurden in der sshd-Serverkonfiguration implementiert.

Systembanner

Diese Warnmeldung unterstützt die Richtlinienverifizierung während des Anmeldevorgangs und ermöglicht rechtliche Schritte gegen Angreifer. Alternativ sollten Systeme, deren Inhaberschaft nicht kenntlich sein soll, Banner verwenden, die keine einfache Zuordnung ermöglichen.

SSH-Protokoll 2

Das SSH-Protokoll 1 ist weniger sicher und sollte deaktiviert werden, um zu verhindern, dass Clients versehentlich einen sicherheitsanfälligen Verbindungsparameter aushandeln.

SSH-Root-Login deaktivieren

SSH sollte das direkte Log-in als Root-Nutzer nicht zulassen, da dies die Nachverfolgbarkeit von Verwaltungsaktionen erschwert.

SSH-Berechtigung „PermitUserEnvironment“

PerceUserEnvironment kann die Konfiguration auf dem Server umgehen. Diese Einstellung gewährleistet, dass während der Einrichtung der Sitzung keine unsicheren Einstellungen importiert werden.

SSH-Warnbanner

Diese Warnmeldung unterstützt die Richtlinienverifizierung während des Anmeldevorgangs und ermöglicht rechtliche Schritte gegen Angreifer. Mit dieser Einstellung wird sichergestellt, dass der SSH-Daemon den konfigurierten Bannerinhalt des Systems bereitstellt.

Zeitüberschreitung bei inaktivem SSH

Mit SSH können Administratoren ein Zeitlimit für Inaktivität festlegen. Wenn nach diesem Intervall keine Aktivität erfolgt ist, wird der Nutzer automatisch abgemeldet.

SSH-Keepalive

Dadurch wird eine Nutzeranmeldung beendet, sobald das Zeitlimit für SSH erreicht ist.

Von SSH genehmigte Chiffren

Nicht zulässige Mechanismen, die zur Authentifizierung beim kryptografischen Modul verwendet werden, werden nicht verifiziert und können daher nicht als vertraulich eingestuft werden. Außerdem können Systemdaten manipuliert werden. Betriebssysteme, die Verschlüsselungen verwenden, müssen FIPS-konforme Mechanismen zur Authentifizierung bei kryptografischen Modulen verwenden. FIPS 140-2 ist der aktuelle Standard für die Validierung von Mechanismen. Mechanismen, die auf kryptografische Module zugreifen, müssen eine Authentifizierung verwenden, die die Anforderungen der Branche und der Behörden erfüllen.

Von SSH genehmigte MACS

Begrenzen Sie die MACs auf die Hash-Algorithmen, die gemäß FIPS zulässig sind.

SSH-Berechtigung UsePrivilegeSeparation

Die Trennung von SSH-Daemon-Berechtigungen führt dazu, dass der SSH-Prozess Root-Berechtigungen verliert, wenn sie nicht benötigt werden. Dies beeinträchtigt die Auswirkungen von Sicherheitslücken im Bereich der privilegierten Berechtigungen.

SSH-Anmeldeversuche abrufen

Nach erfolgreicher Authentifizierung werden vorherige Anmeldeversuche angezeigt. Dies soll den Nutzer über unerwartete Anmeldungen informieren.

Scannen der Dateiintegrität

Die folgenden AIDE-Integritätsprüfungen werden konfiguriert:

Regelmäßiger AIDE-Scan

AIDE sollte mindestens so konfiguriert sein, dass es einen wöchentlichen Scan ausführt. Maximal sollte AIDE einmal täglich ausgeführt werden. Standardmäßig konfiguriert Ubuntu die tägliche AIDE-Ausführung.

AIDE-Benachrichtigung

AIDE sollte die entsprechenden Mitarbeiter über die Details eines Scans informieren, nachdem der Scan ausgeführt wurde. Die Standardkonfiguration von AIDE unter Ubuntu sendet automatisch E-Mail-Berichte in /etc/cron.daily/aide.

AIDE: Von FIPS genehmigte kryptografische Hashes verwenden

Dateiintegritätstools verwenden kryptografische Hashes, um zu überprüfen, ob Dateiinhalte und Verzeichnisse nicht geändert wurden. Diese Hashes müssen gemäß FIPS 140-2 genehmigte kryptografische Hashes sein.

AIDE: ACLs überprüfen

ACLs können über die im Dateimodus hinaus zulässige Berechtigungen bereitstellen und von den Dateiintegritätstools validiert werden.

AIDE: EXT-Attribute überprüfen

Erweiterte Attribute in Dateisystemen werden verwendet, um beliebige Daten und Dateimetadaten mit Auswirkungen auf die Sicherheit einzuschließen.

Kernel-Einstellungen

An den Kernel-Einstellungen in /etc/sysctl wurden die folgenden Änderungen vorgenommen.

Neustart durch Strg+Alt+Entf deaktivieren

Ein lokal angemeldeter Nutzer, der in der Console Strg+Alt+Entf drückt, kann das System neu starten. Wenn diese Tastenkombination versehentlich gedrückt wird, wie bei einer gemischten Betriebssystemumgebung möglich, besteht das Risiko eines kurzfristigen Systemausfalls aufgrund eines unbeabsichtigten Neustarts.

DCCP-Kernel-Modul deaktiviert

Das Datagram Congestion Control Protocol (DCCP) ist ein relativ neues Transportschichtprotokoll, das das Streaming von Medien und Telefonie unterstützt. Durch die Deaktivierung von DCCP wird das System vor der Ausnutzung von Schwachstellen in der Implementierung geschützt.

Kernel-Modul des USB-Speichers deaktiviert

Mit USB-Speichergeräten wie USB-Sticks kann schädliche Software gestartet werden. Wenn Sie verhindern möchten, dass USB-Speichergeräte verwendet werden, konfigurieren Sie das Kernelmodul-Ladesystem, um zu verhindern, dass der USB-Speichertreiber automatisch geladen wird.

Virtuellen Adressbereich zufällig auswählen

Address Space Layout Randomization (ASLR) macht es Angreifern schwerer, den Speicherort des Angriffscodes vorherzusagen, den sie während eines Angriffsversuchs in den Adressbereich eines Prozesses eingeführt haben. Außerdem sorgt ASLR dafür, dass Angreifer den Speicherort von vorhandenem Code nicht mehr so einfach erkennen. Die Anwendung von ROP-Techniken (rücksprungorientierte Programmierung) zum Umfunktionieren von Code wird dadurch erschwert.

IPv4-Weiterleitungen deaktivieren

ICMP-Weiterleitungsnachrichten werden von Routern genutzt, um Hosts darüber zu informieren, dass für ein bestimmtes Ziel eine direktere Route vorhanden ist. Diese Nachrichten ändern die Routingtabelle des Hosts und werden nicht authentifiziert. Eine ungültige ICMP-Weiterleitungsnachricht kann zu einem Man-in-the-Middle-Angriff führen. Dieses Feature des IPv4-Protokolls hat nur wenige zulässige Verwendungszwecke. Es sollte deaktiviert werden, sofern nicht unbedingt erforderlich.

Weitergeleitete IPv4-Quellpakete deaktivieren

Weitergeleitete Quellpakete lassen zu, dass die Quelle des Pakets einen anderen Pfad für die Weiterleitung vorschlägt, als im Router konfiguriert wurde. Dadurch lassen sich die Netzwerksicherheitsmaßnahmen umgehen. Diese Anforderung gilt nur für die Weiterleitung von Quelltraffic, beispielsweise wenn die IPv4-Weiterleitung aktiviert ist und das System als Router funktioniert. Das Akzeptieren von weitergeleiteten Quellpaketen im IPv4-Protokoll hat nur wenige zulässige Verwendungszwecke. Das Feature sollte deaktiviert werden, sofern es nicht unbedingt erforderlich ist.

Senden von IPv4-Weiterleitungen deaktivieren

ICMP-Weiterleitungsnachrichten werden von Routern genutzt, um Hosts darüber zu informieren, dass für ein bestimmtes Ziel eine direktere Route vorhanden ist. Diese Nachrichten enthalten Informationen aus der Routingtabelle des Systems, die möglicherweise Teile der Netzwerktopologie offenlegen. Die Möglichkeit, ICMP-Weiterleitungen zu senden, ist nur für Systeme geeignet, die als Router fungieren.

Annehmen von IPv4-Weiterleitungen deaktivieren

ICMP-Weiterleitungsnachrichten werden von Routern genutzt, um Hosts darüber zu informieren, dass für ein bestimmtes Ziel eine direktere Route vorhanden ist. Diese Nachrichten ändern die Routingtabelle des Hosts und werden nicht authentifiziert. Eine ungültige ICMP-Weiterleitungsnachricht kann zu einem Man-in-the-Middle-Angriff führen. Dieses Feature des IPv4-Protokolls hat nur wenige zulässige Verwendungszwecke. Es sollte deaktiviert werden, sofern nicht unbedingt erforderlich.

Angenommene weitergeleitete IPv4-Quellpakete deaktivieren

Weitergeleitete Quellpakete lassen zu, dass die Quelle des Pakets einen anderen Pfad für die Weiterleitung vorschlägt, als im Router konfiguriert wurde. Dadurch lassen sich die Netzwerksicherheitsmaßnahmen umgehen. Das Akzeptieren von weitergeleiteten Quellpaketen im IPv4-Protokoll hat nur wenige zulässige Verwendungszwecke. Das Feature sollte deaktiviert werden, sofern nicht unbedingt erforderlich, z. B. wenn die IPv4-Weiterleitung aktiviert ist und das System ordnungsgemäß als Router funktioniert.

Senden von IPv4-Weiterleitungspaketen deaktivieren

ICMP-Weiterleitungsnachrichten werden von Routern genutzt, um Hosts darüber zu informieren, dass für ein bestimmtes Ziel eine direktere Route vorhanden ist. Diese Nachrichten enthalten Informationen aus der Routingtabelle des Systems, die möglicherweise Teile der Netzwerktopologie offenlegen. Die Möglichkeit, ICMP-Weiterleitungen zu senden, ist nur für Systeme geeignet, die als Router fungieren.

Antworten auf IPv4-Broadcast-Pakete deaktivieren

Antworten auf Broadcast-Echos (ICMP) enthalten möglicherweise Informationen über Netzwerkzuordnungen und einen Vektor, der sich für Verstärkungsangriffe nutzen lässt. Durch Ignorieren von ICMP-Echoanfragen (Pings), die an Broadcast- oder Multicast-Adressen gesendet werden, lässt sich das Netzwerk nicht so einfach spezifizieren.

Angenommene weitergeleitete IPv6-Quellpakete deaktivieren

Weitergeleitete Quellpakete lassen zu, dass die Quelle des Pakets einen anderen Pfad für die Weiterleitung vorschlägt, als im Router konfiguriert wurde. Dadurch lassen sich die Netzwerksicherheitsmaßnahmen umgehen. Diese Anforderung gilt nur für die Weiterleitung von Quelltraffic, beispielsweise wenn die IPv6-Weiterleitung aktiviert ist und das System als Router funktioniert. Das Akzeptieren von weitergeleiteten Quellpaketen im IPv6-Protokoll hat nur wenige zulässige Verwendungszwecke. Das Feature sollte deaktiviert werden, sofern es nicht unbedingt erforderlich ist.

Dienste

Die folgenden Änderungen an Dienstkonfigurationen wurden implementiert.

Remote-Logging von geplanten Jobs

Cron-Logging kann verwendet werden, um die erfolgreiche oder nicht erfolgreiche Ausführung von Cronjobs nachzuverfolgen. Es kann aber auch einen Hinweis auf die Nutzung der Cron-Fähigkeit durch nicht autorisierte und böswillige Nutzer geben.

AutoFS deaktivieren

Der autofs-Daemon stellt Dateisysteme bei Bedarf bereit, z. B. Basisverzeichnisse des Nutzers, die über NFS freigegeben werden. Darüber hinaus kann autofs für die Verarbeitung von Wechseldatenmedien verwendet werden und die Standardkonfiguration stellt das CD-Gerät als /misc/cd bereit. Durch die automatische Bereitstellung von Dateisystemen können Sie unbekannte Geräte schnell einführen und so schädliche Aktivitäten ermöglichen.