設定 ownCloud 企業審計並驗證日誌

若要在 ownCloud Enterprise 中記錄使用者和管理員的操作,請安裝並啟用僅限企業版使用的稽核應用,然後將其admin_audit日誌訊息路由到管理員可以保護和查看的檔案。啟用該應用程式是必要的,但這還不夠:除非另有日誌條件將審計訊息路由到單獨的文件,否則 ownCloud 伺服器的日誌等級必須設定為 1(資訊)或 0(偵錯)。

了解你需要哪種「活動日誌」。

「活動」應用和「審計」應用用途不同。 「活動」是面向使用者的文件和協作事件流。 「企業審計」應用程式會將選定的使用者和管理員操作記錄為結構化日誌條目,供操作審查和分析之用。單獨安裝或設定「活動」應用程式並不會啟用企業稽核追蹤。如果您需要可追溯的登入、檔案操作、共用變更、使用者管理、套用變更或 OCC 命令記錄,請啟用「稽核」。目前的ownCloud Server 11 審計文件列出了這些事件類別。

已驗證:該應用程式僅限企業版使用,可透過 ownCloud 應用程式市場取得。具體情況取決於上下文:應用程式管理介面和設定方法會因 ownCloud 版本和部署方式而異。操作:在排查應用程式清單缺失問題之前,請確認您的伺服器版本以及您的企業版訂閱是否包含該應用程式。 ownCloud審計功能頁面也將其列為企業版功能。

在 ownCloud 中啟用審計

  1. 確認應用程式已安裝。在 ownCloud 應用程式設定中,找到「審計」選項。 ownCloud 10.16 的官方指南建議從應用程式商店下載並在應用程式設定中啟用;ownCloud 11 的文件則建議直接在應用程式設定中啟用。如果找不到該選項,請在安裝軟體包之前,請先驗證您的伺服器版本是否擁有企業版授權、應用程式商店存取權限以及應用程式相容性。
  2. 啟用該應用程式。以管理員身分使用應用程式設置,並確認已啟用審計功能。根據部署情況和版本,命令列管理員還可以使用以下命令檢查應用程式狀態occ app:list;請使用安裝支援的occ呼叫方式。請勿假定 Web 介面活動來源顯示即表示審計應用程式已啟動。
  3. 選擇審計條目的儲存位置。為了快速驗證,ownCloud 可以將審計條目寫入標準日誌檔案owncloud.log。對於持續運行的操作,使用單獨的受限審計文件更容易將其路由到日誌收集器並進行獨立審查。
  4. 設定有效的日誌等級或專用路由。如果您希望在標準日誌中記錄稽核事件,請將常規日誌等級設為 1 或 0。或者,您可以新增一個應用程式 ID 條件admin_audit,將日誌寫入專用檔案。具體語法取決於您使用的是 Docker 中的 ownCloud 11 還是 PHP 10.16。
  5. 產生一個無害的測試事件並進行驗證。登入或建立一個臨時測試文件,然後在依賴配置之前,檢查所選日誌目標位置是否有新的審計條目。

將審計記錄路由到單獨的文件

在 Docker 中執行 ownCloud Server 11

在目前的 ownCloud 11 指南中記錄了該OWNCLOUD_LOG_CONDITIONS環境變數。將其新增至 ownCloud 服務的 Compose 環境中,並將檔案路徑調整為容器中可存取的持久位置:

OWNCLOUD_LOG_CONDITIONS=[{"apps":["admin_audit"],"loglevel":0,"logfile":"/mnt/data/files/admin_audit.log"}]

此範例使用 ownCloud 文件中記錄的 Docker 資料掛載路徑。將 JSON 值新增至 YAML 時,請確保其有效,並使用部署的持久掛載卷,以避免容器替換導致日誌遺失。使用常規部署流程套用 Compose 更改,然後確認服務已啟動且檔案已建立。根據Server 11 稽核指南,無論全域日誌等級為何,單獨的條件都會記錄稽核訊息。

ownCloud 伺服器 10.16 PHP 安裝

對於 ownCloud 文件中記錄的基於 PHP 的 10.16 配置,請log.conditions在活動config.php文件中新增一個條目並替換範例路徑。 Web 伺服器使用者必須具有對目標檔案及其目錄的寫入權限:

'log.conditions' => [
    [
        'apps' => ['admin_audit'],
        'logfile' => '/var/www/owncloud/data/admin_audit.log'
    ]
],

編輯前請備份config.php,如果金鑰已存在,請勿建立重複log.conditions金鑰。更改後請檢查 PHP 語法和檔案權限。請勿將 10.16 版本的 PHP 陣列複製到 Docker 環境變數中,或將 Server 11 版本的 JSON 環境變數值複製到 PHP 設定檔中;它們是不同的部署介面。請參閱官方的ownCloud 10.16 審計指南。

審計追蹤能夠證明什麼,又不能證明什麼

已驗證:記錄的事件包括登入和登出、檔案建立/刪除/移動操作、共享變更、標籤、評論、使用者和群組管理、使用者設定、模擬、應用程式啟用以及 OCC 執行。條目包含特定於事件的字段,並經過結構化處理以便於分析;ownCloud 描述了與 JSON 相容的記錄以及與 Splunk 等整合。操作:從團隊需要審核的類別建立測試事件,並確認預期的使用者、操作、時間和文件上下文是否出現。

誤解:啟用稽核功能會自動建立一個單獨的admin_audit.log檔案。事實並非如此;除非您配置了單獨的目標位置,否則預設目標位置可能是標準的 ownCloud 日誌。操作:請驗證實際的檔案路徑和磁碟區,而不是依賴應用程式的啟用狀態。

限制:事件日誌本身並非完整的合規性方案,也無法保證自訂部署中的每個操作都會被記錄下來。可查看的內容取決於可用事件、應用程式版本、篩選器、日誌等級和保留控制。建議:將事件覆蓋範圍與您的策略進行比較,確定保留和存取控制,如果您的要求需要獨立保存,則將重要記錄轉送至適當安全的中央日誌系統。此最終控制建議是一項操作保障措施;ownCloud 的應用程式文件描述了事件日誌記錄和集成,但並不保證特定配置符合法律要求。

核實存取權限和持續收集情況

測試事件出現後,請確認稽核文件在服務重新啟動或容器替換後仍然存在,只有授權的管理員和日誌收集器才能讀取該文件,且日誌輪替不會影響應用程式的寫入功能。如果使用標準日誌,ownCloud 的管理頁面會提供「下載日誌檔案」選項。如果配置為使用單獨的文件,文件建議手動下載該文件。請保留事件時間戳記、參與者、操作和路徑作為驗收檢查依據,並在升級或變更日誌配置後再次檢查日誌。

留下評論

安全地清除 ownCloud Apache .htaccess 警告

安全地清除 ownCloud Apache .htaccess 警告

僅對 ownCloud 的 Web 根目錄設定 AllowOverride All,驗證活動的 Apache 虛擬主機,然後安全地重新載入以恢復 .htaccess 規則。

設定 ownCloud 企業審計並驗證日誌

啟用 ownCloud 的企業審計應用程序,將 admin_audit 事件路由到受保護的日誌文件,並確認正在記錄真實使用者的操作。

使用 OIDC 將 ownCloud Infinite Scale 連接到 Keycloak

使用 OIDC 將 ownCloud Infinite Scale 連接到 Keycloak

讓 Keycloak 的 realm 頒發者、Web 用戶端和使用者聲明保持一致,以便 ownCloud Infinite Scale 能夠可靠地在 Web 和行動用戶端上登入使用者。

將 ownCloud 檔案轉移給新所有者而不丟失共享份額

使用 ownCloud 的 occ 指令傳輸擁有的檔案和要傳出的共享,以了解哪些內容會保留下來,並在刪除舊帳戶之前驗證存取權限。

透過安全地管理索引來加速 ownCloud 10 查詢

了解何時需要關注 ownCloud 10 資料庫索引,如何安全地應用受支援的架構更新,以及何時查詢調優或資料庫變更是更好的解決方案。

無需 Linux 掛載即可在 ownCloud 中掛載 SMB/CIFS 共享

透過外部儲存將 Windows 或 Samba 網路共用連接到 ownCloud,驗證憑證,並安全地排查無法存取的資料夾問題。

使用 occ 指令安全地清除 ownCloud 檔案版本

使用 occ 指令安全地清除 ownCloud 檔案版本

刪除一個帳戶或所有使用者的所有已儲存的 ownCloud Server Classic 檔案版本,並區分完全清除和基於保留期限的過期。

ownCloud 行動連線被拒絕?請檢查 URL 和可及性

ownCloud 行動連線被拒絕?請檢查 URL 和可及性

以正確的順序檢查伺服器 URL、手機網路、HTTPS 端點和伺服器日誌,即可追蹤 ownCloud 行動連線被拒絕的原因。

使用 Systemd 定時器可靠地執行 ownCloud 後台作業

將按需作業運行替換為 systemd 定時器,該定時器每 15 分鐘執行一次 ownCloud 支援的 occ system:cron 命令。

透過尋找故障路由來恢復 ownCloud WebDAV 同步

透過 Apache、Nginx 或反向代理程式追蹤 WebDAV 請求,然後使用經過驗證的 PROPFIND 測試確認 ownCloud 同步功能正常。