Postgresql

如何從日誌中隱藏敏感資訊,例如明文密碼?

  • June 22, 2018

我無權訪問 Postgres 安裝,因此無法檢查。

我是一名安全人員,我在日誌中看到明文密碼:

create user user1 with password 'PLAINTEXT PASSWORD'

DBA 如何在日誌中沒有明文密碼的情況下更改或創建他們的密碼?

我看過這個,它表明您可以使用密碼的 md5 雜湊,但雜湊也是明文的。有沒有更好的辦法?

聽起來像是log_statement設置為all.

如果您希望在設置為擷取/log_statement的值時防止密碼出現在日誌中,那麼您需要在更改密碼時覆蓋它。例如ALTER USER``ALTER ROLE

BEGIN;
SET LOCAL log_statement = 'none';
ALTER USER ... SET PASSWORD ...;
COMMIT;

您必須是超級使用者才能執行此操作。普通使用者無法覆蓋日誌記錄規則。

如果 PostgreSQL 支持將語句(甚至函式)的某些參數標記為安全敏感的並允許使用者請求在日誌中屏蔽它們,那將是很好的pg_stat_statements,, pg_stat_activity, 等。目前沒有任何這樣的功能 - 但是嘿,更新檔是歡迎。如果您真的感興趣,請在編寫任何實際程式碼之前在 pgsql-hackers 上發帖,這樣您就可以獲得建議和評論。或者,與從事契約開發的人交談。

一般來說,PostgreSQL 希望您將日誌視為敏感的。

在其他領域,日誌記錄是一個嚴重的安全問題。例如,一些pgcrypto函式將加密密鑰作為參數。

引用自:https://dba.stackexchange.com/questions/94625