Security
如何在沒有靜態 IP 的情況下安全地訪問生產數據庫
我在 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 客戶端配置文件中,您可以選擇可以打開的埠。
這樣,伺服器永遠不會在網際網路上,並且您的流量在隧道內被加密。