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

NACL и шлюзы NAT для общедоступных и частных подсетей

У меня VPC с 3 подсетями:

  1. Общедоступный (уровень FE, только входящий доступ в Интернет)
  2. Защищено (уровень приложений, только исходящий доступ в Интернет)
  3. Частный (уровень БД, нет доступа к Интернету вообще)

Публичная подсеть NACL блокирует все входящие из Интернета на любые порты, кроме 443.

NACL частной подсети блокирует все входящие и исходящие из Интернета.

NACL для защищенной подсети должен разрешать:

Защищенная подсеть направляется в Интернет через шлюз NAT, который находится в общедоступной подсети.

Проблема заключается в следующем: исходящий трафик из защищенной подсети в Интернет работает только в том случае, если NACL для общедоступной подсети открыт, чтобы разрешить входящий трафик на порты 1024–65535. Предположительно это связано с тем, что трафик проходит через общедоступную подсеть (поскольку именно там NAT Gateway живет).

Таким образом, я могу открыть NACL для общедоступной подсети (входящий с 0.0.0.0/0 на 1024-65535), но это делает его менее безопасным; фактически, если я открою все эти порты, я могу вообще не беспокоиться о NACL (очевидно, я также использую группы безопасности).

Я что-то упускаю?

NACL не имеют гражданства. Вы обнаружили, что вам нужно открыть Эфемерные порты чтобы разрешить трафик обратно в вашу подсеть. Почитайте об эфемерных портах.

Обычно лучше использовать группы безопасности, а не NACL, поскольку они сохраняют состояние и автоматически обслуживают эфемерные порты. Вы можете использовать оба, если хотите.

Обычно я использую только две подсети: общую и частную. Public имеет только шлюз NAT или балансировщик нагрузки, и эта подсеть разрешает общедоступные IP-адреса. В частной подсети есть все внутренние ресурсы, а на первом уровне используются группы безопасности, а не подсети.

Например, создайте группу безопасности для веб-серверов, группу безопасности для серверов приложений и группу безопасности для серверов баз данных, а затем разрешите доступ между группами безопасности по нужным портам.

IE:

  • Веб-сервер SG принимает трафик с 0.0.0.0/0 на 443
  • Сервер приложений SG принимает трафик только из подсети веб-сервера на 443 и разрешает исходящий трафик в базу данных SG.
  • База данных SG разрешает трафик только на порт 3306 с сервера приложений SG.