Как перечислить все известные корневые ключи в Docker (Docker Content Trust)
Как я могу перечислить все корневые ключи Docker Content Trust в моей системе?
Я настраиваю процесс CI, который будет использовать
debian:stable-slim
образ докера для создания выпусков моего приложения в экземплярах эфемерного облака. Я хочу быть уверен, что каждый раз, когда моя новая система сборки
docker pull debian:stable-slim
, он не просто слепо TOFU корневого открытого ключа, используемого для подписи образов докеров Debian, тем самым разрушая всю модель безопасности DCT.
Перед загрузкой данного образа докеры, как я могу проверить, есть ли в системе уже открытый корневой ключ образа или нет?
1 ответ
Чтобы узнать, какие ключи у вас уже есть в вашей системе (успешно / вслепую / незаметно полученные с помощью TOFU, если вы сами не поместили их туда), проверьте
$HOME/.docker/trust/tuf/docker.io/library
Например:
root@disp9131:~# export DOCKER_CONTENT_TRUST=1
root@disp9131:~#
root@disp9131:~# docker pull debian:stable-slim
Pull (1 of 1): debian:stable-slim@sha256:89ff9e144a438f6bdf89fba6a1fdcb614b6d03bc14433bbb937088ca7c7a7b6d
sha256:89ff9e144a438f6bdf89fba6a1fdcb614b6d03bc14433bbb937088ca7c7a7b6d: Pulling from library/debian
696098ac4087: Pull complete
Digest: sha256:89ff9e144a438f6bdf89fba6a1fdcb614b6d03bc14433bbb937088ca7c7a7b6d
Status: Downloaded newer image for debian@sha256:89ff9e144a438f6bdf89fba6a1fdcb614b6d03bc14433bbb937088ca7c7a7b6d
Tagging debian@sha256:89ff9e144a438f6bdf89fba6a1fdcb614b6d03bc14433bbb937088ca7c7a7b6d as debian:stable-slim
root@disp9131:~#
root@disp9131:~# ls $HOME/.docker/trust/tuf/docker.io/library
debian
root@disp9131:~#
root@disp9131:~# docker pull ubuntu:latest
Pull (1 of 1): ubuntu:latest@sha256:bc2f7250f69267c9c6b66d7b6a81a54d3878bb85f1ebb5f951c896d13e6ba537
sha256:bc2f7250f69267c9c6b66d7b6a81a54d3878bb85f1ebb5f951c896d13e6ba537: Pulling from library/ubuntu
d72e567cc804: Pull complete
0f3630e5ff08: Pull complete
b6a83d81d1f4: Pull complete
Digest: sha256:bc2f7250f69267c9c6b66d7b6a81a54d3878bb85f1ebb5f951c896d13e6ba537
Status: Downloaded newer image for ubuntu@sha256:bc2f7250f69267c9c6b66d7b6a81a54d3878bb85f1ebb5f951c896d13e6ba537
Tagging ubuntu@sha256:bc2f7250f69267c9c6b66d7b6a81a54d3878bb85f1ebb5f951c896d13e6ba537 as ubuntu:latest
root@disp9131:~#
root@disp9131:~# ls $HOME/.docker/trust/tuf/docker.io/library
debian ubuntu
root@disp9131:~#
ПРЕДУПРЕЖДЕНИЕ! Обратите внимание, что доверие к содержимому докеров по умолчанию отключено. Даже после того, как он включен, он будет молча загружать и безмолвно доверять любым полученным корневым ключам. Следовательно, если вы используете Docker в эфемерной системе сборки, которая запускается заново при каждом выполнении, то DCT полностью представляет собой театр безопасности и будет уязвим для атак MITM при каждом запуске.