Topics

稽核日誌(其一):Web 服務中稽核日誌的基本概念 ― 需求整理基礎篇

  • column

招標時常見的「審計日誌」應該記錄哪些內容?

大家好,我是 Liberogic 的 CTO 大塚。

參與網站或 Web 服務的招標時,需求中經常會出現「必須能取得審計日誌」、「日誌需保存一定期間」等描述。

為了符合這些需求,我們需要選擇服務、變更方案,或新增日誌保存選項。然而,「審計日誌」究竟指的是什麼呢?

本文將針對這些問題稍作整理。

日誌的種類繁多

簡單來說,日誌其實可分為幾種不同類型。

日誌的類型

主要記錄內容

主要用途

存取日誌

URL、時間、狀態、連線來源等

調查使用狀況與故障

應用程式日誌

處理的開始與結束、業務上的事件

運作確認與問題調查

錯誤日誌

例外、異常終止、錯誤內容

確定故障原因

稽核日誌

誰が、何時、對什麼進行了操作

內部控制與證據保全

安全日誌

驗證、存取拒絕、攻擊偵測

事件調查

這些都屬於日誌,但記錄的內容與用途各不相同。
例如,記錄管理員變更使用者權限、或工作人員發布內容等操作的日誌,一般較接近所謂的稽核日誌。

故障調查與證據保全應分開考量

日誌的用途大致可分為兩類。

其一是在發生故障或問題時,用來查明原因的日誌。

用於調查「昨天送出的表單沒有收到」、「特定時段曾發生錯誤」等詢問時使用。

另一項是記錄,用於事後確認操作的實際執行情況。

這些記錄包括「是誰變更了設定」、「內容於何時發布」以及「在管理畫面中執行了哪些操作」等資訊。

比較項目

障礙調查與改善用

稽核與證跡保全用

主要使用者

開發人員、維運人員

稽核人員、資安負責人員

常查看的期間

近數日至數週

數個月至數年

重視的項目

搜尋便利性、資訊量

不遺漏、能長期保存

查閱頻率

日常確認

需要時再調出

這兩者的保存期間與使用方式各不相同。

若要將所有日誌長期保存在可搜尋的狀態,成本也會隨之增加。反之,若只保留最近的日誌,稽核或事故調查時所需的證跡就可能遺失。

若從一開始就將兩者分開考量,設計會更合理、更不吃力。

將「需要稽核日誌」轉化為需求

光是「稽核日誌」這個詞,無法決定具體的架構。

我們會先確認目的,再逐步整理需要保留的紀錄與保存方式。

只說「可以取得日誌」還不夠完整

若雲端服務的管理介面上已顯示日誌,很容易就會認為「已經可以取得日誌」。

不過,各服務保存的內容與保存期間都不盡相同。

  • 錯誤會被留存,但管理者的操作不會被留存
  • 可在管理介面確認,但會在一定期間後刪除
  • 若要轉送至外部,需要更高階的方案
  • 應用程式自身的操作,需要由我們自行記錄

「誰變更了商品資訊」、「處理了哪一筆申請資料」之類的營運紀錄,單靠雲端服務有時無法完整掌握。

若招標需求中寫有「稽核日誌」,至少建議先確認以下幾點。

需求整理檢查清單

✅️ 要記錄哪些操作
✅️ 是使用者的操作還是管理者的操作
✅️ 目的是障礙調查還是稽核
✅️ 需要保存多久
✅️ 平時是否需要搜尋
✅️ 誰可以查看日誌
✅️ 是否可能包含個人資料

若在未釐清這些問題的情況下決定服務或方案,可能會建置出超出所需的大型架構,或反而漏留必要的日誌。

現代 Web 服務的日誌也會分散

若是傳統的 Web 伺服器,只要保存伺服器內的日誌檔案,就能維持相對容易理解的做法。

如今越來越常見的做法,是組合 CDN、主機代管、資料庫、Headless CMS、郵件發送等多種雲端服務來建置 Web 服務。

Liberogic 除了 AWS 之外,也會依案件需求使用 Cloudflare、Vercel、Supabase、microCMS、Kuroco 等服務。

日誌也會分別保存在各個服務中,因此需要從整個系統的角度,審視「整體究竟會留下哪些紀錄」。

首先確認目的

一聽到「需要稽核日誌」,就會覺得必須導入特殊的服務。

當然,視需求而定,可能需要外部的日誌管理服務或長期保存機制。不過,並不是一開始就要準備龐大的架構。

首先要釐清的是:要記錄什麼、為了什麼而記錄,以及要保存多久。

在整理好這些之後,務實的做法是將可以用標準功能應對的部分,與需要另外建構機制的部分區分開來。

下一次,我們將簡單比較 AWS、Cloudflare、Vercel、Supabase、無頭 CMS 等我們經常處理的服務,各自會留下哪些日誌。

那麼就先這樣。

關於撰寫本文的人

Liberogic 技術部門的支柱。聽到「要是有這種東西就好了」、「有這個就方便了」這類話,就會憑著過人的智慧加上附加價值,轉眼間就完成實作。溝通能力高、深受客戶喜愛,是公司的寶貝,也是個超愛貓的人。

大塚 翔

董事 CTO / 首席工程師 / 合同會社貓穴 代表 / 年輕得很沒道理

查看此員工的文章

我們的優勢在於穩健的團隊體制與快速的應對能力

Liberogic 由經驗豐富的資深人員積極推動專案,因此獲得客戶的高度評價。
我們會妥善指派專案經理與總監,致力於順利推進整體專案。 我們採取依據專案需求適才適所分配資源的方式,避免因全程投入而增加不必要的成本,並且在掌握業務內容、製作與提交估價方面的速度也廣受好評。

注: 本公司不積極承接類似 SES 的駐點業務等,敬請事先諒解。

可搭配 Slack、Teams、Redmine、Backlog、Asana、Jira、Notion、Google Workspace、Zoom、Webex 等幾乎所有主要的專案管理工具與聊天工具使用。

歡迎諮詢您的 Web 相關問題。

案例分析