Docker Enterprise 2.x Linux/UNIX Security Technical Implementation Guide

Description

This Security Technical Implementation Guide is published as a tool to improve the security of Department of Defense (DoD) information systems. The requirements are derived from the National Institute of Standards and Technology (NIST) 800-53 and related documents. Comments or proposed revisions to this document should be sent via email to the following address: [email protected]

Details

Version / Release: V2R1

Published: 2021-03-26

Updated At: 2021-05-02 20:54:18

Compare/View Releases

Select any two versions of this STIG to compare the individual requirements

Select any old version/release of this STIG to view the previous requirements

Actions

Download

Filter

Findings
Severity Open Not Reviewed Not Applicable Not a Finding
Overall 0 0 0 0
Low 0 0 0 0
Medium 0 0 0 0
High 0 0 0 0
Drop CKL or SCAP (XCCDF) results here.

    Vuln Rule Version CCI Severity Title Description Status Finding Details Comments
    SV-235775r627452_rule DKER-EE-001000 CCI-000054 LOW The Docker Enterprise Per User Limit Login Session Control in the Universal Control Plane (UCP) Admin Settings must be set to an organization-defined value for all accounts and/or account types. The UCP component of Docker Enterprise includes a built-in access authorization mechanism called eNZi which can be integrated with an LDAP server and subsequently configured to limit the number of concurrent sessions to an organization-defined number for
    SV-235776r627455_rule DKER-EE-001050 CCI-000068 MEDIUM TCP socket binding for all Docker Engine - Enterprise nodes in a Universal Control Plane (UCP) cluster must be disabled. The UCP component of Docker Enterprise configures and leverages Swarm Mode for node-to-node cluster communication. Swarm Mode is built in to Docker Engine - Enterprise and uses TLS 1.2 at a minimum for encrypting communications. Under the hood, Swarm Mode
    SV-235777r627458_rule DKER-EE-001070 CCI-001453 HIGH FIPS mode must be enabled on all Docker Engine - Enterprise nodes. When FIPS mode is enabled on a Docker Engine - Enterprise node, it uses FIPS-validated cryptography to protect the confidentiality of remote access sessions to any bound TCP sockets with TLS enabled and configured. FIPS mode in Docker Engine - Enterprise
    SV-235778r627461_rule DKER-EE-001080 CCI-000130 MEDIUM The audit log configuration level must be set to request in the Universal Control Plane (UCP) component of Docker Enterprise. The UCP and Docker Trusted Registry (DTR) components of Docker Enterprise provide audit record generation capabilities. Audit logs capture all HTTP actions for the following endpoints: Kubernetes API, Swarm API and UCP API. The following UCP API endpoints
    SV-235779r627464_rule DKER-EE-001090 CCI-001814 MEDIUM The host operating systems auditing policies for the Docker Engine - Enterprise component of Docker Enterprise must be set. The Universal Control Plane (UCP) and Docker Trusted Registry (DTR) components of Docker Enterprise provide audit record generation capabilities. Audit logs capture all HTTP actions for the following endpoints: Kubernetes API, Swarm API and UCP API. The f
    SV-235780r627467_rule DKER-EE-001100 CCI-000015 MEDIUM LDAP integration in Docker Enterprise must be configured. Both the Universal Control Plane (UCP) and Docker Trusted Registry (DTR) components of Docker Enterprise leverage the same authentication and authorization backplane known as eNZi. The eNZi backplane provides automated mechanisms for supporting account ma
    SV-235781r627470_rule DKER-EE-001170 CCI-001812 MEDIUM A policy set using the built-in role-based access control (RBAC) capabilities in the Universal Control Plane (UCP) component of Docker Enterprise must be configured. Both the UCP and Docker Trusted Registry (DTR) components of Docker Enterprise leverage the same authentication and authorization backplane known as eNZi. eNZi provides UCP and DTR with role-based access control functionality to enforce approved authoriza
    SV-235782r627473_rule DKER-EE-001180 CCI-000166 MEDIUM A policy set using the built-in role-based access control (RBAC) capabilities in the Docker Trusted Registry (DTR) component of Docker Enterprise must be set. Both the Universal Control Plane (UCP) and DTR components of Docker Enterprise leverage the same authentication and authorization backplane known as eNZi. eNZi provides UCP and DTR with role-based access control functionality to enforce approved authoriza
    SV-235783r627476_rule DKER-EE-001190 CCI-000213 MEDIUM Docker Enterprise sensitive host system directories must not be mounted on containers. Sensitive host system directories such as below should not be allowed to be mounted as container volumes especially in read-write mode. Linux: / /boot /dev /etc /lib /proc /sys /usr Windows: %windir% (C:\Windows) %windir%\system32 (C:\Windows\system32
    SV-235784r627479_rule DKER-EE-001240 CCI-001414 MEDIUM The Docker Enterprise hosts process namespace must not be shared. Process ID (PID) namespaces isolate the PID number space, meaning that processes in different PID namespaces can have the same PID. This is process level isolation between containers and the host. PID namespace provides separation of processes. The PID N
    SV-235785r627482_rule DKER-EE-001250 CCI-001414 MEDIUM The Docker Enterprise hosts IPC namespace must not be shared. IPC (POSIX/SysV IPC) namespace provides separation of named shared memory segments, semaphores, and message queues. IPC namespace on the host thus should not be shared with the containers and should remain isolated. IPC namespace provides separation of I
    SV-235786r627485_rule DKER-EE-001370 CCI-000171 MEDIUM log-opts on all Docker Engine - Enterprise nodes must be configured. The Universal Control Plane (UCP) and Docker Trusted Registry (DTR) components of Docker Enterprise provide audit record generation capabilities. Audit logs capture all HTTP actions for the following endpoints: Kubernetes API, Swarm API and UCP API. The f
    SV-235787r627488_rule DKER-EE-001590 CCI-000139 LOW Docker Enterprise must alert the ISSO and SA (at a minimum) in the event of an audit processing failure. The Universal Control Plane (UCP) and Docker Trusted Registry (DTR) components of Docker Enterprise provide audit record generation capabilities. Audit logs capture all HTTP actions for the following endpoints: Kubernetes API, Swarm API and UCP API. The f
    SV-235788r627491_rule DKER-EE-001770 CCI-001749 LOW Docker Incs official GPG key must be added to the host using the users operating systems respective package repository management tooling. All packaged components of Docker Enterprise are digitally signed using GPG keys maintained by Docker, Inc. The Docker Engine - Enterprise daemon, itself, is digitally signed. Furthermore, all Docker, Inc-managed Linux repositories are themselves signed u
    SV-235789r627494_rule DKER-EE-001800 CCI-000381 MEDIUM The insecure registry capability in the Docker Engine - Enterprise component of Docker Enterprise must be disabled. Docker considers a private registry either secure or insecure. By default, registries are considered secure. Docker Enterprise includes the following capabilities that are considered non-essential: *NOTE: disabling these capabilities negatively affects
    SV-235790r627497_rule DKER-EE-001810 CCI-000381 MEDIUM On Linux, a non-AUFS storage driver in the Docker Engine - Enterprise component of Docker Enterprise must be used. The aufs storage driver is the oldest storage driver. It is based on a Linux kernel patch-set that is unlikely to be merged into the main Linux kernel. aufs driver is also known to cause some serious kernel crashes. aufs just has legacy support from Docke
    SV-235791r627500_rule DKER-EE-001830 CCI-000381 MEDIUM The userland proxy capability in the Docker Engine - Enterprise component of Docker Enterprise must be disabled. The docker daemon starts a userland proxy service for port forwarding whenever a port is exposed. Where hairpin NAT is available, this service is generally superfluous to requirements and can be disabled. Docker engine provides two mechanisms for forwardi
    SV-235792r627503_rule DKER-EE-001840 CCI-000381 MEDIUM Experimental features in the Docker Engine - Enterprise component of Docker Enterprise must be disabled. Avoid experimental features in production. Docker Enterprise includes the following capabilities that are considered non-essential: *NOTE: disabling these capabilities negatively affects the operation of Universal Control Plane (UCP) and Docker Trusted
    SV-235793r627506_rule DKER-EE-001870 CCI-000381 MEDIUM The Docker Enterprise self-signed certificates in Universal Control Plane (UCP) must be replaced with DoD trusted, signed certificates. Docker Enterprise includes the following capabilities that are considered non-essential: *NOTE: disabling these capabilities negatively affects the operation of Docker Trusted Registry (DTR) and should be disregarded when UCP and DTR are installed. The s
    SV-235794r627509_rule DKER-EE-001880 CCI-000381 MEDIUM The Docker Enterprise self-signed certificates in Docker Trusted Registry (DTR) must be replaced with DoD trusted, signed certificates. Docker Enterprise includes the following capabilities that are considered non-essential: *NOTE: disabling these capabilities negatively affects the operation of Universal Control Plane (UCP) and DTR and should be disregarded when UCP and DTR are installe
    SV-235795r627512_rule DKER-EE-001890 CCI-000381 MEDIUM The option in Universal Control Plane (UCP) allowing users and administrators to schedule containers on all nodes, including UCP managers and Docker Trusted Registry (DTR) nodes must be disabled in Docker Enterprise. Docker Enterprise includes the following capabilities that are considered non-essential: *NOTE: disabling these capabilities negatively affects the operation of UCP and DTR and should be disregarded when UCP and DTR are installed. The security capabiliti
    SV-235796r627515_rule DKER-EE-001900 CCI-000381 MEDIUM The Create repository on push option in Docker Trusted Registry (DTR) must be disabled in Docker Enterprise. Docker Enterprise includes the following capabilities that are considered non-essential: *NOTE: disabling these capabilities negatively affects the operation of Universal Control Plane (UCP) and DTR and should be disregarded when UCP and DTR are installe
    SV-235797r627518_rule DKER-EE-001910 CCI-000381 MEDIUM Periodic data usage and analytics reporting in Universal Control Plane (UCP) must be disabled in Docker Enterprise. Docker Enterprise includes the following capabilities that are considered non-essential: *NOTE: disabling these capabilities negatively affects the operation of UCP and Docker Trusted Registry (DTR) and should be disregarded when UCP and DTR are installe
    SV-235798r627521_rule DKER-EE-001920 CCI-000381 MEDIUM Periodic data usage and analytics reporting in Docker Trusted Registry (DTR) must be disabled in Docker Enterprise. Docker Enterprise includes the following capabilities that are considered non-essential: *NOTE: disabling these capabilities negatively affects the operation of Universal Control Plane (UCP) and DTR and should be disregarded when UCP and DTR are installe
    SV-235799r627524_rule DKER-EE-001930 CCI-000381 MEDIUM An appropriate AppArmor profile must be enabled on Ubuntu systems for Docker Enterprise. AppArmor protects the Ubuntu OS and applications from various threats by enforcing security policy which is also known as AppArmor profile. The user can create their own AppArmor profile for containers or use the Docker's default AppArmor profile. This wo
    SV-235800r627527_rule DKER-EE-001940 CCI-000381 MEDIUM SELinux security options must be set on Red Hat or CentOS systems for Docker Enterprise. SELinux provides a Mandatory Access Control (MAC) system on RHEL and CentOS that greatly augments the default Discretionary Access Control (DAC) model. The user can thus add an extra layer of safety by enabling SELinux on the RHEL or CentOS host. By defa
    SV-235801r627530_rule DKER-EE-001950 CCI-000381 MEDIUM Linux Kernel capabilities must be restricted within containers as defined in the System Security Plan (SSP) for Docker Enterprise. By default, Docker starts containers with a restricted set of Linux Kernel Capabilities. It means that any process may be granted the required capabilities instead of root access. Using Linux Kernel Capabilities, the processes do not have to run as root f
    SV-235802r672378_rule DKER-EE-001960 CCI-000381 MEDIUM Privileged Linux containers must not be used for Docker Enterprise. Using the --privileged flag gives all Linux Kernel Capabilities to the container thus overwriting the --cap-add and --cap-drop flags. Ensure that it is not used. The --privileged flag gives all capabilities to the container, and it also lifts all the limi
    SV-235803r627536_rule DKER-EE-001970 CCI-000381 MEDIUM SSH must not run within Linux containers for Docker Enterprise. SSH server should not be running within the container. The user should instead use Universal Control Plane (UCP) to console in to running containers. Running SSH within the container increases the complexity of security management by making it: - Diffic
    SV-235804r627539_rule DKER-EE-001990 CCI-000381 MEDIUM Only required ports must be open on the containers in Docker Enterprise. Dockerfile for a container image defines the ports to be opened by default on a container instance. The list of ports may or may not be relevant to the application running within the container. A container can be run just with the ports defined in the Do
    SV-235805r627542_rule DKER-EE-002000 CCI-000381 HIGH Docker Enterprise hosts network namespace must not be shared. The networking mode on a container when set to --net=host, skips placing the container inside separate network stack. In essence, this choice tells Docker to not containerize the container's networking. This would network-wise mean that the container live
    SV-235806r627545_rule DKER-EE-002010 CCI-000381 MEDIUM Memory usage for all containers must be limited in Docker Enterprise. By default, all containers on a Docker host share the resources equally. By using the resource management capabilities of Docker host, such as memory limit, the amount of memory that a container may consume can be controlled. By default, container can us
    SV-235807r627548_rule DKER-EE-002020 CCI-000381 LOW Docker Enterprise CPU priority must be set appropriately on all containers. By default, all containers on a Docker host share the resources equally. By using the resource management capabilities of Docker host, such as CPU shares, the user control the host CPU resources that a container may consume. By default, CPU time is divid
    SV-235808r627551_rule DKER-EE-002030 CCI-000381 HIGH All Docker Enterprise containers root filesystem must be mounted as read only. The container's root filesystem should be treated as a 'golden image' by using Docker run's --read-only option. This prevents any writes to the container's root filesystem at container runtime and enforces the principle of immutable infrastructure. Enabl
    SV-235809r627554_rule DKER-EE-002040 CCI-000381 HIGH Docker Enterprise host devices must not be directly exposed to containers. Host devices can be directly exposed to containers at runtime. Do not directly expose host devices to containers especially for containers that are not trusted. The --device option exposes the host devices to the containers and consequently, the containe
    SV-235810r627557_rule DKER-EE-002050 CCI-000381 MEDIUM Mount propagation mode must not set to shared in Docker Enterprise. Mount propagation mode allows mounting volumes in shared, slave or private mode on a container. Do not use shared mount propagation mode until needed. A shared mount is replicated at all mounts and the changes made at any mount point are propagated to al
    SV-235811r627560_rule DKER-EE-002060 CCI-000381 MEDIUM The Docker Enterprise hosts UTS namespace must not be shared. UTS namespaces provide isolation of two system identifiers: the hostname and the NIS domain name. It is used for setting the hostname and the domain that is visible to running processes in that namespace. Processes running within containers do not typical
    SV-235812r627563_rule DKER-EE-002070 CCI-000381 HIGH The Docker Enterprise default seccomp profile must not be disabled. Seccomp filtering provides a means for a process to specify a filter for incoming system calls. The default Docker seccomp profile works on whitelist basis and allows 311 system calls blocking all others. It should not be disabled unless it hinders the co
    SV-235813r627566_rule DKER-EE-002080 CCI-000381 HIGH Docker Enterprise exec commands must not be used with privileged option. Do not use docker exec with --privileged option. Using --privileged option in docker exec gives extended Linux capabilities to the command. Do not run docker exec with the --privileged option, especially when running containers with dropped capabilities
    SV-235814r627569_rule DKER-EE-002090 CCI-000381 MEDIUM Docker Enterprise exec commands must not be used with the user option. Do not docker exec with --user option. Using --user option in docker exec executes the command within the container as that user. Do not run docker exec with the --user option , especially when running containers with dropped capabilities or with enhance
    SV-235815r627572_rule DKER-EE-002100 CCI-000381 MEDIUM cgroup usage must be confirmed in Docker Enterprise. It is possible to attach to a particular cgroup on container run. Confirming cgroup usage would ensure that containers are running under defined cgroups. System administrators typically define cgroups under which containers are supposed to run. Even if c
    SV-235816r672380_rule DKER-EE-002110 CCI-000381 HIGH All Docker Enterprise containers must be restricted from acquiring additional privileges. Restrict the container from acquiring additional privileges via suid or sgid bits. A process can set the no_new_priv bit in the kernel. It persists across fork, clone, and execve. The no_new_priv bit ensures that the process or its children processes do
    SV-235817r627578_rule DKER-EE-002120 CCI-000381 HIGH The Docker Enterprise hosts user namespace must not be shared. Do not share the host's user namespaces with the containers. User namespaces ensure that a root process inside the container will be mapped to a non-root process outside the container. Sharing the user namespaces of the host with the container thus does
    SV-235818r627581_rule DKER-EE-002130 CCI-000381 HIGH The Docker Enterprise socket must not be mounted inside any containers. The docker socket docker.sock (Linux) and \\.\pipe\docker_engine (Windows) should not be mounted inside a container, with the exception case being during the installation of Universal Control Plane (UCP) component of Docker Enterprise as it is required fo
    SV-235819r627584_rule DKER-EE-002150 CCI-000382 HIGH Docker Enterprise privileged ports must not be mapped within containers. The TCP/IP port numbers below 1024 are considered privileged ports. Normal users and processes are not allowed to use them for various security reasons. Docker allows a container port to be mapped to a privileged port. By default, if the user does not sp
    SV-235820r627587_rule DKER-EE-002160 CCI-000382 MEDIUM Docker Enterprise incoming container traffic must be bound to a specific host interface. By default, Docker containers can make connections to the outside world, but the outside world cannot connect to containers. Each outgoing connection will appear to originate from one of the host machine's own IP addresses. Only allow container services t
    SV-235821r627590_rule DKER-EE-002180 CCI-000765 MEDIUM SAML integration must be enabled in Docker Enterprise. Both the Universal Control Plane (UCP) and Docker Trusted Registry (DTR) components of Docker Enterprise leverage the same authentication and authorization backplane known as eNZi. The eNZi backplane includes its own managed user database, and also allows
    SV-235822r627593_rule DKER-EE-002380 CCI-000186 MEDIUM The certificate chain used by Universal Control Plane (UCP) client bundles must match what is defined in the System Security Plan (SSP) in Docker Enterprise. Both the UCP and Docker Trusted Registry (DTR) components of Docker Enterprise leverage the same authentication and authorization backplane known as eNZi. UCP has the ability to use external certificates or internal self-signed. In the case of self-signed
    SV-235823r627596_rule DKER-EE-002400 CCI-000186 MEDIUM Docker Enterprise Swarm manager must be run in auto-lock mode. Run Docker swarm manager in auto-lock mode. When Docker restarts, both the TLS key used to encrypt communication among swarm nodes, and the key used to encrypt and decrypt Raft logs on disk, are loaded into each manager node's memory. Protect the mutual
    SV-235824r627599_rule DKER-EE-002410 CCI-000186 MEDIUM Docker Enterprise secret management commands must be used for managing secrets in a Swarm cluster. Use Docker's in-built secret management commands for managing sensitive data that which can be stored in key/value pairs. Examples include API tokens, database connection strings and credentials, SSL certificates, and the like.
    SV-235825r627602_rule DKER-EE-002490 CCI-000057 MEDIUM The Lifetime Minutes and Renewal Threshold Minutes Login Session Controls must be set to 10 and 0 respectively in Docker Enterprise. The Universal Control Plane (UCP) component of Docker Enterprise includes a built-in access authorization mechanism called eNZi which can be integrated with an LDAP server and subsequently terminate all network connections associated with a communications
    SV-235826r627605_rule DKER-EE-002660 CCI-001199 MEDIUM Docker Secrets must be used to store configuration files and small amounts of user-generated data (up to 500 kb in size) in Docker Enterprise. By leveraging Docker Secrets or Kubernetes secrets to store configuration files and small amounts of user-generated data (up to 500 kb in size), the data is encrypted at rest by the Engine's FIPS-validated cryptography.
    SV-235827r627608_rule DKER-EE-002770 CCI-001095 MEDIUM Docker Enterprise container health must be checked at runtime. If the container image does not have an HEALTHCHECK instruction defined, use --health-cmd parameter at container runtime for checking container health. One of the important security triads is availability. If the container image being used does not have
    SV-235828r627611_rule DKER-EE-002780 CCI-001095 MEDIUM PIDs cgroup limits must be used in Docker Enterprise. Use --pids-limit flag at container runtime. Attackers could launch a fork bomb with a single command inside the container. This fork bomb can crash the entire system and requires a restart of the host to make the system functional again. PIDs cgroup --pi
    SV-235829r627614_rule DKER-EE-002970 CCI-002361 LOW The Docker Enterprise per user limit login session control must be set per the requirements in the System Security Plan (SSP). The Universal Control Plane (UCP) component of Docker Enterprise includes a built-in access authorization mechanism called eNZi which can be integrated with an LDAP server and allows for automatic user session termination after organization-defined condit
    SV-235830r627617_rule DKER-EE-003200 CCI-002233 MEDIUM Docker Enterprise images must be built with the USER instruction to prevent containers from running as root. Both the Universal Control Plane (UCP) and Docker Trusted Registry (DTR) components of Docker Enterprise leverage the same authentication and authorization backplane known as eNZi. The eNZi backplane includes its own managed user database, and also allows
    SV-235831r627620_rule DKER-EE-003230 CCI-001814 MEDIUM An appropriate Docker Engine - Enterprise log driver plugin must be configured to collect audit events from Universal Control Plane (UCP) and Docker Trusted Registry (DTR). The UCP and DTR components of Docker Enterprise provide audit record generation capabilities. Audit logs capture all HTTP actions for the following endpoints: Kubernetes API, Swarm API and UCP API. The following UCP API endpoints are excluded from audit l
    SV-235832r695335_rule DKER-EE-003310 CCI-001849 MEDIUM The Docker Enterprise max-size and max-file json-file drivers logging options in the daemon.json configuration file must be configured to allocate audit record storage capacity for Universal Control Plane (UCP) and Docker Trusted Registry (DTR) per the requirements set forth by the System Security Plan (SSP). By default, the UCP and DTR components of Docker Enterprise leverage the "json-file" Engine logging driver. This driver has configurable "max-size" and "max-file" options which are applicable in the context of this control. The "max-size" option defines t
    SV-235833r627626_rule DKER-EE-003320 CCI-001851 MEDIUM All Docker Engine - Enterprise nodes must be configured with a log driver plugin that sends logs to a remote log aggregation system (SIEM). The Universal Control Plane (UCP) and Docker Trusted Registry (DTR) components of Docker Enterprise provide audit record generation capabilities. Audit logs capture all HTTP actions for the following endpoints: Kubernetes API, Swarm API and UCP API. The f
    SV-235834r627629_rule DKER-EE-003330 CCI-001855 MEDIUM Log aggregation/SIEM systems must be configured to alarm when audit storage space for Docker Engine - Enterprise nodes exceed 75% usage. The Universal Control Plane (UCP) and Docker Trusted Registry (DTR) components of Docker Enterprise provide audit record generation capabilities. Audit logs capture all HTTP actions for the following endpoints: Kubernetes API, Swarm API and UCP API. The f
    SV-235835r627632_rule DKER-EE-003340 CCI-001858 MEDIUM Log aggregation/SIEM systems must be configured to notify SA and ISSO on Docker Engine - Enterprise audit failure events. The Universal Control Plane (UCP) and Docker Trusted Registry (DTR) components of Docker Enterprise provide audit record generation capabilities. Audit logs capture all HTTP actions for the following endpoints: Kubernetes API, Swarm API and UCP API. The f
    SV-235836r627635_rule DKER-EE-003460 CCI-001811 MEDIUM The Docker Enterprise log aggregation/SIEM systems must be configured to send an alert the ISSO/ISSM when unauthorized software is installed. A Docker image is analogous to software in the context of this control. All components of Docker Enterprise can be configured to send logs to a remote syslog server in order to meet the requirements of this control. Universal Control Plane (UCP) remote s
    SV-235837r627638_rule DKER-EE-003560 CCI-001762 MEDIUM Docker Enterprise network ports on all running containers must be limited to what is needed. By itself, Docker Engine - Enterprise is configured by default to listen for API requests via a UNIX domain socket (or IPC socket) created at /var/run/docker.sock on supported Linux distributions and via a named pipe at npipe:////./pipe/docker_engine on W
    SV-235838r627641_rule DKER-EE-003590 CCI-001774 MEDIUM Content Trust enforcement must be enabled in Universal Control Plane (UCP) in Docker Enterprise. The UCP and Docker Trusted Registry (DTR) components of Docker Enterprise can be used in concert to perform an integrity check of organization-defined software at startup. In the context of Docker Enterprise, software would be analogous to Docker images t
    SV-235839r627644_rule DKER-EE-003610 CCI-001774 MEDIUM Only trusted, signed images must be on Universal Control Plane (UCP) in Docker Enterprise. The UCP and Docker Trusted Registry (DTR) components of Docker Enterprise can be used in concert to perform an integrity check of organization-defined software at startup. In the context of Docker Enterprise, software would be analogous to Docker images t
    SV-235840r627647_rule DKER-EE-003840 CCI-001067 MEDIUM Vulnerability scanning must be enabled for all repositories in the Docker Trusted Registry (DTR) component of Docker Enterprise. DTR can scan Docker images for vulnerabilities and this capability should be enabled to meet the requirements of this control. When enabled, for every Docker image that is pushed to DTR, a scan of each of the image layers is conducted. An analysis of all
    SV-235841r627650_rule DKER-EE-003920 CCI-002470 MEDIUM Universal Control Plane (UCP) must be integrated with a trusted certificate authority (CA) in Docker Enterprise. Both the UCP and Docker Trusted Registry (DTR) components of Docker Enterprise leverage the same authentication and authorization backplane known as eNZi. The eNZi backplane includes its own managed user database, and also allows for LDAP integration in U
    SV-235842r627653_rule DKER-EE-003930 CCI-002470 MEDIUM Docker Trusted Registry (DTR) must be integrated with a trusted certificate authority (CA) in Docker Enterprise. Both the Universal Control Plane (UCP) and DTR components of Docker Enterprise leverage the same authentication and authorization backplane known as eNZi. The eNZi backplane includes its own managed user database, and also allows for LDAP integration in U
    SV-235843r627656_rule DKER-EE-004030 CCI-002385 MEDIUM The on-failure container restart policy must be is set to 5 in Docker Enterprise. Using the --restart flag in docker run command, specify a restart policy for how a container should or should not be restarted on exit. Choose the on-failure restart policy and limit the restart attempts to 5. If indefinitely trying to start the containe
    SV-235844r627659_rule DKER-EE-004040 CCI-002385 MEDIUM The Docker Enterprise default ulimit must not be overwritten at runtime unless approved in the System Security Plan (SSP). The default ulimit is set at the Docker daemon level. However, override the default ulimit setting, if needed, during container runtime. ulimit provides control over the resources available to the shell and to processes started by it. Setting system reso
    SV-235845r627662_rule DKER-EE-004130 CCI-002617 MEDIUM Docker Enterprise older Universal Control Plane (UCP) and Docker Trusted Registry (DTR) images must be removed from all cluster nodes upon upgrading. When upgrading either the UCP or DTR components of Docker Enterprise, the newer images are pulled (or unpacked if offline) onto Engine nodes in a cluster. Once the upgrade is complete, one must manually remove all old image version from the cluster nodes
    SV-235846r627665_rule DKER-EE-004260 CCI-001774 MEDIUM Only trusted, signed images must be stored in Docker Trusted Registry (DTR) in Docker Enterprise. The Universal Control Plane (UCP) and DTR components of Docker Enterprise can be used in concert to perform an integrity check of organization-defined software at startup. In the context of Docker Enterprise, software would be analogous to Docker images t
    SV-235847r627668_rule DKER-EE-004370 CCI-002724 MEDIUM Docker Content Trust enforcement must be enabled in Universal Control Plane (UCP). The UCP and Docker Trusted Registry (DTR) components of Docker Enterprise can be used in concert with built-in audit logging capabilities to audit detected potential integrity violations per the requirements set forth by the System Security Plan (SSP). I
    SV-235848r627671_rule DKER-EE-005060 CCI-000366 MEDIUM Docker Swarm must have the minimum number of manager nodes. Ensure that the minimum number of required manager nodes is created in a swarm. Manager nodes within a swarm have control over the swarm and change its configuration modifying security parameters. Having excessive manager nodes could render the swarm mor
    SV-235849r627674_rule DKER-EE-005070 CCI-000366 MEDIUM Docker Enterprise Swarm manager auto-lock key must be rotated periodically. Rotate swarm manager auto-lock key periodically. Swarm manager auto-lock key is not automatically rotated. Rotate them periodically as a best practice. By default, keys are not rotated automatically.
    SV-235850r627677_rule DKER-EE-005080 CCI-000366 MEDIUM Docker Enterprise node certificates must be rotated as defined in the System Security Plan (SSP). Rotate swarm node certificates as appropriate. Docker Swarm uses mutual TLS for clustering operations amongst its nodes. Certificate rotation ensures that in an event such as compromised node or key, it is difficult to impersonate a node. By default, nod
    SV-235851r627680_rule DKER-EE-005170 CCI-000366 HIGH Docker Enterprise docker.service file ownership must be set to root:root. Verify that the docker.service file ownership and group-ownership are correctly set to root. docker.service file contains sensitive parameters that may alter the behavior of Docker daemon. Hence, it should be owned and group-owned by root to maintain the
    SV-235852r627683_rule DKER-EE-005180 CCI-000366 MEDIUM Docker Enterprise docker.service file permissions must be set to 644 or more restrictive. Verify that the docker.service file permissions are correctly set to 644 or more restrictive. docker.service file contains sensitive parameters that may alter the behavior of Docker daemon. Hence, it should not be writable by any other user other than ro
    SV-235853r627686_rule DKER-EE-005190 CCI-000366 HIGH Docker Enterprise docker.socket file ownership must be set to root:root. Verify that the docker.socket file ownership and group ownership is correctly set to root. docker.socket file contains sensitive parameters that may alter the behavior of Docker remote API. Hence, it should be owned and group-owned by root to maintain th
    SV-235854r627689_rule DKER-EE-005200 CCI-000366 MEDIUM Docker Enterprise docker.socket file permissions must be set to 644 or more restrictive. Verify that the docker.socket file permissions are correctly set to 644 or more restrictive. docker.socket file contains sensitive parameters that may alter the behavior of Docker remote API. Hence, it should be writable only by root to maintain the inte
    SV-235855r627692_rule DKER-EE-005210 CCI-000366 HIGH Docker Enterprise /etc/docker directory ownership must be set to root:root. Verify that the /etc/docker directory ownership and group-ownership is correctly set to root. /etc/docker directory contains certificates and keys in addition to various sensitive files. Hence, it should be owned and group-owned by root to maintain the i
    SV-235856r627695_rule DKER-EE-005220 CCI-000366 MEDIUM Docker Enterprise /etc/docker directory permissions must be set to 755 or more restrictive. Verify that the /etc/docker directory permissions are correctly set to 755 or more restrictive. /etc/docker directory contains certificates and keys in addition to various sensitive files. Hence, it should only be writable by root to maintain the integri
    SV-235857r627698_rule DKER-EE-005230 CCI-000366 HIGH Docker Enterprise registry certificate file ownership must be set to root:root. Verify that all the registry certificate files (usually found under /etc/docker/certs.d/ directory) are owned and group-owned by root. /etc/docker/certs.d/ directory contains Docker registry certificates. These certificate files must be owned and group-o
    SV-235858r627701_rule DKER-EE-005240 CCI-000366 MEDIUM Docker Enterprise registry certificate file permissions must be set to 444 or more restrictive. Verify that all the registry certificate files (usually found under /etc/docker/certs.d/ directory) have permissions of 444 or more restrictive. /etc/docker/certs.d/ directory contains Docker registry certificates. These certificate files must have permi
    SV-235859r627704_rule DKER-EE-005250 CCI-000366 HIGH Docker Enterprise TLS certificate authority (CA) certificate file ownership must be set to root:root. Verify that the TLS CA certificate file (the file that is passed along with --TLScacert parameter) is owned and group-owned by root. The TLS CA certificate file should be protected from any tampering. It is used to authenticate Docker server based on giv
    SV-235860r627707_rule DKER-EE-005260 CCI-000366 MEDIUM Docker Enterprise TLS certificate authority (CA) certificate file permissions must be set to 444 or more restrictive. Verify that the TLS CA certificate file (the file that is passed along with --TLScacert parameter) has permissions of 444 or more restrictive. The TLS CA certificate file should be protected from any tampering. It is used to authenticate Docker server ba
    SV-235861r627710_rule DKER-EE-005270 CCI-000366 HIGH Docker Enterprise server certificate file ownership must be set to root:root. Verify that the Docker server certificate file (the file that is passed along with --TLScert parameter) is owned and group-owned by root. The Docker server certificate file should be protected from any tampering. It is used to authenticate Docker server
    SV-235862r627713_rule DKER-EE-005280 CCI-000366 MEDIUM Docker Enterprise server certificate file permissions must be set to 444 or more restrictive. Verify that the Docker server certificate file (the file that is passed along with --TLScert parameter) has permissions of 444 or more restrictive. The Docker server certificate file should be protected from any tampering. It is used to authenticate Dock
    SV-235863r627716_rule DKER-EE-005290 CCI-000366 MEDIUM Docker Enterprise server certificate key file ownership must be set to root:root. Verify that the Docker server certificate key file (the file that is passed along with --TLSkey parameter) is owned and group-owned by root. The Docker server certificate key file should be protected from any tampering or unneeded reads. It holds the pri
    SV-235864r627719_rule DKER-EE-005300 CCI-000366 HIGH Docker Enterprise server certificate key file permissions must be set to 400. Verify that the Docker server certificate key file (the file that is passed along with --TLSkey parameter) has permissions of 400. The Docker server certificate key file should be protected from any tampering or unneeded reads. It holds the private key f
    SV-235865r627722_rule DKER-EE-005310 CCI-000366 HIGH Docker Enterprise socket file ownership must be set to root:docker. Verify that the Docker socket file is owned by root and group-owned by docker. Docker daemon runs as root. The default UNIX socket hence must be owned by root. If any other user or process owns this socket, then it might be possible for that non-privileg
    SV-235866r627725_rule DKER-EE-005320 CCI-000366 HIGH Docker Enterprise socket file permissions must be set to 660 or more restrictive. Verify that the Docker socket file has permissions of 660 or more restrictive. Only root and members of docker group should be allowed to read and write to default Docker UNIX socket. Hence, the Docket socket file must have permissions of 660 or more res
    SV-235867r627728_rule DKER-EE-005330 CCI-000366 HIGH Docker Enterprise daemon.json file ownership must be set to root:root. Verify that the daemon.json file ownership and group-ownership is correctly set to root. daemon.json file contains sensitive parameters that may alter the behavior of docker daemon. Hence, it should be owned and group-owned by root to maintain the integr
    SV-235868r627731_rule DKER-EE-005340 CCI-000366 HIGH Docker Enterprise daemon.json file permissions must be set to 644 or more restrictive. Verify that the daemon.json file permissions are correctly set to 644 or more restrictive. daemon.json file contains sensitive parameters that may alter the behavior of docker daemon. Hence, it should be writable only by root to maintain the integrity of
    SV-235869r627734_rule DKER-EE-005350 CCI-000366 HIGH Docker Enterprise /etc/default/docker file ownership must be set to root:root. Verify that the /etc/default/docker file ownership and group-ownership is correctly set to root. /etc/default/docker file contains sensitive parameters that may alter the behavior of docker daemon. Hence, it should be owned and group-owned by root to mai
    SV-235870r627737_rule DKER-EE-005360 CCI-000366 HIGH Docker Enterprise /etc/default/docker file permissions must be set to 644 or more restrictive. Verify that the /etc/default/docker file permissions are correctly set to 644 or more restrictive. /etc/default/docker file contains sensitive parameters that may alter the behavior of docker daemon. Hence, it should be writable only by root to maintain
    SV-235871r627740_rule DKER-EE-006190 CCI-000185 MEDIUM Docker Enterprise Universal Control Plane (UCP) must be integrated with a trusted certificate authority (CA). When integrating the UCP and Docker Trusted Registry (DTR) management consoles with an external, trusted certificate authority (CA), both UCP and DTR will validate these certificate chains per the requirements set forth by the System Security Plan (SSP).
    SV-235872r627743_rule DKER-EE-006240 CCI-002450 MEDIUM Docker Enterprise data exchanged between Linux containers on different nodes must be encrypted on the overlay network. Encrypt data exchanged between containers on different nodes on the overlay network. By default, data exchanged between containers on different nodes on the overlay network is not encrypted. This could potentially expose traffic between the container nod
    SV-235873r627746_rule DKER-EE-006270 CCI-000382 MEDIUM Docker Enterprise Swarm services must be bound to a specific host interface. By default, the docker swarm services will listen to all interfaces on the host, which may not be necessary for the operation of the swarm where the host has multiple network interfaces. When a swarm is initialized the default value for the --listen-addr
    SV-235874r627749_rule DKER-EE-006280 CCI-001453 MEDIUM Docker Enterprise Universal Control Plane (UCP) must be configured to use TLS 1.2. By default docker UCP is configured to use TLS v1.2, if this setting is misconfigured, older protocols containing security weaknesses could be utilized. TLS requires a handshake between client and server which is where the TLS version utilized in the conn