Postgresql
如何從日誌中隱藏敏感資訊,例如明文密碼?
我無權訪問 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
函式將加密密鑰作為參數。