【发布时间】:2020-10-24 07:23:03
【问题描述】:
我有一个在 NodeJS 中构建的后端 RESTful API 和一个在 React JS(NextJS) 中的前端应用程序,两者都托管在 AWS 上。客户端和服务器使用 JWT 令牌进行通信。 我想确保客户端应用程序和服务器端应用程序都高度安全。
我做了什么:
- 我对客户端和服务器都使用 HTTPS
- 将客户端 React 应用 IP 地址列入白名单,以便只有客户端 React 应用可以与服务器应用通信。这是在 AWS 安全组中完成的
- 在我的服务器 Node.JS 应用程序中使用 cors,将客户端 IP 地址再次列入白名单,作为对 1 号的补充
- 使用 AWS WAF 保护后端 NodeJS 应用程序,
- 在 NodeJS 服务器后端 API 中使用 helmet
- 请确保 JWT 令牌仅持续 7 天,它将失效,用户需要重新登录才能获取新令牌。
我看过并使用过的答案:
-
根据:RESTful Authentication 我在 HTTP 标头中使用 Token(例如 OAuth 2.0 + JWT),这是我为每个客户端请求发送的
-
使用刷新令牌:Refresh Token Jsonwebtoken
我关心的是什么,我需要一些帮助:
1.既然 JWT 令牌是服务器验证客户端的方式,那么 JWT 通信是否安全?我还可以采取其他措施来提高 JWT 的安全性吗?
2。这个应用架构是否足够安全?
3.我还可以做些什么来提高它的安全性,因为我真的很担心并希望确保它非常安全。
4.我应该加密从客户端发送到服务器的 JSON 有效负载吗?因为这在 XHR 下的任何浏览器网络选项卡中都可见,所以我将用户名和密码作为登录负载发送。
我最关心的是安全性,因为我已经在应用程序中集成了条带支付,而且我还存储了一些敏感数据。
任何建议都将受到高度赞赏,这是我第一次部署生产应用程序。
【问题讨论】: