В этом документе представлено краткое руководство по интеграции безопасности API Approov в серверную часть ASP.Net. Approov проверяет, исходят ли запросы от доверенных версий мобильных приложений, повышая безопасность вашего API. В этом руководстве описывается настройка Approov CLI, регистрация вашего домена API, настройка ключей (симметричных и асимметричных), добавление зависимостей и реализация промежуточного программного обеспечения токена Approov в вашем приложении ASP.Net. Более подробная информация и способы устранения неполадок приведены здесь.
Краткое руководство по утверждению — проверка токена ASP.Net
Approov — это решение безопасности API, используемое для проверки того, что запросы, полученные вашими серверными службами, исходят из доверенных версий ваших мобильных приложений.
В этом репозитории реализован код проверки запроса на стороне сервера Approov для платформы ASP.Net, который выполняет проверку перед тем, как разрешить обработку действительного трафика конечной точкой API.
Краткое руководство по интеграции Approov
Краткое руководство было протестировано со следующими операционными системами:
Сначала настройте Approov CLI.
Теперь зарегистрируйте домен API, для которого Approov будет выдавать токены:
ПРИМЕЧАНИЕ. По умолчанию для подписи токена Approov при действительном подтверждении мобильного приложения для каждого домена API, добавленного с помощью интерфейса командной строки Approov, используется симметричный ключ (HS256), поэтому все API будут использовать один и тот же секретный ключ, а серверная часть должна позаботьтесь о том, чтобы сохранить эту тайну в безопасности.
Более безопасной альтернативой является использование асимметричных ключей (RS256 или других), которые позволяют использовать разные наборы ключей в каждом домене API и проверять токен Approov с помощью открытого ключа, который может только проверять, но не подписывать токены Approov. .
Для реализации асимметричного ключа вам необходимо перейти от использования симметричного алгоритма HS256 к асимметричному алгоритму, например RS256, который требует от вас сначала добавить новый ключ, а затем указать его при добавлении каждого домена API. Для получения более подробной информации посетите раздел «Управление наборами ключей» в документации Approov.
Затем включите роль администратора Approov с помощью:
Для PowerShell Windows:
Теперь получите свой секрет Approov с помощью Approov CLI:
Затем добавьте секрет Approov в файл .env вашего проекта:
Теперь добавьте в файл appname.csproj зависимости:
Затем в Program.cs загрузите секреты из файла .env и внедрите их в AppSettings:
Теперь давайте добавим класс для загрузки настроек приложения:
Затем добавьте в свой проект класс ApproovTokenMiddleware:
ПРИМЕЧАНИЕ. Если проверка токена Approov завершается неудачей, мы возвращаем 401 с пустым телом, поскольку мы не хотим давать злоумышленнику подсказки о причине сбоя запроса, и вы можете пойти еще дальше, вернув 400.
Недостаточно подробностей в кратком руководстве? Не беспокойтесь, ознакомьтесь с подробными краткими руководствами, которые содержат более полный набор инструкций, в том числе о том, как протестировать интеграцию Approov.
Дополнительная информация
Системные часы
Для правильной проверки срока действия токенов Approov очень важно, чтобы внутренний сервер автоматически синхронизировал системные часы по сети с авторитетным источником времени. В Linux это обычно делается с помощью NTP-сервера.
Проблемы
Если вы обнаружите какую-либо проблему, следуя нашим инструкциям, просто сообщите об этом здесь, указав шаги по ее воспроизведению, и мы разберемся с ней и/или направим вас по правильному пути.
ТОС
Полезные ссылки
Если вы хотите более подробно изучить решение Approov, почему бы не попробовать одну из следующих ссылок в качестве отправной точки:
ТОС