Skip to content

Commit fce673d

Browse files
Merge pull request #291501 from btray900/btray900/sec-scan-info
[operator-nexus] Add security scanning excepted control info
2 parents f91e64a + b371f4f commit fce673d

7 files changed

+88
-7
lines changed

articles/operator-nexus/concepts-security.md

Lines changed: 88 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: "Azure Operator Nexus: Security concepts"
3-
description: Security overview for Azure Operator Nexus
4-
author: scottsteinbrueck
3+
description: Security overview for Azure Operator Nexus
4+
author: scottsteinbrueck
55
ms.author: ssteinbrueck
66
ms.service: azure-operator-nexus
77
ms.topic: conceptual
@@ -11,13 +11,13 @@ ms.custom: template-concept
1111

1212
# Azure Operator Nexus security
1313

14-
Azure Operator Nexus is designed and built to both detect and defend against
15-
the latest security threats and comply with the strict requirements of government
16-
and industry security standards. Two cornerstones form the foundation of its
14+
Azure Operator Nexus is designed and built to both detect and defend against
15+
the latest security threats and comply with the strict requirements of government
16+
and industry security standards. Two cornerstones form the foundation of its
1717
security architecture:
1818

1919
* **Security by default** - Security resiliency is an inherent part of the platform with little to no configuration changes needed to use it securely.
20-
* **Assume breach** - The underlying assumption is that any system can be compromised, and as such the goal is to minimize the impact of a security breach if one occurs.
20+
* **Assume breach** - The underlying assumption is that any system can be compromised, and as such the goal is to minimize the impact of a security breach if one occurs.
2121

2222
Azure Operator Nexus realizes the above by leveraging Microsoft cloud-native security tools that give you the ability to improve your cloud security posture while allowing you to protect your operator workloads.
2323

@@ -47,6 +47,87 @@ You have the option to enable Defender for Containers protection within Defender
4747

4848
## Cloud security is a shared responsibility
4949

50-
It is important to understand that in a cloud environment, security is a [shared responsibility](../security/fundamentals/shared-responsibility.md) between you and the cloud provider. The responsibilities vary depending on the type of cloud service your workloads run on, whether it is Software as a Service (SaaS), Platform as a Service (PaaS), or Infrastructure as a Service (IaaS), as well as where the workloads are hosted – within the cloud provider’s or your own on-premises datacenters.
50+
It's important to understand that in a cloud environment, security is a [shared responsibility](../security/fundamentals/shared-responsibility.md) between you and the cloud provider. The responsibilities vary depending on the type of cloud service your workloads run on, whether it is Software as a Service (SaaS), Platform as a Service (PaaS), or Infrastructure as a Service (IaaS), as well as where the workloads are hosted – within the cloud provider’s or your own on-premises datacenters.
5151

5252
Azure Operator Nexus workloads run on servers in your datacenters, so you are in control of changes to your on-premises environment. Microsoft periodically makes new platform releases available that contain security and other updates. You must then decide when to apply these releases to your environment as appropriate for your organization’s business needs.
53+
54+
## Kubernetes Security Benchmark Scanning
55+
56+
Industry standard security benchmarking tools are used to scan the Azure Operator Nexus platform for security compliance. These tools include [OpenSCAP](https://public.cyber.mil/stigs/scap/), to evaluate compliance with Kubernetes Security Technical Implementation Guide (STIG) controls, and Aqua Security’s [Kube-Bench](https://github.com/aquasecurity/kube-bench/tree/main), to evaluate compliance with the Center for Internet Security (CIS) Kubernetes Benchmarks.
57+
58+
Some controls aren't technically feasible to implement in the Azure Operator Nexus environment, and these excepted controls are documented below for the applicable Nexus layers.
59+
60+
Environmental controls such as RBAC and Service Account tests aren't evaluated by these tools, as the outcomes may differ based on customer requirements.
61+
62+
**NTF = Not Technically Feasible**
63+
64+
### OpenSCAP STIG - V2R2
65+
66+
*Cluster*
67+
68+
:::image type="content" source="media/security/nexus-cluster-openscap.png" alt-text="Screenshot of Cluster OpenSCAP exceptions." lightbox="media/security/nexus-cluster-openscap.png":::
69+
70+
|STIG ID|Recommendation description|Status|Issue|
71+
|---|---|---|---|
72+
|V-242386|The Kubernetes API server must have the insecure port flag disabled|NTF|This check is deprecated in v1.24.0 and greater|
73+
|V-242397|The Kubernetes kubelet staticPodPath must not enable static pods|NTF|Only enabled for control nodes, required for kubeadm|
74+
|V-242403|Kubernetes API Server must generate audit records that identify what type of event has occurred, identify the source of the event, contain the event results, identify any users, and identify any containers associated with the event|NTF|Certain API requests and responses contain secrets and therefore aren't captured in the audit logs|
75+
|V-242424|Kubernetes Kubelet must enable tlsPrivateKeyFile for client authentication to secure service|NTF|Kubelet SANs contains hostname only|
76+
|V-242425|Kubernetes Kubelet must enable tlsCertFile for client authentication to secure service.|NTF|Kubelet SANs contains hostname only|
77+
|V-242434|Kubernetes Kubelet must enable kernel protection.|NTF|Enabling kernel protection isn't feasible for kubeadm in Nexus|
78+
79+
80+
*Nexus Kubernetes Cluster*
81+
82+
:::image type="content" source="media/security/nexus-kubernetes-cluster-openscap.png" alt-text="Screenshot of Nexus Kubernetes Cluster OpenSCAP exceptions." lightbox="media/security/nexus-kubernetes-cluster-openscap.png":::
83+
84+
|STIG ID|Recommendation description|Status|Issue|
85+
|---|---|---|---|
86+
|V-242386|The Kubernetes API server must have the insecure port flag disabled|NTF|This check is deprecated in v1.24.0 and greater|
87+
|V-242397|The Kubernetes kubelet staticPodPath must not enable static pods|NTF|Only enabled for control nodes, required for kubeadm|
88+
|V-242403|Kubernetes API Server must generate audit records that identify what type of event has occurred, identify the source of the event, contain the event results, identify any users, and identify any containers associated with the event|NTF|Certain API requests and responses contain secrets and therefore aren't captured in the audit logs|
89+
|V-242424|Kubernetes Kubelet must enable tlsPrivateKeyFile for client authentication to secure service|NTF|Kubelet SANs contains hostname only|
90+
|V-242425|Kubernetes Kubelet must enable tlsCertFile for client authentication to secure service.|NTF|Kubelet SANs contains hostname only|
91+
|V-242434|Kubernetes Kubelet must enable kernel protection.|NTF|Enabling kernel protection isn't feasible for kubeadm in Nexus|
92+
93+
94+
*Cluster Manager - Azure Kubernetes*
95+
96+
As a secure service, Azure Kubernetes Service (AKS) complies with SOC, ISO, PCI DSS, and HIPAA standards. The following image shows the OpenSCAP file permission exceptions for the Cluster Manager AKS implementation.
97+
98+
:::image type="content" source="media/security/nexus-cluster-manager-openscap.png" alt-text="Screenshot of Cluster Manager OpenSCAP exceptions." lightbox="media/security/nexus-cluster-manager-openscap.png":::
99+
100+
101+
### Aquasec Kube-Bench - CIS 1.9
102+
103+
*Cluster*
104+
105+
:::image type="content" source="media/security/nexus-cluster-kubebench.png" alt-text="Screenshot of Cluster Kube-Bench exceptions." lightbox="media/security/nexus-cluster-kubebench.png":::
106+
107+
|CIS ID|Recommendation description|Status|Issue|
108+
|---|---|---|---|
109+
|1|Control Plane Components|||
110+
|1.1|Control Plane Node Configuration Files|||
111+
|1.1.12|Ensure that the etcd data directory ownership is set to `etcd:etcd`|NTF|Nexus is `root:root`, etcd user isn't configured for kubeadm|
112+
|1.2|API Server|||
113+
|1.1.12|Ensure that the `--kubelet-certificate-authority` argument is set as appropriate|NTF|Kubelet SANs includes hostname only|
114+
115+
116+
*Nexus Kubernetes Cluster*
117+
118+
:::image type="content" source="media/security/nexus-kubernetes-cluster-kubebench.png" alt-text="Screenshot of Nexus Kubernetes Cluster Kube-Bench exceptions." lightbox="media/security/nexus-kubernetes-cluster-kubebench.png":::
119+
120+
|CIS ID|Recommendation description|Status|Issue|
121+
|---|---|---|---|
122+
|1|Control Plane Components|||
123+
|1.1|Control Plane Node Configuration Files|||
124+
|1.1.12|Ensure that the etcd data directory ownership is set to `etcd:etcd`|NTF|Nexus is `root:root`, etcd user isn't configured for kubeadm|
125+
|1.2|API Server|||
126+
|1.1.12|Ensure that the `--kubelet-certificate-authority` argument is set as appropriate|NTF|Kubelet SANs includes hostname only|
127+
128+
129+
*Cluster Manager - Azure Kubernetes*
130+
131+
The Operator Nexus Cluster Manager is an AKS implementation. The following image shows the Kube-Bench exceptions for the Cluster Manager. A full report of CIS Benchmark control evaluation for Azure Kubernetes Service (AKS) can be found [here](/azure/aks/cis-kubernetes)
132+
133+
:::image type="content" source="media/security/nexus-cluster-manager-kubebench.png" alt-text="Screenshot of Cluster Manager Kube-Bench exceptions." lightbox="media/security/nexus-cluster-manager-kubebench.png":::
76.1 KB
Loading
43.9 KB
Loading
343 KB
Loading
218 KB
Loading
79.5 KB
Loading
228 KB
Loading

0 commit comments

Comments
 (0)