Docker
TMA-DOCKER-5.19
Ensure that the default ulimit is overwritten at runtime if needed
Description
The default ulimit is set at the Docker daemon level. However, if you need to, you may override the default ulimit setting during container runtime. ulimit provides control over the resources available to the shell and to processes started by it. Setting system resource limits in a prudent fashion, protects against denial of service conditions. Reported as a manual review item: the audit needs a site-specific judgement.
How it is checked
Audit method: Manual review
You should run the command below: docker ps --quiet --all | xargs docker inspect --format '{{ .Id }}: Ulimits={{ .HostConfig.Ulimits }}' This command should return Ulimits=<no value> for each container instance unless there is a need in a specific case to override the default settings.
How it is fixed
Fix method: Guidance or infrastructure patch
You should only override the default ulimit settings if needed in a specific case. For example, to override default ulimit settings start a container as below: docker run -ti -d --ulimit nofile=1024:1024 centos sleep 1000
Properties
- Operating systems
- Any
- Tags
- dockermanual
- Reference
- CIS Docker Benchmark v1.9.0 - 5.19 Ensure that the default ulimit is overwritten at runtime if needed