萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

Linux 系統入侵檢測完整清單:賬戶、日誌、進程、檔案、RPM、網路、計劃任務、後門、核心模組、服務與 Rootkit 掃描 11 維度深度排查

Linux 伺服器一旦被入侵,攻擊者通常建立持久化後門、竊取資料、挖礦或作為跳板。本文提供系統化的 11 維度入侵檢測清單,涵蓋賬戶異常、日誌分析、進程異常、可疑檔案、RPM 資料庫驗證、網路連線、排程任務、後門機制、核心模組、系統服務與自動化 Rootkit 掃描,協助管理員快速發現並應對入侵事件。

1. 賬戶審計

# 查看所有用戶
less /etc/passwd
# 檢查 UID 0 (root 權限) 帳戶
awk -F: '$3==0 {print $1}' /etc/passwd
# 檢查空密碼帳戶
awk -F: 'length($2)==0 {print $1}' /etc/shadow
# 檢查 /etc/passwd 修改時間
ls -l /etc/passwd

2. 登入日誌分析

# 歷史登入記錄
last
lastb      # 失敗登入嘗試
# 關鍵異常指標:
# - "entered promiscuous mode" (網卡進入混雜模式,可能抓包)
# - 大量 RPC 異常字符 (緩衝區溢出攻擊特徵)
# - 非常用時間/地點/IP 登入
# - 連續失敗後成功 (暴力破解成功)

3. 進程異常排查

# 所有進程含 UID
ps -aux
# 重點關注 UID 0 (root) 的陌生進程
# 查看進程開啟檔案/埠口
lsof -p 
# 檢查 inetd/xinetd 守護進程
cat /etc/inetd.conf | grep -v "^#"
# 隱藏進程檢測 (ps vs /proc 差集)
ps -ef | awk '{print $2}' | sort -n | uniq > /tmp/1
ls /proc | sort -n | uniq > /tmp/2
diff /tmp/1 /tmp/2
# 有差異可能為 Rootkit 隱藏進程

4. 可疑檔案搜尋

# SUID 檔案 (權限提升常利用)
find / -uid 0 -perm -4000 -print 2>/dev/null
# 大檔案 (>10MB) 可能為資料竊取暫存/惡意程式
find / -size +10000k -print 2>/dev/null
# 可疑檔名 (隱藏、雙點、空格、單點)
find / -name "..." -print
find / -name ".. " -print
find / -name "." -print
find / -name " " -print
# Core dump 分析
find / -name core -exec ls -l {} \;

5. 系統檔案完整性驗證 (RPM)

# 查詢檔案所屬套件
rpm -qf /bin/ls
rpm -qf /bin/login
# 計算檔案雜湊
md5sum -b /bin/ls
md5sum -t /bin/ls
# 全系統驗證 (耗時較長)
rpm -Va
# 輸出代碼對照:
# S 大小異常  M 模式/權限異常  5 MD5異常  D 裝置號異常
# L 連結路徑異常  U 擁有者異常  G 群組異常  T 修改時間異常
# 重點關注 /sbin /bin /usr/sbin /usr/bin 下的 5/M/S/T 異常

6. 網路連線異常檢測

# 網卡混雜模式檢查
ip link | grep PROMISC
# 所有網路連線
lsof -i
# 監聽埠口與進程
netstat -nap
# ARP 表異常 (ARP 欺騙)
arp -a

7. 排程任務 (Cron/Anacron/Systemd Timer) 檢查

# root 與 UID 0 用戶排程
crontab -u root -l
cat /etc/crontab
ls /etc/cron.*/
# systemd timers
systemctl list-timers --all

8. 後門機制排查

# 啟動腳本
cat /etc/rc.d/rc.local
ls /etc/rc.d/
ls /etc/rc3.d/
# SUID 後門
find / -type f -perm -4000 -print 2>/dev/null
# SSH authorized_keys 異常
cat ~/.ssh/authorized_keys
# /etc/ssh/sshd_config 異常 (PermitRootLogin, AuthorizedKeysFile 等)

9. 核心模組 (LKM) 檢查

lsmod
# 關注未知模組、名稱隨機、無描述模組
# 對比已知乾淨系統 lsmod 基線

10. 系統服務狀態

chkconfig --list          # SysVinit
systemctl list-unit-files # systemd
# RPC 服務
rpcinfo -p

11. 自動化 Rootkit 掃描

# rkhunter (Rootkit Hunter)
sudo apt-get install rkhunter  # 或 yum install rkhunter
sudo rkhunter --update
sudo rkhunter -c --sk

# chkrootkit
sudo apt-get install chkrootkit
sudo chkrootkit -q
# 輸出 "INFECTED" 即可疑

入侵檢測流程圖

事件回應建議流程

  1. 隔離:斷開網路 (保留記憶體取證條件) 或限制防火牆只允許管理 IP。
  2. 取證:記憶體鏡像 (LiME)、磁碟鏡像 (dd/dc3dd)、關鍵日誌備份。
  3. 分析:依上述 11 維度交叉驗證,確認入侵向量、時間線、影響範圍。
  4. 清除:移除惡意程式、後門、恢復被竄改檔案 (從備份/套件重裝)、輪換所有憑證。
  5. 加固:修補漏洞、最小權限、啟用審計、部署 HIDS (Wazuh/OSSEC)、定期掃描。
  6. 複盤:撰寫事件報告、更新應急預案、知識庫沉澱。

總結:入侵檢測非一次性動作,需建立**基線管理** (乾淨系統快照)、**自動化巡檢** (腳本/Ansible/監控系統)、**威脅情報整合** (IOC 比對)。定期演練應急流程,才能在真實攻擊中從容應對。

copyright © 萬盛學電腦網 all rights reserved