Linux

Web GUI 中缺少基於 perl 的 Apache 安全託管 backuppc 圖,哪一個是最佳解決方案?

  • June 13, 2017

系統:全新更新的 ubuntu Xenial Xerus 16.04.2。從只安裝了 openssh 的干淨的最小系統開始。為了安裝 backuppc 3.3.2,我執行了以下操作:

apt-get install backuppc rsync libfile-rsyncp-perl par2 smbfs

Apt 完成了其餘的工作,安裝了 apache2 和 perl 等依賴項。如果您認為這可能很重要,我將編輯問題並粘貼 apt 日誌中的相關行。

之後,我完成了備份第一台主機所需的所有配置,幾天后我回到測試實驗室檢查它的執行情況。我不得不說,backuppc 是一款漂亮的軟體,它的表現完全符合我的預期——甚至比我預期的還要好!

我只是注意到在主螢幕上沒有顯示池的圖表;故障排除僅從 apache 日誌中返回了一條資訊:

ERROR: opening '/var/lib/backuppc/log/pool.rrd': Permission denied

絕對是權限問題: /var/lib/backuppc 歸 backuppc:backuppc 所有,而 apache 在 www-data 帳戶下執行。

Google搜尋錯誤返回了這樣的修復:

Resource | Actual perms | Solution's perms
/var/lib/backuppc | 2750 | 2751
/var/lib/backuppc/log | 750 | 751
/var/lib/backuppc/log/pool.rrd | 640 | 754

這些權限更改修復了問題,現在顯示圖表。無論如何,我仍然擔心權限更改後暴露服務的安全性。在這種情況下,我計劃在安全和隔離的環境中實施,但如果客戶要求公開服務,或者更糟糕的是,如果他自己公開服務怎麼辦?如果生產環境中出現問題,我不想在他們將去恢復的地方留下潛在的安全漏洞。

另一種解決方案可能是將 backuppc 的使用者添加到 www-data 組,但從安全形度來看,這可能會更糟。

另一種解決方案可能是修補由 backuppc 執行的程式碼以處理此類問題(可能還有 sudoers 文件中的某些行),但我沒有程式技能,除了 bash 腳本我什麼也看不懂。

所以我的問題是: 為了實現圖形顯示,哪一個是最安全的解決方案?

如果該文件是唯一讓您頭疼的文件,您不妨將日誌文件夾移動到 www-data 使用者可以讀取它並且 backuppc 使用者可以寫入它的位置。然後符號連結它。

mv /var/lib/backuppc/log/ /var/log/backuppc/
chown backuppc:www-data /var/log/backuppc/
chmod 750 /var/log/backuppc/
ln -s /var/log/backuppc/ /var/lib/backuppc/log/

它勝過將 /var/lib/backuppc/ 完全開放給系統上的每個使用者,特別是如果該文件夾下的子目錄和文件依賴於僅限於 backuppc:backuppc 的主文件夾的安全性。

關於將 backuppc 添加到 www-data 組,不會讓 www-data 訪問 backuppc 擁有的文件。你的意思是相反的嗎?在任何情況下,我都同意這是一個壞主意,除非所有敏感數據都只能由 backuppc 使用者讀取,而不能由組讀取。

為什麼您遵循的指南建議將 /var/lib/backuppc/log/pool.rrd 從 640 -> 754(可由所有者和組執行)而不是 640 -> 644 更改為我。

**注意:**我使用 BackupPC 已經有幾年了,所以我不太記得 /var/lib/backuppc 文件夾中的權限,或者日誌目錄包含的其他潛在敏感資訊。

希望這可以幫助!

引用自:https://serverfault.com/questions/854869