簡體   English   中英

保護 NodeJS RESTful API 和 React 客戶端應用程序

[英]Securing NodeJS RESTful API and React client app

我有一個內置在 NodeJS 中的后端 RESTful API 和一個在 React JS(NextJS)中的前端應用程序,兩者都托管在 AWS 上。 客戶端和服務器使用 JWT 令牌進行通信。 我想確保客戶端應用程序和服務器端應用程序都是高度安全的。

我做了什么:

  • 我對客戶端和服務器都使用 HTTPS
  • 將客戶端反應應用程序 IP 地址列入白名單,以便只有客戶端反應應用程序可以與服務器應用程序通信。 這是在 AWS 安全組中完成的
  • 在我的服務器 Node.JS 應用程序中使用 cors,將客戶端 IP 地址再次列入白名單,作為第 1 號的補充
  • 使用 AWS WAF保護后端 NodeJS 應用程序,
  • 在 NodeJS 服務器后端使用安全帽API
  • 確保 JWT 令牌僅持續 7 天,它將無效,用戶需要再次登錄才能獲得新令牌。

我看過並使用過的答案:

  1. 如何保護客戶端應用程序(反應)和 API 通信

  2. 根據: RESTful Authentication我在 HTTP 標頭中使用令牌(例如 OAuth 2.0 + JWT),這是我為每個客戶端請求發送的

  3. 使用刷新令牌: 刷新令牌 Jsonwebtoken

    我關心的是什么,我需要一些幫助:

    1.既然JWT令牌是服務器驗證客戶端的方式,那么JWT通信是否安全? 我可以采取其他步驟來提高 JWT 的安全性嗎?

    2. 這個應用架構是否足夠安全?

    3. 我還能做些什么來提高它的安全性,因為我真的很擔心並且想確保它非常安全。

    4. 我應該加密從客戶端發送到服務器的 JSON 有效載荷嗎? 因為這在 XHR 下的任何瀏覽器網絡選項卡中都可見,所以我正在發送用戶名和密碼作為登錄的有效負載。

我最關心的是安全性,因為我已經在應用程序中集成了條帶支付,而且我還存儲了一些敏感數據。

任何建議將不勝感激,這是我第一次部署生產應用程序。

正如你所做的那樣,應用程序必須非常安全......除了我想添加一些東西......

  1. 確保令牌已過期並使用刷新令牌頒發新令牌。 存儲在客戶端的 jwt 可能容易受到中間人攻擊。 (為了獲得更高的性能,請使用 redis 來存儲刷新令牌......查看更多內容)
  2. 如果您使用的是 https,則該請求將僅對客戶端的瀏覽器可見,而對網絡中的任何嗅探器均不可見(檢查是否能夠在諸如 wireshark 等嗅探工具中看到加密的有效負載......以驗證您使用的 https )。 因此,不再需要 go 進行任何加密。 這會降低 api 服務器的性能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM