iT邦幫忙

2024 iThome 鐵人賽

DAY 28
1
Security

資安這條路:系統化學習藍隊技術系列 第 28

Day28:藍隊提升技術力:監控技術 (2)─日誌: Syslog 企業藍隊的資安日誌利器

  • 分享至 

  • xImage
  •  

企業藍隊與日誌的關係

為什麼企業藍隊需要日誌

藍隊的任務是保護企業不會受到資安攻擊而日誌就像企業的「健康檢查報告」,可以幫助藍隊了解企業系統的運行狀況、使用者行為以及潛在的資安威脅。

日誌如何幫助藍隊達成目標

  • 檢測可疑活動
    • 日誌可以記錄企業中所有系統的活動
      • 使用者登入
      • 檔案存取
      • 網路連線
    • 藍隊可以透過分析日誌,找出異常的活動模式(尋找攻擊徵兆)
      • 非工作時間的登入
      • 大量檔案下載
      • 來自未知IP的連線
  • 調查資安事件
    • 當企業遭受網路攻擊時,日誌可以提供寶貴的資訊
    • 幫助藍隊了解
      • 攻擊者的攻擊手法
      • 受影響的系統
      • 受影響的資料範圍
      • 攻擊造成的損失
    • 透過分析日誌,藍隊可以
      • 追蹤攻擊者的足跡
      • 找出攻擊的源頭
      • 評估攻擊的影響
      • 採取適當的應變措施
  • 符合法規遵循要求
    • 許多產業都有相關的法規要求企業必須記錄特定類型的行為
      • 金融業的 PCI DSS 標準要求記錄所有與信用卡資料相關行為
    • 透過妥善管理和保存日誌
      • 企業可以證明其符合相關法規的要求
      • 避免遭受罰款或其他懲罰
  • 提升資安可見度
    • 日誌可以幫助藍隊全面了解企業網路中發生的所有事情
    • 包括
      • 網路流量
      • 設備狀態
      • 應用程式效能
    • 藍隊可以利用這些資訊
      • 優化網路架構
      • 提升系統效能
      • 改善使用者體驗
      • 強化整體安全性
  • 強化事件偵測和回應能力
    • 日誌可以幫助藍隊更快速地偵測和回應安全事件
    • 建立自動化的日誌分析系統
      • 藍隊可以在攻擊發生時立即收到警報
      • 快速採取行動來阻止攻擊、減輕損失

藍隊如何有效管理和利用日誌?

  • 定義必要的日誌
    • 企業中產生的日誌量非常龐大
    • 藍隊必須明確定義需要收集和分析哪些日誌
    • 需要考慮
      • 企業規模
      • 業務類型
      • 資安風險
      • 法規要求
  • 集中式日誌收集
    • 藍隊建議將所有系統日誌收集到一個集中式平台(SIEM 系統)
      • 簡化日誌管理
      • 方便日誌分析
      • 提高日誌安全性
  • 日誌分析
    • 藍隊需要使用專業的工具和技術來分析日誌
      • 技術
        • 使用規則引擎
        • 使用機器學習
      • 目的
        • 偵測異常活動
        • 識別攻擊模式
        • 預測潛在威脅

常用的日誌類型和工具

  • Syslog

    • 一種標準的日誌傳輸協定
    • 可用於收集各種網路設備的日誌
      • 例如路由器、交換器、防火牆
  • Windows 事件日誌

    • Windows 作業系統內建的日誌記錄系統
    • 可以記錄系統事件、應用程式事件、安全事件
  • Sysmon

    • 一種 Windows 系統服務,可以提供更詳細的系統活動日誌
    • 例如程式建立、網路連線、檔案存取

Syslog

Syslog 基本介紹

Syslog

  • Syslog 是一種標準協定
    • 大多數網路設備都可以啟用
      • 交換器、路由器、防火牆、終端設備
    • 使用伺服器與作業系統
      • 基於 Unix 和 Linux 的系統
      • Web 伺服器上使用
    • 應用程式
      • 自己撰寫的應用程式也可以
    • Windows
      • Windows 系統預設使用 Windows 事件管理器,而不是 Syslog
      • 但 Windows 事件也可以透過第三方工具或其他使用 Syslog 協定的設定轉發到中央伺服器
    • 規範
      • RFC 5424

Syslog 伺服器

  • 用於將事件或系統日誌通知訊息傳送到指定的伺服器
  • 集中來自各種設備的資料收集,以進行分析、審查和干預

應用

  • IT 可以設定一台 Syslog 伺服器
  • 接收來自多個系統的日誌
  • 簡潔的格式儲存,方便查詢
  • 日誌整合器可以直接讀取和處理 Syslog 資料

Syslog 訊息格式

  • Syslog 訊息由三個部分組成
  • 優先值 (PRI)
  • 標頭 (Header)
  • 訊息 (Message)

優先值 (PRI)

  • 優先值是由 設備代碼 和 嚴重級別 兩個值計算得出。
  • 可以使用以下公式計算 PRI
    • (設備代碼 - 8) + 嚴重級別值 = PRI。
  • 設備代碼和嚴重級別的數值
    • 設備代碼 (Facility Code)
      • 範圍從 0 到 23,代表訊息來源的設備或程式類型
    • 嚴重級別 (Severity Level)
      • 範圍從 0 到 7,數值越小代表事件越嚴重
  • 例如
    • 設備代碼為 4 (安全/授權訊息),嚴重級別為 2 (嚴重)
      • 則 PRI 為 (4 - 8) + 2 = 34
    • 設備代碼為 20 (本地使用 4),嚴重級別為 5 (注意)
      • 則 PRI 為 (20 - 8) + 5

設備代碼

  • 設備代碼描述訊息來源的設備或程式類型
編號 設備描述
0 核心訊息
1 使用者級別訊息
2 郵件系統
3 系統守護行程
4 安全性/授權訊息
5 由 syslogd 內部生成的訊息
6 行式印表機子系統
7 網路新聞子系統
8 UUCP 子系統
9 時鐘守護行程
10 安全性/授權訊息
11 FTP 守護行程
12 NTP 子系統
13 日誌稽核
14 日誌警報
15 時鐘守護行程
16-23 本地使用 0-7

嚴重級別

  • 嚴重級別描述事件的嚴重程度
嚴重性 關鍵字 描述 條件
0 緊急 emerg 系統無法使用 恐慌情況。
1 警報 alert 必須立即採取行動 應立即糾正的情況,例如損壞的系統資料庫。
2 嚴重 crit 嚴重情況 硬碟錯誤。
3 錯誤 err 錯誤情況
4 警告 warning 警告情況
5 注意 notice 正常但重要的情況 不是錯誤情況,但可能需要特殊處理的情況。
6 資訊 info 資訊訊息 通常僅在除錯程序時才使用的訊息。
7 除錯 debug 除錯級別訊息

標頭 (Header)

  • 標頭包含識別資訊,用來了解系統訊息的來源

    • 時間戳:以 RFC3339 格式表示,包含日期、時間和時區資訊
    • 主機名:識別發送訊息的設備,可以使用 FQDN、IP 位址或主機名稱
    • 應用程式名稱:識別產生訊息的應用程式
    • 訊息 ID:用於識別訊息類型
  • 舉例

    • 防火牆可以使用不同的訊息 ID 來區分進出流量

訊息 (Message)

  • 訊息內容
    • 簡單易讀的文字或僅供機器讀取的文字
    • 內容不由協定定義(由應用程式處理)
    • Syslog 協定只定義訊息的格式
  • 標籤
    • 發送到 Syslog 伺服器的每條訊息都與兩個標籤(設備和嚴重級別)相關聯
      • 可以讓訊息更易於處理
    • 設備
      • 描述生成訊息的應用程式的功能
      • 例如
        • 郵件伺服器通常使用 mail 設備記錄日誌
    • 嚴重級別
      • 指定事件的嚴重程度
      • 系統管理員能快速判斷事件的緊急程度
      • 嚴重級別以數值表示
        • 範圍從 0 到 7
        • 數值越小代表事件越嚴重
  • 操作指令
    • 標籤之後的部分通常指定操作
    • 這部分通常是 /var/log 資料夾中的檔案名
    • 用來指示訊息儲存的位置
    • 各個 Syslog 應用程式自行定義
    • 例如
      • 操作指令可以是 auth.log
      • 表示訊息將儲存在 /var/log/auth.log 檔案中
  • Syslog 訊息大小
    • 大小限制並沒有設定上限
    • 限制取決於正在使用的 Syslog 傳輸映射 (Transport Mapping)
    • 每個傳輸映射都定義了所需的最小最大訊息長度支援

Syslog 傳輸層協定

  • Syslog 的端口
    • 預設使用 UDP 514 端口
    • 可使用 TCP 514 端口來提高可靠性
    • 某些更嚴格的安全標準要求安全地傳輸日誌
    • 因此常常使用 TCP 6514 作為事實上的標準
      • 但它不是官方標準
  • Syslog 的驗證與加密
    • 不提供內建的身份驗證或加密
    • 因此它可能容易受到攻擊
  • Syslog 協定的實作
    • 「必須」 支援 RFC5425 中描述的基於 TLS 的傳輸
    • 「應該」 支援 RFC5426 中描述的基於 UDP 的傳輸
    • 「建議」 使用基於 TLS 的傳輸部署 Syslog 協定

Syslog 安全考量

訊息完整性

  • Syslog 訊息在傳輸過程中
    • 會被攻擊且損壞
    • 攻擊者可能會惡意修改它們
    • 中間人攻擊(攔截與修改)
  • 後果
    • 導致訊息的原始內容將無法傳遞到收集器
  • 建議
    • 為了防止訊息被篡改,建議使用安全的傳輸方式
    • 如使用 TLS

拒絕服務攻擊

  • 風險
    • 攻擊者可能會發送大量訊息到 Syslog 伺服器,使其不堪重負
  • 緩解措施
    • 實現者應提供功能以最小化此威脅,例如僅接受來自已知 IP 地址的 Syslog 訊息
    • 管理員必須估計 syslog 收集器的適當容量
    • 考慮使用循環檔案儲存記錄,但要注意可能導致無法長期保存記錄

網路擁塞

  • 問題:Syslog 可以生成無限量的資料,透過 UDP 傳輸可能導致網路擁塞
  • 原因:UDP 缺乏擁塞控制機制
  • 解決方案:
    • 推薦使用 TLS 傳輸,它具有擁塞控制機制
    • 在管理網路中,可以考慮使用 UDP 傳輸,但需要進行適當的流量工程
  • 建議:在大多數環境中應使用 TLS 傳輸

與 BSD Syslog 的關係

  • BSD Syslog 廣泛使用,但其格式從未被正式標準化
  • RFC 3164 描述了觀察到的 BSD Syslog 格式(informational RFC)
  • RFC 5424 與 BSD Syslog 的主要區別
    • RFC 5424 提供了更易於解析的標頭
    • 字段分隔更清晰
  • 傳統的 BSD Syslog 由於歷史原因,字段分隔規則難以解析

其他注意事項

  • Syslog 協定不提供訊息傳遞確認
  • 發送方和中繼可以設定為將相同的訊息發送到多個收集器
  • 發送方、中繼和收集器功能可以駐留在同一個系統上

Syslog 實作和設定

不同作業系統和設備上的 Syslog 設定方法

Linux 系統

  • 設定檔案位置:
    • /etc/syslog.conf/etc/rsyslog.conf
  • 功能:
    • 指定要記錄的訊息設備和嚴重級別
    • 設定訊息發送目的地(Syslog 伺服器)
  • 常見設定範例:
    1. 將所有訊息發送到本機 Syslog 伺服器
      *.* /var/log/messages
      
    2. 將特定設備的訊息發送到遠端 Syslog 伺服器
      mail.info @192.168.1.100
      
    3. 根據嚴重級別過濾訊息
      kern.warn /var/log/kern.log
      

Windows 系統

  • 原生支援
    • Windows 系統本身不支援 Syslog 協定
  • 替代方案
    • 使用第三方工具將 Windows 事件日誌轉發到 Syslog 伺服器
      • 常見工具
        • Nxlog
        • EventLog Forwarder

網路設備

  • 支援情況
    • 大多數網路設備支援 Syslog
      • 包括:路由器、交換器、防火牆等
  • 設定方式
    • 透過設備的管理介面進行設定
    • 可指定
      • 要記錄的訊息類型
      • Syslog 伺服器的 IP 位址

常見的 Syslog 伺服器軟體

rsyslog

  • 特點
    • 功能強大
    • 高度可設定
  • 支援功能
    • 訊息過濾
    • 訊息轉發
    • 訊息歸檔
    • 訊息加密

syslog-ng

  • 特點
    • 高效能
    • 支援多執行緒
    • 支援負載平衡
  • 適用場景
    • 處理大量日誌訊息

Logstash

  • 性質
    • 開源的日誌收集、處理和轉發工具
  • 整合性
    • 可與 Elasticsearch 和 Kibana 整合
  • 功能
    • 提供強大的日誌分析
    • 提供視覺化功能

Syslog 過濾和轉發設定

Syslog 訊息過濾

過濾依據

  • 優先值 (PRI)
    • 包含設備代碼和嚴重級別
  • 標頭資訊
    • 時間戳、主機名、應用程式名稱等
  • 訊息 ID (MSGID)
    • 用於識別特定類型的訊息

過濾規則範例

  • 依嚴重級別篩選
  • 依來源主機或應用程式篩選

Syslog 訊息轉發

轉發機制

  • 使用 Syslog 中繼 (Relay)
  • 設定多個收集器 (Collector)

轉發目的

  • 提高訊息傳遞可靠性
  • 分散處理負載

注意事項

  • 具體設定方法依據所使用的 Syslog 伺服器軟體而異
  • 建議參考所使用軟體的官方文件
    • rsyslog
    • syslog-ng

Syslog 日誌壓縮與輪替

日誌檔案壓縮策略

壓縮演算法選擇

  • gzip:壓縮率與速度平衡
  • bzip2:較高壓縮率,速度較慢
  • xz:最高壓縮率,速度最慢

壓縮時機

  • 即時壓縮:節省儲存空間,增加系統負擔
  • 定期壓縮:降低系統負擔,需要較多儲存空間

壓縮檔案命名

  • 建議:使用含日期時間的有意義檔名
  • 目的:便於日後查找與管理

日誌輪替最佳實務

輪替頻率設定

  • 依據
    • 日誌檔案增長速度
    • 儲存空間限制
  • 常見頻率:每日、每週、每月

保留期限設定

  • 過期處理
    • 刪除
    • 歸檔至其他儲存裝置

輪替工具使用

  • Linux:logrotate
  • Windows:工作排程器(Task Scheduler)

輪替過程監控

  • 確保:日誌檔案正確輪替與歸檔
  • 處理:及時修復出現的錯誤

總結

  • 目的
    • 節省儲存空間
    • 提升系統效能
    • 簡化日誌管理
  • 建議
    • 依需求制定適合的壓縮與輪替策略
    • 使用自動化工具執行相關任務

根據您提供的內容,我會以台灣用詞結構化整理如下:

Syslog 與 SIEM 整合

Syslog 資料導入 SIEM 系統

使用 SIEM 代理程式

  • 安裝於產生 Syslog 資料的設備
  • 收集並傳輸 Syslog 資料至 SIEM 系統

使用 Syslog 轉發器

  • 設定轉發器將 Syslog 資料轉送至 SIEM 系統

直接連接 SIEM 系統

  • 利用 SIEM 系統提供的 API 或網路協定
  • 設備直接傳輸 Syslog 資料至 SIEM 系統

SIEM 中的 Syslog 分析與關聯性

安全事件偵測

  • 分析 Syslog 資料以識別
    • 可疑登入活動
    • 惡意軟體感染
    • 網路攻擊

事件關聯

  • 整合不同來源的 Syslog 資料
  • 建立完整的安全事件視圖
  • 例:關聯防火牆、入侵偵測系統和伺服器的 Syslog 訊息

異常偵測

  • 運用機器學習等技術分析 Syslog 資料
  • 識別
    • 異常網路流量模式
    • 不尋常的使用者行為

合規性報告生成

  • 證明組織符合相關法規和標準
    • 例:PCI DSS、HIPAA

整合效益

  • 提供全面的資安全貌
  • 提升整體安全性
  • 支援安全威脅的偵測與應對

總結

Syslog 是一種標準的日誌傳輸協定,廣泛應用於各種網路設備、作業系統和應用程式中。它對企業藍隊而言,是一個強大的資安工具,主要功能包括:

  1. 集中式日誌管理:可將來自不同來源的日誌統一收集和儲存。
  2. 安全事件偵測:透過分析 Syslog 資料,可識別可疑活動和潛在威脅。
  3. 事件關聯分析:整合多個來源的日誌,建立完整的安全事件視圖。
  4. 合規性支援:協助企業符合各種資安法規和標準的要求。
  5. 系統效能監控:提供系統運作狀況的即時資訊。

然而,在實作 Syslog 時,企業需注意幾個關鍵點:確保訊息傳輸的安全性、防範拒絕服務攻擊、妥善管理網路流量,以及定期進行日誌檔案的壓縮和輪替。透過與 SIEM 系統的整合,Syslog 可以更有效地支援企業的整體資安策略,提升威脅偵測和應對能力。

小試身手

  1. Syslog 訊息的優先值(PRI)是如何計算的?
    A. 設備代碼 + 嚴重級別
    B. 設備代碼 - 嚴重級別
    C. (設備代碼 * 8) + 嚴重級別
    D. (設備代碼 - 8) + 嚴重級別

解析:正確答案是 D。Syslog 的優先值(PRI)計算公式為:(設備代碼 - 8) + 嚴重級別值。這個計算方式確保了不同來源和不同嚴重程度的訊息能夠被正確分類和處理。

  1. Syslog 協定預設使用哪個通訊埠?
    A. TCP 80
    B. UDP 514
    C. TCP 443
    D. UDP 53

解析:正確答案是 B。Syslog 協定預設使用 UDP 514 通訊埠。然而,為了提高可靠性,有時也會使用 TCP 514 通訊埠,或在需要更安全傳輸時使用 TCP 6514 通訊埠。

  1. 下列哪項不是 Syslog 訊息的主要組成部分?
    A. 優先值(PRI)
    B. 標頭(Header)
    C. 訊息(Message)
    D. 校驗和(Checksum)

解析:正確答案是 D。Syslog 訊息主要由三個部分組成:優先值(PRI)、標頭(Header)和訊息(Message)。校驗和(Checksum)不是 Syslog 訊息的標準組成部分。

  1. 在 Syslog 中,嚴重級別的範圍是多少?
    A. 0 到 5
    B. 1 到 7
    C. 0 到 7
    D. 1 到 10

解析:正確答案是 C。Syslog 的嚴重級別範圍是從 0 到 7,其中 0 代表最嚴重的情況(緊急),7 代表最不嚴重的情況(除錯)。

  1. 以下哪種做法不適合用於保護 Syslog 系統免受拒絕服務(DoS)攻擊?
    A. 實施來源 IP 過濾
    B. 使用循環檔案儲存記錄
    C. 關閉 Syslog 服務
    D. 估算適當的 Syslog 收集器容量

解析:正確答案是 C。關閉 Syslog 服務雖然可以防止 DoS 攻擊,但同時也會使系統失去重要的日誌功能。其他選項如實施來源 IP 過濾、使用循環檔案儲存記錄、估算適當的收集器容量都是合適的保護措施,可以在維持服務的同時提高系統的抗攻擊能力。


上一篇
Day27:藍隊提升技術力:監控技術 (1)─SIEM 系統:藍隊的關鍵工具
下一篇
Day29:藍隊提升技術力:監控技術 (3)─日誌: Windows 事件日誌監控
系列文
資安這條路:系統化學習藍隊技術30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言