📖 Scenario: You are a DevOps engineer responsible for improving the security of Docker containers in your company. You want to apply CIS Docker Benchmarks to check your Docker setup against best security practices.
🎯 Goal: Build a simple Docker environment and run CIS Docker Benchmarks to identify security issues.
📋 What You'll Learn
Create a Docker container running a basic web server
Add a configuration variable to specify the container name
Run the CIS Docker Benchmarks tool on the container
Display the benchmark results in the console
💡 Why This Matters
🌍 Real World
Docker containers are widely used in software deployment. Ensuring their security with CIS Benchmarks helps prevent vulnerabilities and attacks.
💼 Career
DevOps engineers and security professionals use CIS Docker Benchmarks to audit and improve container security in production environments.
Progress0 / 4 steps
1
Create a Docker container running nginx
Write a Docker command to run an nginx container named webserver in detached mode.
Docker
Hint
Use docker run -d --name webserver nginx to start the container in the background.
2
Add a variable for container name
Create a shell variable called CONTAINER_NAME and set it to webserver.
Docker
Hint
Use CONTAINER_NAME=webserver to create the variable.
3
Run CIS Docker Benchmarks on the container
Run the CIS Docker Benchmarks using the docker run command with the official docker/docker-bench-security image.
Docker
Hint
Use the official docker/docker-bench-security image with required volumes and flags.
4
Display the CIS Docker Benchmarks results
Print the output of the CIS Docker Benchmarks command to the console so you can see the security check results.
Docker
Hint
The docker/docker-bench-security container prints results directly to the console.
Practice
(1/5)
1. What is the main purpose of the CIS Docker Security Benchmark?
easy
A. To provide guidelines for securing Docker containers
B. To speed up Docker container startup time
C. To increase Docker image size for better performance
D. To automate Docker container deployment
Solution
Step 1: Understand CIS Docker Benchmark purpose
The CIS Docker Security Benchmark is designed to help users secure Docker containers by providing best practice guidelines.
Step 2: Compare options with purpose
Options B, C, and D relate to performance or automation, not security guidelines.
Final Answer:
To provide guidelines for securing Docker containers -> Option A
Quick Check:
Security guidelines = A [OK]
Hint: CIS benchmarks focus on security rules and best practices [OK]
Common Mistakes:
Confusing security with performance improvements
Thinking CIS automates deployment
Assuming CIS increases image size
2. Which command runs the Docker Bench Security script to check your Docker host against CIS benchmarks?
easy
A. docker bench run security
B. docker run --rm -it docker/docker-bench-security
C. docker security scan bench
D. docker run bench-security
Solution
Step 1: Recall the official Docker Bench Security command
The correct command is to run the official Docker image with docker run --rm -it docker/docker-bench-security.
Step 2: Check other options for syntax errors or invalid commands
Options B, C, and D are not valid Docker commands or do not match the official usage.
Final Answer:
docker run --rm -it docker/docker-bench-security -> Option B
Quick Check:
Official Docker Bench command = A [OK]
Hint: Use official Docker image with docker run --rm -it [OK]
Common Mistakes:
Using incorrect or incomplete docker run syntax
Assuming 'docker bench' is a built-in command
Mixing up command order or flags
3. After running Docker Bench Security, you see this output line: [WARN] 4.1 - Ensure that containers are not running in privileged mode What does this warning mean?
medium
A. Containers are using too much CPU
B. Containers are missing network access
C. Containers are running with extra permissions that can be risky
D. Containers are not logging output
Solution
Step 1: Understand privileged mode in Docker
Privileged mode gives containers extended permissions on the host, which can be a security risk.
Step 2: Interpret the warning message
The warning indicates containers are running with these risky extra permissions.
Final Answer:
Containers are running with extra permissions that can be risky -> Option C
Quick Check:
Privileged mode risk = C [OK]
Hint: Privileged mode means extra risky permissions [OK]
Common Mistakes:
Confusing privileged mode with resource usage
Thinking it relates to network or logging
Ignoring security implications of privileged mode
4. You ran Docker Bench Security and got this error: ERROR: 5.1 - Ensure Docker daemon is configured to use user namespaces: Not configured How can you fix this issue?
medium
A. Restart Docker containers without changes
B. Remove all Docker images and rebuild
C. Increase Docker daemon CPU limits
D. Enable user namespaces in the Docker daemon configuration file
Solution
Step 1: Understand user namespaces in Docker
User namespaces isolate container users from host users, improving security.
Step 2: Fix the error by enabling user namespaces
This requires editing the Docker daemon config (e.g., /etc/docker/daemon.json) to enable user namespaces and restarting Docker.
Final Answer:
Enable user namespaces in the Docker daemon configuration file -> Option D
Quick Check:
User namespaces fix = B [OK]
Hint: Enable user namespaces in daemon config to fix error [OK]
Common Mistakes:
Restarting containers without config changes
Changing CPU limits unrelated to namespaces
Deleting images instead of fixing config
5. You want to improve your Docker host security by applying CIS Docker Benchmark recommendations. Which combination of actions is best?
hard
A. Run Docker Bench Security regularly, fix warnings, and restrict container privileges
B. Only update Docker to the latest version and ignore warnings
C. Disable Docker logging to improve performance and skip scans
D. Run containers as root for easier management and skip security checks
Solution
Step 1: Identify best practices from CIS Docker Benchmark
Regular scanning, fixing warnings, and limiting container privileges are key security steps.
Step 2: Evaluate other options for security risks
Options A, B, and C ignore warnings or increase risks by disabling logs or running as root.
Final Answer:
Run Docker Bench Security regularly, fix warnings, and restrict container privileges -> Option A
Quick Check:
Regular scans + fixes + least privilege = D [OK]
Hint: Scan often, fix issues, and limit privileges for best security [OK]
Common Mistakes:
Ignoring warnings thinking updates are enough
Disabling logs reduces visibility and security
Running containers as root increases risk
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.