邱金水,莊會(huì)富
(中國科學(xué)院昆明植物研究所科技信息中心,云南 昆明 650201)
當(dāng)今信息技術(shù)和網(wǎng)絡(luò)技術(shù)高速發(fā)展,推動(dòng)著各行各業(yè)的信息化進(jìn)程,各類應(yīng)用系統(tǒng)和門戶網(wǎng)站如雨后春筍般涌現(xiàn)出來,同時(shí),黑客入侵技術(shù)也在不斷提高,入侵手段多樣化,因此,伴隨而來的是各類網(wǎng)絡(luò)安全事故的發(fā)生,包括木馬、蠕蟲、感染型病毒、灰色軟件、后門等時(shí)刻威脅著各類應(yīng)用系統(tǒng)和網(wǎng)站。據(jù)瑞星2020年中國網(wǎng)絡(luò)安全報(bào)告,2020年瑞星“云安全”系統(tǒng)共截獲病毒樣本總量為1.48 億個(gè),病毒感染次數(shù)為3.52 億次,病毒總體數(shù)量比2019 年同期上漲43.71%,由此可見,互聯(lián)網(wǎng)上大量的計(jì)算機(jī)和服務(wù)器都在遭受病毒的侵害,病毒數(shù)量依然在大幅度地上升,未來的網(wǎng)絡(luò)安全形勢依然很嚴(yán)峻。
網(wǎng)站被黑客成功入侵后會(huì)在網(wǎng)站層面、服務(wù)器層面和數(shù)據(jù)層面都造成嚴(yán)重的后果。
⑴在網(wǎng)站層面:網(wǎng)頁被篡改,網(wǎng)站被掛上反動(dòng)、色情、賭博等不良信息,不僅嚴(yán)重誤導(dǎo)廣大網(wǎng)民,同時(shí)會(huì)降低相關(guān)單位的公信力,給廣大網(wǎng)民和相關(guān)單位都造成不良的影響。
⑵在服務(wù)器層面:黑客先通過上傳“小馬”,再通過“小馬”引入“大馬”,從而實(shí)現(xiàn)對網(wǎng)站服務(wù)器的掌控,接著將服務(wù)器變成“肉雞”,利用服務(wù)器資源進(jìn)行挖礦,將服務(wù)器置于拒絕服務(wù)甚至宕機(jī)的奔潰狀態(tài)。
⑶在數(shù)據(jù)層面:黑客入侵服務(wù)器后,容易導(dǎo)致服務(wù)器的數(shù)據(jù)丟失或者數(shù)據(jù)泄露,更有甚者將服務(wù)器的數(shù)據(jù)文件進(jìn)行加密并索要贖金。后疫情時(shí)代下,全球網(wǎng)絡(luò)安全格局的復(fù)雜性、不穩(wěn)定性與日俱增,國家間網(wǎng)絡(luò)沖突頻發(fā),勒索軟件攻擊層面逐步上升至國家安全。
因此,加強(qiáng)網(wǎng)站的安全防護(hù)和實(shí)時(shí)監(jiān)控,研究和提高網(wǎng)站運(yùn)維的安全水平是利國利民之舉。
影響網(wǎng)站安全水平的因素是多方面的,因此,提高網(wǎng)站安全水平也需要從各個(gè)環(huán)節(jié)和各個(gè)方面進(jìn)行加強(qiáng),如加強(qiáng)網(wǎng)站的安全需求分析、網(wǎng)站的安全設(shè)計(jì)、網(wǎng)站編碼安全技術(shù)和網(wǎng)站安全性能測試,同時(shí)還要提高網(wǎng)站上線后的安全運(yùn)維技術(shù),如對網(wǎng)站運(yùn)維人員進(jìn)行安全知識和技術(shù)的培訓(xùn),建設(shè)和完善網(wǎng)站的安全管理制度,以及使用各類安全防護(hù)的軟硬件設(shè)施設(shè)備,如軟硬件防火墻、入侵檢測系統(tǒng)、蜜罐系統(tǒng)、安全認(rèn)證介質(zhì)、網(wǎng)絡(luò)行為分析、殺毒軟件、HTTPS 加密協(xié)議和信息系統(tǒng)安全等級保護(hù)認(rèn)定等等,以上均是網(wǎng)站安全的事前防護(hù),但很多網(wǎng)站都不能在各個(gè)環(huán)節(jié)和各個(gè)方面做到完美,以至于給了黑客入侵的機(jī)會(huì),因此本論文對黑客入侵網(wǎng)站后進(jìn)行事后監(jiān)控和異常處理等研究,設(shè)計(jì)和實(shí)現(xiàn)基于文件監(jiān)測的IIS站點(diǎn)入侵監(jiān)控系統(tǒng),為網(wǎng)站安全事故的發(fā)生提供最后一道安全屏障和補(bǔ)救措施。
在文件監(jiān)測和網(wǎng)站入侵監(jiān)控研究方面,劉芳等介紹了基于CRC32、MD5 和SHA-1 算法的電子文件完整性檢測,這些算法在計(jì)算電子文檔的數(shù)字特征時(shí)均需要耗費(fèi)大量的計(jì)算時(shí)間。鄧英等通過搭建服務(wù)器集群,采用并行程序掃描網(wǎng)站服務(wù)器的文件,從而提高文件監(jiān)測的效率。王寧邦等和陳垚冰等構(gòu)建了基于爬蟲技術(shù)的網(wǎng)站入侵檢測系統(tǒng),通過對網(wǎng)站頁面的元素和內(nèi)容進(jìn)行分析判斷網(wǎng)站是否入侵,該方法無法對網(wǎng)站服務(wù)器的內(nèi)部文件進(jìn)行監(jiān)測。楊非等研究了基于區(qū)塊鏈技術(shù)的網(wǎng)站防篡改系統(tǒng),該系統(tǒng)的搭建難度大成本高,用戶運(yùn)維和學(xué)習(xí)成本也較高,同時(shí)該技術(shù)在網(wǎng)站防篡改方面的應(yīng)用對網(wǎng)站的訪問效率亦有一定的影響。段尊敬和黃同成等設(shè)計(jì)和研究了基于Java 平臺的文件監(jiān)測和網(wǎng)站防篡改系統(tǒng)。陳晨等研究了一種基于完成例程的文件監(jiān)控算法。張勇等提出了基于自定義判定樹的網(wǎng)站入侵檢測機(jī)制。本論文研究采用基于FileSystemWatcher技術(shù)實(shí)現(xiàn).Net平臺客戶端模式的IIS站點(diǎn)入侵監(jiān)控系統(tǒng),能根據(jù)網(wǎng)站系統(tǒng)管理員配置的參數(shù)和規(guī)則實(shí)時(shí)對網(wǎng)站目錄和文件進(jìn)行監(jiān)控,并有效處理網(wǎng)站被黑客入侵等異常事件。
基于文件監(jiān)測的IIS 站點(diǎn)入侵監(jiān)控系統(tǒng)的需求定位主要有以下幾點(diǎn)。
⑴可控制IIS站點(diǎn)運(yùn)行:監(jiān)控系統(tǒng)運(yùn)行于Windows操作系統(tǒng),能實(shí)時(shí)對IIS 站點(diǎn)的目錄和文件進(jìn)行監(jiān)控,監(jiān)測到網(wǎng)站被入侵后能快速還原網(wǎng)站的文件和目錄,還原失敗或出現(xiàn)其他無法處理的異常事件則立即停止IIS站點(diǎn)。
⑵參數(shù)可配置:監(jiān)控系統(tǒng)提供可視化的參數(shù)配置界面,簡單易用,參數(shù)配置可裁剪,網(wǎng)站系統(tǒng)管理員可根據(jù)自身實(shí)際情況進(jìn)行相關(guān)參數(shù)的配置。
⑶多方案選擇:監(jiān)控系統(tǒng)提供多種監(jiān)控方案,網(wǎng)站系統(tǒng)管理員可根據(jù)自身的監(jiān)控需求選擇相應(yīng)的監(jiān)控方案,各監(jiān)控方案之間互相獨(dú)立互不干擾。
⑷無數(shù)據(jù)庫輔助:監(jiān)控系統(tǒng)能提供日志顯示和保存歷史日志以備查詢,同時(shí)為了提高監(jiān)控系統(tǒng)的通用性和降低使用難度,監(jiān)控系統(tǒng)無需安裝任何數(shù)據(jù)庫等其他輔助軟件亦能正常使用。
⑸監(jiān)控信息報(bào)告:監(jiān)控系統(tǒng)能將捕捉到的異常事件、異常處理結(jié)果等通過短信和郵件方式實(shí)時(shí)報(bào)告給網(wǎng)站系統(tǒng)管理,并按照網(wǎng)站系統(tǒng)管理員配置的時(shí)間和頻率定期報(bào)告自身的運(yùn)行狀態(tài)。
基于文件監(jiān)測的IIS 站點(diǎn)入侵監(jiān)控系統(tǒng)的功能模塊設(shè)計(jì)如圖1 所示。
圖1 監(jiān)控系統(tǒng)功能模塊
⑴啟動(dòng)/停止模塊:該模塊為網(wǎng)站系統(tǒng)管理員提供監(jiān)控系統(tǒng)的啟動(dòng)監(jiān)控和停止監(jiān)控操作功能。
⑵參數(shù)配置模塊:該模塊為網(wǎng)站系統(tǒng)管理員提供參數(shù)配置功能,包括基本信息配置、監(jiān)控方案配置、短信服務(wù)器配置、郵件服務(wù)器配置和監(jiān)控系統(tǒng)運(yùn)行狀態(tài)報(bào)告配置。該模塊中,①基本信息配置包括被監(jiān)控的網(wǎng)站系統(tǒng)名稱、管理員姓名、管理員手機(jī)、管理員郵箱和IIS 站點(diǎn)名稱等信息。②監(jiān)控方案配置包括三個(gè)互相獨(dú)立的配置方案:方案一是需要監(jiān)控網(wǎng)站的靜態(tài)目錄和文件,可配置多個(gè)監(jiān)控目錄,這些路徑下的文件是靜態(tài)的,該配置下的目錄和文件發(fā)生任何創(chuàng)建、刪除、修改和重命名事件時(shí)均會(huì)觸發(fā)監(jiān)控系統(tǒng)報(bào)警;方案二是需要監(jiān)控用戶上傳的文件,可以配置多個(gè)用戶上傳文件的目錄以及多種允許上傳的文件格式,當(dāng)該目錄發(fā)生創(chuàng)建或重命名事件時(shí)觸發(fā)監(jiān)控進(jìn)行合法性判斷;方案三是網(wǎng)站系統(tǒng)管理員根據(jù)需要自定義文件監(jiān)控,可配置多個(gè)任意目錄并選擇多種觸發(fā)監(jiān)控的事件,監(jiān)控系統(tǒng)根據(jù)網(wǎng)站系統(tǒng)管理員配置的監(jiān)控目錄和觸發(fā)事件進(jìn)行工作。③短信服務(wù)器配置用于選擇和配置監(jiān)控系統(tǒng)發(fā)送短信提醒的服務(wù)商、UID 和KEY。④郵件服務(wù)器配置用于選擇和配置監(jiān)控系統(tǒng)發(fā)送郵件提醒的服務(wù)商、郵箱賬號和郵箱密碼。⑤運(yùn)行狀態(tài)報(bào)告配置用于配置監(jiān)控系統(tǒng)報(bào)告自身運(yùn)行狀態(tài)的時(shí)間和間隔天數(shù),監(jiān)控系統(tǒng)根據(jù)配置的時(shí)間和頻率定期向網(wǎng)站系統(tǒng)管理員報(bào)告自身的運(yùn)行狀態(tài),若網(wǎng)站系統(tǒng)管理員在預(yù)計(jì)時(shí)間內(nèi)未收到監(jiān)控系統(tǒng)的運(yùn)行狀態(tài)報(bào)告,說明監(jiān)控系統(tǒng)的工作出現(xiàn)異常。
⑶報(bào)警日志模塊:該模塊主要顯示監(jiān)控系統(tǒng)的報(bào)警日志、事件處理結(jié)果日志以及發(fā)送短信和郵件的日志信息。
⑷狀態(tài)日志模塊:該模塊主要顯示監(jiān)控系統(tǒng)的啟動(dòng)、暫停、繼續(xù)、停止以及自身運(yùn)行狀態(tài)報(bào)告的日志信息。
網(wǎng)站系統(tǒng)管理員在運(yùn)行監(jiān)控系統(tǒng)時(shí),需要先填寫或核對配置參數(shù),然后點(diǎn)擊“啟動(dòng)”按鈕,監(jiān)控系統(tǒng)開始執(zhí)行工作,當(dāng)監(jiān)控系統(tǒng)捕捉到相關(guān)事件時(shí),均需要根據(jù)不同的監(jiān)控方案和不同的監(jiān)控事件進(jìn)行相應(yīng)的合法性判斷或事件處理,監(jiān)控系統(tǒng)具體的工作流程設(shè)計(jì)如圖2所示。
圖2 監(jiān)控系統(tǒng)工作流程
為了避免網(wǎng)站系統(tǒng)管理員反復(fù)配置參數(shù),監(jiān)控系統(tǒng)需要保存網(wǎng)站系統(tǒng)管理員配置的當(dāng)前參數(shù),同時(shí)還需要保存監(jiān)控系統(tǒng)的歷史日志信息以備檢查,且為了提高監(jiān)控系統(tǒng)的易用性,無需網(wǎng)站系統(tǒng)管理員安裝和配置數(shù)據(jù)庫軟件。因此,在本系統(tǒng)的設(shè)計(jì)中,采用了文件存儲(chǔ)的方式,將網(wǎng)站系統(tǒng)管理員配置的當(dāng)前參數(shù)和監(jiān)控系統(tǒng)的歷史日志信息保存在應(yīng)用程序目錄下特定的文件和子目錄中。其中當(dāng)前配置參數(shù)以Json數(shù)據(jù)格式進(jìn)行保存,當(dāng)前配置參數(shù)的短信秘鑰和郵箱密碼是敏感信息,因此需要先加密后存儲(chǔ)。對于歷史日志信息的存儲(chǔ)則:每次打開監(jiān)控系統(tǒng)時(shí)均自動(dòng)生成一個(gè)以時(shí)間格式為文件名的日志文件,用于存儲(chǔ)本次使用監(jiān)控系統(tǒng)發(fā)生的日志信息。
本論文設(shè)計(jì)和實(shí)現(xiàn)的基于文件監(jiān)測的IIS 站點(diǎn)入侵監(jiān)控系統(tǒng)是在Windows 操作系統(tǒng)環(huán)境下,使用Visual Studio 集成開發(fā)工具,采用WinForm 開發(fā)技術(shù)按客戶端模式進(jìn)行開發(fā)和實(shí)現(xiàn),WinForm 技術(shù)可用于設(shè)計(jì)窗體和可視控件,并創(chuàng)建豐富的基于Windows 的應(yīng)用程序。
啟動(dòng)監(jiān)控前,網(wǎng)站系統(tǒng)管理員首先需要配置或核對監(jiān)控系統(tǒng)的相關(guān)參數(shù)。配置參數(shù)時(shí)需要將相關(guān)參數(shù)信息以Json 數(shù)據(jù)格式保存在應(yīng)用程序目錄下的MonitorSet.xml 文件,監(jiān)控系統(tǒng)先要將秘鑰和密碼等敏感數(shù)據(jù)加密,然后使用JavaScriptSerializer 進(jìn)行數(shù)據(jù)格式序列化再進(jìn)行保存。
需要使用或回顯配置參數(shù)時(shí),監(jiān)控系統(tǒng)通過調(diào)用可自動(dòng)解析Json數(shù)據(jù)格式的MonitorSet函數(shù)即可快速實(shí)現(xiàn)獲取或回顯配置參數(shù)。
監(jiān)控系統(tǒng)的核心部件是實(shí)時(shí)監(jiān)控器,本系統(tǒng)采用由FileSystemWatcher 提供的實(shí)時(shí)監(jiān)控器,由于監(jiān)控系統(tǒng)向網(wǎng)站系統(tǒng)管理員提供三種監(jiān)控方案,三種監(jiān)控方案單一使用或組合使用,且每種監(jiān)控方案均支持同時(shí)監(jiān)控多個(gè)網(wǎng)站目錄,因此需要為每個(gè)監(jiān)控方案的每個(gè)監(jiān)控目錄創(chuàng)建實(shí)時(shí)監(jiān)控器,并設(shè)定各個(gè)監(jiān)控目錄的監(jiān)聽事件。
當(dāng)監(jiān)控系統(tǒng)捕捉到目標(biāo)事件或?qū)Ξ惓J录M(jìn)行處理后,以及設(shè)定的監(jiān)控系統(tǒng)運(yùn)行狀態(tài)報(bào)告時(shí)間到達(dá)時(shí),監(jiān)控系統(tǒng)均需要向網(wǎng)站系統(tǒng)管理員發(fā)送報(bào)告信息,發(fā)送報(bào)告信息時(shí),監(jiān)控系統(tǒng)通過調(diào)用封裝好發(fā)送報(bào)告信息的SendMessage 函數(shù)實(shí)現(xiàn),該函數(shù)再根據(jù)網(wǎng)站系統(tǒng)管理員配置的服務(wù)商、用戶名和密碼等信息調(diào)用服務(wù)商提供的發(fā)送短信或郵件接口從而完成監(jiān)控信息報(bào)告。
監(jiān)控系統(tǒng)從啟動(dòng)到停止,期間所有的事件信息均通過日志形式在相應(yīng)的模塊進(jìn)行顯示,同時(shí)歷史日志信息需要保存在應(yīng)用程序目錄下的特定子目錄中。監(jiān)控系統(tǒng)每次運(yùn)行都會(huì)在特定的字目錄下創(chuàng)建一個(gè)以時(shí)間格式為文件名的日志文件,如20220227190244.txt,本次運(yùn)行的所有日志信息均以Append的形式寫入該日志文件。
網(wǎng)站系統(tǒng)管理員啟動(dòng)監(jiān)控系統(tǒng)前,需要配置或核對相關(guān)參數(shù),配置參數(shù)界面如圖3所示,配置完后點(diǎn)擊“更新配置參數(shù)”完成配置,然后點(diǎn)擊“監(jiān)控操作”選項(xiàng)卡中的“啟動(dòng)”按鈕即可啟動(dòng)監(jiān)控系統(tǒng)。
圖3 參數(shù)配置界面
監(jiān)控系統(tǒng)啟動(dòng)后,監(jiān)控系統(tǒng)會(huì)根據(jù)網(wǎng)站系統(tǒng)管理員配置的監(jiān)控方案進(jìn)行工作,當(dāng)監(jiān)測到異常事件時(shí),監(jiān)控系統(tǒng)將異常事件信息在報(bào)警日志模塊進(jìn)行顯示,并開始處理異常事件,處理完后亦將結(jié)果信息顯示在報(bào)警日志模塊,如圖4所示。
圖4 報(bào)警日志顯示
狀態(tài)日志模塊主要用于顯示監(jiān)控系統(tǒng)的相關(guān)工作狀態(tài),如參數(shù)配置結(jié)果、監(jiān)控器創(chuàng)建結(jié)果、監(jiān)控啟動(dòng)與停止?fàn)顟B(tài)顯示、監(jiān)控系統(tǒng)運(yùn)行狀態(tài)報(bào)告等信息,如圖5所示。
圖5 狀態(tài)日志顯示
監(jiān)控信息報(bào)告包括短信報(bào)告和郵件報(bào)告,監(jiān)控系統(tǒng)將重要的信息通過短信和郵件形式通知網(wǎng)站系統(tǒng)管理員,確保網(wǎng)站系統(tǒng)管理員及時(shí)知曉網(wǎng)站和監(jiān)控系統(tǒng)的運(yùn)行狀態(tài),通過短信形式的監(jiān)控信息報(bào)告如圖6所示,通過郵件形式的監(jiān)控信息報(bào)告如圖7所示。
圖6 短信形式監(jiān)控信息報(bào)告
圖7 郵件形式監(jiān)控信息報(bào)告
本論文設(shè)計(jì)和實(shí)現(xiàn)基于文件監(jiān)測的IIS 站點(diǎn)入侵監(jiān)控系統(tǒng),能根據(jù)網(wǎng)站系統(tǒng)管理員配置的監(jiān)控方案,實(shí)時(shí)地對IIS站點(diǎn)下的目錄和文件進(jìn)行監(jiān)控,捕捉到目標(biāo)事件后能進(jìn)行合法性判斷,并對異常事件進(jìn)行處理,確保網(wǎng)站系統(tǒng)和服務(wù)器的安全穩(wěn)定運(yùn)行。監(jiān)控系統(tǒng)還能實(shí)時(shí)地將監(jiān)控信息、異常處理結(jié)果信息以及系統(tǒng)運(yùn)行狀態(tài)信息以短信和郵件的方式通知網(wǎng)站系統(tǒng)管理員,且對無法處理或處理失敗的異常事件提供輔助關(guān)閉IIS 站點(diǎn)的功能。系統(tǒng)配置簡單使用便捷無需安裝數(shù)據(jù)庫,是一款通用型的IIS 站點(diǎn)入侵監(jiān)控系統(tǒng),能幫助網(wǎng)站系統(tǒng)管理員提高網(wǎng)站運(yùn)維的安全水平,有效減少網(wǎng)絡(luò)安全事故的發(fā)生和減輕網(wǎng)絡(luò)安全事故造成的后果。