溫馨提示×

如何通過Filebeat在CentOS上進行日志審計

小樊
45
2025-09-22 04:35:56
欄目: 智能運維

如何通過Filebeat在CentOS上進行日志審計

1. 安裝Filebeat

在CentOS系統上,可通過包管理器(推薦)或手動下載RPM包安裝Filebeat:

  • 包管理器安裝(適用于CentOS 7/8及以上):
    sudo yum install -y filebeat
    
  • 手動安裝(適用于自定義版本):
    從Elastic官網下載對應版本的RPM包(如filebeat-7.14.0-x86_64.rpm),執行安裝:
    wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.14.0-x86_64.rpm
    sudo rpm -ivh filebeat-7.14.0-x86_64.rpm
    

2. 配置Filebeat核心參數

編輯/etc/filebeat/filebeat.yml(主配置文件),重點設置以下模塊:

  • 輸入源定義:指定要監控的日志文件路徑(安全審計需覆蓋認證、系統、應用日志)。
    示例配置(監控系統認證日志、安全事件日志及應用日志):
    filebeat.inputs:
    - type: log
      enabled: true
      paths:
        - /var/log/secure       # CentOS認證日志(SSH登錄、sudo使用等)
        - /var/log/messages     # 系統級日志(內核、服務消息)
        - /var/log/*.log        # 應用層通用日志
      exclude_lines: ["DBG"]    # 排除調試信息(減少噪音)
      exclude_files: [".gz"]    # 忽略壓縮歸檔文件
    
  • 輸出目標配置:將日志發送至Elasticsearch(需替換為實際地址及認證信息)。
    示例(Elasticsearch本地實例,帶用戶名密碼認證):
    output.elasticsearch:
      hosts: ["localhost:9200"]               # Elasticsearch地址
      username: "elastic"                     # 認證用戶名(默認elastic)
      password: "your_password"               # 認證密碼
      index: "centos-audit-logs-%{+yyyy.MM.dd}"  # 索引命名規則(按日期分割)
    
  • 可選:啟用處理器增強日志(如解析時間戳、提取關鍵字段)。
    示例(使用dissect處理器解析/var/log/secure中的SSH登錄日志):
    filebeat.inputs:
    - type: log
      paths: ["/var/log/secure"]
      processors:
        - dissect:
            tokenizer: "%{timestamp} %{loglevel} %{message}"
            field: "message"
            target_prefix: ""
    

3. 啟動與啟用Filebeat服務

配置完成后,啟動Filebeat并設置為開機自啟:

sudo systemctl daemon-reload          # 重新加載系統服務配置
sudo systemctl start filebeat         # 啟動Filebeat服務
sudo systemctl enable filebeat        # 設置開機自啟

4. 驗證Filebeat運行狀態

  • 檢查服務狀態:確認Filebeat是否正常運行。
    sudo systemctl status filebeat
    
    若輸出顯示Active: active (running),則表示服務已啟動。
  • 查看Filebeat日志:排查配置錯誤或運行異常。
    sudo tail -f /var/log/filebeat/filebeat
    
  • 確認日志發送:通過Elasticsearch的_cat/indices API查看是否生成對應的索引(如centos-audit-logs-2025.09.22)。

5. 安全加固措施

  • 限制訪問權限
    • 為Filebeat創建專用低權限用戶(如elkuser),避免使用root運行。
    • 配置日志文件權限,確保只有授權用戶可讀:
      sudo chown -R elkuser:elkgroup /var/log/secure /var/log/messages
      sudo chmod -R 640 /var/log/secure /var/log/messages
      
  • 加密傳輸
    若Elasticsearch啟用X-Pack安全特性,需在output.elasticsearch中配置ssl.certificate_authorities(指定CA證書路徑),并使用https協議。
  • 禁用不必要的模塊
    若無需監控所有輸入源,關閉未使用的模塊以減少資源消耗。

6. 日志分析與可視化(可選)

  • 安裝Kibana:通過Kibana可視化分析日志數據(需提前安裝并配置Kibana與Elasticsearch通信)。
  • 創建索引模式:在Kibana中進入“Stack Management > Index Patterns”,創建centos-audit-logs-*索引模式。
  • 構建儀表板:通過“Visualize Library”創建可視化組件(如登錄失敗次數折線圖、異常登錄IP熱力圖),添加至儀表板以實時監控安全事件。

7. 擴展:使用Filebeat模塊簡化審計配置

Filebeat內置auditd模塊(針對Linux審計框架)、system模塊(針對系統日志)等,可簡化安全審計配置:

  • 啟用system模塊(監控系統日志):
    sudo filebeat modules enable system
    
  • 自定義模塊配置:修改/etc/filebeat/modules.d/system.yml,調整監控的日志文件及字段映射。
  • 加載模塊索引模板
    sudo filebeat setup --index-management
    
    此命令會自動創建適合系統日志的索引模板,優化日志存儲與查詢性能。

通過以上步驟,即可在CentOS上通過Filebeat實現日志審計,收集、傳輸并分析系統安全日志,為安全事件排查提供數據支持。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女