稽核記錄:回答是誰做的,而不是發生了什麼
監控說明發生了什麼,稽核記錄說明是誰做的。它的價值會在最不希望到來的那些日子顯現,而如果那天手上沒有它,它就等於從未存在。
AtlasPVE ·
本條目涵蓋以下問題
- proxmox 誰做了什麼
- proxmox 稽核記錄
- proxmox 操作歷史
- proxmox 是誰刪除的
- proxmox 追蹤變更
監控與稽核記錄是兩回事,卻經常被混為一談。監控回答的是發生了什麼:磁碟滿了、某項服務掛了、負載升高了。稽核記錄回答的是是誰做的。後者的價值,會在最不希望到來的那些日子顯現。
三個時刻
某樣東西變了,卻沒人記得改過它。答案通常是三週前的自己,而這帶來的是鬆一口氣,而不是指責:一項未知的變更,遠比已知的變更更令人不安。
兩個人在同一台機器上工作,彼此都以為是對方做的。在這種情況下,唯一能結束爭論的就是記錄。
確實出了問題,需要知道事件發生的順序。最終狀態說明了發生什麼;順序說明了如何發生。少了後者,同樣的事會再次發生。
是 root 做的,不算是答案
如果每個人都用同一個帳號登入,記錄中的名稱對所有人都一樣。記錄仍能回答發生了什麼,卻不再能回答是誰做的。因此,在只有一個人的環境中,稽核記錄並不重要;但在第二個人加入的那天,它就變得至關重要。
不該出現在記錄中的內容
請求本文。密碼、金鑰與權杖都會經過那裡。一份什麼都擷取的記錄,代表機密多了一個新的存放處,而且那個地方通常保護得更差,因為它被當成只是一份記錄檔。
稽核記錄需要五件事:誰、做了什麼、何時、對什麼做、結果如何。想加入第六項時,先確認它是否帶有機密。
存放位置決定它能否當作證據
只有應用程式本身能寫入、也能改寫的記錄,是日記,不是證據。如果應用程式本身遭到入侵,記錄也會一併被竄改。
因此記錄也必須落在應用程式無法觸及的地方。系統自身的記錄正是為此而存在:應用程式可以寫入,卻無法從中刪除。
保留期限
只保留三天的稽核記錄,只能回答昨天是誰做的,除此之外什麼也回答不了。然而這類問題大多在幾週後才出現,因為變更的影響通常不會立刻顯現。稽核記錄的保留應採用與備份不同的考量:它佔用的空間很小,卻能長期保有價值。
Atlas 的做法
Atlas 只在稽核記錄中寫入五件事:誰、做了什麼、何時、對什麼做、結果如何。請求本文絕不寫入,因為登入請求帶有密碼,而讓那組密碼在記錄檔中第二次出現沒有任何好處。
記錄會同時落在兩個地方。其一是系統自身的記錄:Atlas 可以寫入,卻無法從中取出或修改。另一處是產品資料目錄中的一個檔案,不會因更新而被刪除。因此不必深入系統記錄就能讀取這份記錄,但需要時它就在那裡。
一個小但有意義的細節:時間戳記寫在記錄的最末端。如此一來,即使建立記錄的一方自行傳入時間戳記,也無法覆寫它。目前沒有任何東西會這麼做,但在稽核記錄中,順序正確本來就是其本質所在。
被拒絕的請求也會被記錄,不只是成功執行的請求。因此有人嘗試過但沒有成功這項資訊也會留在記錄中;而這往往正是要找的那句話。
資料來源
Proxmox 官方文件。內容為英文,且在此主題上以官方文件為準。