如何在node.js實現中安全地存儲postgresql pg.Pool連接池憑證?將配置對象設置爲傳遞給pg.Pool後,它將以未加密方式存儲在Pool對象中,這意味着它始終在內存中可見。postgresql pg.Pool連接池憑據的安全
pg.Pool是否有一個回調機制,它可以調用你的函數只在需要憑證時才動態解密,或者以某種方式將它保存在其他地方,而不是將其存儲在池對象中,目標是保留它在內存不足的情況下處於未加密狀態?
請指教。
如何在node.js實現中安全地存儲postgresql pg.Pool連接池憑證?將配置對象設置爲傳遞給pg.Pool後,它將以未加密方式存儲在Pool對象中,這意味着它始終在內存中可見。postgresql pg.Pool連接池憑據的安全
pg.Pool是否有一個回調機制,它可以調用你的函數只在需要憑證時才動態解密,或者以某種方式將它保存在其他地方,而不是將其存儲在池對象中,目標是保留它在內存不足的情況下處於未加密狀態?
請指教。
確實pg.Pool有所回調機制,它可以調用函數來解密在飛行僅在需要的憑據
沒有這樣的事情,因爲連接細節都嚴格意味着該服務器端。
只能在創建Pool
對象之前解密連接。之後,它將被對象保存在內部。
在公司環境中,您的數據庫服務器應該駐留在DMZ中。
是的,這是我的理解。我只是想知道是否有另一種方法來保護池配置細節從內存轉儲攻擊,因爲它是脆弱的。在共享主機環境中,由於機器的安全性和監控不在您的手中,因此更成爲一個問題。 – CaptAmericode
@CaptAmericode目前唯一可行的方法是保護服務器。一旦違反 - 你就暴露了。這就是爲什麼適當託管安全的東西需要DMZ內的服務器。 –
感謝您添加有關DMZ的信息。如果您將此信息添加到您的答案中,我會接受它,因爲我認爲這會讓您的答案更加完整。 – CaptAmericode
但是,這是嚴格的服務器端,你沒有泄漏到客戶端。那麼你最擔心的是什麼? –
我的問題是,如果黑客能夠獲得內存轉儲,那裏將存在一個純文本密碼以訪問數據庫以及數據庫名稱,用戶名等。我詢問當前是否有任何方法防範此漏洞?我還建議可以防止此漏洞,並且應該有辦法這樣做。 – CaptAmericode