日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
監(jiān)控Linux文件變化,防止系統(tǒng)被黑

運維服務(wù)器比較頭疼的一個問題是系統(tǒng)被黑,淪為肉雞或者礦機(jī)。除了加強(qiáng)安全基線配置,加強(qiáng)網(wǎng)絡(luò)和端口加固,系統(tǒng)和應(yīng)用bug修復(fù),上IDS/IPS(入侵檢測/防御系統(tǒng))之外,另一個方面就是系統(tǒng)監(jiān)控,一個完善準(zhǔn)確的安全監(jiān)控可以在主機(jī)層面及時發(fā)現(xiàn)入侵活動、予以告警以備及時處理。本文蟲蟲就給大家來說說系統(tǒng)文件變化的監(jiān)控。

概述

在*nix體系一切皆文件,系統(tǒng)文件的變化往往反應(yīng)著系統(tǒng)的變化,比如系統(tǒng)應(yīng)用的更新、系統(tǒng)的操作活動(可以用安全審計來確定)或系統(tǒng)被黑。根據(jù)蟲蟲多年來維護(hù)經(jīng)驗系統(tǒng)被黑最明顯之一的特征就是系統(tǒng)文件變化,包括不限于:

  • /bin (替換基本工具為惡意木馬等,比如netstat,ps等)
  • /sbin (替換基本工具為惡意木馬等,比如sshd,lsof,ss等)
  • /usr/bin(替換基本工具為惡意木馬等,比如sshd,lsof,ss等)
  • /usr/sbin (替換基本工具為惡意木馬等,比如sshd,lsof,ss等)
  • /etc/init.d (修改開機(jī)啟動任務(wù),添加惡意腳本開機(jī)啟動)
  • /etc/
  • /etc/cront.d (修改計劃任務(wù),添加惡意腳本定時執(zhí)行)
  • /etc/crontab (修改計劃任務(wù),添加惡意腳本定時執(zhí)行)
  • ~/.ssh/目錄 (注入公鑰)
  • /etc/sysconfig (修改iptables配置等,開放網(wǎng)絡(luò)限制)
  • /etc/ssh/ (修改ssh配置)
  • web目錄 (修改網(wǎng)站)

等目錄下文件被替換或者添加非法文件。

加強(qiáng)對這些目錄和文件的監(jiān)控,就可以在一定程度上防止系統(tǒng)被黑,以及系統(tǒng)被黑,而無法發(fā)現(xiàn)的問題。

find –mtime目錄文件變化

監(jiān)控系統(tǒng)變化的最簡單,最常用的方法是使用find命令,其-mtime表示最近有過變動的文件。

比如要查看一天內(nèi)/usr/bin目錄下變化過的文件可以使用

 
 
 
 
  1. find /usr/bin -m -1

要看詳細(xì)這些文件詳細(xì)信息,可以用xargs或者-exec把這些變化文件在用ls -al顯示出來,比如:

 
 
 
 
  1. find /var -type f -mtime -1 -exec ls -al {} \;

RPM監(jiān)控系統(tǒng)文件的變化

RPM是Linux一種應(yīng)用包,利用RPM安裝應(yīng)用大家可能都熟悉。實際上RPM還是一個系統(tǒng)包數(shù)據(jù)庫,并提供包驗證功能,可以用來發(fā)現(xiàn)原始安裝包變化情況。RPM應(yīng)用包文件驗證的基本命令是rpm -V。比如查詢驗證nginx包可以用rpm -V nginx:

該命令結(jié)果的前幾位屬性驗證,.表示屬性正常,其他標(biāo)志表示屬性有變化,如果文件被刪除,則會提示"missing …"。具體屬性的含義如下:

結(jié)果表示:nginx包中default.conf文件的大小,md5哈希值,文件修改時間都改變了。

注意:上圖中中間位還有個字母c標(biāo)志,該標(biāo)表示文件的屬性,c表示文件為配置文件。其他標(biāo)志有:d %doc 說明文檔;g %ghost 不應(yīng)包含的文檔,有可能有問題;l %license 授權(quán)文件;r %readme readme說明文件。

-V選項增加-a就可以列出當(dāng)前系統(tǒng)中安裝后,所有變化過的包文件,可以以此來檢查文件包的完整性,安全性等。我們對結(jié)果使用grep進(jìn)一步檢查就得到具體的文件,比如要獲取bin目錄系統(tǒng)文件變化過的文件:

Inotify監(jiān)控文件變化

另一個比較常用的方法是用Inotify來監(jiān)控文件變化。Inotify是Linux內(nèi)核自帶(2.6.13)的系統(tǒng)事件監(jiān)控機(jī)制。Inotify優(yōu)點之一是基于內(nèi)核事件通知機(jī)制,無需定時主動探測文件狀態(tài),簡單可靠。另一個好處是有文件變化時通知時候,可以記錄當(dāng)時的用戶和事件進(jìn)程?;贗notify的工具有inotify-tools、sersync和lsyncd等,我們此處簡單介紹inotify-tools使用。

(1) inotify-tools安裝

安裝比較簡單,以centos為例,先添加epel源,然后

 
 
 
 
  1. yum install inotify-tools

(2) inotify-tools使用

inotify-tools安裝后會附帶兩個工具即inotifywait和inotifywatch。inotifywait工具用來添加文件或目錄監(jiān)控,支持對文件的一些操作事件,比如open、close、delete等,運行后系統(tǒng)處于阻塞狀態(tài)。inotifywait的參數(shù)和對應(yīng)事件列表如下圖所示:

做為安全方面考慮,重點關(guān)注文件文件變化和創(chuàng)建時間,即modify和create事件。

inotifywatch工具用來查看所監(jiān)視的文件發(fā)生事件的數(shù)據(jù)統(tǒng)計。

下面舉一個實例來說明,我們用inotifywait來監(jiān)控/var目錄下文件的變化:

 
 
 
 
  1. inotifywait -mre modify /var

為了便于閱讀,我們添加一些日志和時間格式參數(shù):

 
 
 
 
  1. inotifywait -mrq --timefmt '%d%m%y %H:%M' --format '%T %w%f' -e modify -e create /var

要統(tǒng)計系統(tǒng)內(nèi)30秒內(nèi)的變化數(shù)據(jù),可以用inotifywatch:

 
 
 
 
  1. inotifywatch -v -t 30 -r /proc

inotifywatch 的使用此處不在詳細(xì)介紹。

自建編寫腳本進(jìn)行文件Md5監(jiān)控

還有一個方法就是對特定目錄(比如Web目錄)開始時候?qū)ζ溆嬎鉳d5 哈希,以后定時計算md5然后比對,發(fā)現(xiàn)md5 哈希不一致了,說明文件已經(jīng)被篡改了。對此,蟲蟲之前基于這個原理用Perl寫了一個腳本MD5Check(github:/bollwarm/MD5Check),可以直接用來使用或者做參考。

MD5Check安裝很簡單,有Perl的環(huán)境下(依賴Digest::MD5)直接下直接clone文件就可以使用,或者使用cpanm安裝

 
 
 
 
  1. cpanm MD5Check

使用:

使用方法,執(zhí)行 perl bin/init.pl web目錄(自定義),初始化MD5值。

然后使用perl bin/check.pl前一部保存的md5哈希的文件檢查。

詳細(xì)實例,見bin目錄下的 init.pl 和 check.pl

cpanm安裝后,可以直接用perl單行程序檢查使用

初始化:

 
 
 
 
  1. perl -MMD5Check -e 'init("/web")' >file

檢查:

 
 
 
 
  1. perl -MMD5Check -e 'print md5check(file)'

實例:我們舉一個wordexpree網(wǎng)站為例子:

 
 
 
 
  1. perl init.pl /web >webmd5.20161027

檢查:

 
 
 
 
  1. perl check.pl webmd5.20161027  

總結(jié)

本文我們講述了通過監(jiān)控linux文件變化方式防止系統(tǒng)被黑。講述了常見的幾種監(jiān)控linux系統(tǒng)下文件監(jiān)控的方法:find、rpm,Inodify以及自編寫腳本的方法。當(dāng)然這些方法需要配合監(jiān)控系統(tǒng)(比如zabbix)才能實現(xiàn)及時全面的系統(tǒng),可以將其做為系統(tǒng)安全監(jiān)控部分(其他部分包括進(jìn)程監(jiān)控、防火墻變化監(jiān)控、流量變化)來配置和告警。關(guān)于這些部分,以后有機(jī)會再給大家介紹。


文章標(biāo)題:監(jiān)控Linux文件變化,防止系統(tǒng)被黑
轉(zhuǎn)載來源:http://www.dlmjj.cn/article/dpgcghs.html