Professional Documents
Culture Documents
CIS Azue Kubernetes Service Benchmark (AKS) V1.1.0 - CERT
CIS Azue Kubernetes Service Benchmark (AKS) V1.1.0 - CERT
The information related to mappings for MITRE ATT&CK and CIS Controls Implementation Groups are only availabl
is to extend the usability of the CIS recommendations as they relate to various frameworks to support organizations
benchmarkinfo@cisecurity.org.
The intent of this spreadsheet is to provide the user with the option to parse the recommendations based on the fram
Please note, that if there is not a specific sub-control for the recommendation, we have mapped to CIS Cont
The Word and Excel versions of the CIS Benchmarks, as well as Build Kits, are available for use internally by our CI
PDF versions, are governed by the CIS Terms of Use (http://workbench.cisecurity.org/downloads/terms-of-service).
organization’s internal policies. CIS respectfully requests that once the CIS Benchmark has been altered that neithe
please contact CIS Product Technical Support at https://www.cisecurity.org/support/.
Level 2 (L2) = Level 2 (L2) - High Security/Sensitive Data Environment (limited functionality)
This profile extends the "Level 1 (L1)" profile. Items in this profile exhibit one or more of the following characteristics:
- are intended for environments or use cases where security is more critical than manageability and usability;
- may negatively inhibit the utility or performance of the technology; and
- limit the ability of remote management/access.
There are
Azure Policy
a var
for
Kubernetes
Kubernetes
net
None.
supports the following cluster env
(AKS)
etes
# Check AKS Policy pods are running.
```
kubectl get po -n gatekeeper-system
```
# Sample Output
blems in the admission controlRun the below command and TITLE:Manage
review the namespaces
Access Control
created
13.5
f in the cluster.
...
ral cluster management topics,NAME
like namespace
READY STATUSbest practices
RESTARTSand policies
AGE applied to pod objects in the cluster.
```
gatekeeper-audit-65844778cb-rkflg 1/1 Running 0 163m
Follow the documkubectl get namespaces TITLE:Securely Manage Enterpr 4.6
gatekeeper-controller-78797d4687-4pf6w 1/1 Running 0 163m
```
rity recommendations for the Azure
gatekeeper-controller-78797d4687-splzh
AKS. These recommendations are applicable
1/1 Runningfor0configurations
163m that Azure AKS customers own and manage.
...
mendations relating to container
Ensure
imagethat
registries
these namespaces
and securingare
images
the ones
in those
you registries,
need and aresuchadequately
as the Azure
administered
Container as
Registry.
per your requirements.
When using anAzure
Azure
Container
containerRegistry
registry, you might occasionTITLE:Perform Automated Vulner 7.6
If you use Azure Container Registry (ACR) as your container image store, you need to grant permissions to the service principal for your AKS
TITLE:Configure Data Access Con3.3
Azure Active Directory integration
A separate dedicated
To avoidservice
needing
account
an Owner
mayorbeAzure
required
account
for TITLE:Configure
administrator role,
Datayou
Access 3.3 Directory
can configure
Co
The security of AKS clusters can be enhanced with the integration of Azure Active
a service principal manually or use an existing service prin
(AD). Built on decades of enterprise identity man
mendations relating to access and identity options for Azure (AKS).
Azure Active Directory integration with AKS clusters
For each namespace in the TITLE:Account
clu Management CONTR5
With Azure AD-integrated AKS clusters, you can grant users or groups access to Kubernetes resources within a namespace or across the clu
When implementing Endpoint Private Access, be careful to ensure all desired networks are on the allowlist (whitelist) to prevent inadvertently blocking exter
mon security requirement. In Azure, organizations can encry TITLE:Encrypt Sensitive Data at3.11
Azure AD authentication is provided to AKS clusters with OpenID Connect. OpenID Connect is an identity layer built on top of the OAuth 2.0 p
Limitations
mendations relating to network security configurations in Azure (AKS).
P authorized ranges can't be applied to the private api server endpoint, they only apply to the public API server
Network Policy requires the Network Policy add-on. This add-on
To enable Private
Availability Nodes,
Zones are the cluster
currently has to
supported foralso
TITLE:Configure
be configured
certain
is included Data
automatically 3.3
Access Con
when a cluster with Network Policy is created, but for an existing c
regions. with a private master IP range and IP Aliasing enabled.
TITLE:Implement and Manage 4.4
Azure Private Link service limitations apply to private clusters. a
Enabling/Disabling Network Policy causes a rolling update of all cluster nodes, similar to performing a cluster upgrade. This operation is long-running and w
Private Nodes
No support for do not DevOps
Azure have outbound access to the
Microsoft-hosted public
Agents internet.
with privateIfclusters.
you want to provide
Consider outbound
to use Internet
Self-hosted access for your private nodes, you can use Clou
Agents.
For customers that need to enable Azure Container Registry to work with private AKS, the4.4
TITLE:Implement and Manage a F
Container Registry virtual network must be peered with the agen
f Network Policy is used, a cluster must have at least 2 nodes of type `n1-standard-1` or higher. The recommended minimum size cluster to run Network Po
mendations relating to authentication and authorization in Azure (AKS).
Enabling
mendations
Network
relating
Policy
to any
enforcement
remaining security-related
consumes additional
cluster
resources
configurations
in nodes.
in Azure
Specifically,
(AKS). it increases the memory footprint of the `kube-system` process
ice to restrict or fence untrusted workloads when running TITLE:Segment Data Processing
3.12
v8 v8 v8 CIS Safeguards CIS Safeguards CIS Safeguards v7 v7 v7
IG1 IG2 IG3 1 (v7) 2 (v7) 3 (v7) IG1 IG2 IG3
ed Kubernetes master to provide the API Server, Scheduler, etc. This master is managed and maintained by Microsoft.
ce.
using
Youauthorized
create andIPmanage
ranges.the
Younodes
can also
that create
run theakubelet
fully private
and container
cluster to runtime,
limit APIand
server
deploy
access
yourtoapplications
your virtual through
network.the managed Kubernetes API serve
Windows Server nodes run an optimized Windows Server 2019 release and also use the Moby container runtime. When an AKS cluster is created or scal
ure AD integration with AKS.
X X X 6
eboot is not automatically performed. You can manually reboot the Linux nodes, or a common approach is to use Kured, an open-source reboot daemon fo
release cycle and your own validation process, you should perform an upgrade on the Windows Server node pool(s) in your AKS cluster. This upgrade pro
nabled by default.
X ThisX SSH 5.2 is only available using the internal IP address.
X access X X
X X X 5.2 X X
stored on managed disks is automatically encrypted at rest within the Azure platform. To improve redundancy, these disks are also securely replicated wit
d, the executable
X argument
X 5.2 precedence.
X takes X X
y Policies, or more fine-grained Kubernetes role-based access control (Kubernetes RBAC) for nodes, make exploits more difficult. However, for true securi
X X X 5.2 X X
14
14
14.4 X X
istribution.
X X X 9.2 X X
X X X 9
X X X 5.2 X X
X X X 9
X X X 5
X X 14.4 X X
X X X 5.1 X X X
X X X 5.2 X X
X X X 5.1 X X X
X X X 5.2 X X
X X X 4.3 5.2 X X X
X X X 5.2 X X
As Kubernetes Upstream approaches that milestone, the Kubernetes community will be working to document viable alternatives. The previous deprecation
X X 18.4 X X
X X 12
X X X 14
s own and manage.
X X 3 3.1 3.2 X X
X X X 14.6 X X X
X X X 3.2 X X
4.3 X X X
X X 14.8 X
X X X 14.6 X X X
X X X 12
X X X 9.2 9.4 X X X
X X 18
references
nd
erver
deploy
access
yourtoapplications
your virtual through
network.the managed Kubernetes API server. To help troubleshoot your application and services, you may need to view the log
se the Moby container runtime. When an AKS cluster is created or scaled up, the nodes are automatically deployed with the latest OS security updates and
https://kubernetes.io/docs/tasks/debug-application-cluster/audit/:https://docs.microsoft.com/en-us/azure/aks/view-master-logs:https://docs.mic
a common approach is to use Kured, an open-source reboot daemon for Kubernetes. Kured runs as a DaemonSet and monitors each node for the presenc
he Windows Server node pool(s) in your AKS cluster. This upgrade process creates nodes that run the latest Windows Server image and patches, then rem
https://kubernetes.io/docs/admin/kube-proxy/:https://docs.microsoft.com/security/benchmark/azure/security-controls-v2-posture-vulnerability-m
https://kubernetes.io/docs/admin/kube-proxy/:https://docs.microsoft.com/security/benchmark/azure/security-controls-v2-posture-vulnerability-m
m. To improve redundancy, these disks are also securely replicated within the Azure datacenter.
https://kubernetes.io/docs/tasks/administer-cluster/kubelet-config-file/:https://docs.microsoft.com/security/benchmark/azure/security-controls-v
RBAC) for nodes, make exploits more difficult. However, for true security when running hostile multi-tenant workloads, a hypervisor is the only level of secu
https://kubernetes.io/docs/admin/kube-proxy/:https://docs.microsoft.com/security/benchmark/azure/security-controls-v2-posture-vulnerability-m
https://kubernetes.io/docs/admin/kubelet/:https://kubernetes.io/docs/admin/kubelet-authentication-authorization/#kubelet-authentication:https:
https://kubernetes.io/docs/admin/kubelet/:https://kubernetes.io/docs/admin/kubelet-authentication-authorization/#kubelet-authentication:https:
https://kubernetes.io/docs/admin/kubelet/:https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet-authentication-authoriza
https://kubernetes.io/docs/admin/kubelet/:https://docs.microsoft.com/security/benchmark/azure/security-controls-v2-posture-vulnerability-man
https://kubernetes.io/docs/admin/kubelet/:https://github.com/kubernetes/kubernetes/pull/18552:https://docs.microsoft.com/security/benchmark
https://kubernetes.io/docs/admin/kubelet/:https://docs.microsoft.com/security/benchmark/azure/security-controls-v2-posture-vulnerability-man
https://kubernetes.io/docs/admin/kubelet/:https://kubernetes.io/docs/tasks/administer-cluster/reconfigure-kubelet/:https://docs.microsoft.com/s
https://kubernetes.io/docs/admin/kubelet/:https://github.com/kubernetes/kubernetes/issues/22063:https://kubernetes.io/docs/tasks/administer-
https://github.com/kubernetes/kubernetes/pull/45059:https://kubernetes.io/docs/admin/kubelet-tls-bootstrapping/#kubelet-configuration
https://kubernetes.io/docs/admin/authorization/rbac/#user-facing-roles:https://docs.microsoft.com/security/benchmark/azure/security-controls-
https://docs.microsoft.com/security/benchmark/azure/security-controls-v2-identity-management#im-7-eliminate-unintended-credential-exposu
https://docs.microsoft.com/security/benchmark/azure/security-controls-v2-privileged-access#pa-7-follow-just-enough-administration-least-priv
https://docs.microsoft.com/security/benchmark/azure/security-controls-v2-privileged-access#pa-7-follow-just-enough-administration-least-priv
https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/:https://docs.microsoft.com/security/benchmark/azure/sec
https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/:https://docs.microsoft.com/security/benchmark/azure/sec
ll be working to document viable alternatives. The previous deprecation announcement was made at the time as there was not a viable option for custome
https://docs.microsoft.com/security/benchmark/azure/security-controls-v2-governance-strategy#gs-2-define-enterprise-segmentation-strategy
https://kubernetes.io/docs/concepts/policy/pod-security-policy:https://docs.microsoft.com/security/benchmark/azure/security-controls-v2-data-
https://kubernetes.io/docs/concepts/policy/pod-security-policy:https://docs.microsoft.com/security/benchmark/azure/security-controls-v2-data-
cies and allow declaratively configured policies to be reliably shareable. The Kubernetes projects is shifting focus from PSPs to OPAs.
https://kubernetes.io/docs/concepts/policy/pod-security-policy:https://docs.microsoft.com/security/benchmark/azure/security-controls-v2-data-
https://kubernetes.io/docs/concepts/policy/pod-security-policy:https://docs.microsoft.com/security/benchmark/azure/security-controls-v2-privile
anage and report
https://kubernetes.io/docs/concepts/policy/pod-security-policy/#enabling-pod-security-policies:https://www.nccgroup.trust/uk/our-research/abu
on the compliance state of your Kubernetes clusters from one place. The add-on enacts the following functions:
https://kubernetes.io/docs/concepts/policy/pod-security-policy/#enabling-pod-security-policies:https://www.nccgroup.trust/uk/our-research/abu
https://kubernetes.io/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins/:https://docs.microsoft.com/security/benchmark/
https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/:http://blog.kubernetes.io/2016/08/security-best-practices-kub
https://docs.microsoft.com/en-us/azure/security-center/defender-for-container-registries-usage:https://docs.microsoft.com/en-us/azure/contain
https://docs.microsoft.com/security/benchmark/azure/security-controls-v2-privileged-access#pa-7-follow-just-enough-administration-least-priv
https://docs.microsoft.com/security/benchmark/azure/security-controls-v2-data-protection#dp-2-protect-sensitive-data
https://docs.microsoft.com/security/benchmark/azure/security-controls-v2-identity-management#im-2-manage-application-identities-securely-a
https://docs.microsoft.com/security/benchmark/azure/security-controls-v2-data-protection#dp-5-encrypt-sensitive-data-at-rest
https://docs.microsoft.com/security/benchmark/azure/security-controls-v2-network-security#ns-1-implement-security-for-internal-traffic
https://docs.microsoft.com/security/benchmark/azure/security-controls-v2-network-security#ns-2-connect-private-networks-together:https://do
https://docs.microsoft.com/en-us/azure/aks/operator-best-practices-cluster-isolation:https://azure.microsoft.com/en-us/blog/azure-container-in
ices, you may need to view the logs generated by these master components. This section shows you how to use Azure Monitor logs to enable and query th
the latest OS security updates and configurations.
s/view-master-logs:https://docs.microsoft.com/security/benchmark/azure/security-controls-v2-logging-threat-detection#lt-4-enable-logging-for-azure-resourc
monitors each node for the presence of a file indicating that a reboot is required. Reboots are managed across the cluster using the same cordon and drain
Server image and patches, then removes the older nodes. For more information on this process, see Upgrade a node pool in AKS.
y-controls-v2-posture-vulnerability-management#pv-3-establish-secure-configurations-for-compute-resources
y-controls-v2-posture-vulnerability-management#pv-3-establish-secure-configurations-for-compute-resources
enchmark/azure/security-controls-v2-posture-vulnerability-management#pv-3-establish-secure-configurations-for-compute-resources
hypervisor is the only level of security that you should trust. The security domain for Kubernetes becomes the entire cluster, not an individual node. For the
y-controls-v2-posture-vulnerability-management#pv-3-establish-secure-configurations-for-compute-resources
ation/#kubelet-authentication:https://kubernetes.io/docs/tasks/administer-cluster/reconfigure-kubelet/:https://docs.microsoft.com/security/benchmark/azure/s
ation/#kubelet-authentication:https://kubernetes.io/docs/tasks/administer-cluster/reconfigure-kubelet/:https://docs.microsoft.com/security/benchmark/azure/s
ce/kubelet-authentication-authorization/:https://kubernetes.io/docs/tasks/administer-cluster/reconfigure-kubelet/:https://docs.microsoft.com/security/benchm
ntrols-v2-posture-vulnerability-management#pv-3-establish-secure-configurations-for-compute-resources
.microsoft.com/security/benchmark/azure/security-controls-v2-posture-vulnerability-management#pv-3-establish-secure-configurations-for-compute-resour
ntrols-v2-posture-vulnerability-management#pv-3-establish-secure-configurations-for-compute-resources
ubelet/:https://docs.microsoft.com/security/benchmark/azure/security-controls-v2-network-security#ns-1-implement-security-for-internal-traffic
ubernetes.io/docs/tasks/administer-cluster/reconfigure-kubelet/:https://docs.microsoft.com/security/benchmark/azure/security-controls-v2-posture-vulnerabi
pping/#kubelet-configuration
benchmark/azure/security-controls-v2-privileged-access#pa-7-follow-just-enough-administration-least-privilege-principle
nate-unintended-credential-exposure
st-enough-administration-least-privilege-principle
st-enough-administration-least-privilege-principle
com/security/benchmark/azure/security-controls-v2-identity-management#im-2-manage-application-identities-securely-and-automatically
com/security/benchmark/azure/security-controls-v2-identity-management#im-2-manage-application-identities-securely-and-automatically
was not a viable option for customers. Now that the Kubernetes community is working on an alternative, there no longer is a pressing need to deprecate ahe
e-enterprise-segmentation-strategy
rk/azure/security-controls-v2-data-protection#dp-2-protect-sensitive-data
rk/azure/security-controls-v2-data-protection#dp-2-protect-sensitive-data
PSPs to OPAs.
rk/azure/security-controls-v2-data-protection#dp-2-protect-sensitive-data
rk/azure/security-controls-v2-privileged-access#pa-7-follow-just-enough-administration-least-privilege-principle
nccgroup.trust/uk/our-research/abusing-privileged-and-unprivileged-linux-containers/:https://docs.microsoft.com/security/benchmark/azure/security-controls
unctions:
nccgroup.trust/uk/our-research/abusing-privileged-and-unprivileged-linux-containers/:https://docs.microsoft.com/security/benchmark/azure/security-controls
microsoft.com/security/benchmark/azure/security-controls-v2-network-security#ns-1-implement-security-for-internal-traffic
2016/08/security-best-practices-kubernetes-deployment.html:https://docs.microsoft.com/security/benchmark/azure/security-controls-v2-governance-strategy
.microsoft.com/en-us/azure/container-registry/container-registry-check-health:https://docs.microsoft.com/security/benchmark/azure/security-controls-v2-pos
st-enough-administration-least-privilege-principle
age-application-identities-securely-and-automatically
nsitive-data-at-rest
t-security-for-internal-traffic
rivate-networks-together:https://docs.microsoft.com/en-us/azure/aks/use-network-policies
.com/en-us/blog/azure-container-instances-now-generally-available/:https://azure.microsoft.com/en-us/resources/videos/ignite-2018-run-a-serverless-kube
logs to enable and query the logs from the Kubernetes master (control plane) components.
e-logging-for-azure-resources
he same cordon and drain process as a cluster upgrade.
S.
an individual node. For these types of hostile multi-tenant workloads, you should use physically isolated clusters. For more information on ways to isolate w
security/benchmark/azure/security-controls-v2-governance-strategy#gs-6-define-identity-and-privileged-access-strategy
security/benchmark/azure/security-controls-v2-governance-strategy#gs-6-define-identity-and-privileged-access-strategy
osoft.com/security/benchmark/azure/security-controls-v2-data-protection#dp-4-encrypt-sensitive-information-in-transit
rations-for-compute-resources
ntrols-v2-posture-vulnerability-management#pv-3-establish-secure-configurations-for-compute-resources
mark/azure/security-controls-v2-privileged-access#pa-7-follow-just-enough-administration-least-privilege-principle
mark/azure/security-controls-v2-privileged-access#pa-7-follow-just-enough-administration-least-privilege-principle
ols-v2-governance-strategy#gs-1-define-asset-management-and-data-protection-strategy:https://docs.microsoft.com/en-us/azure/aks/concepts-clusters-wo
ure/security-controls-v2-posture-vulnerability-management#pv-6-perform-software-vulnerability-assessments
018-run-a-serverless-kubernetes-cluster-by-bridging-aks-and-aci-through-the-virtual-kubelet/
mation on ways to isolate workloads, see Best practices for cluster isolation in AKS.
e/aks/concepts-clusters-workloads#:~:text=Kubernetes%20resources%2C%20such%20as%20pods,or%20manage%20access%20to%20resources.&text=
%20to%20resources.&text=When%20you%20interact%20with%20the,used%20when%20none%20is%20specified.
Recommendation Assessment
Section # Title
# Status
This policy prevents pods from running as privileged or escalating privileges. It also restricts the types of volumes that can be mounted and th
Another, albeit similar, approach is to start with policy that locks everything down and incrementally add exceptions for applications that need
CIS Safeguards CIS Safeguards CIS Safeguards v8 v8 v8
CIS Controls
1 (v8) 2 (v8) 3 (v8) IG1 IG2 IG3
using
are provided
the Moby
ascontainer
a managedruntime.
service.
Windows
You create
Server
andnodes
manage
runthe
an nodes
optimized
thatWindows
run the kubelet
Serverand
2019
container
release runtime,
and also and
use deploy
the Moby
your
container
applications
runtime.
through
Whenth
pdate requires a host reboot, that reboot is not automatically performed. You can manually reboot the Linux nodes, or a common approach is to use Kured,
belet config file. If both are specified, the executable argument takes precedence.
dule around the Windows Update release cycle and your own validation process, you should perform an upgrade on the Windows Server node pool(s) in y
management purposes, SSH is enabled by default. This SSH access is only available using the internal IP address.
TITLE:Collect Audit Logs CONTROL:v8 8.2 DESCRIPTION:Collect
high-performance SSDs. The data stored on managed disks is automatically 8.2encrypted at rest
8.5within the Azure platform. To improve
X X X
redundancy, these dis
TITLE:Encrypt Sensitive Data in Transit CONTROL:v8 3.10 DES 3.10 X X
security features like Pod Security Policies, or more fine-grained Kubernetes role-based access control (Kubernetes RBAC) for nodes, make exploits more
customer environment.
oller which
YAML is depending
format integrated with the OPA
on your Constraint Framework to enforce Custom Resource Definition (CRD) based policies and allow declaratively configure
distribution.
1, with its removal in version 1.25. As Kubernetes Upstream approaches that milestone, the Kubernetes community will be working to document viable alte
selves.
ted feature to perform future cluster upgrades and stay within Azure support.
nforcements andTITLE:Establish
safeguards on and
your
Maintain
clusters
a in
Secure
a centralized,
Configuration
consistent
Process
manner.
4.1 Azure Policy makes it possible to manage and
X report
X on X the compliance s
TITLE:Establish and Maintain a Secure Configuration Process4.1 X X X
6.8
TITLE:Define and Maintain Role-Based Access Control CONTROL: X
TITLE:Define and Maintain Role-Based Access Control CONTROL:
6.8 X
your
container
applications
runtime.
through
Whentheanmanaged
AKS cluster
Kubernetes
is created
API
or server.
scaled To
up,help
the nodes
troubleshoot
are automatically
your application
deployed
and with
services,
the latest
you may
OS security
need to updates
view theand
logsconfigurat
generate
approach is to use Kured, an open-source reboot daemon for Kubernetes. Kured runs as a DaemonSet and monitors each node for the presence of a file in
s Server node pool(s) in your AKS cluster. This upgrade process creates nodes that run the latest Windows Server image and patches, then removes the o
6 these disks are also securely replicated within the Azure datacenter.
ove redundancy,
https://kubernetes.io/docs/admin/kubelet/:https://github.com/kubernetes/ku
14.4 X X https://github.com/kubernetes/kubernetes/pull/41912:https://kubernetes.io/
nodes, make exploits more difficult. However, for true security when running hostile multi-tenant workloads, a hypervisor is the only level of security that you
low declaratively configured policies to be reliably shareable. The Kubernetes projects is shifting focus from PSPs to OPAs.
ng to document viable alternatives. The previous deprecation announcement was made at the time as there was not a viable option for customers. Now tha
5 https://kubernetes.io/docs/concepts/policy/security-context/:https://learn.cis
5.1 X X X https://docs.microsoft.com/security/benchmark/azure/security-controls-v2-p
12 https://docs.microsoft.com/security/benchmark/azure/security-controls-v2-n
14.4 X X https://docs.microsoft.com/security/benchmark/azure/security-controls-v2-d
16.2 X X https://docs.microsoft.com/en-us/azure/aks/azure-ad-rbac:https://docs.mic
5.1 X X X https://docs.microsoft.com/en-us/azure/aks/manage-azure-rbac
14.1 X X https://docs.microsoft.com/en-us/azure/aks/operator-best-practices-cluster
security
need to updates
view the and
logsconfigurations.
generated by these master components. This section shows you how to use Azure Monitor logs to enable and query the logs from th
node for the presence of a file indicating that a reboot is required. Reboots are managed across the cluster using the same cordon and drain process as a
and patches, then removes the older nodes. For more information on this process, see Upgrade a node pool in AKS.
https://github.com/kubernetes/kubernetes/blob/master/pkg/kubelet/apis/kubeletconfig/v1beta1/types.go:https://kubernetes.io/docs/tasks/administer-cluster/r
pull/41912:https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet-tls-bootstrapping/#kubelet-configuration:https://kubernetes.io/docs/im
the only level of security that you should trust. The security domain for Kubernetes becomes the entire cluster, not an individual node. For these types of ho
e option for customers. Now that the Kubernetes community is working on an alternative, there no longer is a pressing need to deprecate ahead of Kubern
pod-security-policy/#enabling-pod-security-policies:https://docs.microsoft.com/security/benchmark/azure/security-controls-v2-privileged-access#pa-7-follow
pod-security-policy/#enabling-pod-security-policies:https://www.nccgroup.trust/uk/our-research/abusing-privileged-and-unprivileged-linux-containers/:https:
es-networking/networkpolicies/:https://octetz.com/posts/k8s-network-policy-apis:https://kubernetes.io/docs/tasks/configure-pod-container/declare-network-p
uration/secret/#using-secrets:https://docs.microsoft.com/security/benchmark/azure/security-controls-v2-identity-management#im-7-eliminate-unintended-cr
mark/azure/security-controls-v2-identity-management#im-7-eliminate-unintended-credential-exposure
security-context/:https://learn.cisecurity.org/benchmarks:https://docs.microsoft.com/security/benchmark/azure/security-controls-v2-posture-vulnerability-ma
mark/azure/security-controls-v2-posture-vulnerability-management#pv-3-establish-secure-configurations-for-compute-resources
mark/azure/security-controls-v2-asset-management#am-6-use-only-approved-applications-in-compute-resources
mark/azure/security-controls-v2-network-security#ns-2-connect-private-networks-together
mark/azure/security-controls-v2-data-protection#dp-4-encrypt-sensitive-information-in-transit
s/azure-ad-rbac:https://docs.microsoft.com/security/benchmark/azure/security-controls-v2-privileged-access#pa-7-follow-just-enough-administration-least-p
s/manage-azure-rbac
s/operator-best-practices-cluster-isolation
e and query the logs from the Kubernetes master (control plane) components.
s/tasks/administer-cluster/reconfigure-kubelet/:https://docs.microsoft.com/security/benchmark/azure/security-controls-v2-logging-threat-detection
tps://kubernetes.io/docs/imported/release/notes/:https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/:https://kubernetes.io/do
node. For these types of hostile multi-tenant workloads, you should use physically isolated clusters. For more information on ways to isolate workloads, see
vileged-access#pa-7-follow-just-enough-administration-least-privilege-principle
ged-linux-containers/:https://docs.microsoft.com/security/benchmark/azure/security-controls-v2-privileged-access#pa-7-follow-just-enough-administration-le
ontainer/declare-network-policy/:https://docs.microsoft.com/security/benchmark/azure/security-controls-v2-network-security#ns-1-implement-security-for-in
-7-eliminate-unintended-credential-exposure
v2-posture-vulnerability-management#pv-3-establish-secure-configurations-for-compute-resources
ough-administration-least-privilege-principle
threat-detection
es/:https://kubernetes.io/docs/tasks/administer-cluster/reconfigure-kubelet/:https://docs.microsoft.com/security/benchmark/azure/security-controls-v2-data-p
ys to isolate workloads, see Best practices for cluster isolation in AKS.
st-enough-administration-least-privilege-principle
1-implement-security-for-internal-traffic
security-controls-v2-data-protection#dp-4-encrypt-sensitive-information-in-transit
Section # Recommendation # Profile
1 L1
2 L1
2.1 L1
2.1 2.1.1 L1
3 L1
3.1 L1
3.1 3.1.1 L1
3.1 3.1.2 L1
3.1 3.1.3 L1
3.1 3.1.4 L1
3.2 L1
3.2 3.2.1 L1
3.2 3.2.2 L1
3.2 3.2.3 L1
3.2 3.2.4 L1
3.2 3.2.5 L1
3.2 3.2.6 L1
3.2 3.2.7 L1
3.2 3.2.8 L1
3.2 3.2.9 L2
3.2 3.2.10 L2
3.2 3.2.11 L1
4 L1
4.1 L1
4.1 4.1.1 L1
4.1 4.1.2 L1
4.1 4.1.3 L1
4.1 4.1.4 L1
4.1 4.1.5 L1
4.1 4.1.6 L1
4.2 L1
4.2 4.2.1 L1
4.2 4.2.2 L1
4.2 4.2.3 L1
4.2 4.2.4 L1
4.2 4.2.5 L1
4.2 4.2.6 L2
4.2 4.2.7 L1
4.2 4.2.8 L1
4.2 4.2.9 L2
4.3 L1
4.4 L1
4.4 4.4.1 L1
4.4 4.4.2 L2
4.5 L1
4.5 4.5.1 L2
4.5 4.5.2 L2
4.6 L1
4.6 4.6.1 L1
4.7 L1
4.7 4.7.1 L1
4.7 4.7.2 L2
4.7 4.7.3 L2
5 L1
5.1 L1
5.1 5.1.1 L1
5.1 5.1.2 L1
5.1 5.1.3 L1
5.1 5.1.4 L2
5.2 L1
5.2 5.2.1 L1
5.3 L1
5.3 5.3.1 L1
5.4 L1
5.4 5.4.1 L1
5.4 5.4.2 L2
5.4 5.4.3 L1
5.4 5.4.4 L1
5.4 5.4.5 L2
5.5 L1
5.5 5.5.1 L2
5.5 5.5.2 L2
5.6 L1
5.6 5.6.1 L1
5.6 5.6.2 L2
MITRE MITRE
Title of Recommendation ATT&CK ATT&CK
Tactic 1 Tactic 2
T1543 M1027 6 6
T1078 M1027
1
1
1
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
1
2
1
1
1
1
2
1
1
1
2
2
1
1
8.5 1
2
1
1
1
1
1
2
1
1
1
4.4 1
2
2
1
2
2
MITRE Tactics (1 per cell):
MITRE Techniques (1 per cell):
MITRE Mitigations (1 per cell):
All Applicable Rec# Rec # Rec #2 Rec #3 Rec #4 Rec #5 Rec #6 Rec #7
0
0
0
0
0
0
0
0
Err:508 Err:508 Err:508 Err:508 Err:508 Err:508 Err:508 Err:508
Err:508 Err:508 Err:508 Err:508 Err:508 Err:508 Err:508 Err:508
Err:508 Err:508 Err:508 Err:508 Err:508 Err:508 Err:508 Err:508
Err:508 Err:508 Err:508 Err:508 Err:508 Err:508 Err:508 Err:508
Err:508 Err:508 Err:508 Err:508 Err:508 Err:508 Err:508 Err:508
Err:508 Err:508 Err:508 Err:508 Err:508 Err:508 Err:508 Err:508
0
Err:508 Err:508 Err:508 Err:508 Err:508 Err:508 Err:508 Err:508
Err:508 Err:508 Err:508 Err:508 Err:508 Err:508 Err:508 Err:508
0
Err:508 Err:508 Err:508 Err:508 Err:508 Err:508 Err:508 Err:508
0
Err:508 Err:508 Err:508 Err:508 Err:508 Err:508 Err:508 Err:508
0
Err:508 Err:508 Err:508 Err:508 Err:508 Err:508 Err:508 Err:508
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Err:508 Err:508 Err:508 Err:508 Err:508 Err:508 Err:508 Err:508
Err:508 Err:508 Err:508 Err:508 Err:508 Err:508 Err:508 Err:508
Rec #8 Rec #9 Rec #10
Err:508 Err:508 Err:508
Err:508 Err:508 Err:508
Err:508 Err:508 Err:508
Err:508 Err:508 Err:508
Err:508 Err:508 Err:508
Err:508 Err:508 Err:508
Ensure Image Vulnerability Scanning using Azure Defender image scanning or a third party provider
Minimize user access to Azure Container Registry (ACR)
2
2
2
2
2
2
2
2
1
2
1
2
2 1
2
2
2
2
2
2
2
2
2
2
2
2 2
3 2
3
2 2 2
1
2
2 2
1 1
2
2
1
2
Rec Title
Master (Control Plane) Components
Master (Control Plane) Configuration
Logging
Enable audit Logs
Worker Nodes
Worker Node Configuration Files
Ensure that the kubeconfig file permissions are set to 644 or more restrictive
Ensure that the kubelet kubeconfig file ownership is set to root:root
Ensure that the kubelet configuration file has permissions set to 644 or more restrictive
Ensure that the kubelet configuration file ownership is set to root:root
Kubelet
Ensure that the --anonymous-auth argument is set to false
Ensure that the --authorization-mode argument is not set to AlwaysAllow
Ensure that the --client-ca-file argument is set as appropriate
Ensure that the --read-only-port is secured
Ensure that the --streaming-connection-idle-timeout argument is not set to 0
Ensure that the --protect-kernel-defaults argument is set to true
Ensure that the --make-iptables-util-chains argument is set to true
Ensure that the --hostname-override argument is not set
Ensure that the --eventRecordQPS argument is set to 0 or a level which ensures appropriate event capture
Ensure that the --rotate-certificates argument is not set to false
Ensure that the RotateKubeletServerCertificate argument is set to true
Policies
RBAC and Service Accounts
Ensure that the cluster-admin role is only used where required
Minimize access to secrets
Minimize wildcard use in Roles and ClusterRoles
Minimize access to create pods
Ensure that default service accounts are not actively used.
Ensure that Service Account Tokens are only mounted where necessary
Pod Security Policies
Minimize the admission of privileged containers
Minimize the admission of containers wishing to share the host process ID namespace
Minimize the admission of containers wishing to share the host IPC namespace
Minimize the admission of containers wishing to share the host network namespace
Minimize the admission of containers with allowPrivilegeEscalation
Minimize the admission of root containers
Minimize the admission of containers with the NET_RAW capability
Minimize the admission of containers with added capabilities
Minimize the admission of containers with capabilities assigned
Azure Policy / OPA
CNI Plugin
Ensure latest CNI version is used
Ensure that all Namespaces have Network Policies defined
Secrets Management
Prefer using secrets as files over secrets as environment variables
Consider external secret storage
Extensible Admission Control
Verify that admission controllers are working as expected
General Policies
Create administrative boundaries between resources using namespaces
Apply Security Context to Your Pods and Containers
The default namespace should not be used
Managed services
Image Registry and Image Scanning
Ensure Image Vulnerability Scanning using Azure Defender image scanning or a third party provider
Minimize user access to Azure Container Registry (ACR)
Minimize cluster access to read-only for Azure Container Registry (ACR)
Minimize Container Registries to only those approved
Access and identity options for Azure Kubernetes Service (AKS)
Prefer using dedicated AKS Service Accounts
Key Management Service (KMS)
Ensure Kubernetes Secrets are encrypted
Cluster Networking
Restrict Access to the Control Plane Endpoint
Ensure clusters are created with Private Endpoint Enabled and Public Access Disabled
Ensure clusters are created with Private Nodes
Ensure Network Policy is Enabled and set as appropriate
Encrypt traffic to HTTPS load balancers with TLS certificates
Authentication and Authorization
Manage Kubernetes RBAC users with Azure AD
Use Azure RBAC for Kubernetes Authorization
Other Cluster Configurations
Restrict untrusted workloads
Hostile multi-tenant workloads
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
V7 Safeguard CISSafeguard Asset Type Security Function
4
5
10
11
12
13
14
15
16
17
18
Title
Implement DMARC
Data Protection
Secure Configuration of Enterprise
Assets and Software
Account Management
Malware Defenses
Data Recovery
Penetration Testing
Description
Utilize an active discovery tool to identify assets connected to the enterprise’s network. Configure the active discovery tool to
execute daily, or more frequently.
Use a passive discovery tool to identify assets connected to the enterprise’s network. Review and use scans to update the
enterprise’s asset inventory at least weekly, or more frequently.
Use DHCP logging on all DHCP servers or Internet Protocol (IP) address management tools to update the enterprise’s asset
inventory. Review and use logs to update the enterprise’s asset inventory weekly, or more frequently.
Establish and maintain an accurate, detailed, and up-to-date inventory of all enterprise assets with the potential to store or proc
data, to include: end-user devices (including portable and mobile), network devices, non-computing/IoT devices, and servers.
Ensure the inventory records the network address (if static), hardware address, machine name, data asset owner, department f
each asset, and whether the asset has been approved to connect to the network. For mobile end-user devices, MDM type tools
support this process, where appropriate. This inventory includes assets connected to the infrastructure physically, virtually, rem
and those within cloud environments. Additionally, it includes assets that are regularly connected to the enterprise’s network
infrastructure, even if they are not under control of the enterprise. Review and update the inventory of all enterprise assets bi-
annually, or more frequently.
Establish and maintain an accurate, detailed, and up-to-date inventory of all enterprise assets with the potential to store or proc
data, to include: end-user devices (including portable and mobile), network devices, non-computing/IoT devices, and servers.
Ensure the inventory records the network address (if static), hardware address, machine name, data asset owner, department f
each asset, and whether the asset has been approved to connect to the network. For mobile end-user devices, MDM type tools
support this process, where appropriate. This inventory includes assets connected to the infrastructure physically, virtually, rem
and those within cloud environments. Additionally, it includes assets that are regularly connected to the enterprise’s network
infrastructure, even if they are not under control of the enterprise. Review and update the inventory of all enterprise assets bi-
annually, or more frequently.
Ensure that a process exists to address unauthorized assets on a weekly basis. The enterprise may choose to remove the asse
from the network, deny the asset from connecting remotely to the network, or quarantine the asset.
Deploy port-level access control. Port-level access control utilizes 802.1x, or similar network access control protocols, such as
certificates, and may incorporate user and/or device authentication.
Deploy port-level access control. Port-level access control utilizes 802.1x, or similar network access control protocols, such as
certificates, and may incorporate user and/or device authentication.
Establish and maintain a detailed inventory of all licensed software installed on enterprise assets. The software inventory must
document the title, publisher, initial install/use date, and business purpose for each entry; where appropriate, include the Unifor
Resource Locator (URL), app store(s), version(s), deployment mechanism, and decommission date. Review and update the
software inventory bi-annually, or more frequently.
Ensure that only currently supported software is designated as authorized in the software inventory for enterprise assets. If soft
is unsupported, yet necessary for the fulfillment of the enterprise’s mission, document an exception detailing mitigating controls
residual risk acceptance. For any unsupported software without an exception documentation, designate as unauthorized. Revie
the software list to verify software support at least monthly, or more frequently.
Utilize software inventory tools, when possible, throughout the enterprise to automate the discovery and documentation of insta
software.
Establish and maintain a detailed inventory of all licensed software installed on enterprise assets. The software inventory must
document the title, publisher, initial install/use date, and business purpose for each entry; where appropriate, include the Unifor
Resource Locator (URL), app store(s), version(s), deployment mechanism, and decommission date. Review and update the
software inventory bi-annually, or more frequently.
Ensure that unauthorized software is either removed from use on enterprise assets or receives a documented exception. Revie
monthly, or more frequently.
Use technical controls, such as application allowlisting, to ensure that only authorized software can execute or be accessed.
Reassess bi-annually, or more frequently.
Use technical controls to ensure that only authorized software libraries, such as specific .dll, .ocx, .so, etc., files, are allowed to
into a system process. Block unauthorized libraries from loading into a system process. Reassess bi-annually, or more frequen
Use technical controls, such as digital signatures and version control, to ensure that only authorized scripts, such as
specific .ps1, .py, etc., files, are allowed to execute. Block unauthorized scripts from executing. Reassess bi-annually, or more
frequently.
Segment data processing and storage based on the sensitivity of the data. Do not process sensitive data on enterprise assets
intended for lower sensitivity data.
Perform automated vulnerability scans of internal enterprise assets on a quarterly, or more frequent, basis. Conduct both
authenticated and unauthenticated scans, using a SCAP-compliant vulnerability scanning tool.
Perform automated vulnerability scans of externally-exposed enterprise assets using a SCAP-compliant vulnerability scanning t
Perform scans on a monthly, or more frequent, basis.
Perform automated vulnerability scans of internal enterprise assets on a quarterly, or more frequent, basis. Conduct both
authenticated and unauthenticated scans, using a SCAP-compliant vulnerability scanning tool.
Establish and maintain an inventory of service accounts. The inventory, at a minimum, must contain department owner, review
and purpose. Perform service account reviews to validate that all active accounts are authorized, on a recurring schedule at a
minimum quarterly, or more frequently.
Perform operating system updates on enterprise assets through automated patch management on a monthly, or more frequent
basis.
Perform application updates on enterprise assets through automated patch management on a monthly, or more frequent, basis
Establish and maintain a risk-based remediation strategy documented in a remediation process, with monthly, or more frequent
reviews.
Establish and maintain a risk-based remediation strategy documented in a remediation process, with monthly, or more frequent
reviews.
Establish and maintain a severity rating system and process for application vulnerabilities that facilitates prioritizing the order in
which discovered vulnerabilities are fixed. This process includes setting a minimum level of security acceptability for releasing c
or applications. Severity ratings bring a systematic way of triaging vulnerabilities that improves risk management and helps ens
the most severe bugs are fixed first. Review and update the system and process annually.
Remediate penetration test findings based on the enterprise’s policy for remediation scope and prioritization.
Establish and maintain an inventory of all accounts managed in the enterprise. The inventory must include both user and
administrator accounts. The inventory, at a minimum, should contain the person’s name, username, start/stop dates, and
department. Validate that all active accounts are authorized, on a recurring schedule at a minimum quarterly, or more frequentl
Manage default accounts on enterprise assets and software, such as root, administrator, and other pre-configured vendor acco
Example implementations can include: disabling default accounts or making them unusable.
Restrict administrator privileges to dedicated administrator accounts on enterprise assets. Conduct general computing activities
such as internet browsing, email, and productivity suite use, from the user’s primary, non-privileged account.
Use unique passwords for all enterprise assets. Best practice implementation includes, at a minimum, an 8-character password
accounts using MFA and a 14-character password for accounts not using MFA.
Require MFA for all administrative access accounts, where supported, on all enterprise assets, whether managed on-site or thr
a third-party provider.
Establish and maintain dedicated computing resources, either physically or logically separated, for all administrative tasks or ta
requiring administrative access. The computing resources should be segmented from the enterprise's primary network and not
allowed internet access.
Use technical controls, such as digital signatures and version control, to ensure that only authorized scripts, such as
specific .ps1, .py, etc., files, are allowed to execute. Block unauthorized scripts from executing. Reassess bi-annually, or more
frequently.
Configure detailed audit logging for enterprise assets containing sensitive data. Include event source, date, username, timestam
source addresses, destination addresses, and other useful elements that could assist in a forensic investigation.
Configure detailed audit logging for enterprise assets containing sensitive data. Include event source, date, username, timestam
source addresses, destination addresses, and other useful elements that could assist in a forensic investigation.
Establish and maintain a secure configuration process for enterprise assets (end-user devices, including portable and mobile; n
computing/IoT devices; and servers) and software (operating systems and applications). Review and update documentation
annually, or when significant enterprise changes occur that could impact this Safeguard.
Establish and maintain a secure configuration process for enterprise assets (end-user devices, including portable and mobile; n
computing/IoT devices; and servers) and software (operating systems and applications). Review and update documentation
annually, or when significant enterprise changes occur that could impact this Safeguard.
Standardize time synchronization. Configure at least two synchronized time sources across enterprise assets, where supported
Collect audit logs. Ensure that logging, per the enterprise’s audit log management process, has been enabled across enterprise
assets.
Configure detailed audit logging for enterprise assets containing sensitive data. Include event source, date, username, timestam
source addresses, destination addresses, and other useful elements that could assist in a forensic investigation.
Ensure that logging destinations maintain adequate storage to comply with the enterprise’s audit log management process.
Centralize, to the extent possible, audit log collection and retention across enterprise assets.
Centralize security event alerting across enterprise assets for log correlation and analysis. Best practice implementation require
use of a SIEM, which includes vendor-defined event correlation alerts. A log analytics platform configured with security-relevant
correlation alerts also satisfies this Safeguard.
Conduct reviews of audit logs to detect anomalies or abnormal events that could indicate a potential threat. Conduct reviews on
weekly, or more frequent, basis.
Tune security event alerting thresholds monthly, or more frequently.
Ensure only fully supported browsers and email clients are allowed to execute in the enterprise, only using the latest version of
browsers and email clients provided through the vendor.
Restrict, either through uninstalling or disabling, any unauthorized or unnecessary browser or email client plugins, extensions, a
add-on applications.
Use technical controls, such as digital signatures and version control, to ensure that only authorized scripts, such as
specific .ps1, .py, etc., files, are allowed to execute. Block unauthorized scripts from executing. Reassess bi-annually, or more
frequently.
Enforce and update network-based URL filters to limit an enterprise asset from connecting to potentially malicious or unapprove
websites. Example implementations include category-based filtering, reputation-based filtering, or through the use of block lists
Enforce filters for all enterprise assets.
Enforce and update network-based URL filters to limit an enterprise asset from connecting to potentially malicious or unapprove
websites. Example implementations include category-based filtering, reputation-based filtering, or through the use of block lists
Enforce filters for all enterprise assets.
Collect URL request audit logs on enterprise assets, where appropriate and supported.
Use DNS filtering services on all enterprise assets to block access to known malicious domains.
To lower the chance of spoofed or modified emails from valid domains, implement DMARC policy and verification, starting with
implementing the Sender Policy Framework (SPF) and the DomainKeys Identified Mail (DKIM) standards.
Block unnecessary file types attempting to enter the enterprise’s email gateway.
Deploy and maintain email server anti-malware protections, such as attachment scanning and/or sandboxing.
Configure automatic updates for anti-malware signature files on all enterprise assets.
Enable anti-exploitation features on enterprise assets and software, where possible, such as Microsoft® Data Execution Preven
(DEP), Windows® Defender Exploit Guard (WDEG), or Apple® System Integrity Protection (SIP) and Gatekeeper™.
Establish and maintain an accurate, detailed, and up-to-date inventory of all enterprise assets with the potential to store or proc
data, to include: end-user devices (including portable and mobile), network devices, non-computing/IoT devices, and servers.
Ensure the inventory records the network address (if static), hardware address, machine name, data asset owner, department f
each asset, and whether the asset has been approved to connect to the network. For mobile end-user devices, MDM type tools
support this process, where appropriate. This inventory includes assets connected to the infrastructure physically, virtually, rem
and those within cloud environments. Additionally, it includes assets that are regularly connected to the enterprise’s network
infrastructure, even if they are not under control of the enterprise. Review and update the inventory of all enterprise assets bi-
annually, or more frequently.
Implement and manage a firewall on servers, where supported. Example implementations include a virtual firewall, operating sy
firewall, or a third-party firewall agent.
Implement and manage a host-based firewall or port-filtering tool on end-user devices, with a default-deny rule that drops all tra
except those services and ports that are explicitly allowed.
Perform automated vulnerability scans of internal enterprise assets on a quarterly, or more frequent, basis. Conduct both
authenticated and unauthenticated scans, using a SCAP-compliant vulnerability scanning tool.
Perform automated vulnerability scans of externally-exposed enterprise assets using a SCAP-compliant vulnerability scanning t
Perform scans on a monthly, or more frequent, basis.
Implement and manage a firewall on servers, where supported. Example implementations include a virtual firewall, operating sy
firewall, or a third-party firewall agent.
Implement and manage a host-based firewall or port-filtering tool on end-user devices, with a default-deny rule that drops all tra
except those services and ports that are explicitly allowed.
Perform application layer filtering. Example implementations include a filtering proxy, application layer firewall, or gateway.
Perform automated backups of in-scope enterprise assets. Run backups weekly, or more frequently, based on the sensitivity of
data.
Perform automated backups of in-scope enterprise assets. Run backups weekly, or more frequently, based on the sensitivity of
data.
Test backup recovery quarterly, or more frequently, for a sampling of in-scope enterprise assets.
Protect recovery data with equivalent controls to the original data. Reference encryption or data separation, based on requirem
Establish and maintain an isolated instance of recovery data. Example implementations include version controlling backup
destinations through offline, cloud, or off-site systems or services.
Establish and maintain a secure configuration process for network devices. Review and update documentation annually, or whe
significant enterprise changes occur that could impact this Safeguard.
Implement and manage a firewall on servers, where supported. Example implementations include a virtual firewall, operating sy
firewall, or a third-party firewall agent.
Implement and manage a host-based firewall or port-filtering tool on end-user devices, with a default-deny rule that drops all tra
except those services and ports that are explicitly allowed.
Establish and maintain a secure configuration process for network devices. Review and update documentation annually, or whe
significant enterprise changes occur that could impact this Safeguard.
Perform application updates on enterprise assets through automated patch management on a monthly, or more frequent, basis
Ensure network infrastructure is kept up-to-date. Example implementations include running the latest stable release of software
and/or using currently supported network-as-a-service (NaaS) offerings. Review software versions monthly, or more frequently,
verify software support.
Securely manage network infrastructure. Example implementations include version-controlled-infrastructure-as-code, and the u
secure network protocols, such as SSH and HTTPS.
Establish and maintain dedicated computing resources, either physically or logically separated, for all administrative tasks or ta
requiring administrative access. The computing resources should be segmented from the enterprise's primary network and not
allowed internet access.
Establish and maintain dedicated computing resources, either physically or logically separated, for all administrative tasks or ta
requiring administrative access. The computing resources should be segmented from the enterprise's primary network and not
allowed internet access.
Establish and maintain architecture diagram(s) and/or other network system documentation. Review and update documentation
annually, or when significant enterprise changes occur that could impact this Safeguard.
Perform automated vulnerability scans of internal enterprise assets on a quarterly, or more frequent, basis. Conduct both
authenticated and unauthenticated scans, using a SCAP-compliant vulnerability scanning tool.
Perform automated vulnerability scans of externally-exposed enterprise assets using a SCAP-compliant vulnerability scanning t
Perform scans on a monthly, or more frequent, basis.
Manage access control for assets remotely connecting to enterprise resources. Determine amount of access to enterprise reso
based on: up-to-date anti-malware software installed, configuration compliance with the enterprise’s secure configuration proce
and ensuring the operating system and applications are up-to-date.
Use DNS filtering services on all enterprise assets to block access to known malicious domains.
Implement and manage a firewall on servers, where supported. Example implementations include a virtual firewall, operating sy
firewall, or a third-party firewall agent.
Implement and manage a host-based firewall or port-filtering tool on end-user devices, with a default-deny rule that drops all tra
except those services and ports that are explicitly allowed.
Deploy a network intrusion detection solution on enterprise assets, where appropriate. Example implementations include the us
a Network Intrusion Detection System (NIDS) or equivalent cloud service provider (CSP) service.
Deploy a network intrusion prevention solution, where appropriate. Example implementations include the use of a Network Intru
Prevention System (NIPS) or equivalent CSP service.
Collect network traffic flow logs and/or network traffic to review and alert upon from network devices.
Perform application layer filtering. Example implementations include a filtering proxy, application layer firewall, or gateway.
Require MFA for remote network access.
Manage access control for assets remotely connecting to enterprise resources. Determine amount of access to enterprise reso
based on: up-to-date anti-malware software installed; configuration compliance with the enterprise’s secure configuration proce
and ensuring the operating system and applications are up-to-date.
Establish and maintain a data inventory, based on the enterprise’s data management process. Inventory sensitive data, at a
minimum. Review and update inventory annually, at a minimum, with a priority on sensitive data.
Securely dispose of data as outlined in the enterprise’s data management process. Ensure the disposal process and method ar
commensurate with the data sensitivity.
Implement an automated tool, such as a host-based Data Loss Prevention (DLP) tool to identify all sensitive data stored, proce
or transmitted through enterprise assets, including those located onsite or at a remote service provider, and update the enterpri
sensitive data inventory.
Ensure that unauthorized software is either removed from use on enterprise assets or receives a documented exception. Revie
monthly, or more frequently.
Enforce and update network-based URL filters to limit an enterprise asset from connecting to potentially malicious or unapprove
websites. Example implementations include category-based filtering, reputation-based filtering, or through the use of block lists
Enforce filters for all enterprise assets.
Encrypt data on end-user devices containing sensitive data. Example implementations can include: Windows BitLocker ®, Apple
FileVault®, Linux® dm-crypt.
Encrypt data on removable media.
Encrypt data on removable media.
Segment data processing and storage based on the sensitivity of the data. Do not process sensitive data on enterprise assets
intended for lower sensitivity data.
Establish and maintain a secure configuration process for enterprise assets (end-user devices, including portable and mobile; n
computing/IoT devices; and servers) and software (operating systems and applications). Review and update documentation
annually, or when significant enterprise changes occur that could impact this Safeguard.
Encrypt sensitive data in transit. Example implementations can include: Transport Layer Security (TLS) and Open Secure Shell
(OpenSSH).
Implement an automated tool, such as a host-based Data Loss Prevention (DLP) tool to identify all sensitive data stored, proce
or transmitted through enterprise assets, including those located onsite or at a remote service provider, and update the enterpri
sensitive data inventory.
Configure data access control lists based on a user’s need to know. Apply data access control lists, also known as access
permissions, to local and remote file systems, databases, and applications.
Implement an automated tool, such as a host-based Data Loss Prevention (DLP) tool to identify all sensitive data stored, proce
or transmitted through enterprise assets, including those located onsite or at a remote service provider, and update the enterpri
sensitive data inventory.
Encrypt sensitive data at rest on servers, applications, and databases containing sensitive data. Storage-layer encryption, also
known as server-side encryption, meets the minimum requirement of this Safeguard. Additional encryption methods may includ
application-layer encryption, also known as client-side encryption, where access to the data storage device(s) does not permit
access to the plain-text data.
Log sensitive data access, including modification and disposal.
Establish and maintain an accurate, detailed, and up-to-date inventory of all enterprise assets with the potential to store or proc
data, to include: end-user devices (including portable and mobile), network devices, non-computing/IoT devices, and servers.
Ensure the inventory records the network address (if static), hardware address, machine name, data asset owner, department f
each asset, and whether the asset has been approved to connect to the network. For mobile end-user devices, MDM type tools
support this process, where appropriate. This inventory includes assets connected to the infrastructure physically, virtually, rem
and those within cloud environments. Additionally, it includes assets that are regularly connected to the enterprise’s network
infrastructure, even if they are not under control of the enterprise. Review and update the inventory of all enterprise assets bi-
annually, or more frequently.
Use a passive discovery tool to identify assets connected to the enterprise’s network. Review and use scans to update the
enterprise’s asset inventory at least weekly, or more frequently.
Deploy a network intrusion prevention solution, where appropriate. Example implementations include the use of a Network Intru
Prevention System (NIPS) or equivalent CSP service.
Uninstall or disable unnecessary services on enterprise assets and software, such as an unused file sharing service, web
application module, or service function.
Uninstall or disable unnecessary services on enterprise assets and software, such as an unused file sharing service, web
application module, or service function.
Encrypt sensitive data in transit. Example implementations can include: Transport Layer Security (TLS) and Open Secure Shell
(OpenSSH).
Use secure network management and communication protocols (e.g., 802.1X, Wi-Fi Protected Access 2 (WPA2) Enterprise or
greater).
Uninstall or disable unnecessary services on enterprise assets and software, such as an unused file sharing service, web
application module, or service function.
Establish and maintain a secure network architecture. A secure network architecture must address segmentation, least privileg
and availability, at a minimum.
Establish and maintain an inventory of the enterprise’s authentication and authorization systems, including those hosted on-site
a remote service provider. Review and update the inventory, at a minimum, annually, or more frequently.
Centralize account management through a directory or identity service.
Require all externally-exposed enterprise or third-party applications to enforce MFA, where supported. Enforcing MFA through a
directory service or SSO provider is a satisfactory implementation of this Safeguard.
Encrypt sensitive data at rest on servers, applications, and databases containing sensitive data. Storage-layer encryption, also
known as server-side encryption, meets the minimum requirement of this Safeguard. Additional encryption methods may includ
application-layer encryption, also known as client-side encryption, where access to the data storage device(s) does not permit
access to the plain-text data.
Encrypt sensitive data in transit. Example implementations can include: Transport Layer Security (TLS) and Open Secure Shell
(OpenSSH).
Establish and maintain an inventory of all accounts managed in the enterprise. The inventory must include both user and
administrator accounts. The inventory, at a minimum, should contain the person’s name, username, start/stop dates, and
department. Validate that all active accounts are authorized, on a recurring schedule at a minimum quarterly, or more frequentl
Establish and follow a process, preferably automated, for revoking access to enterprise assets, through disabling accounts
immediately upon termination, rights revocation, or role change of a user. Disabling accounts, instead of deleting accounts, ma
necessary to preserve audit trails.
Delete or disable any dormant accounts after a period of 45 days of inactivity, where supported.
Delete or disable any dormant accounts after a period of 45 days of inactivity, where supported.
Delete or disable any dormant accounts after a period of 45 days of inactivity, where supported.
Configure automatic session locking on enterprise assets after a defined period of inactivity. For general purpose operating sys
the period must not exceed 15 minutes. For mobile end-user devices, the period must not exceed 2 minutes.
Configure detailed audit logging for enterprise assets containing sensitive data. Include event source, date, username, timestam
source addresses, destination addresses, and other useful elements that could assist in a forensic investigation.
Conduct role-specific security awareness and skills training. Example implementations include secure system administration co
for IT professionals, (OWASP® Top 10 vulnerability awareness and prevention training for web application developers, and
advanced social engineering awareness training for high-profile roles.
Establish and maintain a security awareness program. The purpose of a security awareness program is to educate the enterpri
workforce on how to interact with enterprise assets and data in a secure manner. Conduct training at hire and, at a minimum,
annually. Review and update content annually, or when significant enterprise changes occur that could impact this Safeguard.
Establish and maintain a security awareness program. The purpose of a security awareness program is to educate the enterpri
workforce on how to interact with enterprise assets and data in a secure manner. Conduct training at hire and, at a minimum,
annually. Review and update content annually, or when significant enterprise changes occur that could impact this Safeguard.
Train workforce members on authentication best practices. Example topics include MFA, password composition, and credential
management.
Train workforce members to recognize social engineering attacks, such as phishing, pre-texting, and tailgating.
Train workforce members on how to identify and properly store, transfer, archive, and destroy sensitive data. This also includes
training workforce members on clear screen and desk best practices, such as locking their screen when they step away from th
enterprise asset, erasing physical and virtual whiteboards at the end of meetings, and storing data and assets securely.
Train workforce members to be aware of causes for unintentional data exposure. Example topics include mis-delivery of sensiti
data, losing a portable end-user device, or publishing data to unintended audiences.
Train workforce members to be able to recognize a potential incident and be able to report such an incident.
Establish and maintain a secure application development process. In the process, address such items as: secure application de
standards, secure coding practices, developer training, vulnerability management, security of third-party code, and application
security testing procedures. Review and update documentation annually, or when significant enterprise changes occur that cou
impact this Safeguard.
Apply secure design principles in application architectures. Secure design principles include the concept of least privilege and
enforcing mediation to validate every operation that the user makes, promoting the concept of "never trust user input." Example
include ensuring that explicit error checking is performed and documented for all input, including for size, data type, and accept
ranges or formats. Secure design also means minimizing the application infrastructure attack surface, such as turning off
unprotected ports and services, removing unnecessary programs and files, and renaming or removing default accounts.
Establish and manage an updated inventory of third-party components used in development, often referred to as a “bill of mate
as well as components slated for future use. This inventory is to include any risks that each third-party component could
pose. Evaluate the list at least monthly to identify any changes or updates to these components, and validate that the compone
still supported.
Use up-to-date and trusted third-party software components. When possible, choose established and proven frameworks and
libraries that provide adequate security. Acquire these components from trusted sources or evaluate the software for vulnerabil
before use.
Leverage vetted modules or services for application security components, such as identity management, encryption, and auditi
and logging. Using platform features in critical security functions will reduce developers’ workload and minimize the likelihood o
design or implementation errors. Modern operating systems provide effective mechanisms for identification, authentication, and
authorization and make those mechanisms available to applications. Use only standardized, currently accepted, and extensivel
reviewed encryption algorithms. Operating systems also provide mechanisms to create and maintain secure audit logs.
Ensure that all software development personnel receive training in writing secure code for their specific development environme
and responsibilities. Training can include general security principles and application security standard practices. Conduct trainin
least annually and design in a way to promote security within the development team, and build a culture of security among the
developers.
Apply static and dynamic analysis tools within the application life cycle to verify that secure coding practices are being followed
Establish and maintain a process to accept and address reports of software vulnerabilities, including providing a means for exte
entities to report. The process is to include such items as: a vulnerability handling policy that identifies reporting process,
responsible party for handling vulnerability reports, and a process for intake, assignment, remediation, and remediation testing.
part of the process, use a vulnerability tracking system that includes severity ratings, and metrics for measuring timing for
identification, analysis, and remediation of vulnerabilities. Review and update documentation annually, or when significant ente
changes occur that could impact this Safeguard.
Third-party application developers need to consider this an externally-facing policy that helps to set expectations for outside
stakeholders.
Perform application layer filtering. Example implementations include a filtering proxy, application layer firewall, or gateway.
Use standard, industry-recommended hardening configuration templates for application infrastructure components. This include
underlying servers, databases, and web servers, and applies to cloud containers, Platform as a Service (PaaS) components, an
SaaS components. Do not allow in-house developed software to weaken configuration hardening.
Establish and maintain an incident response process that addresses roles and responsibilities, compliance requirements, and a
communication plan. Review annually, or when significant enterprise changes occur that could impact this Safeguard.
Assign key roles and responsibilities for incident response, including staff from legal, IT, information security, facilities, public
relations, human resources, incident responders, and analysts, as applicable. Review annually, or when significant enterprise
changes occur that could impact this Safeguard.
Designate one key person, and at least one backup, who will manage the enterprise’s incident handling process. Management
personnel are responsible for the coordination and documentation of incident response and recovery efforts and can consist of
employees internal to the enterprise, third-party vendors, or a hybrid approach. If using a third-party vendor, designate at least
person internal to the enterprise to oversee any third-party work. Review annually, or when significant enterprise changes occu
could impact this Safeguard.
Establish and maintain an enterprise process for the workforce to report security incidents. The process includes reporting
timeframe, personnel to report to, mechanism for reporting, and the minimum information to be reported. Ensure the process is
publicly available to all of the workforce. Review annually, or when significant enterprise changes occur that could impact this
Safeguard.
Establish and maintain contact information for parties that need to be informed of security incidents. Contacts may include inter
staff, third-party vendors, law enforcement, cyber insurance providers, relevant government agencies, Information Sharing and
Analysis Center (ISAC) partners, or other stakeholders. Verify contacts annually to ensure that information is up-to-date.
Establish and maintain an enterprise process for the workforce to report security incidents. The process includes reporting
timeframe, personnel to report to, mechanism for reporting, and the minimum information to be reported. Ensure the process is
publicly available to all of the workforce. Review annually, or when significant enterprise changes occur that could impact this
Safeguard.
Plan and conduct routine incident response exercises and scenarios for key personnel involved in the incident response proces
prepare for responding to real-world incidents. Exercises need to test communication channels, decision making, and workflow
Conduct testing on an annual basis, at a minimum.
Establish and maintain security incident thresholds, including, at a minimum, differentiating between an incident and an event.
Examples can include: abnormal activity, security vulnerability, security weakness, data breach, privacy incident, etc. Review
annually, or when significant enterprise changes occur that could impact this Safeguard.
Establish and maintain a penetration testing program appropriate to the size, complexity, and maturity of the enterprise. Penetr
testing program characteristics include scope, such as network, web application, Application Programming Interface (API), host
services, and physical premise controls; frequency; limitations, such as acceptable hours, and excluded attack types; point of
contact information; remediation, such as how findings will be routed internally; and retrospective requirements.
Perform periodic external penetration tests based on program requirements, no less than annually. External penetration testing
include enterprise and environmental reconnaissance to detect exploitable information. Penetration testing requires specialized
and experience and must be conducted through a qualified party. The testing may be clear box or opaque box.
Perform periodic internal penetration tests based on program requirements, no less than annually. The testing may be clear bo
opaque box.
Perform periodic external penetration tests based on program requirements, no less than annually. External penetration testing
include enterprise and environmental reconnaissance to detect exploitable information. Penetration testing requires specialized
and experience and must be conducted through a qualified party. The testing may be clear box or opaque box.
Perform periodic internal penetration tests based on program requirements, no less than annually. The testing may be clear bo
opaque box.
Perform periodic external penetration tests based on program requirements, no less than annually. External penetration testing
include enterprise and environmental reconnaissance to detect exploitable information. Penetration testing requires specialized
and experience and must be conducted through a qualified party. The testing may be clear box or opaque box.
Establish and maintain an inventory of service accounts. The inventory, at a minimum, must contain department owner, review
and purpose. Perform service account reviews to validate that all active accounts are authorized, on a recurring schedule at a
minimum quarterly, or more frequently.
Establish and maintain a data management process. In the process, address data sensitivity, data owner, handling of data, dat
retention limits, and disposal requirements, based on sensitivity and retention standards for the enterprise. Review and update
documentation annually, or when significant enterprise changes occur that could impact this Safeguard.
Retain data according to the enterprise’s data management process. Data retention must include both minimum and maximum
timelines.
Securely dispose of data as outlined in the enterprise’s data management process. Ensure the disposal process and method ar
commensurate with the data sensitivity.
Establish and maintain an overall data classification scheme for the enterprise. Enterprises may use labels, such as “Sensitive,
“Confidential,” and “Public,” and classify their data according to those labels. Review and update the classification scheme annu
or when significant enterprise changes occur that could impact this Safeguard.
Document data flows. Data flow documentation includes service provider data flows and should be based on the enterprise’s da
management process. Review and update documentation annually, or when significant enterprise changes occur that could imp
this Safeguard.
Securely manage enterprise assets and software. Example implementations include managing configuration through version-
controlled-infrastructure-as-code and accessing administrative interfaces over secure network protocols, such as Secure Shell
(SSH) and Hypertext Transfer Protocol Secure (HTTPS). Do not use insecure management protocols, such as Telnet (Teletype
Network) and HTTP, unless operationally essential.
Uninstall or disable unnecessary services on enterprise assets and software, such as an unused file sharing service, web
application module, or service function.
Configure trusted DNS servers on enterprise assets. Example implementations include: configuring assets to use enterprise-
controlled DNS servers and/or reputable externally accessible DNS servers.
Enforce automatic device lockout following a predetermined threshold of local failed authentication attempts on portable end-us
devices, where supported. For laptops, do not allow more than 20 failed authentication attempts; for tablets and smartphones, n
more than 10 failed authentication attempts. Example implementations include Microsoft ® InTune Device Lock and Apple®
Configuration Profile maxFailedAttempts.
Remotely wipe enterprise data from enterprise-owned portable end-user devices when deemed appropriate such as lost or stol
devices, or when an individual no longer supports the enterprise.
Ensure separate enterprise workspaces are used on mobile end-user devices, where supported. Example implementations incl
using an Apple® Configuration Profile or Android™ Work Profile to separate enterprise applications and data from personal
applications and data.
Establish and maintain an inventory of service accounts. The inventory, at a minimum, must contain department owner, review
and purpose. Perform service account reviews to validate that all active accounts are authorized, on a recurring schedule at a
minimum quarterly, or more frequently.
Establish and follow a process, preferably automated, for granting access to enterprise assets upon new hire, rights grant, or ro
change of a user.
Require all externally-exposed enterprise or third-party applications to enforce MFA, where supported. Enforcing MFA through a
directory service or SSO provider is a satisfactory implementation of this Safeguard.
Centralize access control for all enterprise assets through a directory service or SSO provider, where supported.
Define and maintain role-based access control, through determining and documenting the access rights necessary for each role
within the enterprise to successfully carry out its assigned duties. Perform access control reviews of enterprise assets to validat
that all privileges are authorized, on a recurring schedule at a minimum annually, or more frequently.
Establish and maintain a documented vulnerability management process for enterprise assets. Review and update documentat
annually, or when significant enterprise changes occur that could impact this Safeguard.
Establish and maintain a risk-based remediation strategy documented in a remediation process, with monthly, or more frequent
reviews.
Remediate detected vulnerabilities in software through processes and tooling on a monthly, or more frequent, basis, based on t
remediation process.
Establish and maintain an audit log management process that defines the enterprise’s logging requirements. At a minimum, ad
the collection, review, and retention of audit logs for enterprise assets. Review and update documentation annually, or when
significant enterprise changes occur that could impact this Safeguard.
Retain audit logs across enterprise assets for a minimum of 90 days.
Collect service provider logs, where supported. Example implementations include collecting authentication and authorization ev
data creation and disposal events, and user management events.
Deploy and maintain email server anti-malware protections, such as attachment scanning and/or sandboxing.
Deploy and maintain anti-malware software on all enterprise assets.
Establish and maintain a data recovery process. In the process, address the scope of data recovery activities, recovery prioritiz
and the security of backup data. Review and update documentation annually, or when significant enterprise changes occur tha
could impact this Safeguard.
Establish and maintain a secure network architecture. A secure network architecture must address segmentation, least privileg
and availability, at a minimum.
Use secure network management and communication protocols (e.g., 802.1X, Wi-Fi Protected Access 2 (WPA2) Enterprise or
greater).
Require users to authenticate to enterprise-managed VPN and authentication services prior to accessing enterprise resources
end-user devices.
Deploy a host-based intrusion detection solution on enterprise assets, where appropriate and/or supported.
Deploy a host-based intrusion prevention solution on enterprise assets, where appropriate and/or supported. Example
implementations include use of an Endpoint Detection and Response (EDR) client or host-based IPS agent.
Train workforce to understand how to verify and report out-of-date software patches or any failures in automated processes and
tools. Part of this training should include notifying IT personnel of any failures in automated processes and tools.
Train workforce members on the dangers of connecting to, and transmitting data over, insecure networks for enterprise activitie
the enterprise has remote workers, training must include guidance to ensure that all users securely configure their home netwo
infrastructure.
Establish and maintain an inventory of service providers. The inventory is to list all known service providers, include classificatio
and designate an enterprise contact for each service provider. Review and update the inventory annually, or when significant
enterprise changes occur that could impact this Safeguard.
Establish and maintain a service provider management policy. Ensure the policy addresses the classification, inventory,
assessment, monitoring, and decommissioning of service providers. Review and update the policy annually, or when significan
enterprise changes occur that could impact this Safeguard.
Classify service providers. Classification consideration may include one or more characteristics, such as data sensitivity, data
volume, availability requirements, applicable regulations, inherent risk, and mitigated risk. Update and review classifications
annually, or when significant enterprise changes occur that could impact this Safeguard.
Ensure service provider contracts include security requirements. Example requirements may include minimum security program
requirements, security incident and/or data breach notification and response, data encryption requirements, and data disposal
commitments. These security requirements must be consistent with the enterprise’s service provider management policy. Revie
service provider contracts annually to ensure contracts are not missing security requirements.
Assess service providers consistent with the enterprise’s service provider management policy. Assessment scope may vary ba
on classification(s), and may include review of standardized assessment reports, such as Service Organization Control 2 (SOC
and Payment Card Industry (PCI) Attestation of Compliance (AoC), customized questionnaires, or other appropriately rigorous
processes. Reassess service providers annually, at a minimum, or with new and renewed contracts.
Monitor service providers consistent with the enterprise’s service provider management policy. Monitoring may include periodic
reassessment of service provider compliance, monitoring service provider release notes, and dark web monitoring.
Securely decommission service providers. Example considerations include user and service account deactivation, termination o
data flows, and secure disposal of enterprise data within service provider systems.
Perform root cause analysis on security vulnerabilities. When reviewing vulnerabilities, root cause analysis is the task of evalua
underlying issues that create vulnerabilities in code, and allows development teams to move beyond just fixing individual
vulnerabilities as they arise.
Establish and manage an updated inventory of third-party components used in development, often referred to as a “bill of mate
as well as components slated for future use. This inventory is to include any risks that each third-party component could
pose. Evaluate the list at least monthly to identify any changes or updates to these components, and validate that the compone
still supported.
Establish and maintain a severity rating system and process for application vulnerabilities that facilitates prioritizing the order in
which discovered vulnerabilities are fixed. This process includes setting a minimum level of security acceptability for releasing c
or applications. Severity ratings bring a systematic way of triaging vulnerabilities that improves risk management and helps ens
the most severe bugs are fixed first. Review and update the system and process annually.
Apply secure design principles in application architectures. Secure design principles include the concept of least privilege and
enforcing mediation to validate every operation that the user makes, promoting the concept of "never trust user input." Example
include ensuring that explicit error checking is performed and documented for all input, including for size, data type, and accept
ranges or formats. Secure design also means minimizing the application infrastructure attack surface, such as turning off
unprotected ports and services, removing unnecessary programs and files, and renaming or removing default accounts.
Leverage vetted modules or services for application security components, such as identity management, encryption, and auditi
and logging. Using platform features in critical security functions will reduce developers’ workload and minimize the likelihood o
design or implementation errors. Modern operating systems provide effective mechanisms for identification, authentication, and
authorization and make those mechanisms available to applications. Use only standardized, currently accepted, and extensivel
reviewed encryption algorithms. Operating systems also provide mechanisms to create and maintain secure audit logs.
Apply static and dynamic analysis tools within the application life cycle to verify that secure coding practices are being followed
Conduct application penetration testing. For critical applications, authenticated penetration testing is better suited to finding bus
logic vulnerabilities than code scanning and automated security testing. Penetration testing relies on the skill of the tester to
manually manipulate an application as an authenticated and unauthenticated user.
Conduct threat modeling. Threat modeling is the process of identifying and addressing application security design flaws within a
design, before code is created. It is conducted through specially trained individuals who evaluate the application design and ga
security risks for each entry point and access level. The goal is to map out the application, architecture, and infrastructure in a
structured way to understand its weaknesses.
Determine which primary and secondary mechanisms will be used to communicate and report during a security incident.
Mechanisms can include phone calls, emails, or letters. Keep in mind that certain mechanisms, such as emails, can be affected
during a security incident. Review annually, or when significant enterprise changes occur that could impact this Safeguard.
Conduct post-incident reviews. Post-incident reviews help prevent incident recurrence through identifying lessons learned and
follow-up action.
Remediate penetration test findings based on the enterprise’s policy for remediation scope and prioritization.
Validate security measures after each penetration test. If deemed necessary, modify rulesets and capabilities to detect the
techniques used during testing.
Actively manage (inventory, track, and correct) all enterprise assets (end-user devices, including portable and mobile; network
devices; non-computing/Internet of Things (IoT) devices; and servers) connected to the infrastructure physically, virtually, remo
and those within cloud environments, to accurately know the totality of assets that need to be monitored and protected within th
enterprise. This will also support identifying unauthorized and unmanaged assets to remove or remediate.
Actively manage (inventory, track, and correct) all software (operating systems and applications) on the network so th
only authorized software is installed and can execute, and that unauthorized and unmanaged software is found and
prevented from installation or execution.
Develop processes and technical controls to identify, classify, securely handle, retain, and dispose of data.
Establish and maintain the secure configuration of enterprise assets (end-user devices, including portable and mobile
network devices; non-computing/IoT devices; and servers) and software (operating systems and applications).
Use processes and tools to assign and manage authorization to credentials for user accounts, including administrator
accounts, as well as service accounts, to enterprise assets and software.
Use processes and tools to create, assign, manage, and revoke access credentials and privileges for user, administra
and service accounts for enterprise assets and software.
Develop a plan to continuously assess and track vulnerabilities on all enterprise assets within the enterprise’s
infrastructure, in order to remediate, and minimize, the window of opportunity for attackers. Monitor public and private
industry sources for new threat and vulnerability information.
Collect, alert, review, and retain audit logs of events that could help detect, understand, or recover from an attack.
Improve protections and detections of threats from email and web vectors, as these are opportunities for attackers to
manipulate human behavior through direct engagement.
Prevent or control the installation, spread, and execution of malicious applications, code, or scripts on enterprise asse
Establish and maintain data recovery practices sufficient to restore in-scope enterprise assets to a pre-incident and
trusted state.
Establish, implement, and actively manage (track, report, correct) network devices, in order to prevent attackers from
exploiting vulnerable network services and access points.
Operate processes and tooling to establish and maintain comprehensive network monitoring and defense against sec
threats across the enterprise’s network infrastructure and user base.
Establish and maintain a security awareness program to influence behavior among the workforce to be security consc
and properly skilled to reduce cybersecurity risks to the enterprise.
Develop a process to evaluate service providers who hold sensitive data, or are responsible for an enterprise’s critical
platforms or processes, to ensure these providers are protecting those platforms and data appropriately.
Manage the security life cycle of in-house developed, hosted, or acquired software to prevent, detect, and remediate
security weaknesses before they can impact the enterprise.
Establish a program to develop and maintain an incident response capability (e.g., policies, plans, procedures, defined
roles, training, and communications) to prepare, detect, and quickly respond to an attack.
Test the effectiveness and resiliency of enterprise assets through identifying and exploiting weaknesses in controls
(people, processes, and technology), and simulating the objectives and actions of an attacker.
IG1 IG2 IG3
x x
x x
x x x
x x x
x x x
x x x
x x x
x x
x x x
x x x
x x
x x
x x
x x
x x
x x
x x
x x x
x x x
x x x
x x x
x x
x x
x x x
x x x
x x x
x x x
x x x
x x
x x
x x x
x x x
x x
x x x
x x
x x x
x x
x x
x x
x x x
x x
x x
x x
x x
x x x
x x
x x
x x
x x x
x x
x x
x x x
x x x
x x
x x
x x x
x x x
x x x
x x
x x
x x x
x x x
x x x
x x x
x x
x x x
x x x
x x x
x x x
x x x
x x x
x x x
x x x
x x
x x
x x
x x
x x
x x x
x x x
x x x
x x
x x
x
x x x
x x
x x x
x x x
x x x
x x
x x x
x x
x x
x x
x x
x x x
x x
x x x
x x
x x x
x x
x x
x x
x x
x x
x x
x x
x x
x x x
x x
x x
x x x
x x x
x x x
x x x
x x x
x x x
x x
x x
x x x
x x x
x x x
x x x
x x x
x x x
x x x
x x
x x
x x
x x
x x
x x
x x
x x
x x
x x
x x
x x x
x x x
x x x
x x x
x x
x x
x x
x x
x x
x x
x x x
x x x
x x x
x x
x x
x x x
x x
x x
x x
x x
x x
x x x
x x x
x x
x x x
x x x
x x
x x x
x x
x
x x x
x x
x x x
x x
x x
x x
x x
x x
x x x
x x x
x x x
x x
x x
x x
x
x x
x x
x x
x x
x x
x x
x x
x x
x
Final Draft V8 Sub-
title
Control # IG
1.1 Establish and Maintain Detailed Enterprise Asset Inventory 1
1.2 Address Unauthorized Assets 1
1.3 Utilize an Active Discovery Tool 2
Use Dynamic Host Configuration Protocol (DHCP) Logging to
1.4
Update Enterprise Asset Inventory 2
1.5 Use a Passive Asset Discovery Tool 3
2.1 Establish and Maintain a Software Inventory 1
2.2 Ensure Authorized Software is Currently Supported 1
2.3 Address Unauthorized Software 1
2.4 Utilize Automated Software Inventory Tools 2
2.5 Allowlist Authorized Software 2
2.6 Allowlist Authorized Libraries 2
2.7 Allowlist Authorized Scripts 3
3.1 Establish and Maintain a Data Management Process 1
3.2 Establish and Maintain a Data Inventory 1
3.3 Configure Data Access Control Lists 1
3.4 Enforce Data Retention 1
3.5 Securely Dispose of Data 1
3.6 Encrypt Data on End-User Devices 1
3.7 Establish and Maintain a Data Classification Scheme 2
3.8 Document Data Flows 2
3.9 Encrypt Data on Removable Media 2
3.10 Encrypt Sensitive Data in Transit 2
3.11 Encrypt Sensitive Data At Rest 2
3.12 Segment Data Processing and Storage Based on Sensitivity 2
3.13 Deploy a Data Loss Prevention Solution 3
3.14 Log Sensitive Data Access 3
4.1 Establish and Maintain a Secure Configuration Process 1
Establish and Maintain a Secure Configuration Process for
4.2
Network Infrastructure 1
4.3 Configure Automatic Session Locking on Enterprise Assets 1
4.4 Implement and Manage a Firewall on Servers 1
4.5 Implement and Manage a Firewall on End-User Devices 1
4.6 Securely Manage Enterprise Assets and Software 1
4.7 Manage Default Accounts on Enterprise Assets and Software 1
Uninstall or Disable Unnecessary Services on Enterprise Assets
4.8
and Applications 2
4.9 Configure Trusted DNS Servers on Enterprise Assets 2
Enforce Automatic Device Lockout on Portable End-User
4.10
Devices 2
4.11 Enforce Remote Wipe Capability on Portable End-User Devices 2
4.12 Separate Enterprise Workspaces on Mobile End-User Devices 3
5.1 Establish and Maintain an Inventory of Accounts 1
5.2 Use Unique Passwords 1
5.3 Disable Dormant Accounts 1
Restrict Administrator Privileges to Dedicated Administrator
5.4
Accounts 1
5.5 Establish and Maintain an Inventory of Service Accounts 2
5.6 Centralize Account Management 2
6.1 Establish an Access Granting Process 1
6.2 Establish an Access Revoking Process 1
6.3 Require MFA for Externally-Exposed Applications 1
6.4 Require MFA for Remote Network Access 1
6.5 Require MFA for Administrative Access 1
Establish and Maintain an Inventory of Authentication and
6.6
Authorization Systems 2
6.7 Centralize Access Control 2
6.8 Define and Maintain Role-Based Access Control 3
7.1 Establish and Maintain a Vulnerability Management Process 1
7.2 Establish and Maintain a Remediation Process 1
7.3 Perform Automated Operating System Patch Management 1
7.4 Perform Automated Application Patch Management 1
Perform Automated Vulnerability Scans of Internal Enterprise
7.5
Assets 2
Perform Automated Vulnerability Scans of Externally-Exposed
7.6
Enterprise Assets 2
7.7 Remediate Detected Vulnerabilities 2
8.1 Establish and Maintain an Audit Log Management Process 1
8.2 Collect Audit Logs 1
8.3 Ensure Adequate Audit Log Storage 1
8.4 Standardize Time Synchronization 2
8.5 Collect Detailed Audit Logs 2
8.6 Collect DNS Query Audit Logs 2
8.7 Collect URL Request Audit Logs 2
8.8 Collect Command-Line Audit Logs 2
8.9 Centralize Audit Logs 2
8.1 Retain Audit Logs 2
8.11 Conduct Audit Log Reviews 2
8.12 Collect Service Provider Logs 3
9.1 Ensure Use of Only Fully Supported Browsers and Email Clients 1
9.2 Use DNS Filtering Services 1
9.3 Maintain and Enforce Network-Based URL Filters 2
Restrict Unnecessary or Unauthorized Browser and Email Client
9.4
Extensions 2
9.5 Implement DMARC 2
9.6 Block Unnecessary File Types 2
9.7 Deploy and Maintain Email Server Anti-Malware Protections 3
10.1 Deploy and Maintain Anti-Malware Software 1
10.2 Configure Automatic Anti-Malware Signature Updates 1
10.3 Disable Autorun and Autoplay for Removable Media 1
Configure Automatic Anti-Malware Scanning of Removable
10.4
Media 2
10.5 Enable Anti-Exploitation Features 2
10.6 Centrally Manage Anti-Malware Software 2
10.7 Use Behavior-Based Anti-Malware Software 2
11.1 Establish and Maintain a Data Recovery Process 1
11.2 Perform Automated Backups 1
11.3 Protect Recovery Data 1
11.4 Establish and Maintain an Isolated Instance of Recovery Data 1
11.5 Test Data Recovery 2
12.1 Ensure Network Infrastructure is Up-to-Date 1
12.2 Establish and Maintain a Secure Network Architecture 2
12.3 Securely Manage Network Infrastructure 2
12.4 Establish and Maintain Architecture Diagram(s) 2
Centralize Network Authentication, Authorization, and Auditing
12.5
(AAA) 2
Use of Secure Network Management and Communication
12.6
Protocols 2
Ensure Remote Devices Utilize a VPN and are Connecting to an
12.7
Enterprise’s AAA Infrastructure 2
Establish and Maintain Dedicated Computing Resources For All
12.8
Administrative Work 3
13.1 Centralize Security Event Alerting 2
13.2 Deploy a Host-Based Intrusion Detection Solution 2
13.3 Deploy a Network Intrusion Detection Solution 2
13.4 Perform Traffic Filtering Between Network Segments 2
13.5 Manage Access Control for Remote Assets 2
13.6 Collect Network Traffic Flow Logs 2
13.7 Deploy a Host-Based Intrusion Prevention Solution 3
13.8 Deploy a Network Intrusion Prevention Solution 3
13.9 Deploy Port-Level Access Control 3
13.10 Perform Application Layer Filtering 3
13.11 Tune Security Event Alerting Thresholds 3
14.1 Establish and Maintain a Security Awareness Program 1
Train Workforce Members to Recognize Social Engineering
14.2
Attacks 1
14.3 Train Workforce Members on Authentication Best Practices 1
14.4 Train Workforce on Data Handling Best Practices 1
Train Workforce Members on Causes of Unintentional Data
14.5
Exposure 1
Train Workforce Members on Recognizing and Reporting
14.6
Security Incidents 1
Train Workforce on How to Identify and Report if their Enterprise
14.7
Assets are Missing Security Updates 1
Train Workforce on the Dangers of Connecting to and
14.8
Transmitting Enterprise Data Over Insecure Networks 1
14.9 Conduct Role-Specific Security Awareness and Skills Training 2
15.1 Establish and Maintain an Inventory of Service Providers 1
15.2 Establish and Maintain a Service Provider Management Policy 2
15.3 Classify Service Providers 2
Ensure Service Provider Contracts Include Security
15.4
Requirements 2
15.5 Assess Service Providers 2
15.6 Monitor Service Providers 3
15.7 Securely Decommission Service Providers 3
Establish and Maintain a Secure Application
16.1
Development Process 2
Establish and Maintain a Process to Accept and Address
16.2
Software Vulnerabilities 2
16.3 Perform Root Cause Analysis on Security Vulnerabilities 2
Establish and Manage an Inventory of Third-Party Software
16.4
Components 2
16.5 Use Up-to-Date and Trusted Third-Party Software Components 2
Establish and Maintain a Severity Rating System and Process
16.6
for Application Vulnerabilities 2
Use Standard Hardening Configuration Templates for
16.7
Application Infrastructure 2
16.8 Separate Production and Non-Production Systems 2
Train Developers in Application Security Concepts and Secure
16.9
Coding 2
16.10 Apply Secure Design Principles in Application Architectures 2
Leverage Vetted Modules or Services for Application Security
16.11
Components 2
16.12 Implement Code-Level Security Checks 3
16.13 Conduct Application Penetration Testing 3
16.14 Conduct Threat Modeling 3
17.1 Designate Personnel to Manage Incident Handling 1
Establish and Maintain Contact Information for Reporting
17.2
Security Incidents 1
Establish and Maintain an Enterprise Process for Reporting
17.3
Incidents 1
17.4 Establish and Maintain an Incident Response Process 2
17.5 Assign Key Roles and Responsibilities 2
Define Mechanisms for Communicating During Incident
17.5
Response 2
17.6 Conduct Routine Incident Response Exercises 2
17.7 Conduct Post-Incident Reviews 2
17.8 Establish and Maintain Security Incident Thresholds 2
17.9 Establish and Maintain Security Incident Thresholds 3
18.1 Establish and Maintain a Penetration Testing Program 2
18.2 Perform Periodic External Penetration Tests 2
18.3 Remediate Penetration Test Findings 2
18.4 Validate Security Measures 3
18.5 Perform Periodic Internal Penetration Tests 3
Rec # Control Map 1 Control Map 2 Control Map 3 What IG? (Map 1)
0 0 0
0 0
0 0 0
2.1.1 6 0 0
0 0 0
0 0 0
3.1.1 4.1 0 0 1
3.1.2 4.1 0 0 1
3.1.3 4.1 0 0 1
3.1.4 3.10 0 0 2
0 0 0 0
3.2.1 0 0 0
3.2.2 4.1 0 0 1
3.2.3 4.1 0 0 1
3.2.4 4.1 0 0 1
3.2.5 4.1 0 0 1
3.2.6 4.7 0 0 1
3.2.7 4.1 0 0 1
3.2.8 4.1 0 0 1
3.2.9 4.1 0 0 1
3.2.10 4.1 0 0 1
3.2.11 4.1 0 0 1
0 0 0
0 0 0
4.1.1 4.1 0 0 1
4.1.2 4.1 0 0 1
4.1.3 4.1 0 0 1
4.1.4 4.1 0 0 1
4.1.5 16.5 0 0 2
4.1.6 4.1 0 0 1
0 0 0 0
4.2.1 13.5 0 0 2
4.2.2 4.1 0 0 1
4.2.3 4.6 0 0 1
4.2.4 4.1 0 0 1
4.2.5 4.1 0 0 1
4.2.6 7.6 0 0 2
4.2.7 3.3 0 0 1
4.2.8 3.3 0 0 1
4.2.9 4.1 0 0 1
0 0 0
0 0 0 0
4.4.1 3.11 0 0 2
4.4.2 13.4 0 0 2
0 0 0
4.5.1 4.4 0 0 1
4.5.2 4.4 0 0 1
0 0 0 0
4.6.1 13.5 0 0 2
0 0 0
4.7.1 8.2 8.5 0 1
4.7.2 3.10 0 0 2
4.7.3 4.1 0 0 1
0 0 0
0 0 0
5.1.1 6 0 0 1
5.1.2 6 0 0 1
5.1.3 4.6 0 0 1
5.1.4 4.6 0 0 1
0 2.5 0 0 2
5.2.1 4.4 0 0 1
0 0 0
5.3.1 6.8 0 0 3
0 0 0
5.4.1 0 0
5.4.2 4.4 1
5.4.3 4.4 1
5.4.4 4.4 4.4 1
5.4.5 3.10 2
0
5.5.1 5.6 2
5.5.2 4.1 1
0
5.6.1 3.12 2
5.6.2 3.12 2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
Err:509 Err:509 Err:509 Err:509
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
What IG? (Map 2) What IG? (Map 3) Lowest IG
1
1
1
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
1
2
1
1
1
1
2
1
1
1
2
2
1
1
2 1
2
1
1
1
1
1
2
1
1
1
1 1
2
2
1
2
2
Rec Title
Master (Control Plane) Components
Master (Control Plane) Configuration
Logging
Enable audit Logs
Worker Nodes
Worker Node Configuration Files
Ensure that the kubeconfig file permissions are set to 644 or more restrictive
Ensure that the kubelet kubeconfig file ownership is set to root:root
Ensure that the kubelet configuration file has permissions set to 644 or more restrictive
Ensure that the kubelet configuration file ownership is set to root:root
Kubelet
Ensure that the --anonymous-auth argument is set to false
Ensure that the --authorization-mode argument is not set to AlwaysAllow
Ensure that the --client-ca-file argument is set as appropriate
Ensure that the --read-only-port is secured
Ensure that the --streaming-connection-idle-timeout argument is not set to 0
Ensure that the --protect-kernel-defaults argument is set to true
Ensure that the --make-iptables-util-chains argument is set to true
Ensure that the --hostname-override argument is not set
Ensure that the --eventRecordQPS argument is set to 0 or a level which ensures appropriate event capture
Ensure that the --rotate-certificates argument is not set to false
Ensure that the RotateKubeletServerCertificate argument is set to true
Policies
RBAC and Service Accounts
Ensure that the cluster-admin role is only used where required
Minimize access to secrets
Minimize wildcard use in Roles and ClusterRoles
Minimize access to create pods
Ensure that default service accounts are not actively used.
Ensure that Service Account Tokens are only mounted where necessary
Pod Security Policies
Minimize the admission of privileged containers
Minimize the admission of containers wishing to share the host process ID namespace
Minimize the admission of containers wishing to share the host IPC namespace
Minimize the admission of containers wishing to share the host network namespace
Minimize the admission of containers with allowPrivilegeEscalation
Minimize the admission of root containers
Minimize the admission of containers with the NET_RAW capability
Minimize the admission of containers with added capabilities
Minimize the admission of containers with capabilities assigned
Azure Policy / OPA
CNI Plugin
Ensure latest CNI version is used
Ensure that all Namespaces have Network Policies defined
Secrets Management
Prefer using secrets as files over secrets as environment variables
Consider external secret storage
Extensible Admission Control
Verify that admission controllers are working as expected
General Policies
Create administrative boundaries between resources using namespaces
Apply Security Context to Your Pods and Containers
The default namespace should not be used
Managed services
Image Registry and Image Scanning
Ensure Image Vulnerability Scanning using Azure Defender image scanning or a third party provider
Minimize user access to Azure Container Registry (ACR)
Minimize cluster access to read-only for Azure Container Registry (ACR)
Minimize Container Registries to only those approved
Access and identity options for Azure Kubernetes Service (AKS)
Prefer using dedicated AKS Service Accounts
Key Management Service (KMS)
Ensure Kubernetes Secrets are encrypted
Cluster Networking
Restrict Access to the Control Plane Endpoint
Ensure clusters are created with Private Endpoint Enabled and Public Access Disabled
Ensure clusters are created with Private Nodes
Ensure Network Policy is Enabled and set as appropriate
Encrypt traffic to HTTPS load balancers with TLS certificates
Authentication and Authorization
Manage Kubernetes RBAC users with Azure AD
Use Azure RBAC for Kubernetes Authorization
Other Cluster Configurations
Restrict untrusted workloads
Hostile multi-tenant workloads
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
Err:509
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0