【问题标题】:How do I protect my App API from external exploitation?如何保护我的 App API 免受外部攻击?
【发布时间】:2018-09-06 17:38:11
【问题描述】:

我不知道这是否是提出此类问题的合适平台, 但我有一个在前端 (Angular) 和后端/API (Nodejs) 之间分离的应用程序。现在 API 公开了供前端使用的公共端点。现在如何保护 API 不被其他方使用或利用,并且只保留在我的 Angular 应用程序中?我曾想过使用仅 HTTP cookie,但当有人在请求的标头上打开开发人员的工具时,它似乎是可见的。

我完全没有想法,在此先感谢。

【问题讨论】:

  • HTTPS 和证书固定可能是一个好的开始

标签: node.js angular api


【解决方案1】:

没有办法让您的网站 100% 安全,但如果您覆盖 owasp 前 10 名并有一些传输保护,您可以减缓攻击者的速度,或者说服他们访问安全性较低的网站。

运输保护

  • HTTPS:要么使用已配置 https 的解决方案,如 heroku 或 now.sh,要么使用 letsencrypt.org

  • 身份验证 - 有很多解决方案,您需要弄清楚您试图保护数据的重要性。 JWT 是一个很好的起点,因为它最简单且相对安全。

OWASP 攻击。

OWASP 前 10 名在这里: 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 点

这些可能是您需要涵盖的要点,这将阻止大多数投机取巧的破解者

【讨论】:

    【解决方案2】:

    您可以使用 OAuth2 使用令牌保护您的 API,我不太了解角度,但最佳做法是使用 JWT 令牌保护 nodejs。

    有用的链接Creating an API authenticated with OAuth 2 in Node.js

    Beer Locker: Building a RESTful API With Node - OAuth2 Server

    --

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-02
      • 2020-05-12
      • 2016-10-28
      • 2011-05-14
      相关资源
      最近更新 更多