Security

如何在沒有靜態 IP 的情況下安全地訪問生產數據庫

  • September 23, 2018

我在 AWS EC2 上執行一個小型應用程序,它安裝了 PostgreSQL。

我想遠端訪問這個生產數據庫,但也想保證它的安全,我不確定我所做的是否足夠。

在處理公司項目時,我只是將公司的靜態 IP 列入白名單並阻止所有其他內容,但在這種情況下,我不能使用靜態 IP,而且我的 IP 經常更改。

到目前為止,我有

  • 更改了 DB 的預設埠
  • 設置 cloudflare(對我無法訪問服務的國家/地區顯示挑戰)
  • 使用隨機密碼生成器製作密碼

但我覺得我可以做更多,因為我的數據庫包含一些敏感的個人資訊,我覺得我應該做更多。

我還能做些什麼來進一步保護我的數據庫?

通過 SSH 隧道的 Postgresql

ssh -L 5432:/var/run/postgresql/.s.PGSQL.5432

並連接到本地 127.0.0.1:

psql -h 127.0.0.1

在伺服器上,您可以禁用 postgresql 的所有偵聽埠,只保留 ssh 埠打開。

還要確保 SSH 不能用於密碼訪問,只能用於 ssh 密鑰訪問。

確保安全的最佳方法是使用 VPN 客戶端。

在 VPN 客戶端配置文件中,您可以選擇可以打開的埠。

這樣,伺服器永遠不會在網際網路上,並且您的流量在隧道內被加密。

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