本發(fā)明專利技術(shù)公開了一種Linux系統(tǒng)終端操作記錄實(shí)時(shí)監(jiān)視方法及裝置,該方法通過在shell“命令提示”環(huán)境變量中執(zhí)行指定的終端操作命令采集腳本監(jiān)視當(dāng)前終端模擬器上的輸入命令,并將監(jiān)視到的操作命令通過UDP發(fā)送給AgentProbe監(jiān)視進(jìn)程;在打開shell時(shí)啟動(dòng)AgentShell操作記錄采集進(jìn)程,使用偽終端和創(chuàng)建新shell的方式監(jiān)視用戶操作記錄,將監(jiān)視到的操作命令和輸出信息通過UDP發(fā)送給AgentProbe監(jiān)視進(jìn)程,在用戶退出新shell后,強(qiáng)制退出終端模擬器所啟動(dòng)的shell進(jìn)程,避免用戶逃避監(jiān)視。本發(fā)明專利技術(shù)提供的方法可實(shí)時(shí)監(jiān)視用戶操作,相較于傳統(tǒng)監(jiān)視方式增強(qiáng)了對(duì)操作命令和命令輸出信息監(jiān)視的可靠性、實(shí)時(shí)性和安全性。實(shí)時(shí)性和安全性。實(shí)時(shí)性和安全性。
【技術(shù)實(shí)現(xiàn)步驟摘要】
一種Linux系統(tǒng)終端操作記錄實(shí)時(shí)監(jiān)視方法及裝置
[0001]本專利技術(shù)涉及一種Linux系統(tǒng)終端操作記錄實(shí)時(shí)監(jiān)視方法及裝置,屬于電力監(jiān)控系統(tǒng)信息
技術(shù)介紹
[0002]在《電力監(jiān)控系統(tǒng)網(wǎng)絡(luò)安全監(jiān)測(cè)裝置技術(shù)規(guī)范》中要求監(jiān)視用戶在服務(wù)器終端上的操作命令和操作回顯信息。現(xiàn)有的方案大多是分別監(jiān)視操作命令和操作回顯信息,操作命令的監(jiān)視利用bash的PROMPT_COMMAND將操作命令保存到日志中,操作回顯則利用系統(tǒng)自帶的script應(yīng)用將用戶操作命令及輸出信息保存到指定命令輸出信息日志文件中。再結(jié)合操作命令日志和命令輸出信息日志文件分析出操作和匹配的操作輸出信息。然而,這類監(jiān)視方法存在一些缺陷:1)將監(jiān)視信息保存在文件中,可能讓不同權(quán)限的用戶查看到操作記錄,存在信息安全隱患;2)用戶在終端輸入exit或Ctrl+C命令可隨時(shí)中斷script進(jìn)程,并回到終端模擬器初始創(chuàng)建的shell中繼續(xù)操作從而逃避script的監(jiān)視,使得操作記錄監(jiān)視過程無(wú)法持續(xù);3)操作命令和操作記錄本身不同步,PROMPT_COMMAND是在命令執(zhí)行完成后才被回調(diào)執(zhí)行,且保存在不同的日志文件中,這使得對(duì)操作記錄日志文件的分析變得復(fù)雜,且難以分析出匹配的操作命令和操作記錄。
技術(shù)實(shí)現(xiàn)思路
[0003]本專利技術(shù)的目的在于克服現(xiàn)有技術(shù)中的不足,提供一種Linux系統(tǒng)終端操作記錄實(shí)時(shí)監(jiān)視方法及裝置,通過該方法可以實(shí)時(shí)獲取用戶在shell上的操作命令以及相應(yīng)操作的輸出信息,并將信息通過UDP發(fā)送給AgentProbe監(jiān)視進(jìn)程,從而實(shí)現(xiàn)對(duì)Linux系統(tǒng)終端操作記錄的實(shí)時(shí)監(jiān)視。
[0004]為達(dá)到上述目的,本專利技術(shù)是采用下述技術(shù)方案實(shí)現(xiàn)的:
[0005]第一方面,本專利技術(shù)提供了一種Linux系統(tǒng)終端操作記錄實(shí)時(shí)監(jiān)視方法,包括:
[0006]檢測(cè)到終端模擬器啟動(dòng)、創(chuàng)建第一偽終端對(duì)及啟動(dòng)shell進(jìn)程后,獲取操作命令,寫入第一偽終端對(duì);
[0007]在shell進(jìn)程啟動(dòng)時(shí)加載的shell配置文件中啟動(dòng)預(yù)先創(chuàng)建的AgentShell操作記錄監(jiān)視進(jìn)程,創(chuàng)建第二偽終端對(duì),其中,所述AgentShell操作記錄監(jiān)視進(jìn)程包括主進(jìn)程、shell監(jiān)視子進(jìn)程以及輸出讀取子進(jìn)程,其中:
[0008]所述主進(jìn)程包括:
[0009]讀取第一偽終端對(duì)中的操作命令,將所述操作命令通過UDP協(xié)議發(fā)送到預(yù)先創(chuàng)建的AgentProbe監(jiān)視進(jìn)程,同時(shí)寫入第二偽終端對(duì);
[0010]所述shell監(jiān)視子進(jìn)程包括:
[0011]創(chuàng)建新的shell進(jìn)程,通過預(yù)先設(shè)置的環(huán)境變量AGENT_SHELL確保AgentShell操作記錄監(jiān)視進(jìn)程只被啟動(dòng)一次;
[0012]通過所述新的shell進(jìn)程讀取第二偽終端對(duì)中的操作命令,執(zhí)行所述操作命令,獲
取輸出信息;
[0013]將所述操作命令及輸出信息重新寫入第二偽終端對(duì);
[0014]所述輸出讀取子進(jìn)程包括:
[0015]從所述第二偽終端對(duì)中讀取操作命令及輸出信息,并將所述操作命令及輸出信息通過UDP協(xié)議發(fā)送到AgentProbe監(jiān)視進(jìn)程。
[0016]進(jìn)一步的,所述加載預(yù)先設(shè)置的shell配置文件,捕捉操作命令,包括:
[0017]在shell配置文件中設(shè)置“命令提示”環(huán)境變量,所述“命令提示”環(huán)境變量設(shè)定為執(zhí)行設(shè)定的終端操作命令采集腳本,通過所述終端操作命令采集腳本捕捉當(dāng)前終端模擬器上的第一條歷史操作命令,并將所述第一條歷史操作命令發(fā)送到AgentProbe監(jiān)視進(jìn)程。
[0018]進(jìn)一步的,所述終端操作命令采集腳本讀取當(dāng)前終端模擬器上的第一條歷史操作命令后,通過預(yù)設(shè)的CmdCap操作命令發(fā)送程序?qū)⑺龅谝粭l歷史操作命令的內(nèi)容發(fā)送給AgentProbe監(jiān)視進(jìn)程。
[0019]進(jìn)一步的,所述終端操作命令采集腳本讀取第一條歷史操作命令后,收集整合該操作命令的上下文環(huán)境信息形成一個(gè)結(jié)構(gòu)化的操作命令信息。
[0020]進(jìn)一步的,所述結(jié)構(gòu)化的操作命令信息,包括登錄方式、父終端號(hào),當(dāng)前偽終端號(hào)、用戶名、操作文件目錄、SSH連接信息、操作命令時(shí)間,每一個(gè)信息均使用Key
?
Val格式描述,不同信息間使用
’
#
’
分隔。
[0021]進(jìn)一步的,所述新的shell進(jìn)程接收到操作命令后,判斷是否為退出新shell命令;如果判斷結(jié)果為是,則將所述AgentShell操作記錄監(jiān)視進(jìn)程退出,并強(qiáng)制退出shell進(jìn)程,shell進(jìn)程退出后,終端模擬器退出;如果判斷結(jié)果為否,執(zhí)行操作命令,獲取輸出信息。
[0022]進(jìn)一步的,所述退出shell進(jìn)程的方法包括:獲取所述shell進(jìn)程的進(jìn)程號(hào),使用kill命令強(qiáng)制退出該shell進(jìn)程。
[0023]第二方面,本專利技術(shù)提供一種Linux系統(tǒng)終端操作記錄實(shí)時(shí)監(jiān)視裝置,包括:
[0024]操作命令捕捉模塊,用于檢測(cè)到終端模擬器啟動(dòng)、創(chuàng)建第一偽終端對(duì)及啟動(dòng)shell進(jìn)程后,獲取操作命令,寫入第一偽終端對(duì);
[0025]監(jiān)視模塊,在shell進(jìn)程啟動(dòng)時(shí)加載的shell配置文件中啟動(dòng)預(yù)先創(chuàng)建的AgentShell操作記錄監(jiān)視進(jìn)程,創(chuàng)建第二偽終端對(duì),其中,所述AgentShell操作記錄監(jiān)視進(jìn)程包括主進(jìn)程、shell監(jiān)視子進(jìn)程以及輸出讀取子進(jìn)程,其中:
[0026]所述主模塊包括:
[0027]處理單元,用于讀取第一偽終端對(duì)中的操作命令,將所述操作命令通過UDP協(xié)議發(fā)送到預(yù)先創(chuàng)建的AgentProbe監(jiān)視模塊,同時(shí)寫入第二偽終端對(duì);
[0028]所述shell監(jiān)視子模塊包括:
[0029]創(chuàng)建單元,用于創(chuàng)建新的shell單元,通過預(yù)先設(shè)置的環(huán)境變量AGENT_SHELL確保AgentShell操作記錄監(jiān)視模塊只被啟動(dòng)一次;
[0030]執(zhí)行單元,用于通過所述新的shell單元讀取第二偽終端對(duì)中的操作命令,執(zhí)行所述操作命令,獲取輸出信息;
[0031]寫入單元,用于將所述操作命令及輸出信息重新寫入第二偽終端對(duì);
[0032]所述輸出讀取子模塊包括:
[0033]發(fā)送單元,用于從所述第二偽終端對(duì)中讀取操作命令及輸出信息,并將所述操作
命令及輸出信息通過UDP協(xié)議發(fā)送到AgentProbe監(jiān)視模塊。
[0034]第三方面,本專利技術(shù)提供一種電子設(shè)備,包括處理器及存儲(chǔ)介質(zhì);
[0035]所述存儲(chǔ)介質(zhì)用于存儲(chǔ)指令;
[0036]所述處理器用于根據(jù)所述指令進(jìn)行操作以執(zhí)行根據(jù)前述任一項(xiàng)所述方法的步驟。
[0037]第四方面,本專利技術(shù)提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,該程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)前述任一項(xiàng)所述方法的步驟。
[0038]與現(xiàn)有技術(shù)相比,本專利技術(shù)所達(dá)到的有益效果:
[0039]本專利技術(shù)提供一種Linux系統(tǒng)終端操作記錄實(shí)時(shí)監(jiān)視方法及裝置,通過該方法可以實(shí)時(shí)監(jiān)視用戶操作和操作輸出信息。該方法通過在shell命令提示環(huán)境變量中執(zhí)行指定的本文檔來自技高網(wǎng)...
【技術(shù)保護(hù)點(diǎn)】
【技術(shù)特征摘要】
1.一種Linux系統(tǒng)終端操作記錄實(shí)時(shí)監(jiān)視方法,其特征在于,包括:檢測(cè)到終端模擬器啟動(dòng)、創(chuàng)建第一偽終端對(duì)及啟動(dòng)shell進(jìn)程后,獲取操作命令,寫入第一偽終端對(duì);在shell進(jìn)程啟動(dòng)時(shí)加載的shell配置文件中啟動(dòng)預(yù)先創(chuàng)建的AgentShell操作記錄監(jiān)視進(jìn)程,創(chuàng)建第二偽終端對(duì),其中,所述AgentShell操作記錄監(jiān)視進(jìn)程包括主進(jìn)程、shell監(jiān)視子進(jìn)程以及輸出讀取子進(jìn)程,其中:所述主進(jìn)程包括:讀取第一偽終端對(duì)中的操作命令,將所述操作命令通過UDP協(xié)議發(fā)送到預(yù)先創(chuàng)建的AgentProbe監(jiān)視進(jìn)程,同時(shí)寫入第二偽終端對(duì);所述shell監(jiān)視子進(jìn)程包括:創(chuàng)建新的shell進(jìn)程,通過預(yù)先設(shè)置的環(huán)境變量AGENT_SHELL確保AgentShell操作記錄監(jiān)視進(jìn)程只被啟動(dòng)一次;通過所述新的shell進(jìn)程讀取第二偽終端對(duì)中的操作命令,執(zhí)行所述操作命令,獲取輸出信息;將所述操作命令及輸出信息重新寫入第二偽終端對(duì);所述輸出讀取子進(jìn)程包括:從所述第二偽終端對(duì)中讀取操作命令及輸出信息,并將所述操作命令及輸出信息通過UDP協(xié)議發(fā)送到AgentProbe監(jiān)視進(jìn)程。2.根據(jù)權(quán)利要求1所述的Linux系統(tǒng)終端操作記錄實(shí)時(shí)監(jiān)視方法,其特征在于,在shell配置文件中設(shè)置“命令提示”環(huán)境變量,所述“命令提示”環(huán)境變量設(shè)定為執(zhí)行設(shè)定的終端操作命令采集腳本,通過所述終端操作命令采集腳本捕捉當(dāng)前終端模擬器上的第一條歷史操作命令,并將所述第一條歷史操作命令發(fā)送到AgentProbe監(jiān)視進(jìn)程。3.根據(jù)權(quán)利要求2所述的Linux系統(tǒng)終端操作記錄實(shí)時(shí)監(jiān)視方法,其特征在于,所述終端操作命令采集腳本讀取當(dāng)前終端模擬器上的第一條歷史操作命令后,通過預(yù)設(shè)的CmdCap操作命令發(fā)送程序?qū)⑺龅谝粭l歷史操作命令的內(nèi)容發(fā)送給AgentProbe監(jiān)視進(jìn)程。4.根據(jù)權(quán)利要求3所述的Linux系統(tǒng)終端操作記錄實(shí)時(shí)監(jiān)視方法,其特征在于,所述終端操作命令采集腳本讀取第一條歷史操作命令后,收集整合該操作命令的上下文環(huán)境信息形成一個(gè)結(jié)構(gòu)化的操作命令信息。5.根據(jù)權(quán)利要求4所述的Linux系統(tǒng)終端操作記錄實(shí)時(shí)監(jiān)視方法,其特征在于,所述結(jié)構(gòu)化的操作命令信息,包括登錄方式、父終端號(hào),當(dāng)前偽終端號(hào)、用戶名、操作文件目錄、SSH連接信息、操作命令時(shí)間,每一個(gè)信息均使用Key
?
Val格式...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:嚴(yán)濤松,嚴(yán)后揚(yáng),吳仕平,劉雙,王漢林,柏嵩,王偉,蔣欣宇,湯海寧,丁宇,邢英翔,連峰,田廣宇,
申請(qǐng)(專利權(quán))人:國(guó)電南瑞南京控制系統(tǒng)有限公司,
類型:發(fā)明
國(guó)別省市:
還沒有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。