對路徑。
[0049]需要說明的是,對于前述的各方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本發(fā)明并不受所描述的動作順序的限制,因為依據(jù)本發(fā)明,某些步驟可以采用其他順序或者同時進行。其次,本領域技術人員也應該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作和模塊并不一定是本發(fā)明所必須的。
[0050]通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到根據(jù)上述實施例的方法可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術方案本質(zhì)上或者說對現(xiàn)有技術做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)(如ROM/RAM、磁碟、光盤)中,包括若干指令用以使得一臺終端設備(可以是手機,計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述的方法。
[0051]實施例2
[0052]根據(jù)本發(fā)明實施例,還提供了一種用于實施上述操作事件的檢測方法的操作事件的檢測裝置,該操作事件的檢測裝置主要用于執(zhí)行本發(fā)明實施例上述內(nèi)容所提供的操作事件的檢測方法,以下對本發(fā)明實施例所提供的操作事件的檢測裝置做具體介紹:
[0053]圖5是根據(jù)本發(fā)明實施例的操作事件的檢測裝置的示意圖,如圖5所示,該操作事件的檢測裝置主要包括獲取單元100、提取單元200檢測單元300,其中:
[0054]獲取單元100用于獲取目標命令解析器上的操作數(shù)據(jù),其中,目標命令解析器為用戶客戶端登錄目標機器的接口,操作數(shù)據(jù)為用戶客戶端通過目標命令解析器執(zhí)行操作事件的數(shù)據(jù),具體地,目標命令解析器為目標機器上的BASH,在本發(fā)明實施例中,通過改造BASH,將目標機器上的BASH的操作數(shù)據(jù)實時傳送至檢測系統(tǒng)并存儲,來獲取到操作數(shù)據(jù)。操作數(shù)據(jù)包含但不限于以下內(nèi)容:操作者(自然人/本地用戶)、操作IP、操作命令、操作時間、執(zhí)行進程名、進程ID、父進程、父進程ID、工作目錄、是否交互式命令。需要說明的是,本發(fā)明實施例并不限定BASH的具體改造方式,對于任一種改造方式,只要該改造方式能夠?qū)崿F(xiàn)將目標機器上的BASH的操作數(shù)據(jù)實時傳送至檢測系統(tǒng),那么這種改造方式就可以本發(fā)明實施例所提供的操作事件的檢測方法所應用。
[0055]提取單元200用于從操作數(shù)據(jù)中提取目標數(shù)據(jù),其中,目標數(shù)據(jù)為用于檢測操作事件的數(shù)據(jù),即,從操作數(shù)據(jù)中選擇能夠用來檢測檢測事件的數(shù)據(jù),在本發(fā)明實施例中,可以根據(jù)操作數(shù)據(jù)的屬性來進行目標數(shù)據(jù)的具體選擇。
[0056]檢測單元300用于對目標數(shù)據(jù)進行處理,以檢測操作事件是否合法,具體地,主要是將目標數(shù)據(jù)與事先配置好的規(guī)則進行比對,如果根據(jù)比對結(jié)果檢測出操作數(shù)據(jù)所表示的操作事件屬于違規(guī)操作的話,則檢測出操作事件非法,其中,在檢測出操作事件非法的情況下,可以進一步發(fā)送相關信息給管理員,以通知管理員進行處理。
[0057]本發(fā)明實施例所提供的操作事件的檢測裝置,通過利用目標命令解析器獲取用戶客戶端對目標機器的操作數(shù)據(jù),此種從目標機器的BASH上獲取操作數(shù)據(jù)的方式,能夠全面記錄交互式操作、非交互式操作、系統(tǒng)或crontab操作,實現(xiàn)了對用戶客戶端的每一次操作及操作的相關數(shù)據(jù)均進行獲取,相對現(xiàn)有技術中利用堡壘主機采集操作數(shù)據(jù)的方式,通過將用戶客戶端的每個操作的每個屬性均格式化記錄下來,無需像利用堡壘主機采集操作數(shù)據(jù)的方式重放錄像,實現(xiàn)了更加及時地對操作事件進行檢測,并且在用戶繞過堡壘主機直接對運營機進行運維工作的情況下,仍然能夠監(jiān)測獲取到用戶的運維操作數(shù)據(jù),而且所獲取到的操作數(shù)據(jù)能夠直接表示用戶的操作行為,相對現(xiàn)有技術中通過分析錄像內(nèi)容獲取用戶操作行為的方式,大大減少了對運維事件分析的工作量,提高了利用目標數(shù)據(jù)對操作事件進行檢測的檢測效率和檢測結(jié)果的準確度。同時,將用戶客戶端的每個操作的每個屬性均格式化記錄下來,實現(xiàn)了能夠涵蓋更多的操作場景,以便利用目標數(shù)據(jù)精確地判斷表示運維工作的操作事件是否合法,解決了現(xiàn)有技術中運維事件的檢測精度較低的問題,進而達到了提聞檢測精度和檢測效率的效果。
[0058]以下具體說明針對所提取的不同的目標數(shù)據(jù),來說明提取單元200和檢測單元300的結(jié)構組成:
[0059]提取單元200包括第一提取子單元,檢測單元300包括第一檢測子單元,其中,第一提取子單元用于從操作數(shù)據(jù)中提取操作命令和進程數(shù)據(jù),即,目標數(shù)據(jù)是從操作數(shù)據(jù)中提取到的操作命令和進程數(shù)據(jù),操作命令為用戶客戶端通過目標命令解析器執(zhí)行操作事件的命令,進程數(shù)據(jù)為執(zhí)行操作事件的數(shù)據(jù),對應地,第一檢測子單元用于對操作命令和進程數(shù)據(jù)進行處理,以檢測操作事件是否合法。具體地,第一檢測子單元包括第一獲取模塊、第一判斷模塊和第一檢測模塊,其中,第一獲取模塊用于獲取進程數(shù)據(jù)中執(zhí)行操作事件的進程的父進程,比如某個進程X是執(zhí)行操作事件的進程,則需要獲取該進程X的父進程;第一判斷模塊用于判斷判斷父進程是否是目標進程,并判斷操作命令是否是第一目標命令,其中,目標進程為在目標機器上運行的與防火墻相關的進程,即,目標進程是在目標機器上執(zhí)行防火墻工程的進程,一般可以表示為“firewall”進程,第一目標命令表示請求修改進程;第一檢測模塊用于在判斷出父進程非目標進程,并且操作命令是第一目標命令的情況下,檢測出操作事件非法,即,如果執(zhí)行某個操作事件是修改目標機器的系統(tǒng)防火墻,并且執(zhí)行該操作事件的進程的父進程不是firewall進程,則確定該操作事件是非法操作事件,以此實現(xiàn)了對iptables使用的監(jiān)控。
[0060]其中,第一判斷模塊主要包括獲取子模塊和判斷子模塊,獲取子模塊用于獲取父進程的進程標識和目標進程的進程標識;判斷子模塊用于判斷父進程的進程標識與目標進程的進程標識是否相同,其中,在判斷出父進程的進程標識與目標進程的進程標識不相同的情況下,確定父進程非目標進程。
[0061]提取單元200還可以包括第二提取子單元,檢測單元300還可以包括第二檢測子單元,其中,第二提取子單元用于從操作數(shù)據(jù)中提取操作命令和絕對路徑,即,目標數(shù)據(jù)是從操作數(shù)據(jù)中提取到的操作命令和絕對路徑,操作命令為用戶客戶端通過目標命令解析器執(zhí)行操作事件的命令,絕對路徑為操作命令在目標機器上的執(zhí)行路徑,對應地,第二檢測子單元用于對絕對路徑和操作命令進行處理,以檢測操作事件是否合法。
[0062]具體地,第二檢測子單元可以包括第二判斷模塊和第二檢測模塊,第二判斷模塊用于判斷操作命令是否是第二目標命令,并判斷絕對路徑是否是第一預設路徑,其中,第二目標命令表示請求刪除絕對路徑下的文件;第二檢測模塊,用于在判斷出操作命令是第二目標命令,并且絕對路徑是第一預設路徑的情況下,檢測出操作事件非法。在本發(fā)明實施例中,第一預設路徑可以是“/data/imp0rtant_file”,即,如果判斷出某個操作事件是將請求刪除“/data/important_file”下的文件,則檢測出該操作事件屬于非法操作事件。
[0063]檢測單元300還可以包括第三判斷模塊、第二獲取模塊、第四判斷模塊、和第三檢測模塊,其中,第三判斷模塊用于判斷操作命令是否是第三目標命令,并判斷絕對路徑是否是第二預設路徑,其中,第三目標命令表示請求下載或打包絕對路徑下的文件;第二獲取模塊用于在判斷出操作命令是第三目標命令,并且絕對路徑是第二預設路徑的情況下,獲取操作命令所請求的文件在絕對路徑下的文件中所占的比例;第四判斷模塊用于判斷比例是否達到預設閾值;第三檢測模塊用于在判斷出比例達到預設閾值的情況下,檢測出操作事件非法。在本發(fā)明實施例中,第二預設路徑可以是“/data/log/”,即,如果判斷出某個操作事件是將請求下載或打包“/data/log/”下的文件,由于“/data/log/”下的文件可以不允許全部下載,也不允許打包后下載,因此進一步判斷操作命令所請求的文件在絕對路徑下的文件中所占的比例是否達到預設閾值,并在判斷出所占比例達到預設閾值的情況下,檢測出該操作事件屬于非法操作事件,其中,預設閾值可以是100%,也