5.9 Open only needed ports on container

Information

https://docs.docker.com/articles/networking/#binding-ports

Solution

Fix the Dockerfile of the container image to expose only needed ports by your
containerized application. You can also completely ignore the list of ports defined in the
Dockerfile by NOT using '-P' (UPPERCASE) flag when starting the container. Use the '-p'
(lowercase) flag to explicitly define the ports that you need for a particular container
instance.For example,$> docker run -i -t -p 5000 -p 5001 -p 5002 centos /bin/bash

Impact-None.

Default Value-By default, all the ports that are listed in the Dockerfile under EXPOSE instruction for an
image are opened when container is run with '-P' flag.

See Also

https://workbench.cisecurity.org/files/514

Item Details

Category: CONFIGURATION MANAGEMENT

References: 800-53|CM-7b.

Plugin: Unix

Control ID: ca5d155061c5ddc0812d9f17e7d1c228565c0f13a9173f8e657d2732f5b2e2c1