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

Я не знаю, является ли это подходящей платформой для того, чтобы задавать подобные вопросы, но у меня есть приложение, которое разделено между внешним (угловым) и внутренним / API ( Nodejs ). Теперь API предоставляет общедоступные конечные точки для использования веб-интерфейсом. Теперь, как мне защитить API от использования или использования другими сторонами и сохранить его только в моем приложении Angular ? Я думал об использовании куки только HTTP, но он кажется видимым, когда кто-то открывает инструменты разработчика в заголовках запроса.

У меня совершенно нет идей, заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 06 сентября 2018

Невозможно сделать ваш сайт безопасным на 100%, но вы можете замедлить действия злоумышленников или убедить их перейти на менее безопасный сайт, если вы охватите топ-10 owasp и обеспечите некоторую защиту транспорта.

Транспортная защита

  • HTTPS: либо используйте решение с уже настроенным https, например heroku или now.sh, либо используйте letsencrypt.org

  • Аутентификация - существует множество решений, и вам необходимо выяснить, насколько важны данные, которые вы пытаетесь защитить. JWT - хорошая отправная точка, поскольку она является самой простой и относительно безопасной.

Атаки OWASP.

Топ-10 OWASP здесь: https://www.owasp.org/images/7/72/OWASP_Top_10-2017_%28en%29.pdf.pdf

Вы можете покрыть большую часть списка, используя библиотеку, такую ​​как JOI, https://www.npmjs.com/package/joi и настраивая схемы таким образом, чтобы разрешить ввод только в случае крайней необходимости. Используйте белые списки допустимых параметров, а не разрешайте любую строку.

Единственная мера предосторожности, которую я бы предпринял, - это использовать библиотечный шлем npm, https://www.npmjs.com/package/helmet. Это охватывает большинство точек XSS

Это, пожалуй, основные моменты, которые вам нужно охватить, которые будут удерживать большинство оппортунистических взломщиков

0 голосов
/ 06 сентября 2018

Вы можете защитить свой API с помощью токена, используя OAuth2, я не очень много знаю, но лучше всего защищать nodejs с помощью токена JWT.

Полезная ссылка Создание API, аутентифицированного с помощью OAuth 2 в Node.js

Beer Locker: создание API RESTful с узлом - OAuth2 Server

-

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