伺服器被攻擊後的處理辦法
阿新 • • 發佈:2018-11-26
轉自 https://www.aliyun.com/jiaocheng/131245.html 摘要:對於一些在雲平臺上租用的伺服器,列如Linux作業系統,很多公司或者個人都不使用自帶的防火牆(iptables),那樣很容易被黑客入侵,雖然linux系統是安全高效穩定的,但是安全也是相對的,下面就簡單講解下,當linux伺服器被攻擊後應該如何處理:伺服器被攻擊狀態:不定時向外傳送大量資料包,導致整體網路丟包嚴重。可疑程序:pphp6初步懷疑是DDOS程式netns可以在一臺伺服器上用不同網絡卡做環回,導致伺服器資源耗盡,如lo迴環口流量異常大,需要注意下了,(通過遠端埠注入 對於一些在雲平臺上租用的伺服器,列如Linux作業系統,很多公司或者個人都不使用自帶的防火牆(iptables),那樣很容易被黑客入侵,雖然linux系統是安全高效穩定的,但是安全也是相對的,下面就簡單講解下,當linux伺服器被攻擊後應該如何處理: 伺服器被攻擊狀態:不定時向外傳送大量資料包,導致整體網路丟包嚴重。 可疑程序: pphp6 初步懷疑是DDOS程式 netns 可以在一臺伺服器上用不同網絡卡做環回,導致伺服器資源耗盡,如 lo 迴環口流量異常大,需要注意下了,(通過遠端埠注入) profs 初步懷疑是被利用發起DDOS的服務端程式 IP發現在廣東。 很多人一般會先切斷網路------然後進行資料備份------對系統進行檢查,修復,甚至重灌系統------部署策略------恢復資料------開啟網路連線對外提供服務 我是這樣處理的: --------------ps:eth0是外網網絡卡 1.先做一條策略禁止新的IP連線我的伺服器: root# service iptables restart iptables -F iptables -A INPUT -i eth0 -j DROP 2.然後用命令 netstat -anpt 檢視哪些IP連線著我的伺服器,同時可以檢視到相應的程序和PID,記錄那些可疑IP和可疑程序。 懷疑某個特殊程序後可以用以下命令檢視程序的完整路徑:pidof 程序名稱 -----或者用 ps -ef | grep 程序名稱 ls -al /proc/程序號/exe ----這就可以查出完全路徑了 ls -al /proc/程序號/fd -----檢視檔案的控制代碼 3.用命令 w 或者 last 檢視可疑使用者,將可疑使用者鎖定後強行下線 passwd -l 使用者名稱 ------ -u 是解鎖 ps -ef | grep @pts/3 kill -9 程序號 4.接下來把可疑程序殺掉: -------------------我發現的可疑程序有3個:pphp6,netns,profs 查出的路徑在部署的nagios目錄裡面,所以斷定是外來檔案。kill -9 程序號 --------------殺完,網路明顯好轉。 5. 檢視是否有執行計劃: crontab -l 有其他使用者也看下 crontab -u 使用者名稱 -l 如果有很多不知道的任務計劃,一般會出現非常多註釋,然後有用的夾雜在裡面,列如service iptables stop , get ..... put .... cat 日誌傳送給遠端伺服器等等。 6. 接下來備份資料 我用的CRT 傳輸資料 7.接下來再仔細檢視系統日誌去發現可疑行蹤,或者有可疑檔案: tail -3000 /var/log/messages ------檢視程序啟停狀態以及連線狀態 屬於一般的訊息日誌 tail -3000 /var/log/secure ------本機安全有關的訊息,列如使用者再試探密碼 tail -3000 /var/log/wtmp ------檢視使用者的登入資訊 檢視各使用者目錄下是否存在隱藏指令碼,各使用者的 .bash_profile .bashrc .bash_logout .bash_history 比如 cd /root/ ls -a cat .bash_profile ------su 切換的時候執行 cat .bashrc -----登入的時候執行 cat .bash_logout -----登出的時候執行 cat .bash_history -----保留的歷史命令 同時也要檢視 /etc/目錄下的這幾個檔案裡面是否加入了什麼命令或指令碼,有些黑客會加入 iptables -F 或者 service iptables stop ,那樣你一開始做的策略就沒有用了。 ps:一般在 .bash_history 裡面會加入 history -c rm -rf /var/log/wtmp 確定完這些以後,該鎖定的使用者鎖定,該刪除的檔案刪除(有些檔案被故意鎖定了無法刪除,可以用 “lsattr 檔名 ” 檢視許可權, 用 “ chattr -i 檔名 ” 解鎖檔案, “ chattr +i 檔名” 鎖定檔案 ),.bash_profile等檔案也確認裡面是否有新增其他可以命令,同時也檢視下伺服器自啟動的程式。 chkconfig --list ----檢視服務 chkconfig 服務 off -----關閉自啟動 8.已經清理差不多了就可以做策略允許被訪問的埠,開啟外網(其實最好就是重做系統,因為你不知道你的伺服器是否中了 rootkit,命令檔案是否被替換或者被感染,而現在你還要確認下你是否打了bash的補丁,最新的linux安全漏洞,也可以用chkrootkit、rkhunter、lynis、antivir等工具檢查下linux檔案,必要時可以從安全的伺服器上拷貝命令過來使用) 我做的策略是允許特定的埠,拒絕所有,允許被ping: iptables -I INPUT -i eth0 -p tcp --dport 80 -j ACCEPT iptables -I INPUT -i eth0 -p tcp --dport 25 -j ACCEPT iptables -I INPUT -i eth0 -p tcp --dport 5666 -j ACCEPT iptables -I INPUT -p icmp -i eth0 -j ACCEPT iptables -I INPUT -p all -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -i eth0 -j DROP service iptables save 如果不允許被別人ping的話: #不允許別人ping自己,自己可以ping別人 iptables -I INPUT -p icmp -j DROP iptables -I OUTPUT -p icmp --icmp-type 8 -j ACCEPT iptables -I INPUT -p icmp --icmp-type 0 -j ACCEPT iptables -I INPUT -p icmp --icmp-type 3 -j ACCEPT 然後開啟網絡卡 : ifup eth0 9.進行監控觀察流量和程序。 後言: 其實伺服器剛剛安裝好的時候就應該對其做基本的安全修改,比如賬戶的修剪和賬號策略,關閉不必要的服務和埠,關閉root遠端登入(使用普通賬號後su),修改ssh連線埠,修改登入反饋資訊,禁止非日誌伺服器接收日誌,或者單獨拿一臺伺服器做路由器做策略,其他伺服器做 原地址轉換(SNAT) 目標地址轉換(DNAT) 埠對映等等, 最好是有硬體防火牆。 以上是linux伺服器被攻擊後處理方法的內容,更多 攻擊 伺服器 處理 方法 Linux 的內容,請您使用右上方搜尋功能獲取相關資訊