Как защитить API-шлюз в веб-сайте и мобильном приложении? - PullRequest
0 голосов
/ 24 ноября 2018

Мы создаем веб-сайт без сервера с использованием React и собираемся создать мобильное приложение для того же.Мы используем API-шлюзы для доступа к сервису AWS, и наш сайт будет использоваться всеми без входа в систему или какой-либо безопасности.У меня есть два вопроса о том, как защитить этот API

  1. . Для веб-сайта я установил перекрестный доступ к API только с нашего веб-сайта.Этого достаточно для безопасности?Есть ли другой способ защитить это?
  2. Для мобильных приложений. Это то, где я застрял. Как я могу защитить API для мобильных приложений, которые будут использоваться случайными пользователями.

Ответы [ 2 ]

0 голосов
/ 21 июня 2019

Настройка перекрестного источника хороша, но недостаточна.

Вы можете защитить конечную точку шлюза API, используя AWS Signature V4 .Signature Version 4 - это процесс добавления аутентификационной информации к запросам AWS, отправляемым по HTTP.Короче говоря, он используется для аутентификации запросов, отправляемых на ваш API.

Вы можете настроить AWS Signature V4, используя yaml или через консоль.На веб-сайте можно использовать библиотеку AWS Amplify для подписи запросов.Ознакомьтесь с этой статьей о том, как подписывать запросы к API-шлюзу с помощью AWS Signature V4 с помощью AWS Amplify на внешнем интерфейсе.

Помимо AWS Signature V4, вы также можете настроить собственный авторизатор для проверкизапросы.Ознакомьтесь с разделами IAM Permission и Customer Authorizer в этой статье о том, как настроить AWS_IAM или Lambda Authorizer для вашего API.

0 голосов
/ 24 ноября 2018

Поскольку требуется публичное предоставление веб-сайта и API, я бы рекомендовал ему предоставлять доступ к веб-приложению и API через AWS CloudFront из одного источника (можно сопоставить / API с API-шлюзом и остальные пути к S3если вы храните приложение реакции в S3).

Преимущество, которое вы получаете с точки зрения безопасности, заключается в том, что вы можете настроить AWS WAF на AWS Cloudfront, где вы можете предотвратить несколько распространенных угроз.

Примечание. При интеграции API Gateway с CloudFront сделайтеобязательно используйте ключ API из CloudFront (используя ключ API в заголовках источника) для доступа к шлюзу API, предотвращая прямой доступ к шлюзу API извне.

...