Как заблокировать HTTP-запросы к веб-приложению Azure, за исключением запросов от определенной другой службы Azure - PullRequest
0 голосов
/ 04 апреля 2019

Моя установка Azure включает в себя два веб-приложения и сервер PostgreSQL.Одним из веб-приложений является внешний интерфейс Node, который должен быть доступен для общественности.Другой - это бэкэнд Python, который получает запросы от приложения Node и связывается с базой данных Postgres.Приложение Python содержит конечные точки HTTP, к которым никто не должен иметь доступ.

Каков рекомендуемый подход для защиты этого приложения Python от нежелательного трафика?Должен ли я напрямую блокировать трафик через какую-то конфигурацию Azure или просто проверять подлинность моих HTTP-запросов?

Я пытался разрешить только исходящим IP-адресам приложения Node взаимодействовать с приложением Python через конфигурацию Azure.,Однако из-за этого приложение Python не может связаться с базой данных, и, кроме того, я не могу даже SSH или просматривать его журналы с этой конфигурацией.

1 Ответ

1 голос
/ 04 апреля 2019

Это действительно зависит от ваших требований. Если стоимость не является опцией, один из способов защитить приложение python - поместить его в среду службы приложений (ASE). Это изолированный экземпляр веб-приложений Azure, который можно защитить с помощью Internal Load Balancer . Это решение обеспечит вам большую безопасность, так как вы можете разрешить Группе сетевой безопасности блокировать интернет-трафик и настроить приложение Node для взаимодействия с виртуальной сетью через VPN. Этот подход также является одним из более дорогих подходов для PaaS Web App.

Другие варианты включают настройку вашего «внутреннего» питона в качестве IaaS (но тогда вам придется управлять обновлениями), или вы можете использовать шлюз приложений или стороннее WAF-устройство, такое как KEMP (у них есть устройство 200 Мбит / с, которое бесплатно), чтобы защитить ваше приложение.

Наконец, вы можете взглянуть на масштабируемость, когда вы помещаете очередь или какого-либо другого посредника между двумя вашими веб-приложениями. Это даст возможность независимого масштабирования и даст вам возможность заблокировать приложение Python, чтобы принимать только сообщения из очереди, а не ваш внешний интерфейс. Пример арки можно увидеть здесь (вы можете добавить функцию в этой арке для своего приложения на python)

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...