2015-12-05 4 views
2

У меня есть 2 физических машины в центре данных координатного центра и вы хотите сделать наилучший из них. Я думаю использовать Docker, Weave для запуска высокозащищенного веб-приложения (Tomcat, Mysql, Mongodb) и хочу быть более осторожным и безопасным. Ниже приведена моя архитектура. Могут ли люди с опытом развертывания докеров обеспечить обратную связь?Докер только на виртуальных машинах, а не на физическом компьютере?

a) Создайте ОС centos 6 на обеих физических машинах с SSH и установите Shorewall. Shorewall FW будет ограничивать только ssh и порт 80 443, а 80 443 будет перенаправлен на виртуальный компьютер, работающий с контейнером tomcat. На этой физической машине не установлен докер.

б) Установка VirtualBox на физических машинах и запускать несколько виртуальных машин, и каждая виртуальная машина доступна через SSH туннель на физической машине, обеспечивая тем самым дополнительный уровень безопасности

) иметь докер и плести сеть, построенная на каждом VM и, следовательно, строить сеть переплетения на виртуальных машинах в качестве хостов

d) Все контейнеры tomcat, mysql, mongodb запускаются только на виртуальных машинах.

Преимущество этой конфигурации в том, что мои физические машины и Docker разделены и добавили дополнительный уровень безопасности.

Я планирую построить это. Я хотел бы знать, если кто-либо предвосхищает любые проблемы или проблемы или предложения для более безопасного/надежного способа использования 2 серверов.

приветствуется любое руководство или ссылки для дальнейшего ознакомления.

Thanks UK.

ответ

2

Ваша инфраструктура - хорошее начало, но только начало.

Вам нужно будет правильно настроить эти приложения, чтобы быть более безопасными (независимо от того, как и где они работают, в контейнерах докеров): например, убедитесь, что ваши ответы заголовка не включают имя приложение и его версия (см Apache Tomcat 8 Security considerations или «Improving Apache Tomcat Security» гораздо больше)

Плюс ко всему, проблема с Docker контейнера процессы, выполняющиеся как корень в этих контейнерах и make system calls directly to the kernel (без ограничения области действия по умолчанию, что означает все системные вызовы разрешается).
Вот что Докер 1,9 начал делать с PR 12648 (Phase 1 implementation of user namespaces as a remapped container root) и issue 15187

  • Все контейнеры имеют свое собственное пространство имен пользователей (эффективно предотвращая использование --net=host или --net=container:<id>).
  • Установка всего демона позволяет переназначить пользователя root для всех контейнеров.
+0

Большое спасибо VonC за ваши комментарии. Вы узнали, как лучше настроить Docker Container? Я вижу различные учебники, но не конкретные стандарты для использования в производстве. – uk1974

+0

@ uk1974 в основном https://docs.docker.com/compose/production/, но в остальном установки, которые я вижу в эти дни, активируют недавнюю функцию libnetwork (http://www.techrepublic.com/article/docker-1-9 -Запускает-производства готовых рабочих нагрузок,-решает-контейнеры-принятие-вызовы) / – VonC