2015-10-24 3 views
5

Я понимаю, что для докеры-демона требуется runs as root, поэтому мне говорят, что это может привести к некоторым последствиям для безопасности, например, если контейнер был взломан, злоумышленники могут вносить изменения в системные файлы хоста.Запуск докеров надежно

Какие меры предосторожности можно принять для уменьшения ущерба в случае нападения?

Есть ли практика, которую я должен знать при запуске демона докеров? Я думал о том, что у вас есть бродяга, чтобы запустить vm, и вместо этого у docker запускается vm.

+0

Это не похоже на вопрос программирования для меня ... Возможно, [Unix/Linux SE] (http://linux.stackexchange.com) или [security SE] (http: // security.stackexchange.com), или если для вашего дистрибутива Linux есть специальный SE для дистрибутива (если он есть, например [this] (http://askubuntu.com)), было бы лучше. Не уверен, где вы, скорее всего, получите хороший ответ, поэтому просмотрите связанные с докером вопросы (и удалите этот вопрос, если вы попросите в другом месте, избегайте дублирования между сайтами SE). – hyde

+0

@hyde понял. В любом случае я могу передать вопрос или перепроверить его? – jkris

+2

Это определенно о программировании. Способ установки и установки программы - вот что может означать меры предосторожности и практика. Я бы проголосовал против закрытия, если бы мог. –

ответ

4

Основным источником информации, касающейся практики безопасности докеров, является страница «Docker security».

только доверенные пользователи должны иметь возможность контролировать свой Docker демон.
Это прямое следствие некоторых мощных функций Docker.

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

Если вы раскрываете API REST, вы должны сделать это через https.

Наконец, если вы запустите Docker на сервере, рекомендуется запускать исключительно Docker на сервере, и переместить все другие услуги, в контейнерах, контролируемых Докер

Что касается ВМ, см "Are Docker containers really secure? "

Самая большая проблема заключается в том, что все в Linux не находится в пространстве имен. В настоящее время Docker использует пять пространств имен для изменения процессов в системе: Process, Network, Mount, Hostname, Shared Memory.

Хотя они дают пользователю некоторый уровень безопасности, он ни в коем случае не является всеобъемлющим, например KVM (Kernel-based Virtual Machine).
В среде KVM процессы на виртуальной машине напрямую не связаны с ядром хоста. У них нет доступа к файловым системам ядра, таким как /sys и /sys/fs, /proc/*.

Смежные вопросы