Назад | Перейти на главную страницу

Как обеспечить связь веб-сервера с сервером приложений и сервером базы данных?

У меня есть приложение с изображениями докеров всего. Я установил Изолированные серверы для моего приложения.

Веб-сервер => Сервер приложений => Сервер базы данных

Веб-сервер настроен на Nginx с SSL конфигурация на месте. Сервер приложений и базы данных напрямую не открыт для внешнего мира, веб-сервер будет обращаться к серверу приложений, а сервер приложений - к серверу базы данных.

Все коммуникации, кроме веб-сервера, осуществляются по протоколу HTTP, но эти серверы (сервер приложений и сервер базы данных) не имеют прямого доступа.

Как сделать Веб-сервер => Сервер приложений => Сервер базы данных это общение безопасно?

НОТА: На сервере приложений и сервере базы данных для моего приложения работают контейнеры Docker.

Короткий ответ

Когда речь заходит о безопасности, не существует серебряной пули, будь то подход или продукт.

Длинный ответ

Как упоминалось другими, это вопрос, к которому можно подойти с разных сторон. Правильный подход будет рассматривать стек от начала до конца и соответственно уменьшать векторы атаки. Некоторые примеры включают, но не ограничиваются:

  • Сети - Обеспечение надлежащей сегментации сети и списков контроля доступа (ACL) между уровнями, а также надлежащей реализации межсетевого экрана на периметре, чтобы упомянутые уровни сервера приложений и базы данных оставались недоступными извне.
  • Серверы - Надлежащая реализация исправлений и соответствия, например, Руководства по технической реализации безопасности (STIG) и реализация инфраструктуры открытого ключа (PKI / SSL), где это возможно.
  • Приложения - Внедрение любых поставщиков и / или сообществ поставщиков, которые одобрили усиление защиты конфигурации и передовые методы.
  • Процессы - Правильное использование управления доступом на основе ролей (RBAC) с разделением проблем и принципом наименьших привилегий.