Amazon-Web-Services

可以從任何 IP 地址訪問的 aws RDS 實例上的 SQL DB 的安全性

  • August 7, 2019

我們在 aws 上的 RDS 實例上有 sql db。EC2 上託管的 Web 應用程序可以訪問 sql db。我們也可以從我們的辦公室訪問這個數據庫。由於我們的辦公室沒有自己的靜態 IP,因此我們必須使 RDS 實例可以從任何 IP 地址訪問,以便我們可以連接到該實例進行工作。如果我們有靜態 IP,我們將只能訪問我們的 IP。

這裡的問題是如何確保這個數據庫是安全的並且不受安全威脅的影響?有沒有一種方法可以在不為我們的辦公室購買靜態 IP 的情況下確保這一點?顯然,可以從世界任何位置訪問的任何數據庫都可能受到攻擊。

我們花了一周時間嘗試Google並找到一些解決方案,但還沒有成功。

無論您做什麼,都不要將生產數據庫暴露給網際網路“0.0.0.0/0”。您只是在向數據暴露、盜竊、濫用等敞開心扉。

最簡單的方法是讓您的 RDS 實例“可公開訪問”,但來自一個非常短的固定 IP 地址列表。

如果這對您的情況不起作用,那麼您可以使用 SSH 隧道來保護您的 SQL 連接。如果必須從“0.0.0.0/0”訪問,SSH 比 SQL 好。

請執行下列操作:

  1. 將您的 RDS 實例放在您的 VPC 的私有子網中。這將從 Internet 隱藏您的 RDS 實例。在這種情況下,您的 RDS 實例不可公開訪問。
  2. 您的 Web 應用程序將通過其 DNS 名稱(應解析為其私有IP 地址)訪問 RDS 實例。
  3. 在執行的公共子網中啟動堡壘 EC2 實例sshd
  4. 當您的使用者需要從本地網路訪問 SQL 數據庫時,讓他們通過 SSH 連接到堡壘 EC2 實例,並通過 SSH 連接將 SQL 連接隧道連接到 RDS 實例。

由於您的 Web 應用程序通過私有 IP 地址訪問 SQL 伺服器,因此您不會產生數據流量費用(如果您通過公共 IP 地址訪問它,則會產生此費用)。

參考:

引用自:https://serverfault.com/questions/978175