2010-12-20 86 views
1

目前在Postgres中最大的安全漏洞是數據庫依賴的.conf文件,這是因爲有人訪問系統(不一定是數據庫)可以修改文件並獲得輸入。正因爲如此,我正在尋找如何加密這些.conf文件的資源,然後在每次數據庫會話期間對它們進行解密。在這一點上,性能並不是真正的問題。有沒有人有這方面的資源或有人開發過利用這種功能的任何原型?Postgres配置文件的加密

編輯

由於似乎在這裏它是什麼,我問了一些混亂。該場景可以最好在Windows框來說明用下列基團:
1)管理員System Administrators
2)數據庫管理員Postgres Administrators
3)審計Security Auditors

審計員組通常需要訪問日誌文件和配置文件確保系統安全。但是,如果Auditors組的成員需要查看Postgres配置和日誌文件,則會出現此問題。如果此成員決定要訪問數據庫,即使他們do not有一個數據庫帳戶,對於break in來說這是一個非常短的任務。人們如何去防止這種情況?答案如:Get better auditors相當差,因爲你無法完全預測人們會做什麼。

+0

好的,如果數據庫得到了適當的保護,那麼配置文件中的任何內容都不能用於訪問,因爲他們仍然需要密碼才能進入。如果您設置爲信任連接,則無法完成任何操作以防止它們出局,因爲網絡上的任何人都可以嗅探流量並看到您正在以信任模式連接並模擬/欺騙IP以進入。 如果讀取您的conf文件可讓人員入侵,那麼開始時無望。 如果審計人員需要對conf文件進行寫入訪問,那麼他們現在是dbas/sys管理員,應該這樣對待。 – 2010-12-20 20:23:45

回答

3

你很好。無需加密,只要您對* .conf文件具有正確的權限即可。

您的postgresql.conf和pg_hba.conf都應該被標記爲只能由postgres用戶/組讀取。如果您沒有具有這些權限的實際用戶,則只有root才能看到它們。

+0

我會看看這個,謝謝 – Woot4Moo 2010-12-20 18:46:35

+0

我同意,這可以很容易地通過文件權限控制(順便說一句:至少在Windows上*有一個Postgres用戶,需要啓動該服務) – 2010-12-20 19:13:44

+0

@ horse correct we利用無法登錄的服務帳戶 – Woot4Moo 2010-12-20 20:32:01

2

那麼,你是否試圖阻止root進行更改?因爲只有普通用戶不能更改這些文件,並且如果您不信任root,那麼您已經丟失了。

+0

+1。任何有足夠權限修改配置文件的人都可以走完整個數據庫。這在Pg中並不是一個漏洞,它是如何安裝的。 – Blrfl 2010-12-20 17:32:27

+0

@Blrfl我已經更新了我的文章,以便您可以更全面地瞭解我所掌握的內容。 – Woot4Moo 2010-12-20 18:29:15

+0

問題仍然是一樣的。如果在Pg配置文件中有足夠的信息讓某人可以通過讀取數據庫來訪問數據庫(例如,知道Pg會接受任何從特定IP連接的用戶),那麼您的信任模型就太寬鬆了。很明顯,你不相信你的審計師,這很好。讓他們訪問他們在審計過程中可能受損的系統的唯一方法是要求他們受到您信任的人的監督。 – Blrfl 2010-12-20 18:55:07

0

我想你可能被卡住 - 這裏就是你說的話:

The Auditors group typically needs access to log files and configuration files

然後:

How does one go about preventing [Auditors from accessing the database using the values in the configuration files]?

如果你真想讓審計師獲得在您的配置文件,但他們對訪問你的數據庫感到緊張,你最好的辦法是把你的配置文件從你的服務器移到其他地方 - 然後確保審計人員實際上不能訪問你的生產系統莖。他們仍然可以查看所有他們想要的日誌文件,但他們無法訪問數據庫服務器以嘗試訪問數據庫本身。

+0

這是相當的捕獲22 – Woot4Moo 2010-12-20 18:46:11

+0

在配置文件中應該沒有任何東西可以用來訪問。或者你做錯了。 – 2010-12-20 22:54:28