PostgreSQL passwordcheck

2021-09-16 16:06 更新

只要通過CREATE ROLEALTER ROLE設(shè)置用戶, passwordcheck模塊會檢查用戶的口令。如果一個口令被認(rèn)為太弱,它將被拒絕并且該命令將帶著一個錯誤終止。

要啟用這個模塊,把'$libdir/passwordcheck'加入到postgresql.conf中的shared_preload_libraries,然后重啟服務(wù)器。

你可以通過修改源代碼來按你的需要修改這個模塊。例如,你可以使用CrackLib來檢查口令 — 這只需要在Makefile中取消兩行的注釋并且重新編譯該模塊(由于授權(quán)原因,我們不能默認(rèn)包括CrackLib)。如果沒有 CrackLib,該模塊會對口令強(qiáng)度強(qiáng)制一些簡單的規(guī)則,你可以自行修改和擴(kuò)充。

小心

要阻止未加密的口令被通過網(wǎng)絡(luò)傳送、寫入到服務(wù)器日志或者被一個數(shù)據(jù)庫管理員竊取,PostgreSQL允許用戶提供預(yù)加密的口令。很多客戶端程序利用這種功能并且在把口令發(fā)送給服務(wù)器之前加密它。

這限制了passwordcheck模塊的有用性,因為這種情況下它只能嘗試猜測口令。由于這個原因,如果你的安全性需求很高,我們不推薦passwordcheck。使用一個諸如 GSSAPI (見第 20 章)的外部認(rèn)證方法比依賴數(shù)據(jù)庫內(nèi)的口令更加安全。

此外,你可以修改passwordcheck來拒絕預(yù)加密的口令,但是強(qiáng)制用戶將口令設(shè)置為明文帶來了它的安全風(fēng)險。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號