Как обезопасить / защитить использование API-ключа Algolia? - PullRequest
0 голосов
/ 04 января 2019

Из официальных руководств по https://community.algolia.com/instantsearch.js/, Algolia требует, чтобы вы вводили ключ в ваше приложение и использовались с каждым запросом API.Если кто-то выкопает это, что помешает ему спамить поисковые запросы вашим ключом API?

1 Ответ

0 голосов
/ 08 января 2019

Если кто-то выкопает это, что помешает ему спамить поисковые запросы с помощью вашего ключа API?

Хотите ли вы жестокую правду?Ничего ...

К сожалению, в веб-приложении вообще не существует защиты секретов, будь то API-ключи, токены или любые другие соглашения об именах, которые могут быть использованы.

В веб-приложениивсе, что нужно, это использовать F12 или просмотреть исходный код страницы и искать их в необработанном HTML и JavaScript.

Вы можете попробовать использовать обфускацию JavaScript , чтобы ее было трудно найти, новсе еще будет легко перепроектировать.Даже в мобильном приложении, в котором их код запутан и выпущен в виде двоичного файла, эти секреты легко извлечь.

Если вы хотите немного больше узнать о Techinques Mobile Api Security, пожалуйста, прочитайте эту серию статей, чтобы узнать, как можно обойти и обойти API-ключи, токены доступа, HMAC и другие методы.Хотя статья была написана в контексте мобильного API, она все еще действительна в контексте веб-приложения для методов безопасности, используемых для защиты API.

Возможное решение

Лучший способ - всегда делегировать доступ вашего веб-приложения к API сторонней части бэкэнду, которым вы можете управлять.

В этом бэкэнде вы можете использовать решение для анализа поведения пользователей (UBA) для отслеживания неправильного использования этой третьей части доступа.

Как только UBA может быть сложным и дорогим для развертывания, вы можете начать сиспользуя новую Google reCaptcha V3 на всех страницах вашего веб-приложения.ReCaptcha V3 не требует прямого взаимодействия с пользователем, поскольку он работает на заднем плане, чтобы отличать людей от ботов.

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

Помните, что этот подход имеет огромное преимущество: никогда не раскрывает ваш ключ API Agolia, поэтому злоумышленники никогда не смогут напрямую его использовать.

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