1. Thực hành Seccomp Profile (giới hạn system calls)
- Tạo container test:
docker container run --rm -it alpine sh
- Kiểm tra quyền root:
whoami # --> root
- Thử mount:
mount /dev/sda1 /tmp # bị từ chối do profile seccomp mặc định
swapoff -a # cũng bị từ chối
- Tạo profile Seccomp tùy chỉnh:
mkdir -p seccomp/profiles/chmod
cd seccomp/profiles/chmod
wget https://raw.githubusercontent.com/moby/moby/master/profiles/seccomp/default.json
- Xóa quyền chmod và fchmod khỏi white list:
- Mở file
default.json - Tìm tới danh sách
syscallstại dòng ~52 - Xóa
"chmod"và"fchmod"
- Mở file
- Chạy container với profile tùy chỉnh:
docker container run --rm -it \
--security-opt seccomp=./default.json \
alpine sh
- Thử chmod:
chmod +r /usr # --> bị từ chối
2. Thực hành Capabilities
- Kiểm tra capability mặc định:
docker container run --rm -it alpine sh
mknod /dev/random2 c 1 8 # Thành công
- Drop capability MKNOD:
docker container run --rm -it \
--cap-drop=MKNOD \
alpine sh
- Thử lại:
mknod /dev/random2 c 1 8 # --> Permission denied
Liệt kê các capabilities có thể add/drop: link tham khảo từ Docker docs.
3. Giới hạn CPU, Memory, Swap
- Tạo container giới hạn tài nguyên:
docker container run -d --name resource-limits \
--cpus=0.5 \
--memory=512M \
--memory-swap=1G \
<dockerhub-user>/weather-app
- Kiểm tra cấu hình:
docker container inspect resource-limits
- Xem các trường:
CpuSharesMemory(~512MB)NanoCpus(~0.5 CPU)MemorySwap(~1GB)
4. Docker Bench for Security
- Công cụ audit security cho Docker host
docker container run --rm -it \
--net host \
--pid host \
--userns host \
--cap-add audit_control \
-e DOCKER_CONTENT_TRUST=1 \
-v /var/lib:/var/lib \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /usr/lib/systemd:/usr/lib/systemd \
-v /etc:/etc \
--label docker-bench-security \
docker/docker-bench-security
- Kết quả:
- Số lượng các kiểm tra bảo mật đã chạy.
- Kết quả:
info,note,pass,warning. - Cần chú ý các mục cảnh báo
warningđể xử lý.
Tổng kết
| Nội dung | Mục đích |
|---|---|
| Seccomp profile | Giới hạn system calls |
| Capabilities | Bổ sung hoặc giảm bớt quyền root |
| Resource limits | Giới hạn CPU, Memory, Swap |
| Docker Bench | Đánh giá bảo mật host Docker |