Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> 關於 Linux

Linux 系統入侵檢測完整檢查清單:11 大核心檢查項目

編輯:關於 Linux

Linux 伺服器一旦被入侵,可能導致資料外洩、服務中斷、被植入惡意程式。定期執行系統性檢查是資安防護的基本功。本文整理 11 大核心檢查維度,提供具體指令與異常徵兆,協助管理員快速發現入侵跡象。

1. 帳號系統檢查

# 查看所有帳號
less /etc/passwd

# 檢查 UID/GID 為 0 的帳號(僅應有 root)
awk -F: '$3==0 {print $1}' /etc/passwd

# 檢查 /etc/passwd 異常修改時間
ls -l /etc/passwd

# 檢查空密碼帳號
awk -F: 'length($2)==0 {print $1}' /etc/shadow

# 檢查新增帳號(近期修改)
grep -v '^#' /etc/passwd | sort -t: -k3 -n

異常徵兆: 未授權新增帳號、非 root 的 UID 0、空密碼帳號、passwd/shadow 異常修改時間。

2. 登入日誌分析

# 查看所有登入歷史
last
last -n 50

# 檢查失敗登入
lastb
grep "Failed password" /var/log/secure /var/log/auth.log

# 檢查可疑來源 IP
grep "Accepted password" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr

# 關鍵字搜尋
grep -i "promiscuous\|error\|rpc\|strange" /var/log/messages /var/log/syslog

異常徵兆: 大量失敗嘗試、非常用地區/時間登入、promiscuous mode(混雜模式/嗅探)、RPC 異常字元。

3. 進程與執行檔檢查

# 完整進程列表(注意 UID 0 非預期進程)
ps -auxf
ps -ef

# 檢查特定進程開啟檔案/連接埠
lsof -p 

# 檢查 inetd/xinetd 服務
cat /etc/inetd.conf | grep -v '^#'
ls /etc/xinetd.d/

# 檢查隱藏進程(/proc 與 ps 差集)
ps -ef | awk '{print $2}' | sort -n > /tmp/ps_pids
ls /proc | grep '^[0-9]' | sort -n > /tmp/proc_pids
diff /tmp/ps_pids /tmp/proc_pids

異常徵兆: 未知高權限進程、異常網路連接、偽裝系統進程(如 kthreadd 拼寫錯誤)、隱藏進程(rootkit 特徵)。

4. 檔案系統異常掃描

# SUID/SGID 檔案(提權風險)
find / -type f -perm -4000 -o -perm -2000 2>/dev/null

# 大檔案(可能為資料竊取暫存/惡意程式)
find / -type f -size +10M 2>/dev/null

# 可疑檔名(隱藏、特殊字元)
find / -name ".. *" -o -name ".*" -o -name "* *" -o -name ".." 2>/dev/null

# core dump 檔案(分析崩潰/攻擊軌跡)
find / -name core -exec ls -l {} \;

# 系統檔案完整性(RPM 系統)
rpm -Va | grep -E '^(S|M|5|D|L|U|G|T)'

# 關鍵二進位檔驗證
rpm -qf /bin/ls /bin/login /usr/bin/top /usr/bin/netstat
md5sum /bin/ls /bin/login /usr/bin/top

異常徵兆: 未預期的 SUID 檔、超大不明檔案、偽裝檔名、關鍵系統檔 MD5 不符、rpm -Va 顯示修改(M/S/5 等)。

5. RPM 套件完整性驗證


# 輸出代碼對照:
# S=大小異常 M=權限異常 5=MD5異常 D=裝置號異常 L=連結異常 U=擁有者異常 G=群組異常 T=時間異常
# 重點關注 /sbin, /bin, /usr/sbin, /usr/bin 下的異常

6. 網路連接與監聽埠檢查


# 介面混雜模式(嗅探器徵兆)
ip link | grep PROMISC

# 所有網路連接
lsof -i
netstat -tulnap
ss -tulnap

# 異常連接(非預期埠、外連)
netstat -nap | grep -v -E ':(22|80|443|3306|5432) '

# ARP 表檢查(ARP 欺騙)
arp -a
ip neigh

異常徵兆: 介面進入 PROMISC、不明埠監聽、大量外連、ARP 表異常。

7. 排程任務檢查


# root 與 UID 0 使用者的 crontab
crontab -u root -l
cat /etc/crontab
ls -la /etc/cron.*/
cat /etc/cron.d/*

# 使用者級排程
for user in $(cut -f1 -d: /etc/passwd); do crontab -u $user -l 2>/dev/null; done

異常徵兆: 未授權的排程、反向 Shell 指令、下載執行腳本、異常時間觸發。

8. 後門與持久化機制檢查


# 常見後門位置
cat /etc/rc.d/rc.local
ls /etc/rc.d/rc*.d/
cat /etc/rc.local
ls /etc/init.d/

# SSH authorized_keys
find / -name authorized_keys -exec cat {} \;

# SUID 後門
find / -type f -perm -4000 -exec ls -la {} \;

# 載入模組
lsmod
cat /proc/modules

異常徵兆: rc.local/啟動腳本異常新增、authorized_keys 非預期金鑰、不明 SUID 檔、未知核心模組。

9. 核心模組檢查


lsmod
# 對照已知模組,注意名稱可疑、非標準模組
modinfo 

10. 系統服務與 RPC 檢查


# 啟用服務
systemctl list-unit-files --state=enabled
chkconfig --list  # 舊版

# RPC 服務
rpcinfo -p

異常徵兆: 未授權服務啟用、異常 RPC 服務暴露。

11. Rootkit 掃描工具


# rkhunter
rkhunter --update
rkhunter -c --sk

# chkrootkit
chkrootkit -q

# Lynis 綜合稽核
lynis audit system

檢查自動化建議

  • 將上述指令整合為每日/每週執行的稽核腳本
  • 搭配 AIDE 或 Tripwire 做檔案完整性持續監控
  • 日誌集中化(rsyslog → ELK/Splunk/Graylog)並設定告警規則
  • 部署 Wazuh/OSSEC 主機型入侵偵測 (HIDS)
  • 定期離線備份關鍵日誌與二進位檔基準值

發現入侵後的初步應變

  1. 隔離網路(防止數據外洩/橫向移動)
  2. 保留現場(記憶體映像、磁碟鏡像、日誌)
  3. 啟動應變流程,通報資安單位
  4. 根因分析:入侵向量、影響範圍、持久化機制
  5. 修復:重建系統(不建議清理後繼續使用)、修補漏洞、強化防護

「預防勝於治療」,持續性的基線稽核與自動化監控,才是防禦入侵的根本之道。

Copyright © Windows教程網 All Rights Reserved