Как предотвратить анонимные запросы к серверу REST API / NGINX при одновременном разрешении аутентифицированных запросов к конечным точкам? - PullRequest
1 голос
/ 31 января 2020

Первоначальное раскрытие:

Я новичок в nginx и конфигурации обратного прокси-сервера в целом.

Фон

У меня есть производная от Swagger, FOSS, https - доступный API REST [написанный другой стороной], работающий на определенном порту экземпляра EC2 CentOS 7 за обратным прокси-сервером nginx 1.16.1 (по пути https://foo_domain/bar_api/); для моих целей этот API должен быть доступен из широкого спектра сервисов, не все из которых публикуют sh свои диапазоны IP, т. е. API должен быть открыт для трафика c с любого IP.

Доступ к конечным точкам данных API (например, https://foo_domain/bar_api/resource_id) контролируется функцией входа в систему, расположенной в https://foo_domain/bar_api/foobar/login, поддерживаемой аутентификацией токена, которая работает нормально.

Проблема

Однако проблема в том, что анонимный пользователь может получить

https://foo_domain/bar_api

без входа в систему, что приводит к потенциально уязвимым данные о возвращаемой конфигурации сервера API, такие как истинный порт API, версия сервера, некоторые из доступных конечных точек и параметров и т. д. c. Это неприемлемо для этой цели с точки зрения безопасности.

Вопрос

Как предотвратить анонимные запросы GET к конечной точке / bar_api /, в то же время разрешив беспрепятственное выполнение запросов входа в систему и аутентифицированных данных к конечным точкам за пределами / bar_api /? Или, в противном случае, как я могу предотвратить возвращение данных по таким запросам?

...