Уменьшение возможностей демона Docker

Уменьшение возможностей демона Docker

Я хотел бы ограничить возможности моих демонов Docker, используемых для запуска производственных контейнеров, чтобы уменьшить их поверхность атаки.

Я хочу:

  • ограничение извлечения из одного реестра
  • запретитьpush
  • запретитьbuild
  • вероятно, запретит многие другие функции

Вероятно, речь идет о блокировке некоторых маршрутов REST API демона.

Я это прочиталДокументация Docker об уменьшении поверхности атаки демонано там ничего не сказано об отключении функций демона.

Возможно ли это? Как мне это сделать?

решение1

Во-первых, доступ к API docker обычно эквивалентен доступу root на хосте. Не предоставляйте пользователям доступ к этому API, которым вы в противном случае не доверяли бы как root. Существует работа по поддержке rootless, которая входит в GA с движком docker, поэтому вы можете изучить это, а не пытаться заблокировать API.

Большинство попыток ограничить движок подразумевают обертывание API Docker с помощью API более высокого уровня, например, Kubernetes, Docker EE и других абстракций более высокого уровня, которые обеспечивают детализированный RBAC без предоставления прямого доступа к API Docker.

Тем не менее, вы можете ограничить API Docker, как вы и просили, используяплагин authz. Первоначально единственная известная мне реализация с открытым исходным кодом была предоставленаповоротный замок. В последнее время,OPA предоставила собственную реализацию. Просто поймите, что любой пользователь с таким доступом к API может потенциально отключить или обойти этот плагин с помощью доступа уровня root, который у него в противном случае был бы в Docker.

Связанный контент