Содержит Docker Engine с AppArmor

Ввиду напоминаний о том, что Docker Engine должен запускаться вместе с AppArmor или SELinux, как запустить Docker под AppArmor в Ubuntu 14.04?

Документация Docker Security и документация LXC упоминают, что Ubuntu поставляется с шаблонами AppArmor для LXC. Что нужно сделать, чтобы воспользоваться этим преимуществом?

Предполагая, что по умолчанию хост Ubuntu Server 14.04 и Docker установлены с curl -s https://get.docker.io/ubuntu/ | sudo sh, что нужно сделать дальше, чтобы при запуске контейнера сам Docker Engine будет содержаться в AppArmor?

6
задан 19 June 2014 в 19:10

2 ответа

Ну, это - проблема с использованием пакетов снаружи репозиториев Ubuntu. Вы должны будете или попросить, чтобы Разработчики Механизма Докера записали профиль apparmor для Вас или записали Ваше собственное. То же с профилем selinux.

Теперь вот то, где Вы начнете получать опции, должны Вы использовать или не использовать LXC, apparmor, selinux, и т.д.

, Например, разработчики Докера чувствуют, что необходимо обновить - http://blog.docker.com/ , и это - конечно, один способ управлять ситуацией.

Apparmor и selinux защищают Вас (потенциально) от использования нулевого дня, но использование фиксируется через обновления.

преимущество apparmor состоит в том, что легче учиться. Недостаток - то, что необходимо записать владение профилем.

Видят apparmor документацию

https://help.ubuntu.com/community/AppArmor#Profile_customization

https://wiki.ubuntu.com/AppArmor

или, для практического примера, с помощью довольно простой программы, видят http://blog.bodhizazen.com/linux/apparmor-privoxy-profile/

, пока мы находимся на мнениях...

RHEL и Fedora немного опережают события по сравнению с Ubuntu с точки зрения Виртуализации. RHEL работает с Докером для оказания поддержки, включая selinux

http://www.redhat.com/about/news/press-archive/2014/4/red-hat-docker-expand-collaboration

, я не уверен в Fedora и Докере, но Fedora использует selinux и virtmanager для управления LXC - http://major.io/2014/04/21/launch-secure-lxc-containers-on-fedora-20-using-selinux-and-svirt/

В конце дня, необходимо будет рассмотреть мнения и пойти с решением, которое работает лучше всего на Вас.

4
ответ дан 19 June 2014 в 19:10

Текущая версия механизма докера 1.10.2-cs1, и здесь является Профилем AppArmor по умолчанию для рабочих контейнеров, которые Докер обеспечивает в https://docs.docker.com/engine/security/apparmor /

#include <tunables/global>


profile docker-default flags=(attach_disconnected,mediate_deleted) {

  #include <abstractions/base>


  network,
  capability,
  file,
  umount,

  deny @{PROC}/{*,**^[0-9*],sys/kernel/shm*} wkx,
  deny @{PROC}/sysrq-trigger rwklx,
  deny @{PROC}/mem rwklx,
  deny @{PROC}/kmem rwklx,
  deny @{PROC}/kcore rwklx,

  deny mount,

  deny /sys/[^f]*/** wklx,
  deny /sys/f[^s]*/** wklx,
  deny /sys/fs/[^c]*/** wklx,
  deny /sys/fs/c[^g]*/** wklx,
  deny /sys/fs/cg[^r]*/** wklx,
  deny /sys/firmware/efi/efivars/** rwklx,
  deny /sys/kernel/security/** rwklx,
}

Для загрузки нового профиля в AppArmor: $ apparmor_parser -r -W /path/to/your_profile

при выполнении контейнера он использует политику по умолчанию докером, если Вы не переопределяете его с безопасностью - выбирают опция. Например, следующее явно указывает другую политику докера:

$ docker run --rm -it --security-opt apparmor:docker-different hello-world

0
ответ дан 19 June 2014 в 19:10

Другие вопросы по тегам:

Похожие вопросы: