熱門分類
載入中…
目錄0%

🐧 Linux Log 全面強化指南:Auditd、Journalctl、Rsyslog、ELK / SIEM 整合實戰

    🐧 Linux Log 全面強化指南:Auditd、Journalctl、Rsyslog、ELK / SIEM 整合實戰

    Linux 系統的事件紀錄(Logging)是所有資安、維運與問題診斷的核心。 本指南將完整解析 Auditd、Journalctl、Rsyslog、ELK / SIEM 整合 的完整流程,並提供企業級最佳實務,讓你能打造可追蹤、可稽核、具可視化能力的日誌平台。

    本篇涵蓋:

    • Auditd:行為稽核與安全事件追蹤
    • Journalctl:Systemd 日誌查詢、篩選與持久化
    • Rsyslog:集中式日誌傳輸
    • ELK / SIEM:高階分析、視覺化、安全告警

    📌 一、Linux Log 架構快速總覽

    Linux 完整的事件記錄系統由三層組成:

    層級元件目的
    稽核層Auditd追蹤系統層級事件、指令執行、檔案存取
    日誌層Systemd Journal應用程式與系統服務訊息
    集中傳輸層Rsyslog日誌收集與轉送至 SIEM / ELK

    這三層對應企業日誌需求:

    • 完整性(Integrity) → Auditd
    • 可追蹤性(Traceability) → Journalctl
    • 集中分析(Correlated Analytics) → Rsyslog + SIEM

    📌 二、Auditd:核心稽核系統(Security Events)

    Auditd 是 Linux 安全稽核核心,可追蹤:

    • 檔案存取(read/write/delete)
    • 指令執行(execve)
    • sudo 行為
    • 認證、登入失敗
    • 系統設定修改

    🟦 基本查看

    sudo ausearch -m avc
    sudo aureport --summary
    

    🟦 設定稽核規則

    -w /etc/passwd -p wa -k passwd_changes
    -a exit,always -F arch=b64 -S execve -k exec_monitor
    

    Auditd 是 SIEM 中的核心來源,可提供「不可否認性」紀錄。


    📌 三、Journalctl:Systemd 的日誌核心

    Journalctl 提供比傳統 syslog 更完整的結構化日誌,包含:

    • 系統服務啟動與錯誤
    • Kernel 訊息
    • 應用程式輸出

    🟦 查看服務日誌

    journalctl -u nginx
    

    🟦 持續追蹤(tail)

    journalctl -f
    

    🟦 指定期間查詢

    journalctl --since "1 hour ago"
    

    🟦 啟用日誌持久化

    sudo mkdir -p /var/log/journal
    sudo systemctl restart systemd-journald
    

    若未開啟,重開機後日誌會消失。


    📌 四、Rsyslog:集中式日誌傳輸與 SIEM 整合

    Rsyslog 是 Linux 最成熟的日誌傳輸框架,可以:

    • 收集本地日誌
    • 傳送到 Log Server
    • 支援 TCP、UDP、TLS 加密傳輸

    🟦 傳送所有日誌到遠端 SIEM

    編輯 /etc/rsyslog.d/90-siem.conf:
    *.* @@10.10.10.50:514
    
    > @ = UDP > @@ = TCP(推薦)

    🟦 啟用設定

    sudo systemctl restart rsyslog
    

    Rsyslog 與 ELK / Splunk 完全相容,是集中式日誌的標準做法。


    📌 五、ELK / SIEM:日誌分析、視覺化與告警

    ELK(Elasticsearch + Logstash + Kibana)可提供:

    • 全文索引
    • 儀表板(Dashboard)
    • 攻擊偵測
    • 事件關聯分析(Correlation)

    📦 典型架構流程

    Auditd → Journalctl → Rsyslog → Logstash → Elasticsearch → Kibana
    

    🎯 SIEM 可偵測的行為包含:

    • 暴力登入攻擊
    • 敏感檔案讀寫
    • sudo 異常使用
    • 可疑的 execve 連續執行
    • 高權限帳號新增

    重點: 日誌必須「可搜尋」且「具備上下文」,ELK 才能做有效分析。


    📌 六、完整的 Linux Logging 最佳實務

    • 啟用 Auditd 並確保有適當規則
    • 啟用 Journal 日誌持久化
    • Rsyslog 傳送所有日誌到集中伺服器
    • ELK/Splunk 建立儀表板(登入錯誤、sudo、檔案存取)
    • 定期檢查 Auditd Policy 避免誤報

    📌 七、常見錯誤與陷阱

    ❌ Journalctl 沒有持久化

    重開機後日誌消失 → 無法做 Forensics。

    ❌ 全部日誌丟進 ELK 造成爆量

    建議先做 Parser 與等級分類。

    ❌ 沒有 Auditd 規則,事件不完整

    ELK 只能看到 service log,而非系統行為。


    📌 八、結語

    Linux 的日誌能力比一般認知更強大。 從 Auditd 的稽核能力、Journalctl 的結構化日誌,到 Rsyslog 的集中收集,再到 ELK/SIEM 的視覺化監控,你可以打造一個企業級、可稽核、可追蹤的系統安全平台。

    如需更深入整合(Ex: Filebeat、OpenSearch、SOAR 自動化告警),我也可以協助製作延伸篇。


    🔗 延伸閱讀

    💬 歡迎在下方留言交流!

    想了解更深入的日誌分析?ELK / SIEM 部署?或是 Auditd 規則最佳化?歡迎留言交流!

    — WWFandy・Linux Logging / SIEM 技術筆記

    🔗 分享這篇 LINE Facebook X

    沒有留言:

    字級