?文章來源:http://www.zghlxwxcb.cn/news/detail-422653.html
不知道大家有沒有看過這么一部電影:
?
這部電影講述了男主是一個電腦極客,在計算機方面有著不可思議的天賦,男主所在的黑客組織憑借著超高的黑客技術(shù)去入侵各種國家機構(gòu)的系統(tǒng),并引起了德國秘密警察組織、歐洲刑警組織的重視
?
剛開始看的時候以為是一部講述黑客的電影,到后面才發(fā)現(xiàn)其實是講“社會工程學(xué)”
?
好了開始今天的正題——跟大家聊聊服務(wù)器安全相關(guān)的問題
?
我們需要知道,安全總是相對的,再安全的服務(wù)器也有可能遭受到攻擊,所以我們需要盡量地做好系統(tǒng)安全防護、及時修復(fù)一些已知的漏洞;當(dāng)服務(wù)器收到攻擊的時候能夠迅速有效地處理攻擊行為,最大限度地降低攻擊對系統(tǒng)產(chǎn)生的影響
?
服務(wù)器遭受攻擊不是最可怕的,最可怕的是面對攻擊時自己束手無策無從下手,今天咸魚就來介紹一下服務(wù)器遭受攻擊之后我們需要做些什么,讓大家在遇到這種情況的時候能有個大概參考
?
常見思路
-
切斷網(wǎng)絡(luò)
常見的攻擊來自網(wǎng)絡(luò)
?
對于一些對外提供服務(wù)的服務(wù)器,在得知系統(tǒng)遭受到黑客的攻擊之后,首先要做的就是斷開服務(wù)器的網(wǎng)絡(luò)連接,這樣除了能切斷攻擊源之外,也能夠保護服務(wù)器所在網(wǎng)絡(luò)的其他主機不受攻擊
?
-
查找攻擊源
首先我們可以分析系統(tǒng)日志或者登錄日志文件,去查看可疑信息
?
其次查看系統(tǒng)開啟了哪些端口,運行了哪些進(jìn)程(服務(wù)),在這個過程中去分析一下哪些是可疑的進(jìn)程(系統(tǒng)平時運行什么進(jìn)程心里多多少少都會有個大概)
?
-
分析入侵途徑和原因
系統(tǒng)受到入侵,肯定是有多方原因的(可能是系統(tǒng)漏洞、可能是程序漏洞)
?
所以我們需要查清楚是哪個原因?qū)е碌?,并且還要查清楚攻擊的途徑,找到攻擊源
?
-
備份重要數(shù)據(jù)
在系統(tǒng)遭受攻擊之后,需要立即備份服務(wù)器上的重要數(shù)據(jù)(例如用戶數(shù)據(jù)),同時也要查看這些數(shù)據(jù)中是否隱藏著攻擊源
?
如果攻擊源在數(shù)據(jù)中,一定要徹底刪除然后將數(shù)據(jù)備份到一個安全的地方
?
-
重裝系統(tǒng)
不要抱有自己能夠徹底清除攻擊源的幻想,因為沒有人能比黑客更了解攻擊程序
?
在服務(wù)器遭受到攻擊后,最安全也最簡單的方法就是重裝系統(tǒng),因為大部分攻擊程序都會依附在系統(tǒng)文件或者內(nèi)核中
?
處理過程
下面咸魚將跟大家分享一些關(guān)于服務(wù)器遭受攻擊后的常見處理流程
?
-
檢查可疑用戶
在發(fā)現(xiàn)服務(wù)器遭受到攻擊之后,首先要切斷網(wǎng)絡(luò)連接,但是有些情況下(無法馬上切斷網(wǎng)絡(luò)連接),就必須上系統(tǒng)查看是否有可疑用戶在登錄
?
如果發(fā)現(xiàn)有可疑用戶登錄了系統(tǒng),首先要將這個用戶鎖定,然后中斷可疑用戶的遠(yuǎn)程連接
?
首先查看可疑用戶,執(zhí)行 w
命令列出所有登陸過系統(tǒng)的用戶
?
通過輸出的內(nèi)容可以檢查出是否有可疑或者不熟悉的用戶登錄,同時還可以根據(jù)用戶名(USER 字段)以及用戶登錄的源地址(FROM 字段)又或者它們正在運行的進(jìn)程、執(zhí)行的命令(WHAT 字段)來判斷
?
-
鎖定可疑用戶
一旦發(fā)現(xiàn)可疑用戶,就要馬上將其鎖定
?
例如通過上面的輸出發(fā)現(xiàn) nobody 用戶應(yīng)該是可疑用戶(因為 nobody 用戶默認(rèn)情況下是沒有登錄權(quán)限的,不可能說執(zhí)行 bash)
?
?
-
查看用戶登錄日志
last 命令記錄了所有用戶登錄系統(tǒng)的命令,可以通過 last 命令來查找非法用戶的登錄事件
?
last 命令的輸出結(jié)果來源于 /var/log/wtmp
文件中,稍微有點經(jīng)驗的黑客都會刪掉這個文件以便清除自己的行蹤
?
-
查看系統(tǒng)日志
查看系統(tǒng)日志是查找攻擊源最好的辦法
?
可以查看的系統(tǒng)日志有 /var/log/messages
和 /var//log/secure
,這兩個日志文件可以記錄系統(tǒng)的運行狀態(tài)以及遠(yuǎn)程用戶的登錄狀態(tài)
?
還可以查看每個用戶目錄下的 .bash_history
文件,尤其是 /root
目錄下的,這個文件記錄著用戶執(zhí)行的所有歷史命令
?
-
檢查并關(guān)閉系統(tǒng)可疑進(jìn)程
檢查可疑進(jìn)程可以通過 top
、ps
命令
?
但是在有些情況下我們只知道進(jìn)程的名稱不知道執(zhí)行路徑,可以通過 pidof
命令找到對應(yīng)的 PID 號,知道了 PID 號我們再去對應(yīng)路徑去查看進(jìn)程完整的執(zhí)行路徑
?除此之外,我們還可以通過指定端口來找到進(jìn)程的 PID,從而找到相關(guān)進(jìn)程
?
-
檢查文件系統(tǒng)的完整性
檢查文件屬性是否發(fā)生變化是驗證文件系統(tǒng)完好性完整性最簡單最直接方法
?
例如可以比較被攻擊服務(wù)器上 /bin/ls
文件的大小與正常服務(wù)器大小是否相同(或者比較 MD5 值)
,以此來驗證文件是否被動過
?
但是這種方法比較耗時耗力,我們可以借助 Linux 上 RPM 工具來完成驗證
?
-
S 表示文件長度發(fā)生了變化
-
M 表示文件的訪問權(quán)限或文件類型發(fā)生了變化
-
5 表示文件的 MD5 校驗值發(fā)生了變化
-
D 表示設(shè)備節(jié)點屬性發(fā)生了變化
-
L 表示文件的符號鏈接發(fā)生了變化
-
U 表示文件子目錄下的設(shè)備節(jié)點的 owner 發(fā)生了變化
-
G 表示文件子目錄下的設(shè)備節(jié)點 group 發(fā)生了變化
-
T 表示文件最后一次的修改時間發(fā)生了變化
?
一般來講,如果輸出結(jié)果中有 'M' 標(biāo)記出現(xiàn),那么對應(yīng)文件可能已經(jīng)遭受到篡改或替換(注意!不一定是遭受攻擊,只是說要你側(cè)重在這些文件上排查)
?
不過這個命令有局限性,那就是只能檢查通過 RPM 包方式安裝的文件;而且如果 RPM 工具遭受攻擊,那就不能用這種方法了,這時候你可以從正常的系統(tǒng)上去復(fù)制一個 RPM 工具來進(jìn)行檢測文章來源地址http://www.zghlxwxcb.cn/news/detail-422653.html
到了這里,關(guān)于服務(wù)器遭受攻擊之后的常見思路的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!