Encryption

加密 postgresql 數據庫

  • September 4, 2016

我正在閱讀 postgresql 數據庫文件,但我找不到任何關於加密數據庫文件以防止有人在沒有數據庫密碼的情況下查看數據的資訊。例如,如果有人可以物理訪問伺服器,有什麼方法可以使 postgresql 安全嗎?

我知道 Linux 可以按照文件中的說明加密分區,但這不是我想要的。

為了保護您的數據免受對伺服器的物理訪問,您需要將加密/解密至少部分移出伺服器。如果您的伺服器可以在沒有外部幫助的情況下啟動和掛載其加密分區,那麼它很容易受到攻擊。

如果您只關心物理刪除,包括重新啟動伺服器,那麼磁碟加密可能就足夠了,如果加密密鑰儲存在伺服器之外;例如,使用網路加密(網路上其他地方的密鑰解鎖伺服器,例如Tang 和Clevis ),或者按照grochmal的建議,在啟動時手動輸入密鑰(但在後一種情況下,您的伺服器不會在無人看管的情況下啟動,這可能會帶來很大的不便)。

如果您通常關心物理訪問,那麼您應該使用儲存在客戶端上的資訊來執行加密和解密,例如使用pgcrypto,或者甚至僅在客戶端上執行加密和解密,在您的客戶端應用程序中編碼。在這些情況下,儘管加密數據不再可用於查詢,除非您實施同態加密。涉及很多細節,例如數據表示(NULL特別是值),因此您可能應該與安全專家交談(無需重新發​​明輪子……)。

引用自:https://unix.stackexchange.com/questions/306505