Docker
TMA-DOCKER-7.2
Ensure that swarm services are bound to a specific host interface
Description
By default, Docker swarm services will listen on all interfaces on the host. This 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 flag is 0.0.0.0:2377 which means that swarm services will listen on all interfaces on the host. Reported as a manual review item: the audit needs a site-specific judgement.
How it is checked
Audit method: Manual review
You should check the network listener on port 2377 (the default for docker swarm) and 7946 (container network discovery), and confirm that it is only listening on specific interfaces. For example, in this could be done using the following command: ss -lp | grep -iE ':2377|:7946'
How it is fixed
Fix method: Guidance or infrastructure patch
Resolving this issues requires re-initialization of the swarm, specifying a specific interface for the --listen-addr parameter.
Properties
- Operating systems
- Any
- Tags
- dockermanual
- Reference
- CIS Docker Benchmark v1.9.0 - 7.2 Ensure that swarm services are bound to a specific host interface