Я хочу знать, запускает ли конкретный контейнер докеров профиль seccomp по умолчанию. У меня нет доступа ни к командной строке, которая использовалась для запуска контейнера, ни к Dockerfile.
запуск ps aufxwww
, я вижу, что процесс /usr/bin/dockerd-current
есть варианты --seccomp-profile=/etc/docker/seccomp.json
. Это действительно файл профиля seccomp по умолчанию.
Однако процесс /usr/bin/docker-containerd-current
, запустив контейнерное приложение, нет. И docker inspect
возвращает: "SecurityOpt": null,
.
Так кому я доверяю?
РЕДАКТИРОВАТЬ
Что еще более удивительно, я запустил докер, явно указав фильтр seccomp
docker run -d --security-opt seccomp=/etc/docker/seccomp.python.json friendly
и /proc/$pid/status
файл возвращается seccomp 0
.
По словам этого человека, вместо этого я ожидал:
2 SECCOMP_MODE_FILTER
Я не эксперт и на самом деле нашел этот пост, потому что я задавал тот же вопрос в Google, но я узнал об этом.
Если вы запускаете Docker с профилем Seccomp, либо ничего не указывая, и докер будет использовать значение по умолчанию, либо указав профиль самостоятельно в daemon.json
или в командной строке, и вы запускаете:
docker run -it alpine /bin/sh
/ # grep Seccomp /proc/1/status
Seccomp: 2
Как видите, вы видите, что фильтр Seccomp включен внутри докера. Если вы явно укажете докеру, что он должен работать без профиля Seccomp, вы получите 0.
docker run -it --security-opt seccomp=unconfine alpine /bin/sh
/ # grep Seccomp /proc/1/status
Seccomp: 0
Так что вы можете увидеть это изнутри докера. Возможно, это имеет смысл, поскольку именно процессы внутри Docker должны ограничиваться профилем Seccomp.
Вы также можете проверить, что профиль что-то делает, загрузка профиля по умолчанию и удалив что-то из него, например chown
, а затем попробуйте:
docker run -it --security-opt seccomp=/etc/docker/myseccomp.json alpine /bin/sh
/ # touch testfile
/ # chown 100.100 testfile
chown: testfile: Operation not permitted
Наконец, согласно страница руководства похоже, что из ядра 4.14 вы можете увидеть что-то в:
/proc/sys/kernel/seccomp/actions_avail
В моем ядре 4.9 этого нет. Надеюсь, это кому-то поможет.