Блокировать «нежелательные» запросы к службе веб-интерфейса Azure Service Fabric - PullRequest
0 голосов
/ 04 июня 2018

У меня есть служба WebAPI, развернутая в Azure Service Fabric, и я хочу блокировать вредоносные / нежелательные запросы как можно раньше, в идеале - вообще не затрагивать мою службу (чтобы не зависать и не использовать циклы ЦП при обработке таких запросов).).Например, /api/foo является допустимым запросом, а /index.php является нежелательной, которую я не хочу обрабатывать.

Я использую промежуточное ПО OWIN для настройки конвейера запросов (не IIS), там можно отфильтровать запросы- но это уже слишком поздно.

Существует Azure Gateway , который можно использовать для маршрутизации различных запросов в разные места, но ничто не говорит о том, что его можно настроить для отбрасывания некоторых путей запросов.

Как лучше блокировать запросы достаточно рано?

Ответы [ 2 ]

0 голосов
/ 09 июня 2018

Шлюз приложений Azure - это балансировщик нагрузки уровня 7, который имеет функцию маршрутизации запросов по домену или пути URL-адреса.

Вы можете создать нужные вам правила, например: http://example.com/api/*resource* и все, что вы сопоставите с внешним IP-адресом, которое будет отображать статическую страницу или вообще ничего.

Но ничто не мешает вашемусервер получает запросы по действительному маршруту с недопустимыми данными, такими как http://example.com/api/*resourceThatDoesNotExist* или несколькими вызовами на тяжелой конечной точке.

Предоставляемый им брандмауэр приложения защитит вас от большинства атак DDos, но не предотвратит людей или ботов.если вы в этом заинтересованы,

Шлюз приложений не обеспечивает какой-либо интеграции с сервисной фабрикой из коробки, поэтому требует большой ручной настройки.

Azure API Management , имеет встроенную интеграцию с сервисной фабрикой и предоставляет некоторые функции, которые помогут вам повысить защиту вашего приложения:

  • Представьте фасады своим API вместо прямого доступа, чтобы вы могли предоставить точные конечные точки, которые вы хотите.
  • Проверка токена JWTs, ключи API, сертификаты и учетные данные, чтобы запросы доходили до вашего сервера только при проверке подлинности
  • , настройке квот и лимитов, чтобы вы могли предотвратить злоупотребление использованием
  • , настройку доступа и разрешений

Это добавит дополнительную безопасность, но также добавит стоимость и обслуживание.

Существует много альтернатив, но для большинства из них потребуется немного конфигурации для интеграции с вашими приложениями сервисной фабрики:

NGINX , вы можете развернуть его внутри кластера или снаружи, настроить правила маршрутизации и защитить оттуда доступ.

Вы также можете использовать другие альтернативыкак:

0 голосов
/ 04 июня 2018

Вы можете использовать обратный прокси-сервер, например Azure API Management в верхней части кластера.Или используйте Traefik или Envoy внутри кластера (работающего в качестве службы) для фильтрации и маршрутизации входящего трафика.

...