Postgresql

數據庫目錄和文件訪問權限是否應該僅限於 db 使用者?

  • July 6, 2015

我不知道如何準確地表達這個問題,而且我無法找到任何細節,所以如果它是重複的,我深表歉意。

我知道讓數據庫伺服器軟體以特定的作業系統使用者身份執行是標準做法,除了必要的目錄和文件外,什麼都不能訪問。我知道這樣做是為了防止通過軟體獲得訪問權限的入侵者擁有數據庫執行所需的最低權限之外的權限。

但是,我是否還應該僅將作業系統級別的數據庫****目錄文件的讀取和/或寫入權限限制為db 使用者?這是標準做法嗎?其他軟體或作業系統在實時數據庫上執行讀取操作是否會出現任何問題?

我對一般情況(實時伺服器,如 vps)和它在本地桌面上執行且僅由一個人使用的情況感興趣。目前使用 postgres,我沒有經驗。

我會說這是限制作業系統訪問您的數據庫文件的一種很好的安全做法。首先,如果尚未以這種方式配置,您絕對應該在作業系統級別限制對 DB 文件的寫入權限。不允許執行數據庫的作業系統使用者以外的任何人寫入數據庫文件。實際上,我能想到的任何數據庫軟體都會預設限制這一點。

如果您想額外限制讀取訪問,這將是一個好主意,尤其是當您的數據庫包含敏感資訊時。任何共享您的作業系統的非特權作業系統使用者,如果他/她對您的數據庫文件具有讀取權限,他們基本上可以獲得對您的數據庫的讀取權限。他們可以簡單地竊取您的數據庫文件的副本,將它們發送到他們自己的伺服器,然後設置數據庫系統並為自己授予對該複製的無限制訪問權限。我想說大多數數據庫軟體不會主動限制作業系統級別對數據文件的讀取訪問。這取決於你,DBA 來限制這一點。如果您的數據非常敏感,您可能需要考慮加密,這在大多數主要 DBMS 中都可用。如果數據文件是加密的,即使他/她偷走了你的數據文件,一個潛在的資訊竊賊也很可能會被挫敗。

不要忘記加密您的備份,因為它們與數據庫本身一樣敏感。

通常,您無需擔心切斷對其他作業系統工具(如備份軟體)的訪​​問權限的影響。大多數 DBMS 不能也不會使用任何基於作業系統的備份工具,因為 DB 文件正在更改。相反,您使用特定的工具,如 Oracle RMAN、SQL Server 本機備份、Litespeed、mysqldump 等。這些工具知道如何處理正在發生變化的數據庫並獲得正確的備份。而其他一些作業系統工具,如防病毒掃描程序,則以 root/系統權限執行,因此您不能僅通過權限(加密可以)阻止它們讀取您的數據文件。

如果您在 Unix 上執行此操作,有時可能只是chmod 700(或可能750)在包含您的 DB 文件的目錄上。在 Windows 上,您可以通過 NTFS 權限執行此操作。

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