PG密碼安全

yzs87 發表於 2020-08-01

PostgreSQL 錯誤日誌檔案中的密碼

大家都不希望在錯誤日誌檔案中出現使用者密碼。PG使用SQL查詢管理使用者賬戶,包括密碼。如果啟用log_statement,log_min_error_statement為log,那麼使用者密碼就有可能出現在server log中。

一種解決方法:發起查詢前手動對密碼進行加密,但仍會被error機制探測到。

SET client_min_messages = 'log';

SET log_statement = 'all';

 

\ password postgres

Enter new password:

Enter it again:

LOG:  statement: show password_encryption

LOG:  statement: ALTER USER postgres PASSWORD 'md567429efea5606f58dff8f67e3e2ad490'

 

在psql客戶端執行: show password_encryption可以檢視使用哪種加密方式,是md5還是 scram-sha-256 。psql將密碼hash加密後再發起alter命令。並不是說在日誌檔案中不會再出現密碼了。最明智的辦法是將log_min_error_statement設定為panic以便阻止將錯誤查詢記錄到日誌檔案中。另外一個安全方式:使用syslog將Log傳送到安全的伺服器上。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31493717/viewspace-2708622/,如需轉載,請註明出處,否則將追究法律責任。