Вы находитесь на странице: 1из 2

Работа с Docker Security

Профиль Seccomp
docker container run --security-opt seccomp=[PROFILE] [IMAGE] [CMD]

Проверка Seccomp:

docker container run --rm -it alpine sh


whoami
mount /dev/sda1 /tmp
swapoff -a

Использование кастомного профиля Seccomp:

mkdir -p seccomp/profiles/chmod
cd seccomp/profiles/chmod
wget
https://raw.githubusercontent.com/moby/moby/master/profiles/seccomp/default.json

Удаление ​chmod​, ​fchmod и ​fchmodat из белого списка syscalls. Syscalls


начинаются со строки 52.

Применение кастомного профиля Seccomp:

docker container run --rm -it --security-opt seccomp=./default.json alpine sh


chmod +r /usr

Capabilities:
Сброс возможностей:

docker container run --cap-drop=[CAPABILITY] [IMAGE] [CMD]

Тестирование ​mknod​:

docker container run --rm -it alpine sh


mknod /dev/random2 c 1 8
Отключение ​mknod​:

docker container run --rm -it --cap-drop=MKNOD alpine sh


mknod /dev/random2 c 1 8

Runtime privilege and Linux capabilities

Контрольные группы (cgroups)


Ограничение CPU и памяти:

docker container run -it --cpus=[VALUE] --memory=[VALUE][SIZE] --memory-swap


[VALUE][SIZE] [IMAGE] [CMD]

Установка ограничений памяти в контейнере:

docker container run -d --name resource-limits --cpus=".5" --memory=512M


--memory-swap=1G rivethead42/weather-app

Инспектирование лимитов ресурсов (resource-limits):

docker container inspect resource-limits

Runtime constraints on resources


More info on resource constraints

Запуск Docker Bench for Security


Запуск Docker Bench Security:

docker container run --rm -it --network host --pid host --userns host --cap-add
audit_control \
-e DOCKER_CONTENT_TRUST=$DOCKER_CONTENT_TRUST \
-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

Вам также может понравиться