2015-12-20 3 views
2

Я создаю облачную инфраструктуру на AWS. У меня есть некоторые серверные приложения (например, серверы баз данных) и другое приложение для внешнего интерфейса (например, веб-серверы), которым необходим входящий/исходящий трафик.Строительство инфраструктуры AWS - вопросы безопасности

У меня также есть некоторые приложения для devops/dev, такие как Jenkins, и Airlfow (для управления рабочими процессами есть веб-интерфейс), которые мне нужно защитить. Некоторые из этих приложений, таких как Airflow, не имеют механизма безопасности (например, логин/пароль). И мне по-прежнему нужен доступ к нему по 80 портам из Интернета.

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

  1. Для серверных услуг, мне нужен способ моей команды разработчиков для подключения, например, в базе данных MySQL (порт: 3306).

    • Каков правильный способ сделать это?
    • Мне нужно открыть порт 3306?
    • Нужен ли мне NAT или бастион? В чем разница между ними?
    • Если я настрою хост NAT/Bastion, вы сделаете жесткую настройку порта? Если у меня есть два экземпляра базы данных mysql, как я могу подключиться друг к другу с помощью бастиона? Мне нужно выделить разные порты на бастионе и сделать порт вперёд?
  2. Для приложения DevOps/Dev:

    • Какой подсеть сделать выбор?
    • Если я ставлю на приватную подсеть, как моя команда сможет получить доступ к ней на 80-порте?
    • Нужно ли мне интранет/vpc foo для этих приложений?

ответ

2

Это все довольно общие проблемы, люди сталкиваются с на AWS. У вас много вариантов.

Вы можете поместить все свои backend и dev opps в частную подсеть. Затем у вас есть несколько вариантов безопасного подключения к ним.

Вариант 1

Использование Security Groups для ограничения доступа к этим узлам. Вы можете использовать группы безопасности, чтобы разрешать только определенные IP-адреса для подключения к вашим ресурсам.

Вариант 2

Используйте хост-бастион.

Ссылаясь на ваш вопрос «В чем разница NAT и хозяина бастиона?».

NAT просто позволяет экземпляру внутри частной подсети подключаться к Интернету путем маршрутизации всего их трафика через экземпляр NAT. Затем экземпляр NAT направляет обратный трафик из Интернета обратно на верные узлы в частной подсети.Только NAT не позволяет подключаться к экземплярам внутри вашей частной подсети извне, вам нужно объединить их с Port Address Translation для достижения этого.

Хост Bastion - это экземпляр, который вы размещаете в публичной подсети вашего VPC. Поэтому вы можете подключиться к нему из Интернета. Как только вы подключитесь к хосту Bastion, вы можете подключиться к любому другому экземпляру внутри вашего VPC, используя частный IP-адрес. Как только вы обеспечите максимальную безопасность своего бастионного хоста, вы находитесь в бизнесе.

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

Вариант 3

Настройка VPN подключение к VPC с помощью встроенного в функциональности в VPC или настройке экземпляра VPN с чем-то вроде OpenSwan работает на нем.

VPN-соединения чрезвычайно безопасны, но часто могут быть слегка темпераментными (личное мнение личного опыта).

Итак, у вас есть много вариантов. Я бы рекомендовал сделать еще несколько поисковых запросов Google и углубиться в документы AWS, поскольку это все часто задаваемые вопросы!

Удачи вам! :)

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