From cf9ebec3ed3f6f5afbff85d56ab4793f09083654 Mon Sep 17 00:00:00 2001 From: PrimalPimmy Date: Thu, 30 May 2024 11:44:37 +0530 Subject: [PATCH 1/2] Seccomp documentation Signed-off-by: PrimalPimmy --- getting-started/kubearmor-hardening.yaml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 getting-started/kubearmor-hardening.yaml diff --git a/getting-started/kubearmor-hardening.yaml b/getting-started/kubearmor-hardening.yaml new file mode 100644 index 0000000000..9bf1b1190f --- /dev/null +++ b/getting-started/kubearmor-hardening.yaml @@ -0,0 +1,20 @@ +# Hardening Kubearmor with Seccomp + +To further enhance the security of KubeArmor itself, it is crucial to protect it using seccomp (secure computing mode), a Linux kernel feature that restricts the system calls (syscalls) a process can make, thereby reducing the attack surface. + +With this, Kubearmor will only be using Syscalls necessary to function. + + +## Enabling seccomp in Kubearmor Configuration + +By default, seccomp is disabled. + +In the [Kubearmor Config](https://github.com/kubearmor/KubeArmor/blob/main/pkg/KubeArmorOperator/config/samples/sample-config.yml), set `seccompEnabled: true` and do a `kubectl apply -f config.yaml` to enable seccomp hardening for Kubearmor. + +You can check out https://github.com/kubearmor/KubeArmor/blob/bbdc04d4dea3c3e717821e4894f46bd7b30c0d4b/pkg/KubeArmorOperator/seccomp/seccomp.go#L19 to see the list of Syscalls that are allowed by Kubearmor after it is enabled. + +### Debugging + +There may be some enviroments where seccomp profiles might not work, for example a K8s enviroment where the Kubelet path is different than the default `/var/lib/kubelet`. We are currently in the process of defining our own Kubelet path in a future update. + +Other issues like missing syscalls in a particular K8s setup is possible, in that case raise an issue in the [repo](https://github.com/kubearmor/KubeArmor/issues). From 359339b39649e0c33d9960caa43bab32cb841f67 Mon Sep 17 00:00:00 2001 From: rksharma95 Date: Mon, 3 Jun 2024 11:21:31 +0530 Subject: [PATCH 2/2] add tls documentation Signed-off-by: rksharma95 --- .../assets/kubearmor-tls-arch-overview.png | Bin 0 -> 119208 bytes getting-started/kubearmor-hardening.yaml | 20 ----- .../kubearmor-security-enhancements.md | 74 ++++++++++++++++++ 3 files changed, 74 insertions(+), 20 deletions(-) create mode 100644 .gitbook/assets/kubearmor-tls-arch-overview.png delete mode 100644 getting-started/kubearmor-hardening.yaml create mode 100644 getting-started/kubearmor-security-enhancements.md diff --git a/.gitbook/assets/kubearmor-tls-arch-overview.png b/.gitbook/assets/kubearmor-tls-arch-overview.png new file mode 100644 index 0000000000000000000000000000000000000000..38287528650cee41ad7ae5e7d9148b88a2dbfd44 GIT binary patch literal 119208 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%0DK6bjl6{RdhQ20O*b8sLm9)VPHVOL1S- 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 literal 0 HcmV?d00001 diff --git a/getting-started/kubearmor-hardening.yaml b/getting-started/kubearmor-hardening.yaml deleted file mode 100644 index 9bf1b1190f..0000000000 --- a/getting-started/kubearmor-hardening.yaml +++ /dev/null @@ -1,20 +0,0 @@ -# Hardening Kubearmor with Seccomp - -To further enhance the security of KubeArmor itself, it is crucial to protect it using seccomp (secure computing mode), a Linux kernel feature that restricts the system calls (syscalls) a process can make, thereby reducing the attack surface. - -With this, Kubearmor will only be using Syscalls necessary to function. - - -## Enabling seccomp in Kubearmor Configuration - -By default, seccomp is disabled. - -In the [Kubearmor Config](https://github.com/kubearmor/KubeArmor/blob/main/pkg/KubeArmorOperator/config/samples/sample-config.yml), set `seccompEnabled: true` and do a `kubectl apply -f config.yaml` to enable seccomp hardening for Kubearmor. - -You can check out https://github.com/kubearmor/KubeArmor/blob/bbdc04d4dea3c3e717821e4894f46bd7b30c0d4b/pkg/KubeArmorOperator/seccomp/seccomp.go#L19 to see the list of Syscalls that are allowed by Kubearmor after it is enabled. - -### Debugging - -There may be some enviroments where seccomp profiles might not work, for example a K8s enviroment where the Kubelet path is different than the default `/var/lib/kubelet`. We are currently in the process of defining our own Kubelet path in a future update. - -Other issues like missing syscalls in a particular K8s setup is possible, in that case raise an issue in the [repo](https://github.com/kubearmor/KubeArmor/issues). diff --git a/getting-started/kubearmor-security-enhancements.md b/getting-started/kubearmor-security-enhancements.md new file mode 100644 index 0000000000..dd3c8aa00d --- /dev/null +++ b/getting-started/kubearmor-security-enhancements.md @@ -0,0 +1,74 @@ +# Security Enhancements for KubeArmor + +## 1. Secure Kubearmor with Seccomp + +To further enhance the security of KubeArmor itself, it is crucial to protect it using seccomp (secure computing mode), a Linux kernel feature that restricts the system calls (syscalls) a process can make, thereby reducing the attack surface. + +With this, Kubearmor will only be using Syscalls necessary to function. + + +### Enabling seccomp in Kubearmor Configuration + +By default, seccomp is disabled. + +In the [Kubearmor Config](https://github.com/kubearmor/KubeArmor/blob/main/pkg/KubeArmorOperator/config/samples/sample-config.yml), set `seccompEnabled: true` and do a `kubectl apply -f config.yaml` to enable seccomp hardening for Kubearmor. + +You can check out https://github.com/kubearmor/KubeArmor/blob/bbdc04d4dea3c3e717821e4894f46bd7b30c0d4b/pkg/KubeArmorOperator/seccomp/seccomp.go#L19 to see the list of Syscalls that are allowed by Kubearmor after it is enabled. + +### Debugging + +There may be some enviroments where seccomp profiles might not work, for example a K8s enviroment where the Kubelet path is different than the default `/var/lib/kubelet`. We are currently in the process of defining our own Kubelet path in a future update. + +Other issues like missing syscalls in a particular K8s setup is possible, in that case raise an issue in the [repo](https://github.com/kubearmor/KubeArmor/issues). + + +## 2. Secure gRPC Communication + +Communication with KubeArmor (v1.3.0^) and Relay (v1.2.0^) endpoints +is protected using TLS. Both microservices support mTLS to ensure secure and authenticated communication. + +![kubearmor-tls-arch-overview](../.gitbook/assets/kubearmor-tls-arch-overview.png) + + +### TLS Configurations + +#### KubeArmor Operator + +KubeArmorConfig CR supports these [TLS Configurations](https://github.com/kubearmor/KubeArmor/blob/bbdc04d4dea3c3e717821e4894f46bd7b30c0d4b/pkg/KubeArmorOperator/config/crd/bases/operator.kubearmor.com_kubearmorconfigs.yaml#L136-L149) that can be used to configure TLS. + +``` +tls: + enable: true/false + extraDnsNames: [] + extraIpAddresses: [] +``` + +`extraDnsNames`, and `extraIpAddresses` can be used to configure additional hosts where relay is being served i.e. to connect with relay using port-forward on localhost or 127.0.0.1 it needs to be configured as additional hosts first. + +By default localhost and 127.0.0.1 are configured as additional hosts. + +#### KubeArmor Helm Chart + +helm chart supports global flag to enable/disable TLS. +``` +tls: + enabled: true/false +``` +In addition, both kubearmor and kubearmor relay supports tls specific configurations: +[kubearmor relay tls configurations](https://github.com/kubearmor/KubeArmor/blob/bbdc04d4dea3c3e717821e4894f46bd7b30c0d4b/deployments/helm/KubeArmor/values.yaml#L26) +[kubearmor tls configurations](https://github.com/kubearmor/KubeArmor/blob/bbdc04d4dea3c3e717821e4894f46bd7b30c0d4b/deployments/helm/KubeArmor/values.yaml#L112) + +##### Mode 1: External CA and client/server certificates: + +`--tlsCertProvider: external` + +Use this configuration to provide your own configure CA. +For kubearmor relay both client and server certificates can be provided externally. + +KubeArmor only takes CA externally and creates its own certificates signed using provided CA. + +##### Mode 2: External CA and dynamic client/server certificates: + +`--tlsCertProvider: self` + +Provided this configuration for both KubeArmor and Relay, they create their own certificates dynamically signed with provided CA. \ No newline at end of file