網路安全防護中,弱點掃描、日誌稽核與檔案完整性監控是三大核心面向。本文介紹 Linux 平台上三款經典且廣泛使用的開源安全工具:John the Ripper(密碼強度測試)、Logcheck(日誌自動分析)、Tripwire(檔案完整性檢測),助您建立纵深防禦體系。
Linux 以雜湊格式儲存密碼,理論上不可逆向破解,但可透過字典攻擊或暴力破解比對雜湊值來測試密碼強度。John the Ripper 是高效、跨平台的密碼破解工具,支援 DES、MD5、Blowfish、Kerberos、LM Hash 等多種格式。
# 下載原始碼
wget https://www.openwall.com/john/john-1.9.0.tar.gz
tar xvfz john-1.9.0.tar.gz
cd john-1.9.0/src
make linux-x86-64 # 依架構選擇
cd ../run
./john /etc/shadow # 破解系統帳號密碼
./john --wordlist=password.lst /etc/shadow # 使用字典檔
./john --show /etc/shadow # 顯示已破解密碼
破解結果儲存於 john.pot。亦可測試 Apache htpasswd 產生的密碼檔:./john apachepasswd。
防護建議: 強制使用高複雜度密碼(長度≥12、大小寫數字符號混合)、啟用影子密碼、限制登入失敗次數、採用 SSH 金鑰認證替代密碼。
Logcheck 定期分析系統日誌(/var/log/messages、/var/log/secure、/var/log/maillog 等),過濾已知正常訊息,將可疑條目以郵件發送給管理員,實現「例外管理」。
# 下載安裝
wget https://www.psionic.com/abacus/logcheck/logcheck-1.3.17.tar.gz
tar xvfz logcheck-1.3.17.tar.gz
cd logcheck-1.3.17
make linux
# 設定檔位於 /usr/local/etc/logcheck/
# 修改 logcheck.sh 中的 SYSADMIN="root" 為實際接收郵件帳號
# 編輯 logcheck.ignore 忽略誤報規則(如 plug-gw 反向查詢警告)
編輯 crontab -e 加入:
# 每小時執行一次
0 * * * * /usr/local/bin/logcheck.sh
# 或每日執行
0 3 * * * /usr/local/bin/logcheck.sh
優勢: 避免人工逐行閱讀海量日誌,聚焦異常事件,提升運維效率。
Tripwire 建立系統關鍵檔案的基準資料庫(記錄 inode、權限、修改時間、雜湊值等),定期比對即時狀態,偵測未經授權的新增、刪除、修改,是入侵偵測(HIDS)的核心組件。
tripwire --init 建立基準資料庫tripwire --check 比對現狀與基準,產生報告tripwire --update 針對授權變更更新資料庫# 初始安裝後建立資料庫
tripwire --init
# 每日自動檢查並寄送報告
0 2 * * * /usr/sbin/tripwire --check | mail -s "Tripwire Report" admin@example.com
# 系統合法更新後(如套件升級),更新資料庫
tripwire --update -r /var/lib/tripwire/report/host-20240101-020000.twr
RedHat 6.1 可使用重建版 Tripwire-1.2.3。官網:tripwiresecurity.com(商業版),開源版可從 SourceForge 取得。
| 工具 | 核心功能 | 適用階段 | 建議頻率 |
|---|---|---|---|
| John the Ripper | 密碼強度審計 | 事前預防/定期稽核 | 月/季 |
| Logcheck | 日誌異常偵測 | 事中監控 | 每小時/每日 |
| Tripwire | 檔案完整性驗證 | 事後鑑識/持續監控 | 每日/即時 |
三者互補,構成「預防-偵測-回應」完整安全迴路。建議納入自動化運維體系,並妥善保護工具本身與報告資料的機密性。
Linux sudo 命令詳解:從原理、sudoers 配置到常用參數 (-b, -s, -u, -k) 完整指南
Linux 系統管理核心命令速查:chkconfig、df、ps、netstat 參數詳解與實戰場景
Linux 系統死機/崩潰診斷實戰指南:從 Magic SysRq 到串口控制台與核心崩潰轉儲
Android adb shell ps 指令完整參數詳解與輸出欄位深度解析 (含線程、CPU 時間、調度策略)
Linux fdisk 磁碟分區實戰解讀:啟動旗標、分區類型代碼與 LVM 邏輯卷識別