0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

被入侵服務(wù)器的癥狀分析與應(yīng)對方法

Linux愛好者 ? 2017-12-25 10:26 ? 次閱讀

本指南中所謂的服務(wù)器被入侵或者說被黑了的意思,是指未經(jīng)授權(quán)的人或程序為了自己的目的登錄到服務(wù)器上去并使用其計算資源,通常會產(chǎn)生不好的影響。

免責(zé)聲明:若你的服務(wù)器被類似 NSA 這樣的國家機關(guān)或者某個犯罪集團(tuán)入侵,那么你并不會注意到有任何問題,這些技術(shù)也無法發(fā)覺他們的存在。

然而,大多數(shù)被攻破的服務(wù)器都是被類似自動攻擊程序這樣的程序或者類似“腳本小子”這樣的廉價攻擊者,以及蠢蛋罪犯所入侵的。

這類攻擊者會在訪問服務(wù)器的同時濫用服務(wù)器資源,并且不怎么會采取措施來隱藏他們正在做的事情。

被入侵服務(wù)器的癥狀

當(dāng)服務(wù)器被沒有經(jīng)驗攻擊者或者自動攻擊程序入侵了的話,他們往往會消耗 100% 的資源。他們可能消耗 CPU 資源來進(jìn)行數(shù)字貨幣的采礦或者發(fā)送垃圾郵件,也可能消耗帶寬來發(fā)動 DoS 攻擊。

因此出現(xiàn)問題的第一個表現(xiàn)就是服務(wù)器 “變慢了”。這可能表現(xiàn)在網(wǎng)站的頁面打開的很慢,或者電子郵件要花很長時間才能發(fā)送出去。

那么你應(yīng)該查看那些東西呢?

檢查 1 – 當(dāng)前都有誰在登錄?

你首先要查看當(dāng)前都有誰登錄在服務(wù)器上。發(fā)現(xiàn)攻擊者登錄到服務(wù)器上進(jìn)行操作并不復(fù)雜。

其對應(yīng)的命令是 w。運行 w 會輸出如下結(jié)果:

08:32:55up98days,5:43,2users,loadaverage:0.05,0.03,0.00

USER TTYFROMLOGIN@IDLE JCPU PCPU WHAT

rootpts/0113.174.161.108:260.00s0.03s0.02ssshroot@coopeaa12

rootpts/178.31.109.108:260.00s0.01s0.00sw

第一個 IP 是英國 IP,而第二個 IP 是越南 IP。這個不是個好兆頭。

停下來做個深呼吸, 不要恐慌之下只是干掉他們的 SSH 連接。除非你能夠防止他們再次進(jìn)入服務(wù)器,否則他們會很快進(jìn)來并踢掉你,以防你再次回去。

請參閱本文最后的“被入侵之后怎么辦”這一章節(jié)來看找到了被入侵的證據(jù)后應(yīng)該怎么辦。

whois 命令可以接一個 IP 地址然后告訴你該 IP 所注冊的組織的所有信息,當(dāng)然就包括所在國家的信息。

檢查 2 – 誰曾經(jīng)登錄過?

Linux 服務(wù)器會記錄下哪些用戶,從哪個 IP,在什么時候登錄的以及登錄了多長時間這些信息。使用 last 命令可以查看這些信息。

輸出類似這樣:

rootpts/178.31.109.1ThuNov3008:26still loggedin

rootpts/0113.174.161.1ThuNov3008:26still loggedin

rootpts/178.31.109.1ThuNov3008:24-08:26(00:01)

rootpts/0113.174.161.1WedNov2912:34-12:52(00:18)

rootpts/014.176.196.1MonNov2713:32-13:53(00:21)

這里可以看到英國 IP 和越南 IP 交替出現(xiàn),而且最上面兩個 IP 現(xiàn)在還處于登錄狀態(tài)。如果你看到任何未經(jīng)授權(quán)的 IP,那么請參閱最后章節(jié)。

登錄后的歷史記錄會記錄到二進(jìn)制的 /var/log/wtmp 文件中(LCTT 譯注:這里作者應(yīng)該寫錯了,根據(jù)實際情況修改),因此很容易被刪除。通常攻擊者會直接把這個文件刪掉,以掩蓋他們的攻擊行為。 因此, 若你運行了 last 命令卻只看得見你的當(dāng)前登錄,那么這就是個不妙的信號。

如果沒有登錄歷史的話,請一定小心,繼續(xù)留意入侵的其他線索。

檢查 3 – 回顧命令歷史

這個層次的攻擊者通常不會注意掩蓋命令的歷史記錄,因此運行 history 命令會顯示出他們曾經(jīng)做過的所有事情。 一定留意有沒有用 wget 或 curl 命令來下載類似垃圾郵件機器人或者挖礦程序之類的非常規(guī)軟件。

命令歷史存儲在 ~/.bash_history 文件中,因此有些攻擊者會刪除該文件以掩蓋他們的所作所為。跟登錄歷史一樣,若你運行 history 命令卻沒有輸出任何東西那就表示歷史文件被刪掉了。這也是個不妙的信號,你需要很小心地檢查一下服務(wù)器了。(LCTT 譯注,如果沒有命令歷史,也有可能是你的配置錯誤。)

檢查 4 – 哪些進(jìn)程在消耗 CPU?

你常遇到的這類攻擊者通常不怎么會去掩蓋他們做的事情。他們會運行一些特別消耗 CPU 的進(jìn)程。這就很容易發(fā)現(xiàn)這些進(jìn)程了。只需要運行 top 然后看最前的那幾個進(jìn)程就行了。

這也能顯示出那些未登錄進(jìn)來的攻擊者。比如,可能有人在用未受保護(hù)的郵件腳本來發(fā)送垃圾郵件。

如果你最上面的進(jìn)程對不了解,那么你可以 Google 一下進(jìn)程名稱,或者通過 losf 和 strace 來看看它做的事情是什么。

使用這些工具,第一步從 top 中拷貝出進(jìn)程的 PID,然后運行:

strace-pPID

這會顯示出該進(jìn)程調(diào)用的所有系統(tǒng)調(diào)用。它產(chǎn)生的內(nèi)容會很多,但這些信息能告訴你這個進(jìn)程在做什么。

lsof-pPID

這個程序會列出該進(jìn)程打開的文件。通過查看它訪問的文件可以很好的理解它在做的事情。

檢查 5 – 檢查所有的系統(tǒng)進(jìn)程

消耗 CPU 不嚴(yán)重的未授權(quán)進(jìn)程可能不會在 top 中顯露出來,不過它依然可以通過 ps 列出來。命令 ps auxf 就能顯示足夠清晰的信息了。

你需要檢查一下每個不認(rèn)識的進(jìn)程。經(jīng)常運行 ps (這是個好習(xí)慣)能幫助你發(fā)現(xiàn)奇怪的進(jìn)程。

檢查 6 – 檢查進(jìn)程的網(wǎng)絡(luò)使用情況

iftop 的功能類似 top,它會排列顯示收發(fā)網(wǎng)絡(luò)數(shù)據(jù)的進(jìn)程以及它們的源地址和目的地址。類似 DoS 攻擊或垃圾機器人這樣的進(jìn)程很容易顯示在列表的最頂端。

檢查 7 – 哪些進(jìn)程在監(jiān)聽網(wǎng)絡(luò)連接?

通常攻擊者會安裝一個后門程序?qū)iT監(jiān)聽網(wǎng)絡(luò)端口接受指令。該進(jìn)程等待期間是不會消耗 CPU 和帶寬的,因此也就不容易通過 top 之類的命令發(fā)現(xiàn)。

lsof 和 netstat 命令都會列出所有的聯(lián)網(wǎng)進(jìn)程。我通常會讓它們帶上下面這些參數(shù)

lsof-i

netstat-plunt

你需要留意那些處于LISTEN和ESTABLISHED狀態(tài)的進(jìn)程,這些進(jìn)程要么正在等待連接(LISTEN),要么已經(jīng)連接(ESTABLISHED)。如果遇到不認(rèn)識的進(jìn)程,使用strace和lsof來看看它們在做什么東西。

被入侵之后該怎么辦呢?

首先,不要緊張,尤其當(dāng)攻擊者正處于登錄狀態(tài)時更不能緊張。你需要在攻擊者警覺到你已經(jīng)發(fā)現(xiàn)他之前奪回機器的控制權(quán)。如果他發(fā)現(xiàn)你已經(jīng)發(fā)覺到他了,那么他可能會鎖死你不讓你登陸服務(wù)器,然后開始?xì)瑴幺E。

如果你技術(shù)不太好那么就直接關(guān)機吧。你可以在服務(wù)器上運行shutdown -h now或者systemctl poweroff這兩條命令之一。也可以登錄主機提供商的控制面板中關(guān)閉服務(wù)器。關(guān)機后,你就可以開始配置防火墻或者咨詢一下供應(yīng)商的意見。

如果你對自己頗有自信,而你的主機提供商也有提供上游防火墻,那么你只需要以此創(chuàng)建并啟用下面兩條規(guī)則就行了:

  1. 只允許從你的 IP 地址登錄 SSH。

  2. 封禁除此之外的任何東西,不僅僅是 SSH,還包括任何端口上的任何協(xié)議。

這樣會立即關(guān)閉攻擊者的 SSH 會話,而只留下你可以訪問服務(wù)器。

如果你無法訪問上游防火墻,那么你就需要在服務(wù)器本身創(chuàng)建并啟用這些防火墻策略,然后在防火墻規(guī)則起效后使用kill命令關(guān)閉攻擊者的 SSH 會話。(LCTT 譯注:本地防火墻規(guī)則 有可能不會阻止已經(jīng)建立的 SSH 會話,所以保險起見,你需要手工殺死該會話。)

最后還有一種方法,如果支持的話,就是通過諸如串行控制臺之類的帶外連接登錄服務(wù)器,然后通過systemctl stop network.service停止網(wǎng)絡(luò)功能。這會關(guān)閉所有服務(wù)器上的網(wǎng)絡(luò)連接,這樣你就可以慢慢的配置那些防火墻規(guī)則了。

重奪服務(wù)器的控制權(quán)后,也不要以為就萬事大吉了。

不要試著修復(fù)這臺服務(wù)器,然后接著用。你永遠(yuǎn)不知道攻擊者做過什么,因此你也永遠(yuǎn)無法保證這臺服務(wù)器還是安全的。

最好的方法就是拷貝出所有的數(shù)據(jù),然后重裝系統(tǒng)。(LCTT 譯注:你的程序這時已經(jīng)不可信了,但是數(shù)據(jù)一般來說沒問題。)


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11161

    瀏覽量

    208461
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    12

    文章

    8843

    瀏覽量

    84946

原文標(biāo)題:如何判斷 Linux 服務(wù)器是否被入侵?

文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    服務(wù)器遠(yuǎn)程不上服務(wù)器怎么辦?服務(wù)器無法遠(yuǎn)程的原因是什么?

    產(chǎn)生問題的原因,檢查硬盤和服務(wù)器系統(tǒng)。通過日志和檢查數(shù)據(jù)來確認(rèn)問題出 現(xiàn)的原因以及如何解決。 三、端口問題 1.端口錯誤 找回正確的端口或更換遠(yuǎn)程端口 2.端口掃爆 更改端口,并在防火墻禁止掃爆的IP
    發(fā)表于 02-27 16:21

    寶界科技WEB服務(wù)器立體防御解決方案

    采用SSL加密、編碼、碎化等方式的應(yīng)用程序,數(shù)據(jù)流,均無法識別 3、單純文件防篡改系統(tǒng)也存在缺陷利用網(wǎng)站服務(wù)器未打補丁進(jìn)行溢出攻擊,或網(wǎng)站服務(wù)器對外開放了某些存在缺陷的服務(wù),造成系統(tǒng)管理員密碼
    發(fā)表于 05-17 14:01

    寶界科技WEB服務(wù)器立體防御解決方案

    采用SSL加密、編碼、碎化等方式的應(yīng)用程序,數(shù)據(jù)流,均無法識別 3、單純文件防篡改系統(tǒng)也存在缺陷利用網(wǎng)站服務(wù)器未打補丁進(jìn)行溢出攻擊,或網(wǎng)站服務(wù)器對外開放了某些存在缺陷的服務(wù),造成系統(tǒng)管理員密碼
    發(fā)表于 08-19 11:02

    網(wǎng)站服務(wù)器通用和專用保護(hù)方法比較分析

    網(wǎng)站服務(wù)器通用和專用保護(hù)方法比較分析   本文針對當(dāng)今網(wǎng)站被黑事件頻繁發(fā)生的狀況,服務(wù)器遭受的風(fēng)險也比以前更大了。越
    發(fā)表于 01-27 13:30 ?447次閱讀

    解析Linux如何判斷自己的服務(wù)器是否入侵的檢測方法

    如何判斷自己的服務(wù)器是否入侵了呢?僅僅靠兩只手是不夠的,但兩只手也能起到一些作用,我們先來看看UNIX系統(tǒng)上一些入侵檢測方法,以LINUX
    的頭像 發(fā)表于 01-13 10:27 ?5953次閱讀

    如何加強安全性能防止服務(wù)器攻擊

    目前越來越多的服務(wù)器入侵,以及攻擊事件頻頻的發(fā)生,像數(shù)據(jù)被竊取,數(shù)據(jù)庫篡改,用戶數(shù)據(jù)脫褲,網(wǎng)站
    發(fā)表于 09-01 10:11 ?567次閱讀

    服務(wù)器遭到DDoS攻擊的應(yīng)對方法

    DDoS攻擊是目前最常見的網(wǎng)絡(luò)攻擊手段。攻擊者通常使用客戶端/服務(wù)器技術(shù)將多臺計算機組合到攻擊平臺中,對一個或多個目標(biāo)發(fā)起DDoS攻擊,從而增加拒絕服務(wù)攻擊的威力,是黑客使用的最常見的攻擊方法之一,以下列出了一些
    的頭像 發(fā)表于 12-02 15:56 ?3389次閱讀

    常見的香港云服務(wù)器CPU占滿的原因和應(yīng)對方法

    在論壇上發(fā)現(xiàn)有用戶抱怨自己別家選購的1g1m配置香港云服務(wù)器的速度慢,使用種統(tǒng)計看CPU都是80%以上。還在懷疑自己的網(wǎng)站是入侵了嘛。但是當(dāng)他告訴大家網(wǎng)站訪問量在5000+左右的IP地址,大家
    發(fā)表于 07-22 17:30 ?705次閱讀

    開關(guān)電源的常見故障及應(yīng)對方法

    開關(guān)電源的原理、常見故障及應(yīng)對方法,介紹常見開關(guān)電源原理、故障和維修方法。
    發(fā)表于 03-11 16:03 ?23次下載

    運放輸出失調(diào)電壓的影響以及應(yīng)對方法說明

    運放輸出失調(diào)電壓的影響以及應(yīng)對方法
    的頭像 發(fā)表于 03-17 16:58 ?1.3w次閱讀
    運放輸出失調(diào)電壓的影響以及<b class='flag-5'>應(yīng)對方法</b>說明

    服務(wù)器入侵挖礦的過程與解決方法

    常在河邊走,哪能不濕鞋。自認(rèn)為安全防范意識不錯,沒想到服務(wù)器入侵挖礦的事情也能落到自己頭上。
    的頭像 發(fā)表于 07-22 16:47 ?6691次閱讀

    服務(wù)器攻擊了怎么辦?

    怎么辦?今天,小編就給大家分析一下。 一、應(yīng)對小流量攻擊的措施 當(dāng)我們發(fā)現(xiàn)我們的香港服務(wù)器流量突然增加,但是我們的業(yè)務(wù)量并沒有隨著流量的增加而增加時,我們需要注意香港服務(wù)器是否
    的頭像 發(fā)表于 08-24 15:54 ?1338次閱讀

    網(wǎng)絡(luò)突發(fā)環(huán)路你的應(yīng)對方法是什么?

    網(wǎng)工都遇到過網(wǎng)絡(luò)環(huán)路,遇到這個情況,你的應(yīng)對方法是什么?我了解到大部分的初階網(wǎng)工,最開始都只能用拔插網(wǎng)線和重啟觀測法來排除回路。
    的頭像 發(fā)表于 05-22 10:10 ?2981次閱讀
    網(wǎng)絡(luò)突發(fā)環(huán)路你的<b class='flag-5'>應(yīng)對方法</b>是什么?

    服務(wù)器攻擊應(yīng)對方法

    當(dāng)云服務(wù)器受到攻擊時,采取適當(dāng)?shù)?b class='flag-5'>應(yīng)對策略是關(guān)鍵,以確保系統(tǒng)的安全和可用性。下面,小編給大家簡單總結(jié)一下云服務(wù)器攻擊應(yīng)對方法: 1、監(jiān)控和檢
    的頭像 發(fā)表于 12-06 17:44 ?729次閱讀

    服務(wù)器入侵現(xiàn)象、排查和處理步驟

    近期有一個朋友的服務(wù)器(自己做了網(wǎng)站)好像遭遇了入侵,具體現(xiàn)象是: 服務(wù)器 CPU 資源長期 100%,負(fù)載較高。 服務(wù)器上面的服務(wù)不能正常
    發(fā)表于 03-22 10:56 ?1001次閱讀
    <b class='flag-5'>服務(wù)器</b><b class='flag-5'>入侵</b>現(xiàn)象、排查和處理步驟