Skip to main content

Security Concepts

RKE cluster

An NKE cluster is based on a Rancher Kubernetes Engine 2 (RKE2) cluster. RKE2 is a CNCF certified Kubernetes distribution which eases the installation and update of the whole Kubernetes cluster.

Flatcar OS

Nine uses Flatcar OS as the underlying Linux operating system on each cluster node.

From the FAQ of Flatcar OS:

The OS image shipped by Flatcar Container Linux includes just the minimal
amount of tools to run container workloads. This means that the attack surface
is significantly reduced. On top of this, as the OS image is immutable (/usr is
a read-only partition and there’s no package manager to install packages),
which means there’s less chance of both accidental and intentional breakage.

Regular OS upgrades

Nine provides periodic upgrades of new operating system images on NKE cluster nodes. These upgrades are automatically rolled out in staged phases on all NKE clusters in a specified maintenance window.

Cilium CNI

Nine uses cilium as the networking provider in NKE clusters. Cilium supports Kubernetes NetworkPolicy resources to secure inbound and outbound network traffic.

OIDC authentication

Nine provides central authentication for managed applications. Services, like Grafana, Argo CD or the Kubernetes API server itself, are secured via OIDC. Besides a central management for user access, this also allows for 2FA authentication to be set up.

Node firewall

NKE cluster nodes do have a public reachable IP assigned per default. Nine restricts access to certain services running on the nodes of a NKE cluster. This includes SSH access, which is only permitted via special VPN servers managed by nine.

RBAC

Nine provides default cluster wide RBAC roles which can be assigned to users or service accounts. The following table lists them:

NameDescription
adminspecifies admin permissions to a cluster, meaning that the subject will be able to create, update and delete all namespaces and all resources contained in these namespaces. Access to certain namespaces cannot be revoked.
viewerspecifies viewer permissions to a cluster, meaning that the user will be able to view all resources on the cluster, except secrets. More permissions to specific namespaces can be granted through RBAC.
userspecifies user permissions to a cluster, meaning that the user can create namespaces, delete these owned namespaces and can view secrets in owned namespaces.

Managed applications

Nine provides certain managed applications which help to increase the security when using NKE. Examples are:

  • a private container image registry
  • sealed-secrets for securely storing secrets in a git repository
  • cert-manager for an automated management of TLS certificates