Блокировка запросов со скомпрометированными токенами¶
ПроAPI Защита предоставляет функцию для предотвращения использования утечек токенов аутентификации. В этом руководстве описывается, как включить эту функцию с помощью контейнера Docker ПроAPI Защита для REST API или GraphQL API.
Эта возможность зависит от предоставленных вами данных о скомпрометированных токенах. Чтобы активировать ее, смонтируйте файл .txt, содержащий эти токены, в контейнер firewall Docker, затем установите соответствующую переменную среды.
Для REST API, если в запросе появляется какой-либо из помеченных токенов, ПроAPI Защита ответит, используя код состояния, указанный в переменной среды APIFW_CUSTOM_BLOCK_STATUS_CODE
. Для GraphQL API любой запрос, содержащий помеченный токен, будет заблокирован, даже если он соответствует подключенной схеме.
Чтобы включить функцию denylist:
-
Создайте текстовый файл
.txt
с скомпрометированными токенами. Каждый токен должен быть в новой строке.eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzb21lIjoicGF5bG9hZDk5OTk5ODIifQ.CUq8iJ_LUzQMfDTvArpz6jUyK0Qyn7jZ9WCqE0xKTCA eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzb21lIjoicGF5bG9hZDk5OTk5ODMifQ.BinZ4AcJp_SQz-iFfgKOKPz_jWjEgiVTb9cS8PP4BI0 eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzb21lIjoicGF5bG9hZDk5OTk5ODQifQ.j5Iea7KGm7GqjMGBuEZc2akTIoByUaQc5SSX7w_qjY8
-
Смонтируйте файл denylist в контейнере Docker ПроAPI Защита. Например, в вашем
docker-compose.yaml
внесите следующее изменение:... volumes: - <HOST_PATH_TO_SPEC>:<CONTAINER_PATH_TO_SPEC> + - <HOST_PATH_TO_LEAKED_TOKEN_FILE>:<CONTAINER_PATH_TO_LEAKED_TOKEN_FILE> ...
-
Смонтируйте файл denylist в контейнере Docker ПроAPI Защита. Например, в вашем docker-compose.yaml внесите следующее изменение:
Переменная среды | Описание |
---|---|
APIFW_DENYLIST_TOKENS_FILE | Путь в контейнере к подключенному файлу denylist. Пример: /auth-data/tokens-denylist.txt . |
APIFW_DENYLIST_TOKENS_COOKIE_NAME | Имя файла cookie, который содержит маркер аутентификации. |
APIFW_DENYLIST_TOKENS_HEADER_NAME | Название заголовка, передающего токен аутентификации. Если указаны оба APIFW_DENYLIST_TOKENS_COOKIE_NAME и APIFW_DENYLIST_TOKENS_HEADER_NAME , ПроAPI Защита проверяет оба последовательно. |
APIFW_DENYLIST_TOKENS_TRIM_BEARER_PREFIX | Указывает, следует ли удалять префикс Bearer из заголовка аутентификации при сравнении со списком отказов. Если токены в denylist не имеют этого префикса, но есть в заголовке аутентификации, токены могут быть сопоставлены неправильно. Принимает true или false (по умолчанию). |