Zum Hauptinhalt springen

Sicherheitsmechanismen

RKE Cluster

Jeder NKE Cluster basiert auf einem Rancher Kubernetes Engine 2 (RKE2) Cluster. RKE2 ist eine CNCF-zertifizierte Kubernetes Distribution, welche die Installation und Aktualisierung eines ganzen Kubernetes Clusters vereinfacht.

Flatcar OS

Nine nutzt Flatcar OS als Linux Betriebssystem, auf dem jeder Cluster Node aufgebaut ist.

Aus den FAQ von Flatcar OS:

Das OS Image, das von Flatcar Container Linux bereitgestellt wird, enthält nur die minimale Menge an Tools, um Container Workloads zu betreiben. Das bedeutet, dass die Angriffsfläche wesentlich reduziert ist. Dazu kommt, dass die Wahrscheinlichkeit einer versehentlichen oder mutwilligen Störung geringer ist, da das OS Image unveränderlich ist (/usr ist read-only und es gibt keinen Package-Manager, mit dem Packages installiert werden).

Regelmässige OS Upgrades

Nine bietet regelmässige Upgrades zu neuen Betreibssystem-Images auf NKE Cluster Nodes. Diese Upgrades werden in einem bestimmten Wartungsfenster automatisch und in mehreren Phasen auf allen NKE Clustern ausgerollt.

Cilium CNI

Nine nutzt cilium als Netzwerk-Implementierung in NKE Clustern. Cilium unterstützt Kubernetes NetworkPolicy Ressourcen, mit denen eingehender und ausgehender Netzwerk-Verkehr gesichert wird.

OIDC Authentifizierung

Nine bietet zentrale Authentifizierung für gemanagte Applikationen. Services wie Grafana, Argo CD oder der Kubernetes API Server selbst werden über OIDC gesichert. Neben dem zentralen Management der Nutzerzugänge lässt sich darüber auch die 2-Faktor-Authentifizierung einrichten.

Node Firewall

NKE Cluster Nodes wird standardmässig eine öffentlich erreichbare IP-Adresse zugewiesen. Nine schränkt den Zugriff zu bestimmten Services ein, welche auf den Nodes eines NKE Clusters laufen. Dazu gehört der SSH Zugriff, der nur über spezielle, von Nine verwaltete VPN-Server möglich ist.

RBAC

Nine bietet standardmässig RBAC-Rollen für den gesamten Cluster an, die den Nutzern oder Service Accounts zugewiesen werden können. Die Rollen sind in der folgenden Tabelle aufgelistet:

NameBeschreibung
admindefiniert Admin-Rechte für einen Cluster, d.h. der Nutzer kann alle Namespaces und alle darin enthaltenen Ressourcen erstellen, aktualisieren und löschen. Der Zugriff auf bestimmte Namespaces kann nicht zurückgezogen werden.
viewerdefiniert Lese-Rechte für einen Cluster, d.h. der Nutzer kann alle Ressourcen des Clusters ausser Secrets einsehen. Weitere Berechtigungen für bestimmte Namespaces können über RBAC eingerichtet werden.
userdefiniert Nutzer-Rechte für einen Cluster, d.h. der Nutzer kann Namespaces erstellen, die von ihm erstellten Namespaces löschen und die Secrets in diesen Namespaces sehen.

Managed Applications

Nine bietet bestimmte gemanagte Applikationen, welche die Sicherheit bei der Nutzung von NKE erhöhen. Dazu gehören zum Beispiel:

  • eine private Container Image Registry
  • sealed-secrets für sicheres Speichern von Secrets in einem git Repository
  • cert-manager für ein automatisiertes Management von TLS Zertifikaten