萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 電腦基礎知識 >  >> 電腦入門

Tripwire 實戰指南:以數位簽名偵測 Unix/Linux 關鍵系統檔案被竄改

Tripwire:Unix/Linux 檔案完整性檢查的經典利器

駭客入侵後常替換關鍵二進制檔(ls、ps、su、sshd)植入後門,並修改時間戳記掩飾蹤跡。Tripwire 透過離線資料庫儲存檔案數位指紋,精準偵測任何未授權變更。

核心原理

  • 建立基準資料庫: 乾淨系統上,依策略檔掃描指定檔案,計算多重雜湊值(預設 MD5 + Snefru),儲存至加密資料庫。
  • 定期/事後比對: 重新掃描計算雜湊值,與資料庫比對。任何差異(內容、權限、inode、連結數、擁有者、大小、時間戳)即回報異動。
  • 資料庫保護: 資料庫、Tripwire 二進制、設定檔必須離線備份(寫保護磁碟、CD-R、PGP 簽名),否則駭客可同時修改資料庫掩飾入侵。

監控屬性範圍

  • 存取權限與檔案模式(含 SUID/SGID/Sticky bit)
  • inode 編號、連結數
  • 擁有者 UID/GID
  • 檔案大小
  • atime/mtime/ctime(存取/修改/狀態變更時間)

四種運作模式

  1. Database Generation: tripwire --init 建立初始資料庫。
  2. Integrity Checking: tripwire --check 例行比對,產生違規報表。
  3. Database Update: tripwire --update 針對已知異動(如套件更新)更新資料庫條目。
  4. Interactive Update: 互動模式逐一確認異動並更新資料庫。

安裝與部署關鍵步驟

  1. 確認編譯環境(gcc/cc、make、gzip)。
  2. 官網下載 tripwire-1.3.1.tar.gz(開源版)或商用版。
  3. 依 Ported 文件對應 OS 選擇 conf.h 與 tw.config 模板(如 Solaris 2.6 用 conf-svr4.h + tw.config.sunos5)。
  4. 編譯安裝,初始化站點/本地金鑰,編寫策略檔 tw.pol 定義監控路徑/屬性/嚴重等級。
  5. 執行 tripwire --init 建立資料庫,將 $(DBDIR)、二進制、設定檔、金鑰離線封存。
  6. 加入 cron 每日自動 --check 並郵寄報表給管理員。

實務建議

  • 核心系統檔(/bin, /sbin, /lib, /etc)設最高嚴重等級。
  • 日誌/資料目錄設較低等級或排除,避免雜訊。
  • 重大系統變更(套件更新、核心升級)後,務必在受控環境下執行 --update 同步資料庫。
  • 現代替代方案:AIDE(開源)、OSSEC/HIDS、systemd-integrity、IMA/EVM(核心級完整性量測)。
copyright © 萬盛學電腦網 all rights reserved