系統(tǒng)安全加固-Linux系統(tǒng)中木馬排查方法

線上服務(wù)器中招木馬是非常常見的一類安全問題,再遇到問題時,不要慌,先止損再排查,事后也要多總結(jié),下面介紹一個個人具體的排查及防護(hù)方法

故障描述:
如果需要服務(wù)器數(shù)據(jù)進(jìn)行備份,避免因?yàn)楣粲绊憣?dǎo)致備份異常,可以參考阿里云腳本(重啟實(shí)效),終端對外某些端口訪問(或者直接斷外網(wǎng),用VNC操作)
Window2008的批處理文件下載地址:http://oss.aliyuncs.com/aliyunecs/windows2008_drop_port.bat
Linux系統(tǒng)腳本:http://oss.aliyuncs.com/aliyunecs/linux_drop_port.sh

  iptables -I OUTPUT 1 -p tcp -m multiport --dport 21,22,23,25,53,80,135,139,443,445 -j DROP
  iptables -I OUTPUT 2 -p tcp -m multiport --dport 1433,1314,1521,2222,3306,3433,3389,4899,8080,18186 -j DROP
  iptables -I OUTPUT 3 -p udp -j DROP

以下是處理過程:
步驟1:登錄痕跡

1. 查看登錄成功的IP:grep -i accept /var/log/secure* -n | grep -v 116.213.168.211
2. 查看登錄失敗的用戶信息:lastb | awk {'print $1'} | sort -r |uniq -c | sort -rn
3. 查看賬戶登錄信息:lastlog/last
4. 查看免密碼登錄authorized_key:stat /root/.ssh/authorized_keys,看時間創(chuàng)建和修改時間,然后cat看內(nèi)容

步驟2:檢查賬戶,包括:異常賬戶、新用戶、特權(quán)賬戶、空口令賬戶

1. 查看配置文件修改時間:stat /etc/passwd
2. 查看是否有異常的系統(tǒng)用戶:cat /etc/passwd 或 grep 'bash' /etc/passwd --color
3. 查看是否產(chǎn)生了新用戶,UID和GID為0的用戶:grep '0' /etc/passwd
4. 查看passwd的修改時間,判斷是否在不知的情況下添加用戶:ls -l /etc/passwd
    1. file file_name
    2. stat file_name
    3. lsattr file_name
    4. ll -a file_name
5. 查看是否存在特權(quán)用戶:awk -F:  '$3==0 {print $1}' /etc/passwd
6. 查看是否存在空口令帳戶:awk -F:  'length($2)==0 {print $1}' /etc/shadow

步驟3:檢查進(jìn)程

1.  以進(jìn)程樹方式查看:ps -auxf 

2.  查看當(dāng)前用戶的進(jìn)程(檢查是否有偽造進(jìn)程):ps -ef | grep vps

3.  守護(hù)進(jìn)程檢查(inetd)

4.  1.  ps -aef | grep inetd

    2.  1.  輸出了inetd –s /tmp/.xxx之類的進(jìn)程,多數(shù).xxx為后門進(jìn)程

        2.  kill –9 pid 開殺死該進(jìn)程

        3.  find / -name 程序名 -print   #如果kill掉自動運(yùn)行,則執(zhí)行查找命令,找到所在目錄

    3.  cat /etc/inetd.conf | grep -v "^#"

    4.  1.  輸出的信息就是這臺機(jī)器所開啟的遠(yuǎn)程服務(wù)。

        2.  CentOS:xinetd.conf

        3.  Ubuntu:inetd.conf

        4.  [http://blog.csdn.net/d_0xff/article/details/51521075](http://blog.csdn.net/d_0xff/article/details/51521075)

5.  查看該進(jìn)程所打開的端口和文件:lsof -p pid

6.  隱藏進(jìn)程

7.  1.  ps -ef | awk '{print $2}' | sort -n | uniq > 1

    2.  ls /proc | sort -n | uniq > 2

    3.  diff 1 2

步驟4:查看history找操作痕跡

more .bash_history

步驟5:查找后門/異常文件: ls -alt

1. find / -uid 0 -perm -400 -print | less
2. find / -size +1000k -print | less
3. find / -name "..." -print | less
4. find / -name ".." -print | less
5. find / -name "." -print | less
6. find / -name "" -print | less

步驟6:檢查系統(tǒng)守護(hù)進(jìn)程

cat /etc/inetd.conf | grep -v "^#"

步驟7:檢查RPM的完整性

1. rpm -Va
2. rpm –qf /bin/ls
3. rpm -qf /bin/login
4. md5sum –b 文件名
5. md5sum –t 文件名
#注意相關(guān)的/sbin,/bin,/usr/sbin,/usr/bin

步驟8:檢查網(wǎng)絡(luò)

1. ip link | grep PROMISC(正常網(wǎng)卡不該在promisc模式,可能存在sniffer)
2. lsof -i
3. netstat -nap(察看不正常打開的TCP/UDP端口)  --> 查找非常規(guī)端口
4. netstat -rn
5. arp -a

步驟9:檢查端口監(jiān)聽

1. 輸入netstat -an,列出本機(jī)所有的連接和監(jiān)聽的端口,查看有沒有非法連接。
2. 輸入netstat –rn,查看本機(jī)的路由、網(wǎng)關(guān)設(shè)置是否正確。
3. 輸入 ifconfig –a,查看網(wǎng)卡設(shè)置。

步驟10:檢查定時任務(wù)

1. cat /etc/crontab
2. crontab -e

步驟11:檢查后門

1. cat /etc/crontab
2. ls /var/spool/cron/
3. cat /etc/rc.d/rc.local
4. ls /etc/rc.d
5. ls /etc/rc3.d
6. find / -type f -perm 4000

步驟12:檢查文件系統(tǒng)中的Core文件

find / -name core -exec ls -l {} \;

步驟13:檢查系統(tǒng)服務(wù)

1. chkconfig --list
2. rpcinfo -p

步驟14:檢查rootkit后門

chkrootkit -q

步驟15:檢查后門文件

1. find / -name ".forward" -print
2. find / -name ".rhost" -print
3. 在某用戶的$HOME下,.rhosts文件中僅包含兩個+號是非常危險的,如果你的系統(tǒng)上開了513端口(rlogin端口,和telnet作用相同),那么任意是誰都可以用這個用戶登錄到你的系統(tǒng)上而不需要任何驗(yàn)證。

步驟16:文件權(quán)限檢查

1. 查找系統(tǒng)中任何用戶都擁有寫入權(quán)限的文件或者目錄,并保存在文件中用于檢查
    1. find  /  -type f -perm -2 -o -perm -20 > /tmp/wmodfiles.txt 2>/dev/null
    2. find  /  -type d -perm -2 -o -perm -20 > /tmp/wmoddir.txt 2>/dev/null
2. 查找系統(tǒng)中沒有屬主的文件,這種無屬主的文件對于系統(tǒng)的安全也能造成一定的威脅,有時候也會成為入侵者的工具,建議發(fā)現(xiàn)之后,要么修改其屬主信息,要么刪除,以免后患。
    1. find / -nouser -o -nogroup > /tmp/orphan.txt 2>/dev/null
3. 查找系統(tǒng)中含有 S 位文件,S位權(quán)限的程序?qū)ο到y(tǒng)的威脅很大,可以把某些沒必要使用 S 位權(quán)限的應(yīng)用程序去掉,以防用戶權(quán)限的濫用。
    1. find / -type f -perm -4000 -o -perm -2000 > /tmp/smod.txt 2>/dev/null
    2. 如果查到一個文件-rwsr-xr-x 1 root root xxx .sh,則表明任何用戶進(jìn)來以后運(yùn)行這個文件都可以獲得一個rootshell,這就是setuid文件

步驟17:殺毒 推薦ClamAV

上面就講完了如何排查木馬。當(dāng)系統(tǒng)被植入木馬后,第一操作就是止損,最好在斷網(wǎng)情況下進(jìn)行排查。一旦系統(tǒng)中了木馬,當(dāng)前系統(tǒng)排查中招方式后,一定要重裝系統(tǒng),然后針對中招方式,進(jìn)行加固,切記,當(dāng)前不可再使用??!

———————————————— 防 護(hù) ————————————————

下面講下規(guī)避方法
系統(tǒng)外層規(guī)避:

1. 安全組是一種虛擬防火墻(云服務(wù)器都有具備),具備狀態(tài)檢測包過濾功能。安全組用于設(shè)置單臺或多臺云服務(wù)器的網(wǎng)絡(luò)訪問控制,它是重要的網(wǎng)絡(luò)安全隔離手段,用于在云端劃分安全域。安全組規(guī)則可以允許或者禁止與安全組相關(guān)聯(lián)的云服務(wù)器 ECS 實(shí)>例的公網(wǎng)和內(nèi)網(wǎng)的入出方向的訪問
2. 云盾可以防護(hù)SYN Flood,UDP Flood,ACK Flood,ICMP Flood,DNS Flood,CC攻擊等3到7層DDoS的攻擊。DDoS基礎(chǔ)防護(hù)免費(fèi)為阿里云用戶提供最高5G的默認(rèn)DDoS防護(hù)能力。
3. Web應(yīng)用防火墻(Web Application Firewall, 簡稱 WAF)基于云安全大數(shù)據(jù)能力實(shí)現(xiàn),通過防御SQL注入、XSS跨站腳本、常見Web服務(wù)器插件漏洞、木馬上傳、非授權(quán)核心資源訪問等OWASP常見攻擊,過濾海量惡意CC攻擊,避免您的網(wǎng)>站資產(chǎn)數(shù)據(jù)泄露,保障網(wǎng)站的安全與可用性

系統(tǒng)內(nèi)層規(guī)避

1.  設(shè)置iptables,添加ACL規(guī)則

2.  使用強(qiáng)密碼

3.  關(guān)閉不需要的端口,并及時安裝應(yīng)用補(bǔ)丁

4.  安全防護(hù)軟件:fail2ban、hostdeny

5.  文件權(quán)限加固:這塊阿里云寫的非常好,可以參見連接[https://help.aliyun.com/knowledge_detail/41217.html?spm=5176.7841174.2.7.iqoxda](https://help.aliyun.com/knowledge_detail/41217.html?spm=5176.7841174.2.7.iqoxda)

系統(tǒng)自身規(guī)避,主要借助于云平臺的快照和鏡像功能,數(shù)據(jù)無價,防患于未然

1. 設(shè)置定時快照(系統(tǒng)快照和數(shù)據(jù)盤快照)
2. 定期做鏡像
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容