措施2-1. 記錄事件
措施2-2. 日誌紀錄內容
措施2-3. 日誌儲存容量
措施2-4. 日誌處理失效之回應
措施2-5. 時戳及校時
措施2-6. 日誌資訊之保護
這個構面應該是2-1比較需要提供符合技術面考量的設計實施方式之佐證,所以我們以此舉例建議系統開發人員提供到什麼程度的陳述。
1.1 系統目標
確保系統操作的可追溯性,支援事件歸責、稽核取證及法規合規性要求。
確保日誌的完整性、機密性和可用性,支援日誌的收集、存儲、檢索、清除和備份。
提供異常行為監控及警示功能,及時發現並回應潛在威脅。
1.2 系統範圍
日誌類型涵蓋:
作業系統日誌(OS Event Log):記錄系統啟動、登出、系統錯誤和系統資源使用等關鍵事件。
網站日誌(Web Log):記錄HTTP請求、用戶訪問行為、錯誤狀態和訪問來源等。
應用程式日誌(Application Log, AP Log):記錄業務交易、使用者操作和應用程式異常等信息。
登入日誌(Logon Log):記錄使用者登入、登出、登入失敗等與身份驗證相關的事件。
2.1 系統架構圖
[日誌來源] | +---[作業系統] +---[網站伺服器] +---[應用伺服器] +---[身份驗證伺服器] | v [日誌收集器 (Filebeat、Fluentd)] | v [日誌處理伺服器 (Logstash、Fluentbit)] | v [日誌存儲系統 (Elasticsearch、Splunk、Graylog)] | +---[日誌查詢與可視化 (Kibana、Splunk Dashboard、Graylog UI)] | +---[日誌備份 (冷存儲、雲存儲)]2.2 主要組件
日誌收集代理:安裝在服務器、應用程式和網路設備上的代理,負責收集本地日誌並將其發送到日誌管理伺服器。
日誌管理伺服器:接受來自日誌收集代理的日誌,進行過濾、解析、歸檔和存儲,並支援檢索、報告和警示。
日誌存儲數據庫:用於持久化存儲日誌數據,支援加密存儲和異地備份,滿足至少六個月的日誌留存期要求。
報表和分析平台:提供用戶友好的日誌檢索、查詢、可視化和異常行為報告,支援事件根因分析和行為趨勢預測。
3.1 日誌收集
收集範圍:OS日誌、Web日誌、AP日誌和登入日誌。
收集工具:
開源工具:Filebeat、Fluentd、Logstash
商業工具:Splunk Forwarder、Graylog Collector、Datadog Agent
3.2 日誌存儲
存儲位置:
本地臨時存儲:本地日誌檔案夾(用於故障恢復)。
中央日誌存儲:專用日誌數據庫(如PostgreSQL、Elasticsearch)。
異地備援存儲:每日/每週定期備份到異地存儲設備或雲存儲(如Amazon S3、Azure Blob)。
3.3 日誌檢索
支援的查詢條件:時間範圍、用戶ID、設備ID、關鍵字、事件類型等。
日誌檢索界面:提供WEB前端介面,便於管理員通過查詢篩選具體的日誌記錄。
日誌檢索技術:
開源工具:Elasticsearch + Kibana
商業工具:Splunk、SolarWinds Log Analyzer、Datadog Log Management
3.4 日誌清除
設定自動清除策略,確保符合留存期(至少6個月)要求。
支援自動和手動清除日誌,並記錄清除行為的審計日誌。
3.5 日誌備份
設置日誌定期備份策略,將日誌備份到異地存儲。
備份方式:
本地備份:備份至不同硬碟區域或磁碟陣列(RAID)。
雲端備份:備份到AWS S3、Azure Blob Storage、Google Cloud Storage。
外部存儲設備:使用磁帶備份系統(如LTO磁帶)。
日誌加密:傳輸中使用TLS,存儲中使用AES-256進行加密。
日誌完整性:對日誌使用哈希值(如SHA-256)進行完整性校驗,防範篡改行為。
日誌訪問控制:僅允許具備特定角色和權限的用戶檢索和訪問日誌。
日誌異常監控:當異常行為(如過多的登入失敗)發生時,系統會立即發出警示。
性能要求:支援每日百萬條日誌的寫入和查詢,單次檢索延遲不超過1秒。
可用性要求:系統具備高可用性架構,確保日誌記錄不丟失,並支援故障恢復。
可擴展性要求:支援分布式架構,當日誌數量增長時可水平擴充。
法規合規性:符合資通安全管理法的合規要求,並支援內部稽核和稽核證據的提供。
1.1 系統目標
確保系統能夠記錄特定事件的詳細資訊,滿足內部控制和法規要求。
支援對管理者行為的完整記錄,作為審計和安全稽核的依據。
確保日誌的完整性、不可否認性和可追溯性,支持資安事件的調查和溯源。
1.2 系統範圍
記錄的事件類型:
身分驗證失敗事件
存取資源失敗事件
重要行為(如異常登入、重要操作)
重要數據異動(如配置修改、敏感數據的修改)
功能錯誤(如系統異常、API請求失敗)
管理者行為(如系統管理者的關鍵操作)
系統對象:
作業系統 (OS) 的日誌
應用程式 (Application) 的行為日誌
資料庫 (Database) 的異動記錄
技術考量:
支援大規模的日誌存儲和快速檢索。
保證日誌的完整性和安全性,防止日誌被篡改。
2.1 系統架構圖
[事件產生端] | [系統核心功能 (包含業務邏輯和控制器)] | [事件記錄模組] | [日誌儲存模組 (資料庫、雲端儲存)] | [日誌查詢與報表模組]3.1 事件記錄模組
功能:
負責在業務邏輯中直接記錄各種事件的資訊,如使用者操作、管理者行為、系統錯誤等。
事件內容範圍:事件類型、操作人員ID、IP位置、時間戳記、具體操作描述等。
運作流程:
事件觸發:當使用者進行身份驗證、資源存取、資料異動或系統出現錯誤時,立即觸發事件記錄。
事件格式化:將事件資訊轉換為結構化的格式(如JSON、XML)以便後續存儲和檢索。
事件存儲:將事件寫入儲存系統(如資料庫、日誌伺服器或雲儲存系統)。
技術實現:
直接在業務模組中內嵌記錄日誌的代碼,例如在控制器、業務邏輯和數據存取層中,根據操作類型,調用 LogEvent() 函數來寫入日誌。
3.2 日誌儲存模組
功能:
儲存所有的日誌數據,支援高效的查詢和檢索。
支援日誌的歸檔和冷存儲,確保長期保留和查詢。
技術實現:
日誌數據庫(如MySQL、PostgreSQL)
支援文件存儲(如AWS S3、Azure Blob)
日誌的壓縮和歸檔機制,減少存儲空間。
日誌結構範例:
3.3 日誌查詢與報表模組
功能:
支援依日期範圍、使用者、操作類型和結果進行查詢。
可產生管理員行為報表,定期提供審計稽核的數據報告。
技術實現:
提供日誌檢索API(如基於SQL查詢)。
支援報表匯出(如CSV、PDF格式)。
4.1 事件記錄流程
用戶行為觸發(如登入嘗試、資源存取)。
系統執行操作(如驗證、數據處理)。
日誌記錄啟動:將事件細節寫入日誌存儲系統(包括用戶ID、時間、事件描述等)。
日誌存儲:將事件數據存儲在數據庫或文件中,以支持後續的檢索和報告。
4.2 管理員行為記錄流程
管理員登入。
管理員操作(如修改用戶權限、系統配置等)。
日誌記錄:將操作的詳細資料(管理員ID、IP、操作內容等)寫入日誌存儲系統。
日誌報表生成:定期匯出管理員操作報告,以供審計和檢查。
5.1 日誌傳輸保護
使用TLS加密保護日誌在傳輸過程中的安全性,避免數據洩露。
5.2 日誌存儲保護
不可變日誌機制:存儲日誌時進行加密和簽名,防止未經授權的篡改。
5.3 存取控制
只有授權的管理員能夠檢視和檢索日誌數據,並實行角色分離。
5.4 日誌完整性驗證
透過哈希校驗(如SHA256)確保日誌內容未被竄改,並定期檢查日誌的完整性。
針對資通系統日誌管理的各項要求,包含事件記錄、日誌處理失效應對、時間同步、資料完整性保護、異機備份及集中管理等內容,以下將規範細分為第二階程序書、第三階SOP及教育訓練三部分,提供清晰且完整的管理建議。
第二階程序書用於描述高層次的政策性與框架性要求,建議納入以下內容:
日誌管理政策框架
日誌記錄的目的:
支援程式除錯、行為歸責、稽核取證及法規要求。
記錄事件的類型:
必須記錄的特定事件,包括:
身分驗證失敗。
存取資源失敗。
重要行為(例如系統配置變更)。
重要資料異動。
功能錯誤。
管理者行為(如執行重要操作)。
日誌內容與格式:
日誌需包含事件詳述資訊,例如:使用者帳號、事件時間、執行功能或資源名稱、事件類型或優先等級、執行結果、錯誤代碼及相關網路位址。
日誌留存政策:
最低保存期限為6個月,並遵循機關規定的保存週期與策略。
日誌處理失效應對:
系統於日誌處理失效時,應定義行為(如覆寫最舊紀錄、停止記錄並發出警告)。
必須即時通報特定稽核失效事件,規範通報時效及通知對象。
時間同步機制:
全系統必須採用一致的時間標準,並使用NTP同步機關內系統與設備時間。
稽核記錄完整性保護:
防止未經授權的讀取、竄改或刪除。
運用雜湊或加密等方式確保日誌資料完整性。
日誌異機備份與集中管理:
系統需定期進行異機備份(如使用Log伺服器),並採用集中式日誌管理。
SOP提供具體實作細節與操作指導,應包含以下執行細節:
日誌記錄與內容
日誌格式規範:
定義日誌記錄欄位(如帳號、時間、事件描述、執行結果等),並提供範例。
單一日誌機制:
使用單一日誌記錄框架(如Log4Net或NLog),避免多種框架混用,並確保日誌可讀性。
日誌儲存與處理
儲存容量規劃:
根據日誌產生頻率與大小進行儲存容量估算,確保至少能保存6個月的記錄。
處理失效應對:
定義在日誌失效時的行為(如覆寫最舊紀錄或停止記錄),並配置即時通知機制(如電子郵件、簡訊)。
時間同步與稽核完整性
時間同步:
配置NTP進行時間同步,提供設定與排錯指南。
完整性保護:
實施雜湊機制(如SHA-256)驗證日誌完整性,並保存雜湊值供比對。
設定檔案加密及唯讀(如Linux的chattr或Windows的只讀屬性)。
使用即時監控工具(如Auditd)偵測日誌異動。
日誌備份與管理
異機備份操作:
使用rsync或系統排程工具設定日誌異機備份。
集中管理:
建置專用Log伺服器,並設定集中化收集與管理機制(如ELK Stack或Splunk)。
日誌稽核與檢視
檢視日誌流程:
制定檢視日誌的時間頻率及重點(如異常存取行為、重大系統錯誤)。
異常事件通報:
當檢視日誌發現異常行為時,立即啟動資安事件處理流程。
教育訓練用於提升相關人員的認知與技能,建議訓練內容包括:
基礎認知訓練
日誌管理的重要性:
說明日誌在資安管理中的角色與價值。
稽核記錄的完整性保護:
介紹雜湊、加密及唯讀保存的原理與應用。
實作技能訓練
日誌設定與檢視:
實際操作如何配置日誌框架、生成稽核紀錄及檢視日誌。
時間同步與備份:
演示NTP校時配置及異機備份操作。
異常事件處理:
演練日誌檢視中發現異常後的通報及處理流程。
常見問題與最佳實踐
多套框架混用的風險:
分析混用多種日誌框架可能帶來的問題,並建議避免方式。
容量不足的處理:
指導如何及時擴充儲存容量,或調整記錄策略。
訓練對象
技術人員:系統管理員、開發人員(著重工具及實作)。
管理人員:資安管理負責人(著重政策及監督機制)。
第二階程序書:
描述高層次政策,包括日誌記錄範圍、儲存期限、處理失效應對、時間同步及完整性保護等。
第三階SOP:
提供具體操作細節,如日誌格式規範、儲存容量規劃、時間同步設定、異機備份流程等。
教育訓練:
提升相關人員對政策及實作的理解,並提供實際操作演練。
透過程序書、SOP及訓練三者配合,確保日誌管理從政策到執行層面均有明確規範,並能有效落實,降低資安風險。
以上範例是詢問ChatGPT後再稍加整理而成的,其中或許有部分不容易落實,或者在專案執行時某些考量下不夠充分,所以在參考引用這些內容仍應仔細斟酌合宜性。