一、Linux 病毒威脅全景:知己知彼才能百戰(zhàn)不殆?
(一)病毒類型深度解析?
- 木馬程序(Trojan)偽裝成合法軟件,常見(jiàn)形式如sh偽裝成系統(tǒng)腳本,通過(guò)SSH 弱口令或釣魚(yú)郵件植入,典型特征是創(chuàng)建隱蔽端口(如監(jiān)聽(tīng)?12345 端口)。?
- Rootkit 后門深度感染內(nèi)核層,修改ls、ps等系統(tǒng)工具隱藏自身,常見(jiàn)文件如/lib/modules/extra/rk.ko,通過(guò)篡改/etc/so.preload注入惡意動(dòng)態(tài)庫(kù)。?
- 蠕蟲(chóng)病毒利用系統(tǒng)漏洞自我復(fù)制,如2016 年的Mirai變種通過(guò)?Telnet 弱口令感染物聯(lián)網(wǎng)設(shè)備,生成/tmp/airodump等偽裝進(jìn)程。?
- 加密勒索軟件針對(duì)關(guān)鍵業(yè)務(wù)文件(*.conf、*.db)加密,典型行為是創(chuàng)建txt勒索信,使用AES-256 算法加密文件。?
(二)傳播渠道分析?
- 網(wǎng)絡(luò)入侵:通過(guò)未打補(bǔ)丁的 SSH(CVE-2018-15473)、Web 服務(wù)(WordPress 插件漏洞)?
- 移動(dòng)存儲(chǔ):自動(dòng)運(yùn)行腳本感染/media/USB/.autorun?
- 惡意軟件倉(cāng)庫(kù):篡改/etc/apt/sources.list植入惡意源?
二、立體防御體系:構(gòu)建病毒檢測(cè)的三道防線?
(一)實(shí)時(shí)監(jiān)控層:7×24 小時(shí)預(yù)警系統(tǒng)?
- 基礎(chǔ)文件監(jiān)控工具?
?# 監(jiān)控關(guān)鍵目錄變化(需安裝inotify-tools)?
inotifywait -m -r -e create,delete,modify /etc /usr/bin /var/spool/cron?
?# 檢測(cè)隱藏文件(Linux下以.開(kāi)頭的隱藏文件異常增多需警惕)?
find / -type f -name ".*" -newerct "7 days ago" | grep -vE '^\./\.|/\.cache/|/\.config/'?
?進(jìn)程行為分析?
?# 查找異常網(wǎng)絡(luò)連接(ESTABLISHED狀態(tài)且非已知服務(wù)端口)?
netstat -antp | grep ESTABLISHED | awk '$4 !~ /:22|:80|:443/ {print $0}'?
?# 檢測(cè)CPU異常占用(單進(jìn)程持續(xù)>50%且非業(yè)務(wù)進(jìn)程)?
top -b -n 1 | awk '$9 > 50 && $NF !~ /java|tomcat|nginx/ {print $0}'?
?(二)靜態(tài)檢測(cè)層:離線病毒掃描方案?
- 開(kāi)源殺毒引擎 ClamAV(日均病毒庫(kù)更新)?
?# 完整系統(tǒng)掃描(排除臨時(shí)目錄)?
clamscan -r -i --exclude-dir=/tmp /?
?# 實(shí)時(shí)監(jiān)控守護(hù)進(jìn)程(需安裝clamd)?
systemctl start clamd.service?
freshclam # 更新病毒庫(kù)?
?Rootkit 檢測(cè)工具組合?
?# 內(nèi)核級(jí)后門檢測(cè)(chkrootkit)?
chkrootkit | grep -v 'not found' # 重點(diǎn)關(guān)注"INFECTED"標(biāo)識(shí)?
?# 文件校驗(yàn)工具(rkhunter)?
rkhunter --check # 對(duì)比系統(tǒng)文件哈希值,異常時(shí)提示"File properties differ"?
?(三)主動(dòng)防御層:從源頭阻斷感染路徑?
- 權(quán)限最小化原則?
?# 禁用普通用戶SUID權(quán)限(僅保留必要二進(jìn)制)?
find / -type f -perm /4000 ! -name 'passwd' ! -name 'sudo' -exec chmod o-s {} \;?
?# 限制用戶寫(xiě)入目錄(關(guān)鍵系統(tǒng)目錄設(shè)置 immutable屬性)?
chattr +i /etc/passwd /etc/group /usr/bin/{ls,ps,netstat} # 需root權(quán)限,解除用chattr -i?
- 網(wǎng)絡(luò)訪問(wèn)控制?
?# ufw防火墻規(guī)則(僅允許必要端口)?
ufw allow 22/tcp # SSH管理端口?
ufw allow 80/tcp # Web服務(wù)端口?
ufw deny from any to any port 139,445/tcp # 關(guān)閉SMB弱漏洞端口?
?# 流量監(jiān)控(DenyHosts防暴力破解)?
grep -i 'Failed password' /var/log/auth.log | awk '{print $11}' | sort | uniq -c | sort -nr?
?三、病毒清除實(shí)戰(zhàn):分場(chǎng)景應(yīng)急響應(yīng)方案?
(一)普通用戶空間病毒清除?
- 終止惡意進(jìn)程?
?# 查找病毒文件路徑(根據(jù)異常進(jìn)程PID)?
lsof -p <PID> | grep 'txt' # 查看進(jìn)程執(zhí)行文件?
kill -9 <PID> # 終止進(jìn)程(建議先使用kill -15優(yōu)雅終止)?
?刪除感染文件?
?# 檢查文件哈希(對(duì)比VirusTotal數(shù)據(jù)庫(kù))?
sha256sum /path/to/malicious_file | xargs curl -s https://www.virustotal.com/api/v3/files/ | jq .data.attributes.last_analysis_stats?
?# 安全刪除(防止數(shù)據(jù)恢復(fù))?
shred -n 3 -s 1024M /path/to/malicious_file # 3次覆蓋寫(xiě)入?
?(二)Rootkit 深度感染處理?
- 進(jìn)入單用戶模式重啟服務(wù)器時(shí)按住Shift 鍵,選擇?Advanced Options → Recovery Mode,掛載讀寫(xiě)分區(qū):?
?mount -o remount,rw /?
?清除內(nèi)核模塊?
?# 列出所有加載模塊(查找異常名稱)?
lsmod | awk '$1 !~ /^[a-z0-9_]+$/ {print $1}' # 過(guò)濾標(biāo)準(zhǔn)模塊名?
rmmod <惡意模塊名> # 卸載模塊?
?修復(fù)系統(tǒng)文件?
?# 從安裝源恢復(fù)原始文件(Debian/Ubuntu)?
dpkg -S $(which ls) # 查找文件所屬包?
apt-get install --reinstall <包名> # 重新安裝純凈版本?
?(三)勒索軟件應(yīng)對(duì)策略?
- 立即斷網(wǎng)隔離拔掉網(wǎng)線或執(zhí)行:?
?iptables -P INPUT DROP # 阻斷所有入站連接?
?文件恢復(fù)方案?
- 備份恢復(fù):從最近的rsync/borgbackup備份還原?
- 解密嘗試:通過(guò) NoMoreRansom 項(xiàng)目(https://www.nomoreransom.org/)查找解密工具?
四、長(zhǎng)效防護(hù)機(jī)制:構(gòu)建病毒免疫生態(tài)?
(一)系統(tǒng)加固最佳實(shí)踐?
- 定期漏洞掃描?
?# OpenVAS全系統(tǒng)掃描(需安裝openvas)?
openvas-cli --gmp-username=admin --gmp-password=xxxx --xml-export=scan_report.xml?
?自動(dòng)化補(bǔ)丁管理?
?# Debian系自動(dòng)更新(生產(chǎn)環(huán)境建議測(cè)試后部署)?
apt install unattended-upgrades?
dpkg-reconfigure unattended-upgrades # 配置更新策略?
?(二)日志審計(jì)體系?
?# 記錄所有用戶登錄日志?
echo "session required pam_loginuid.so" >> /etc/pam.d/common-session?
?# 監(jiān)控sudo使用(審計(jì)文件存于/var/log/sudo.log)?
sudo apt install auditd # 啟用系統(tǒng)審計(jì)服務(wù)?
auditctl -w /usr/bin/sudo -p wa -k sudo_access?
?(三)員工安全意識(shí)培訓(xùn)?
- 制定《服務(wù)器訪問(wèn)白名單制度》,禁止使用弱密碼(復(fù)雜度要求:8 位以上 + 大小寫(xiě) + 數(shù)字 + 特殊符號(hào))?
- 定期進(jìn)行釣魚(yú)郵件模擬測(cè)試,強(qiáng)化 "不隨意執(zhí)行來(lái)源不明腳本" 的安全意識(shí)
?