主頁(yè) > 知識(shí)庫(kù) > Linux如何基于A(yíng)IDE檢測(cè)文件系統(tǒng)完整性

Linux如何基于A(yíng)IDE檢測(cè)文件系統(tǒng)完整性

熱門(mén)標(biāo)簽:檢查注冊(cè)表項(xiàng) 美圖手機(jī) 智能手機(jī) 使用U盤(pán)裝系統(tǒng) 阿里云 網(wǎng)站建設(shè) 硅谷的囚徒呼叫中心 百度競(jìng)價(jià)點(diǎn)擊價(jià)格的計(jì)算公式

一、AIDE

AIDE(Advanced Intrusion Detection Environment)是一款針對(duì)文件和目錄進(jìn)行完整性對(duì)比檢查的程序,它被開(kāi)發(fā)成Tripwire的一個(gè)替代品。

AIDE如何工作

AIDE通過(guò)構(gòu)造指定文件的完整性樣本庫(kù)(快照),作為比對(duì)標(biāo)準(zhǔn),當(dāng)這些文件發(fā)生改動(dòng)時(shí),其對(duì)應(yīng)的校驗(yàn)值也必然隨之變化,AIDE可以識(shí)別這些變化從而提醒管理員。AIDE監(jiān)控的屬性變化主要包括:權(quán)限、屬主、屬組、文件大小、創(chuàng)建時(shí)間、最后修改時(shí)間、最后訪(fǎng)問(wèn)時(shí)間、增加的大小以及鏈接數(shù),并能夠使用SHA1、MD5等算法為每個(gè)文件生成校驗(yàn)碼。

這款工具年紀(jì)也不小了,相對(duì)來(lái)同類(lèi)工具Tripwire說(shuō),它的操作也更加簡(jiǎn)單。它需要對(duì)系統(tǒng)做快照,記錄下HASH值,修改時(shí)間,以及管理員對(duì)文件做的預(yù)處理。這個(gè)快照可以讓管理員建立一個(gè)數(shù)據(jù)庫(kù),然后存儲(chǔ)到外部設(shè)備進(jìn)行保管。
當(dāng)管理員想要對(duì)系統(tǒng)進(jìn)行一個(gè)完整性檢測(cè)時(shí),管理員會(huì)將之前構(gòu)建的數(shù)據(jù)庫(kù)放置一個(gè)當(dāng)前系統(tǒng)可訪(fǎng)問(wèn)的區(qū)域,然后用AIDE將當(dāng)前系統(tǒng)的狀態(tài)和數(shù)據(jù)庫(kù)進(jìn)行對(duì)比,最后將檢測(cè)到的當(dāng)前系統(tǒng)的變更情況報(bào)告給管理員。另外,AIDE可以配置為定時(shí)運(yùn)行,利用cron等日程調(diào)度技術(shù),每日對(duì)系統(tǒng)進(jìn)行檢測(cè)報(bào)告。
這個(gè)系統(tǒng)主要用于運(yùn)維安全檢測(cè),AIDE會(huì)向管理員報(bào)告系統(tǒng)里所有的惡意更迭情況。

AIDE的特性

  • 支持消息摘要算法:md5, sha1, rmd160, tiger, crc32, sha256, sha512, whirlpool
  • 支持文件屬性:文件類(lèi)型,文件權(quán)限,索引節(jié)點(diǎn),UID,GID,鏈接名稱(chēng),文件大小,塊大小,鏈接數(shù)量,Mtime,Ctime,Atime
  • 支持Posix ACL,SELinux,XAttrs,擴(kuò)展文件系統(tǒng)屬性
  • 純文本的配置文件,精簡(jiǎn)型的數(shù)據(jù)庫(kù)
  • 強(qiáng)大的正則表達(dá)式,輕松篩選要監(jiān)視的文件和目錄
  • 支持Gzip數(shù)據(jù)庫(kù)壓縮
  • 獨(dú)立二進(jìn)制靜態(tài)編譯的客戶(hù)端/服務(wù)器監(jiān)控配置裝

[root@centos7 ~]$yuminstall-y aide

安裝AIDE

下載:http://sourceforge.net/projects/aide

yum install aide
vi /etc/aide.conf
database=file:@@{DBDIR}/aide.db.gz #系統(tǒng)鏡像庫(kù)位置
database_out=file:@@{DBDIR}/aide.db.new.gz #新生成系統(tǒng)鏡像庫(kù),默認(rèn)在/var/lib/aide/下
# Next decide whatdirectories/files you want in the database.
/boot  NORMAL
/bin  NORMAL
/sbin  NORMAL
/lib  NORMAL
/lib64 NORMAL
#/opt  NORMAL #注釋不檢查目錄
/usr  NORMAL
/root  NORMAL
# These are too volatile ,排除掉個(gè)別不檢查的目錄
!/usr/src
!/usr/tmp
#根據(jù)需求在下面添加新的檢測(cè)目錄
/etc/exports NORMAL
/etc/fstab  NORMAL
/etc/passwd  NORMA

配置文件詳解#定義了數(shù)據(jù)庫(kù)路徑的變量與日志路徑的變量

@@define DBDIR /var/lib/aide
@@define LOGDIR /var/log/aide

#開(kāi)啟壓縮

gzip_dbout=yes

# 將多個(gè)權(quán)限定義成規(guī)則賦給變量,便于后面引用

CONTENT_EX = sha256+ftype+p+u+g+n+acl+selinux+xattrs
CONTENT = sha256+ftype
PERMS = p+u+g+acl+selinux+xattrs

# 采用哪種規(guī)則對(duì)哪些文件進(jìn)行監(jiān)控

/boot/ CONTENT_EX
/bin/ CONTENT_EX
/sbin/ CONTENT_EX
/lib/ CONTENT_EX
/lib64/ CONTENT_EX #采用CONTENT_EX定義的規(guī)則進(jìn)行監(jiān)測(cè)
/opt/ CONTENT #僅對(duì)opt目錄進(jìn)行校驗(yàn)碼與文件類(lèi)型監(jiān)測(cè)
/root/\..* PERMS #PERMS并沒(méi)有hash校驗(yàn)值,因?yàn)?root下的數(shù)據(jù)會(huì)經(jīng)常變化

# 不監(jiān)控的文件

!/etc/.*~
#p:   permissions
#i:   inode:
#n:   number of links
#u:   user
#g:   group
#s:   size
#b:   block count
#m:   mtime
#a:   atime
#c:   ctime
#S:   check for growing size
#acl:      Access Control Lists
#selinux    SELinux security context
#xattrs:    Extended file attributes
#md5:  md5 checksum
#sha1:  sha1 checksum
#sha256:    sha256 checksum
#sha512:    sha512 checksum
#rmd160: rmd160 checksum
#tiger: tiger checksum

定義規(guī)則

編輯配置文件/etc/adie.conf,定義一個(gè)規(guī)則變量mon,監(jiān)控/app目錄下所有文件,不監(jiān)控/app/saomiao.log。

[root@centos7 aide]$ vim /etc/aide.conf
 mon = p+u+g+sha512+m+a+c
 /app mon
 !/app/juli.sh

創(chuàng)建數(shù)據(jù)庫(kù)

生成數(shù)據(jù)庫(kù)文件,在配置文件中定義各文件計(jì)算各校驗(yàn)碼放入數(shù)據(jù)庫(kù)中,用于以后比對(duì)。從提示中看出生成了一個(gè)/var/lib/aide/aide.db.new.gz數(shù)據(jù)庫(kù)文件,這個(gè)數(shù)據(jù)庫(kù)文件為初始數(shù)據(jù)庫(kù),如果進(jìn)行入侵檢測(cè)將與/var/lib/aide/aide.db.gz數(shù)據(jù)庫(kù)文件作比對(duì),如果發(fā)現(xiàn)兩個(gè)數(shù)據(jù)庫(kù)不一致則提示被入侵。

[root@centos7 aide]$aide --init
AIDE, version 0.15.1
### AIDE database at /var/lib/aide/aide.db.new.gz initialized.

模擬文件被入侵更改

模擬文件被修改 : 向saomiao.sh文件添加換行,促使更改校驗(yàn)碼、Mtime、Ctime

[root@centos7 aide]$ echo >> /app/saomiao.sh

檢測(cè):AIDE的檢測(cè)機(jī)制是計(jì)算出現(xiàn)在的數(shù)據(jù)庫(kù)后與aide.db.gz比對(duì)。aide.db.gz默認(rèn)又不存在,所以要將之前的創(chuàng)建的初始化數(shù)據(jù)庫(kù)aide.db.new.gz改名為aide.db.gz。

[root@centos7 aide]$mv aide.db.new.gz aide.db.gz

入侵檢測(cè)

最后使用aide -C注意是大寫(xiě),將現(xiàn)在計(jì)算出的數(shù)據(jù)與aide.db.new.gz比對(duì),查看數(shù)saomiao.sh文件的Mtime、CtimeSHA512被更改過(guò)

設(shè)置任務(wù)計(jì)劃,定期檢測(cè)

crontab –e
30 08 * * * /usr/sbin/aide --check--report=file:/tmp/aide-check-` date +%Y%m%d `.txt #每天早上08:30執(zhí)行一次

也可以將信息發(fā)送到郵件:

30 08 * * * /usr/sbin/aide --check| mail –s “AIDE report“ test@163.co

二、RKHunter

RKHunter工具時(shí)專(zhuān)門(mén)檢測(cè)系統(tǒng)是否遭受rootkit的一個(gè)工具,他通過(guò)自動(dòng)執(zhí)行一系列的腳本來(lái)全面的檢測(cè)服務(wù)器是否感染rootkit。

RKHunter的功能

  • 檢測(cè)易受攻擊的文件;
  • 檢測(cè)隱藏文件;
  • 檢測(cè)重要文件的權(quán)限;
  • 檢測(cè)系統(tǒng)端口號(hào);

安裝

[root@centos7 aide]$yum install rkhunter

檢測(cè)

使用命令rkhunker -c對(duì)系統(tǒng)進(jìn)行檢測(cè)。RKHunter檢測(cè)會(huì)分幾部分,第一部分主要檢測(cè)系統(tǒng)的二進(jìn)制工具,因?yàn)檫@些工具時(shí)rootkit的首要感染目標(biāo)。每檢測(cè)完一部分需要Enter來(lái)確認(rèn)繼續(xù)。

[ ok ] 表示沒(méi)有異常

[ no found ] 是沒(méi)有找到此工具,不用理會(huì)

[ warning ] 如果是紅色的Warnning那就需要進(jìn)一步確認(rèn)這些工具是否被感染或者被替換。

設(shè)置任務(wù)計(jì)劃,定期檢測(cè)

crontab –e
30 08 * * * /usr/sbin/aide --check--report=file:/tmp/aide-check-` date +%Y%m%d `.txt #每天早上08:30執(zhí)行一次

也可以將信息發(fā)送到郵件:

30 08 * * * /usr/sbin/aide --check| mail –s “AIDE report“ test@163.co

二、RKHunter

RKHunter工具時(shí)專(zhuān)門(mén)檢測(cè)系統(tǒng)是否遭受rootkit的一個(gè)工具,他通過(guò)自動(dòng)執(zhí)行一系列的腳本來(lái)全面的檢測(cè)服務(wù)器是否感染rootkit。

RKHunter的功能

  • 檢測(cè)易受攻擊的文件;
  • 檢測(cè)隱藏文件;
  • 檢測(cè)重要文件的權(quán)限;
  • 檢測(cè)系統(tǒng)端口號(hào);

安裝

[root@centos7 aide]$yum install rkhunter

檢測(cè)

使用命令rkhunker -c對(duì)系統(tǒng)進(jìn)行檢測(cè)。RKHunter檢測(cè)會(huì)分幾部分,第一部分主要檢測(cè)系統(tǒng)的二進(jìn)制工具,因?yàn)檫@些工具時(shí)rootkit的首要感染目標(biāo)。每檢測(cè)完一部分需要Enter來(lái)確認(rèn)繼續(xù)。

[ ok ] 表示沒(méi)有異常
[ no found ] 是沒(méi)有找到此工具,不用理會(huì)
[ warning ] 如果是紅色的Warnning那就需要進(jìn)一步確認(rèn)這些工具是否被感染或者被替換。

如果想讓程序自動(dòng)檢測(cè)而不是每檢測(cè)完一部分就讓用戶(hù)確認(rèn),可以使用

rkhunter --check --skip-keypress

同時(shí)如果要想達(dá)到每周或者每月自動(dòng)檢測(cè)就可以將他加入到計(jì)劃任務(wù)中自動(dòng)執(zhí)行

crontab -e
1 10 7 * * * root /usr/bin/rkhunter --check --cronjob

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

標(biāo)簽:山南 懷化 煙臺(tái) 黃山 賀州 湖北 湘潭 通遼

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Linux如何基于A(yíng)IDE檢測(cè)文件系統(tǒng)完整性》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話(huà)咨詢(xún)

    • 400-1100-266