亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于網(wǎng)絡(luò)隔離結(jié)構(gòu)的網(wǎng)站數(shù)據(jù)防篡改方法

文檔序號:6363555閱讀:151來源:國知局
專利名稱:一種基于網(wǎng)絡(luò)隔離結(jié)構(gòu)的網(wǎng)站數(shù)據(jù)防篡改方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種基于網(wǎng)絡(luò)隔離結(jié)構(gòu)的網(wǎng)站數(shù)據(jù)防篡改方法,通過利用網(wǎng)絡(luò)隔離思想及單向的數(shù)據(jù)庫同步技術(shù),實現(xiàn)對網(wǎng)站動態(tài)內(nèi)容的保護(hù),屬于信息安全技術(shù)領(lǐng)域。
背景技術(shù)
由于Web應(yīng)用系統(tǒng)的復(fù)雜性及Web服務(wù)器軟件版本的多樣性,網(wǎng)絡(luò)系統(tǒng)漏洞層出不窮,而傳統(tǒng)防火墻、入侵檢測手段無法有效防范黑客利用軟件漏洞獲得網(wǎng)站管理權(quán)限后對網(wǎng)站內(nèi)容所做的篡改,各種網(wǎng)頁防篡改系統(tǒng)應(yīng)運而生,目前所使用的網(wǎng)頁防篡改系統(tǒng)技術(shù)有網(wǎng)頁特征校驗這種方式首先通過某種算法,獲得網(wǎng)頁原始特征值,再通過人工或程序跟蹤對比網(wǎng)頁特征值的變化,一旦和原始值不同,即判斷網(wǎng)頁內(nèi)容發(fā)生了變化,被惡意修改。這種技術(shù)目前使用較少,一方面原因是隨著網(wǎng)站內(nèi)容的增多,網(wǎng)頁文件也越來越多, 通過逐一比較網(wǎng)頁特征值所消耗的資源也越來越多;另一方面,由于動態(tài)內(nèi)容的廣泛應(yīng)用, 用戶所獲取的網(wǎng)頁內(nèi)容大多是通過資源數(shù)據(jù)庫及某些固定頁面動態(tài)生成的,這使得網(wǎng)頁特征的獲得變得不可能。基于操作系統(tǒng)的文件保護(hù)技術(shù)利用操作系統(tǒng)底層驅(qū)動,通過事件觸發(fā)方式來監(jiān)控文件內(nèi)容是否被修改。這一技術(shù)與第一種技術(shù)的區(qū)別在于將隔時網(wǎng)頁校驗或人工對網(wǎng)頁的校驗轉(zhuǎn)為利用操作系統(tǒng)本身的事件觸發(fā)機制,通過從操作系統(tǒng)層監(jiān)控文件修改行為,可以極大地降低系統(tǒng)的資源消耗,有效提高對非法篡改行為的監(jiān)控效率。專利“一種防止網(wǎng)頁被篡改的系統(tǒng)及方法”(專利號CN101778137),專利“基于操作系統(tǒng)底層防發(fā)布文件篡改的網(wǎng)頁安全發(fā)布系統(tǒng)”(專利號CN1349163),專利“驅(qū)動級網(wǎng)站防篡改架構(gòu)”(專利號CN201054604),專利“基于前置網(wǎng)關(guān)的頁面防篡改方法和系統(tǒng)”(專利號CN102176722)都是基于以上兩種思路提出的防止網(wǎng)站內(nèi)容被非法篡改的不同方法。范建華、宋云波等發(fā)表在《成都信息工程學(xué)院學(xué)報》2009年第24卷第四期的“一種基于E-Key及Web頁面監(jiān)控的網(wǎng)站防篡改機制研究” 一文主要增加了對管理人員身份的認(rèn)證,保證了管理人員修改系統(tǒng)設(shè)置時的安全性。在防止網(wǎng)站內(nèi)容篡改方面的思想與前面總結(jié)的類似。上述網(wǎng)站防篡改系統(tǒng)無法應(yīng)對諸如成績查詢、考分查詢、違章信息查詢等數(shù)據(jù)查詢類的網(wǎng)站,由于大量數(shù)據(jù)資源保存在數(shù)據(jù)庫中,該類網(wǎng)站防篡改系統(tǒng)無法對保存在數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行保護(hù)。近年來,出現(xiàn)過多起針對這一類型網(wǎng)站的攻擊行為,犯罪分子采取黑客手段,入侵國家級教育網(wǎng)站和多所高校網(wǎng)站,篡改證書號碼數(shù)據(jù)庫,添加自己制作的假證書的編號。由于在正規(guī)網(wǎng)站上能夠查詢到證書號,這些假證就成為了有案可查的“真證書”, 從而達(dá)到牟利的目的
發(fā)明內(nèi)容
本技術(shù)方案所述一種基于網(wǎng)絡(luò)隔離結(jié)構(gòu)的網(wǎng)站數(shù)據(jù)防篡改方法,用于實現(xiàn)對使用動態(tài)網(wǎng)頁技術(shù)的網(wǎng)站的防篡改保護(hù)。通過劃分不同的安全級別網(wǎng)絡(luò),將保存網(wǎng)站數(shù)據(jù)的數(shù)據(jù)庫服務(wù)器置于高安全級別網(wǎng)絡(luò)中,并將數(shù)據(jù)庫內(nèi)容單向發(fā)布到與互聯(lián)網(wǎng)相連的網(wǎng)絡(luò),即低安全級別網(wǎng)絡(luò)的數(shù)據(jù)庫服務(wù)器中,有針對性地保護(hù)與互聯(lián)網(wǎng)相連的低安全級別網(wǎng)絡(luò)中的網(wǎng)站數(shù)據(jù),該方法可以有效防止諸如SQL注入等針對數(shù)據(jù)庫的攻擊,確保數(shù)據(jù)安全。所述防篡改保護(hù)是指針對惡意用戶非法獲取網(wǎng)站數(shù)據(jù)庫管理權(quán)限后修改所述網(wǎng)站數(shù)據(jù)庫數(shù)據(jù)內(nèi)容的一種防止非授權(quán)修改保護(hù),所述網(wǎng)站數(shù)據(jù)防篡改保護(hù)方法是在一個由內(nèi)網(wǎng)、網(wǎng)站數(shù)據(jù)防篡改系統(tǒng)以及外網(wǎng)三者依次相連而構(gòu)成的網(wǎng)絡(luò)中,依次按以下步驟實現(xiàn)的步驟(I),構(gòu)建一個所述的網(wǎng)站數(shù)據(jù)防篡改網(wǎng)絡(luò),其中內(nèi)網(wǎng),由一個具有較高安全級別的內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)庫以及一個向所述內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)庫提交數(shù)據(jù)的網(wǎng)站后臺管理服務(wù)器構(gòu)成,其中內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)庫,設(shè)有內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表和增量數(shù)據(jù)表,其中內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表內(nèi)建一個事件觸發(fā)器,當(dāng)所述內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表中的數(shù)據(jù)變化時, 該事件觸發(fā)器把變化的數(shù)據(jù)寫入增量數(shù)據(jù)表中,增量數(shù)據(jù)表,存儲所述事件觸發(fā)器捕獲的內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)庫表中的數(shù)據(jù)變化信息, 所述增量數(shù)據(jù)表包括如下字段更新時間、獲取時間、SQL命令、內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表變化數(shù)據(jù)、 獲取數(shù)據(jù)操作標(biāo)識和數(shù)據(jù)唯一性標(biāo)識,所述增量數(shù)據(jù)表中的更新時間、獲取時間、SQL命令、 內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表變化數(shù)據(jù)和數(shù)據(jù)唯一性標(biāo)識字段內(nèi)容構(gòu)成增量數(shù)據(jù),其中 更新時間所述網(wǎng)站后臺管理系統(tǒng)提交數(shù)據(jù)的時間, 獲取時間所述網(wǎng)站數(shù)據(jù)防篡改系統(tǒng)中內(nèi)網(wǎng)主機的數(shù)據(jù)獲取模塊訪問所述增量數(shù)據(jù)表,并保存所訪問到的數(shù)據(jù)記錄的時間,· SQL命令所述網(wǎng)站后臺管理服務(wù)器提交數(shù)據(jù)時所執(zhí)行的操作, 內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表變化數(shù)據(jù)所述事件觸發(fā)器所捕獲的內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表中變化的數(shù)據(jù), 獲取數(shù)據(jù)操作標(biāo)識標(biāo)識網(wǎng)站數(shù)據(jù)防篡改改系統(tǒng)中的數(shù)據(jù)獲取模塊,是否成功獲得所要訪問的數(shù)據(jù)記錄,包括“未獲取”、“獲取中”和“已獲取”三種狀態(tài), 數(shù)據(jù)唯一性標(biāo)識由所述數(shù)據(jù)獲取模塊采用MD5算法計算得出,MD5算法的輸入?yún)?shù)由以下字段中的字符串構(gòu)成“所述更新時間+所述SQL命令+所述內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表變化數(shù)據(jù)”,以標(biāo)識所述增量數(shù)據(jù)的唯一性, 外網(wǎng),由一個具有較低安全級別的外網(wǎng)網(wǎng)站數(shù)據(jù)庫以及一個外網(wǎng)Web服務(wù)器構(gòu)成,其中外網(wǎng)網(wǎng)站數(shù)據(jù)庫,是所述的外網(wǎng)Web服務(wù)器中動態(tài)內(nèi)容存儲介質(zhì),設(shè)有待更新數(shù)據(jù)表、外網(wǎng)網(wǎng)站數(shù)據(jù)表以及待校驗增量數(shù)據(jù)表,其中待更新數(shù)據(jù)表,包括如下字段更新時間、獲取時間、SQL命令、內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表變化數(shù)據(jù)、發(fā)布數(shù)據(jù)操作標(biāo)識和數(shù)據(jù)唯一性標(biāo)識,其中 更新時間所述網(wǎng)站后臺管理系統(tǒng)提交數(shù)據(jù)的時間, 獲取時間所述數(shù)據(jù)獲取模塊獲得該條數(shù)據(jù)的時間,· SQL命令所述網(wǎng)站后臺管理系統(tǒng)提交數(shù)據(jù)的操作,
內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表變化數(shù)據(jù)所述事件觸發(fā)器所捕獲的內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表中變化的數(shù)據(jù), 發(fā)布數(shù)據(jù)操作標(biāo)識標(biāo)識網(wǎng)站數(shù)據(jù)防篡改系統(tǒng)中外網(wǎng)主機的數(shù)據(jù)發(fā)布模塊是否成功發(fā)布該條數(shù)據(jù)記錄,包括“未發(fā)布”、“發(fā)布中”和“已發(fā)布”三種狀態(tài), 數(shù)據(jù)唯一性標(biāo)識由所述數(shù)據(jù)獲取模塊采用MD5算法計算得出,外網(wǎng)網(wǎng)站數(shù)據(jù)表,設(shè)有事件觸發(fā)器,當(dāng)所述外網(wǎng)網(wǎng)站數(shù)據(jù)表中的數(shù)據(jù)變化時,該事件觸發(fā)器把變化的數(shù)據(jù)寫入待校驗增量數(shù)據(jù)表,待校驗增量數(shù)據(jù)表,存儲所述事件觸發(fā)器捕獲的外網(wǎng)網(wǎng)站數(shù)據(jù)庫表中的數(shù)據(jù)變化信息,所述待校驗增量數(shù)據(jù)表包括如下字段更新時間、SQL命令、外網(wǎng)網(wǎng)站數(shù)據(jù)表變化數(shù)據(jù)和原始數(shù)據(jù)唯一性標(biāo)識,其中 更新時間所述網(wǎng)站后臺管理系統(tǒng)提交數(shù)據(jù)的時間,· SQL命令所述網(wǎng)站后臺管理系統(tǒng)提交數(shù)據(jù)的操作, 外網(wǎng)網(wǎng)站數(shù)據(jù)表變化數(shù)據(jù)所述事件觸發(fā)器所捕獲的外網(wǎng)網(wǎng)站數(shù)據(jù)表中變化的數(shù)據(jù), 原始數(shù)據(jù)唯一性標(biāo)識由所述數(shù)據(jù)獲取模塊采用MD5算法計算得出,網(wǎng)站數(shù)據(jù)防篡改系統(tǒng),設(shè)有內(nèi)網(wǎng)主機,外網(wǎng)主機以及連接所述內(nèi)網(wǎng)主機和外網(wǎng)主機以便所述增量數(shù)據(jù)由所述內(nèi)網(wǎng)主機向外網(wǎng)主機單向發(fā)送的相互連接的內(nèi)網(wǎng)主機通訊卡、 外網(wǎng)主機通訊卡,其中內(nèi)網(wǎng)主機,設(shè)有數(shù)據(jù)獲取模塊和數(shù)據(jù)變化監(jiān)測模塊,其中數(shù)據(jù)獲取模塊,設(shè)有內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)庫所述增量數(shù)據(jù)表的訪問權(quán)限,還設(shè)有所述內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表數(shù)據(jù)變化消息的輸入端、所述增量數(shù)據(jù)表內(nèi)數(shù)據(jù)記錄查詢命令的輸出端、 所述增量數(shù)據(jù)的輸入端以及外網(wǎng)網(wǎng)站數(shù)據(jù)庫初始化命令的輸出端,還有把所述增量數(shù)據(jù)文件發(fā)往所述外網(wǎng)通訊卡的增量數(shù)據(jù)文件輸出端,獲取內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表全部數(shù)據(jù)記錄命令的輸出端以及所述內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表數(shù)據(jù)的輸入端,數(shù)據(jù)變化監(jiān)測模塊,設(shè)有所述內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表數(shù)據(jù)變化的查詢命令輸出端,數(shù)據(jù)變化消息的輸入端以及內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表數(shù)據(jù)變化消息的輸出端,外網(wǎng)主機,設(shè)有數(shù)據(jù)更新模塊、數(shù)據(jù)發(fā)布模塊和數(shù)據(jù)防篡改模塊,其中數(shù)據(jù)更新模塊,設(shè)有對所述外網(wǎng)網(wǎng)站數(shù)據(jù)庫內(nèi)待更新數(shù)據(jù)表的訪問權(quán)限,還設(shè)有接收來自所述數(shù)據(jù)獲取模塊發(fā)送的增量數(shù)據(jù)文件的輸入端,所述增量數(shù)據(jù)文件為增量數(shù)據(jù)的文件存儲形式,還設(shè)有請求數(shù)據(jù)發(fā)布命令的輸出端以及發(fā)往所述待更新數(shù)據(jù)表的增量數(shù)據(jù)輸出端,數(shù)據(jù)發(fā)布模塊,設(shè)有對所述外網(wǎng)網(wǎng)站數(shù)據(jù)表的訪問權(quán)限,還設(shè)有所述外網(wǎng)網(wǎng)站數(shù)據(jù)庫初始化命令的輸入端,請求數(shù)據(jù)發(fā)布命令的輸入端,發(fā)布數(shù)據(jù)的輸出端,所述發(fā)布數(shù)據(jù)是指根據(jù)所述待更新數(shù)據(jù)表中SQL命令字段及內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表變化數(shù)據(jù)字段中的內(nèi)容, 對所述外網(wǎng)網(wǎng)站數(shù)據(jù)表執(zhí)行相應(yīng)的SQL命令,以及外網(wǎng)網(wǎng)站數(shù)據(jù)表操作命令輸出端,控制數(shù)據(jù)發(fā)布輸入端,數(shù)據(jù)記錄唯一性標(biāo)識輸出端,數(shù)據(jù)防篡改模塊,設(shè)有對外網(wǎng)網(wǎng)站數(shù)據(jù)庫的管理權(quán)限,對所述待校驗增量數(shù)據(jù)表訪問權(quán)限,還設(shè)有控制數(shù)據(jù)發(fā)布的命令輸出端,所述數(shù)據(jù)唯一性標(biāo)識的輸入端,管理外網(wǎng)網(wǎng)站數(shù)據(jù)庫的命令輸出端,所述外網(wǎng)網(wǎng)站數(shù)據(jù)庫管理信息的輸入端,所述外網(wǎng)網(wǎng)站數(shù)據(jù)表數(shù)據(jù)變化的查詢命令輸出端,所述待校驗增量數(shù)據(jù)表中數(shù)據(jù)記錄輸入端,所述待校驗增量數(shù)據(jù)表內(nèi)數(shù)據(jù)記錄查詢命令的輸出端,以及終止外網(wǎng)網(wǎng)站數(shù)據(jù)庫服務(wù)的輸出端,并依次按以下步驟進(jìn)行防篡改保護(hù)A :外網(wǎng)網(wǎng)站數(shù)據(jù)庫用戶保護(hù)a:在完成所述外網(wǎng)網(wǎng)站數(shù)據(jù)表中的事件觸發(fā)器及對外網(wǎng)網(wǎng)站數(shù)據(jù)表的訪問權(quán)限設(shè)置后,查詢外網(wǎng)網(wǎng)站數(shù)據(jù)庫中的所有用戶,密碼,角色,并將“用戶名+密碼+角色”字符串作為MD5算法的參數(shù),計算用戶信息特征值,并保持該特征值Mbase,當(dāng)修改所述外網(wǎng)網(wǎng)站數(shù)據(jù)庫用戶權(quán)限設(shè)置時,將更新Mbase取值,b:定時查詢外網(wǎng)網(wǎng)站數(shù)據(jù)庫中的所有用戶,密碼及其角色,并依據(jù)所述MD5算法計算用戶權(quán)限特征值Νμ1,c :對比Nral和Mbase,二者一致表示所述外網(wǎng)網(wǎng)站數(shù)據(jù)庫安全,不一致表示所述外網(wǎng)網(wǎng)站數(shù)據(jù)庫中用戶,密碼或角色發(fā)生了變化,數(shù)據(jù)庫可能被入侵,告警,并向外網(wǎng)網(wǎng)站數(shù)據(jù)庫提出終止服務(wù)的請求,B :數(shù)據(jù)防篡改a:所述數(shù)據(jù)防篡改模塊定時查詢所述待校驗增量數(shù)據(jù)表,檢測到待校驗增量數(shù)據(jù)表中數(shù)據(jù)記錄變化后,判斷是否從所述數(shù)據(jù)發(fā)布模塊收到了新的數(shù)據(jù)唯一性標(biāo)識若沒有,則表明外網(wǎng)網(wǎng)站數(shù)據(jù)表中出現(xiàn)了非授權(quán)修改,便告警發(fā)出控制命令,命所述數(shù)據(jù)發(fā)布模塊發(fā)出刪除命令,刪除所述外網(wǎng)網(wǎng)站數(shù)據(jù)表中新增加的數(shù)據(jù)記錄,同時終止外網(wǎng)網(wǎng)站數(shù)據(jù)庫服務(wù),若所述數(shù)據(jù)發(fā)布模塊發(fā)送的數(shù)據(jù)唯一性標(biāo)識與查詢結(jié)果中所述待校驗增量數(shù)據(jù)表相應(yīng)數(shù)據(jù)記錄的原始數(shù)據(jù)唯一性標(biāo)識一致,表示數(shù)據(jù)發(fā)布模塊發(fā)布了帶有該唯一性標(biāo)識的數(shù)據(jù)信息,則執(zhí)行步驟b,b :將待校驗增量數(shù)據(jù)表對應(yīng)數(shù)據(jù)記錄的如下字段內(nèi)容構(gòu)成一字符串作為MD5算法的輸入?yún)?shù)“所述更新時間+所述SQL命令+所述內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表變化數(shù)據(jù)”,用MD5算法計算該外網(wǎng)網(wǎng)站數(shù)據(jù)表變化數(shù)據(jù)的唯一性標(biāo)識,并與待校驗增量數(shù)據(jù)表對應(yīng)數(shù)據(jù)記錄的所述原始數(shù)據(jù)唯一性標(biāo)識字段中的內(nèi)容進(jìn)行對比,如果二者一致,則不向數(shù)據(jù)發(fā)布模塊發(fā)布所述控制命令,若兩者不一致,則告警,向所述數(shù)據(jù)發(fā)布模塊發(fā)布所述控制命令,令其刪除所述外網(wǎng)網(wǎng)站數(shù)據(jù)表中的新增數(shù)據(jù)記錄,并向外網(wǎng)網(wǎng)站數(shù)據(jù)庫提出終止服務(wù)的請求,步驟(2),所述網(wǎng)站數(shù)據(jù)防篡改系統(tǒng)依次按以下步驟完成所述內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)庫和外網(wǎng)網(wǎng)站數(shù)據(jù)庫的數(shù)據(jù)初始化同步,步驟(2. I),所述數(shù)據(jù)獲取模塊向所述數(shù)據(jù)發(fā)布模塊發(fā)送“外網(wǎng)網(wǎng)站數(shù)據(jù)庫初始化”命令,步驟(2. 2),所述數(shù)據(jù)發(fā)布模塊依所設(shè)置的訪問權(quán)限連接所述外網(wǎng)網(wǎng)站數(shù)據(jù)表, 若存在數(shù)據(jù),便清除,否則,執(zhí)行步驟(2. 3),步驟(2. 3),所述數(shù)據(jù)獲取模塊依所設(shè)置的權(quán)限連接內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表,執(zhí)行SQL中的“Select…from…”命令獲得所述內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表中的所有數(shù)據(jù),步驟(2. 4),所述數(shù)據(jù)獲取模塊把步驟(2. 3)所獲得的數(shù)據(jù)以“外網(wǎng)網(wǎng)站數(shù)據(jù)庫更新命令+表數(shù)據(jù)”格式形成數(shù)據(jù)文件發(fā)送給所述數(shù)據(jù)發(fā)布模塊,步驟(2. 5),所述數(shù)據(jù)發(fā)布模塊依據(jù)收到的所述增量數(shù)據(jù)文件中的內(nèi)容調(diào)用SQL命令實現(xiàn)外網(wǎng)網(wǎng)站數(shù)據(jù)表的更新;步驟(3),依次按以下步驟實現(xiàn)外網(wǎng)網(wǎng)站數(shù)據(jù)庫的數(shù)據(jù)更新,步驟(3. 1),網(wǎng)站管理人員通過所述網(wǎng)站后臺管理系統(tǒng)提交數(shù)據(jù)到內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表,用所述事件觸發(fā)器將內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表變化數(shù)據(jù)發(fā)送至所述增量數(shù)據(jù)表,步驟(3. 2),所述數(shù)據(jù)變化監(jiān)測模塊查詢到所述增量數(shù)據(jù)表中的數(shù)據(jù)記錄發(fā)生變化后,通知所述數(shù)據(jù)獲取模塊訪問所述增量數(shù)據(jù)表,獲取增量數(shù)據(jù)依次查詢所述增量數(shù)據(jù)表中的所有數(shù)據(jù)記錄,予以分別處理若所述增量數(shù)據(jù)表為空,結(jié)束數(shù)據(jù)獲取過程,若存在數(shù)據(jù)記錄,則檢查數(shù)據(jù)記錄的獲取數(shù)據(jù)操作標(biāo)識字段,如狀態(tài)為“已獲取”,則表示該條數(shù)據(jù)記錄已被所述數(shù)據(jù)獲取模塊獲得,便直接刪除該條數(shù)據(jù)記錄,若狀態(tài)為“未獲取”,將標(biāo)識更新為“獲取中”,并將所述獲取數(shù)據(jù)操作標(biāo)識狀態(tài)為 “獲取中”的數(shù)據(jù)記錄依據(jù)數(shù)據(jù)文件存儲格式轉(zhuǎn)換為數(shù)據(jù)文件,以字段“更新時間+SQL命令 +內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表變化數(shù)據(jù)”中的內(nèi)容構(gòu)建字符串作為輸入?yún)?shù),通過MD5算法計算數(shù)據(jù)唯一性標(biāo)識,更新所述獲取數(shù)據(jù)操作標(biāo)識字段并設(shè)置其為“已獲取”狀態(tài),刪除操作標(biāo)識為“已獲取”的數(shù)據(jù)記錄,若狀態(tài)為“獲取中”,表明該數(shù)據(jù)記錄未完整獲取,則繼續(xù)獲取,步驟(3. 3),在收到步驟(3. 2)形成的所述數(shù)據(jù)文件后,所述數(shù)據(jù)更新模塊把這些數(shù)據(jù)更新到所述待更新數(shù)據(jù)表中,并將發(fā)布數(shù)據(jù)操作標(biāo)識字段標(biāo)識為“未發(fā)布”,并通知所述數(shù)據(jù)發(fā)布模塊有數(shù)據(jù)需要發(fā)布,步驟(3. 4),所述數(shù)據(jù)發(fā)布模塊在收到步驟(3. 3)中所述標(biāo)識有“未發(fā)布”的數(shù)據(jù)記錄時,便向所述外網(wǎng)網(wǎng)站數(shù)據(jù)表發(fā)布所述數(shù)據(jù)信息,所述數(shù)據(jù)發(fā)布模塊依次查詢所述待更新數(shù)據(jù)表中的所有數(shù)據(jù)記錄,予以分別處理若所述待更新數(shù)據(jù)表為空,結(jié)束數(shù)據(jù)發(fā)布過程,若所述待更新數(shù)據(jù)表存在數(shù)據(jù)記錄,則檢查數(shù)據(jù)記錄的發(fā)布數(shù)據(jù)操作標(biāo)識字段, 如狀態(tài)為“已發(fā)布”,則表示該條數(shù)據(jù)記錄已發(fā)布到所述外網(wǎng)網(wǎng)站數(shù)據(jù)表中,便直接刪除該條數(shù)據(jù)記錄,若狀態(tài)為“未發(fā)布”,將標(biāo)識更新為“發(fā)布中”,并將發(fā)布數(shù)據(jù)操作標(biāo)識狀態(tài)為“發(fā)布中”的數(shù)據(jù)記錄以字段更新時間,SQL命令,內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表變化數(shù)據(jù)中的內(nèi)容構(gòu)建SQL 命令,提交到所述外網(wǎng)網(wǎng)站數(shù)據(jù)表中,刪除操作標(biāo)識為“已發(fā)布”的數(shù)據(jù)記錄,若狀態(tài)為“發(fā)布中”,表明該數(shù)據(jù)記錄未完整發(fā)布,則繼續(xù)發(fā)布,步驟(3. 5),數(shù)據(jù)防篡改模塊在檢測到待校驗增量數(shù)據(jù)表中數(shù)據(jù)變化后,執(zhí)行數(shù)據(jù)確認(rèn)操作,驗證數(shù)據(jù)發(fā)布的準(zhǔn)確性,結(jié)束。所述數(shù)據(jù)發(fā)布模塊要依次查詢所述待更新數(shù)據(jù)表中的所有數(shù)據(jù)記錄若發(fā)布數(shù)據(jù)操作標(biāo)識狀態(tài)為“已發(fā)布”,則直接刪除該條數(shù)據(jù)記錄,若發(fā)布數(shù)據(jù)操作標(biāo)識狀態(tài)為“未發(fā)布”,則置為“發(fā)布中”,若發(fā)布數(shù)據(jù)操作標(biāo)識狀態(tài)為“發(fā)布中”,則置為“已發(fā)布”狀態(tài),并直接刪除該條數(shù)
據(jù)記錄。所述數(shù)據(jù)防篡改模塊定時查詢系統(tǒng)設(shè)置及所述待校驗增量數(shù)據(jù)表中數(shù)據(jù)記錄,并
10在檢測到系統(tǒng)設(shè)置及數(shù)據(jù)變化時啟動相應(yīng)操作。對比現(xiàn)有技術(shù),本發(fā)明有益效果在于,傳統(tǒng)網(wǎng)站數(shù)據(jù)防篡改方法均針對網(wǎng)頁靜態(tài)信息的防護(hù),而用戶瀏覽網(wǎng)頁所查看到的信息,基本都是以網(wǎng)頁形式展示的后臺數(shù)據(jù)庫中的數(shù)據(jù)。對后臺數(shù)據(jù)庫的防護(hù)手段基本都是基于操作系統(tǒng)本身的安全加固,這種系統(tǒng)層的加固無法應(yīng)對針對數(shù)據(jù)庫的諸如SQL注入、提權(quán)、利用數(shù)據(jù)庫系統(tǒng)本身漏洞等攻擊行為。考慮到對網(wǎng)站后臺數(shù)據(jù)庫的綜合防護(hù)及自動恢復(fù)機制,本發(fā)明提出了一種基于隔離結(jié)構(gòu)的網(wǎng)站數(shù)據(jù)防篡改方法,通過劃分不同的安全級別網(wǎng)絡(luò),實現(xiàn)內(nèi)、外網(wǎng)兩個不同安全級別網(wǎng)絡(luò)間數(shù)據(jù)的單向安全發(fā)布,同時通過數(shù)據(jù)防篡改機制監(jiān)測數(shù)據(jù)庫變化,及時發(fā)現(xiàn)低安全級別網(wǎng)絡(luò)內(nèi)數(shù)據(jù)庫的非正常變化,從而確保網(wǎng)站數(shù)據(jù)的安全。


圖I為基于網(wǎng)絡(luò)隔離結(jié)構(gòu)的網(wǎng)站數(shù)據(jù)防篡改方法的應(yīng)用框架圖2為內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表中的新數(shù)據(jù)添加至增量數(shù)據(jù)表的過程圖3為外網(wǎng)網(wǎng)站數(shù)據(jù)庫中各個數(shù)據(jù)表之間的關(guān)系圖4為全表掃描方式進(jìn)行數(shù)據(jù)庫初始化流程圖5為數(shù)據(jù)防篡改模塊對外網(wǎng)網(wǎng)站數(shù)據(jù)庫保護(hù)的工作流程6為數(shù)據(jù)獲取模塊獲取數(shù)據(jù)的工作流程7為數(shù)據(jù)發(fā)布進(jìn)行數(shù)據(jù)發(fā)布的工作流程8為數(shù)據(jù)防篡改模塊數(shù)據(jù)防篡改工作流程圖
具體實施例方式下面結(jié)合附圖和實施例進(jìn)一步描述本發(fā)明。網(wǎng)站數(shù)據(jù)防篡改系統(tǒng)物理構(gòu)成可采用雙主機或單主機架構(gòu) 雙主機架構(gòu)中,網(wǎng)站數(shù)據(jù)防篡改系統(tǒng)由兩臺分別連接內(nèi)、外網(wǎng)網(wǎng)站數(shù)據(jù)庫的獨立主機及連接兩主機的通信部件構(gòu)成,通信部件可采用網(wǎng)卡或特殊的單向隔離部件; 單主機架構(gòu)中,通過系統(tǒng)內(nèi)部的模塊劃分,及模塊之間的通信機制實現(xiàn)上述描述的框架結(jié)構(gòu)。一種應(yīng)用本技術(shù)方案的應(yīng)用框架如附圖I所示,其中包括網(wǎng)站數(shù)據(jù)防篡改系統(tǒng),內(nèi)、外網(wǎng)網(wǎng)站數(shù)據(jù)庫、部署在內(nèi)網(wǎng)的網(wǎng)站后臺管理系統(tǒng)及部署在外網(wǎng)的Web服務(wù)器。外網(wǎng)網(wǎng)站數(shù)據(jù)庫是網(wǎng)站W(wǎng)eb服務(wù)器中動態(tài)內(nèi)容的存儲介質(zhì),內(nèi)外網(wǎng)數(shù)據(jù)庫均采用目前主流數(shù)據(jù)庫,數(shù)據(jù)只能由內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)庫單向發(fā)布到外網(wǎng)網(wǎng)站數(shù)據(jù)庫中。網(wǎng)站數(shù)據(jù)防篡改系統(tǒng)連接內(nèi)、外網(wǎng)網(wǎng)絡(luò),并且是內(nèi)、外網(wǎng)網(wǎng)絡(luò)的唯一連接系統(tǒng)。應(yīng)用基于網(wǎng)絡(luò)隔離結(jié)構(gòu)的網(wǎng)站數(shù)據(jù)防篡改方法的網(wǎng)站數(shù)據(jù)防篡改系統(tǒng)包括與內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)庫相連的數(shù)據(jù)獲取模塊和數(shù)據(jù)變化監(jiān)測模塊,這兩部分共同構(gòu)成網(wǎng)站數(shù)據(jù)防篡改系統(tǒng)的內(nèi)網(wǎng)主機;與外網(wǎng)數(shù)據(jù)庫相連的數(shù)據(jù)更新模塊、數(shù)據(jù)發(fā)布模塊和數(shù)據(jù)防篡改模塊, 這三部分共同構(gòu)成網(wǎng)站數(shù)據(jù)防篡改系統(tǒng)的外網(wǎng)主機;此外還包括內(nèi)網(wǎng)主機和外網(wǎng)主機之間的連接通道。連接通道可為單向連接或雙向連接,用于實現(xiàn)數(shù)據(jù)由網(wǎng)站防篡改系統(tǒng)的內(nèi)網(wǎng)部分到外網(wǎng)部分的單向流動。網(wǎng)站后臺管理系統(tǒng)通過數(shù)據(jù)庫的連接接口(JDBC或.Net的ODBC、ADO. Net等)實現(xiàn)對內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)庫的訪問。網(wǎng)站管理人員從網(wǎng)站后臺管理系統(tǒng)提交數(shù)據(jù)后,數(shù)據(jù)將存儲在內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)庫中,并經(jīng)由網(wǎng)站數(shù)據(jù)防篡改系統(tǒng)將數(shù)據(jù)單向發(fā)布到外網(wǎng)網(wǎng)站數(shù)據(jù)庫中。本實施例中,一種基于網(wǎng)絡(luò)隔離結(jié)構(gòu)的網(wǎng)站數(shù)據(jù)防篡改方法,包括如下步驟步驟一.系統(tǒng)初始設(shè)直系統(tǒng)初始化設(shè)置包括三個方面1)網(wǎng)站數(shù)據(jù)防篡改系統(tǒng)的內(nèi)網(wǎng)主機設(shè)置用于設(shè)置網(wǎng)站數(shù)據(jù)防篡改系統(tǒng)對內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)庫的訪問權(quán)限及獲取內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表變化數(shù)據(jù)的規(guī)則。從技術(shù)方面來說,目前獲得內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表變化數(shù)據(jù)可通過多種方式實現(xiàn),這里使用事件觸發(fā)器。事件觸發(fā)器是數(shù)據(jù)庫內(nèi)建的一種機制,是特殊的存儲過程,觸發(fā)器的執(zhí)行不是由程序調(diào)用實現(xiàn),也不需要通過手工啟動執(zhí)行,而是由事件來觸發(fā),例如當(dāng)對數(shù)據(jù)庫中某個表進(jìn)行操作時就會激活觸發(fā)器。在需要監(jiān)測數(shù)據(jù)變化的內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表中建立事件觸發(fā)器,當(dāng)內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表中的數(shù)據(jù)發(fā)生變化時,事件觸發(fā)器將變化的數(shù)據(jù)寫入到一個臨時表,即增量數(shù)據(jù)表中,數(shù)據(jù)變化監(jiān)測模塊定時查詢增量數(shù)據(jù)表,如發(fā)現(xiàn)存在新的數(shù)據(jù)記錄,則通知數(shù)據(jù)獲取模塊。數(shù)據(jù)獲取模塊通過數(shù)據(jù)庫接口訪問內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)庫,獲得增量數(shù)據(jù)表中的數(shù)據(jù)記錄,并及時刪除已獲得的數(shù)據(jù)記錄。圖2反映了內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表中的變化數(shù)據(jù)添加至增量數(shù)據(jù)表的過程。2)網(wǎng)站數(shù)據(jù)防篡改系統(tǒng)的外網(wǎng)主機部分設(shè)置設(shè)置數(shù)據(jù)更新模塊對外網(wǎng)網(wǎng)站數(shù)據(jù)庫待更新數(shù)據(jù)表的訪問權(quán)限,設(shè)置數(shù)據(jù)發(fā)布模塊對外網(wǎng)網(wǎng)站數(shù)據(jù)庫中外網(wǎng)網(wǎng)站數(shù)據(jù)表的訪問權(quán)限。在獲得與內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)庫相連的數(shù)據(jù)獲取模塊的增量數(shù)據(jù)后,數(shù)據(jù)更新模塊連接外網(wǎng)網(wǎng)站數(shù)據(jù)庫,將增量數(shù)據(jù)更新到外網(wǎng)網(wǎng)站數(shù)據(jù)庫中的待更新數(shù)據(jù)表中。數(shù)據(jù)發(fā)布模塊負(fù)責(zé)將待更新數(shù)據(jù)表中的數(shù)據(jù)發(fā)布到外網(wǎng)網(wǎng)站數(shù)據(jù)表中。外網(wǎng)網(wǎng)站數(shù)據(jù)庫的增量數(shù)據(jù)捕獲機制為事件觸發(fā)器,在數(shù)據(jù)發(fā)布模塊更新外網(wǎng)網(wǎng)站數(shù)據(jù)表后,利用事件觸發(fā)器捕獲外網(wǎng)網(wǎng)站數(shù)據(jù)表中的數(shù)據(jù)變化,將變化數(shù)據(jù)置于外網(wǎng)網(wǎng)站數(shù)據(jù)庫的待校驗增量數(shù)據(jù)表中。圖3反映了系統(tǒng)中外網(wǎng)網(wǎng)站數(shù)據(jù)庫各個數(shù)據(jù)表之間的關(guān)系。3)網(wǎng)站數(shù)據(jù)防篡改網(wǎng)站數(shù)據(jù)庫初始化同步數(shù)據(jù)獲取模塊對內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)庫做全表掃描來獲得內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)庫在當(dāng)前時間點的所有數(shù)據(jù)記錄,并將獲取到的數(shù)據(jù)記錄發(fā)送給數(shù)據(jù)發(fā)布模塊,通過該模塊再更新到外網(wǎng)網(wǎng)站數(shù)據(jù)庫中。完成此次數(shù)據(jù)發(fā)布后,將實現(xiàn)內(nèi)、外網(wǎng)網(wǎng)站數(shù)據(jù)庫中的數(shù)據(jù)一致,并保留當(dāng)前時間點tstart b—作為內(nèi)、外網(wǎng)網(wǎng)站數(shù)據(jù)庫數(shù)據(jù)更新的基準(zhǔn)。使用全表掃描方式進(jìn)行數(shù)據(jù)庫初始化的流程為(如圖4):I.當(dāng)啟動內(nèi)、外網(wǎng)網(wǎng)站數(shù)據(jù)庫初始化同步時,數(shù)據(jù)獲取模塊連接數(shù)據(jù)發(fā)布模塊,并發(fā)送“外網(wǎng)網(wǎng)站數(shù)據(jù)庫初始化”命令給數(shù)據(jù)發(fā)布模塊;2.數(shù)據(jù)發(fā)布模塊在收到“外網(wǎng)網(wǎng)站數(shù)據(jù)庫初始化”命令后,將依據(jù)2)中外網(wǎng)網(wǎng)站數(shù)據(jù)表的訪問權(quán)限設(shè)置連接外網(wǎng)網(wǎng)站數(shù)據(jù)庫。如外網(wǎng)網(wǎng)站數(shù)據(jù)表中存在數(shù)據(jù),數(shù)據(jù)發(fā)布模塊首先清除表中所有數(shù)據(jù),如其中沒有數(shù)據(jù),轉(zhuǎn)入下一步驟;3.數(shù)據(jù)獲取模塊依據(jù)I)中設(shè)置的內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)庫訪問權(quán)限,連接內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)庫,并訪問內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表;4.數(shù)據(jù)獲取模塊執(zhí)行“Select…from··· ” SQL命令獲得內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表中所有數(shù)據(jù)記錄;5.將獲得的內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表的數(shù)據(jù)記錄以“外網(wǎng)網(wǎng)站數(shù)據(jù)庫更新命令+表數(shù)據(jù)” 格式存儲成數(shù)據(jù)文件;6.數(shù)據(jù)獲取模塊將獲取的數(shù)據(jù)文件發(fā)送給數(shù)據(jù)發(fā)布模塊;7.數(shù)據(jù)發(fā)布模塊依據(jù)數(shù)據(jù)文件中的命令描述調(diào)用相應(yīng)的數(shù)據(jù)庫SQL語句實現(xiàn)外網(wǎng)網(wǎng)站數(shù)據(jù)庫的數(shù)據(jù)更新。4)為確保防篡改系統(tǒng)對數(shù)據(jù)庫的安全保護(hù),數(shù)據(jù)防篡改模塊在設(shè)定對外網(wǎng)網(wǎng)站數(shù)據(jù)庫的監(jiān)控機制后,查詢外網(wǎng)網(wǎng)站數(shù)據(jù)庫中的所有用戶,密碼及其角色,并將“用戶名+密碼+角色”構(gòu)成一字符串,作為MD5算法的參數(shù)計算用戶信息特征值,并保存該特征值Mb_, 當(dāng)修改所述外網(wǎng)網(wǎng)站數(shù)據(jù)庫用戶權(quán)限設(shè)置時,將更新Mbase取值。定時查詢外網(wǎng)網(wǎng)站數(shù)據(jù)庫中的所有用戶,密碼及其角色,并依據(jù)所述算法計算用戶權(quán)限特征值Nm1,對比Nm1和Mbase, —致表示外網(wǎng)網(wǎng)站數(shù)據(jù)庫為安全,不一致表示外網(wǎng)網(wǎng)站數(shù)據(jù)庫中用戶,密碼或角色發(fā)生了變化,外網(wǎng)網(wǎng)站數(shù)據(jù)庫可能被入侵,告警,并向外網(wǎng)網(wǎng)站數(shù)據(jù)庫提出終止服務(wù)的請求,具體流程如圖5所示。步驟二 .網(wǎng)站數(shù)據(jù)更新I)網(wǎng)站管理人員通過網(wǎng)站后臺管理系統(tǒng)提交數(shù)據(jù)到內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)庫;2)數(shù)據(jù)變化監(jiān)測模塊發(fā)現(xiàn)數(shù)據(jù)變化后,通知數(shù)據(jù)獲取模塊檢查內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)庫的增量數(shù)據(jù)表。數(shù)據(jù)獲取模塊獲取內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)庫中的數(shù)據(jù)記錄,然后將數(shù)據(jù)記錄轉(zhuǎn)換為文件,存儲在網(wǎng)站數(shù)據(jù)防篡改系統(tǒng)內(nèi)網(wǎng)部分中。根據(jù)步驟一中設(shè)定,數(shù)據(jù)由內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表到增量數(shù)據(jù)表通過內(nèi)建的事件觸發(fā)器完成。增量數(shù)據(jù)表包括如下字段更新時間、獲取時間、SQL命令、內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表變化數(shù)據(jù)、獲取數(shù)據(jù)操作標(biāo)識和數(shù)據(jù)唯一性標(biāo)識 更新時間網(wǎng)站后臺管理系統(tǒng)提交數(shù)據(jù)的時間; 獲取時間網(wǎng)站數(shù)據(jù)防篡改系統(tǒng)中內(nèi)網(wǎng)主機的數(shù)據(jù)獲取模塊訪問增量數(shù)據(jù)表, 并保存所訪問到的數(shù)據(jù)記錄的時間;· SQL命令網(wǎng)站后臺管理服務(wù)器提交數(shù)據(jù)時所執(zhí)行的操作; 內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表變化數(shù)據(jù)事件觸發(fā)器所捕獲的內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表中變化的數(shù)據(jù); 獲取數(shù)據(jù)操作標(biāo)識標(biāo)識所述數(shù)據(jù)獲取模塊是否成功獲得所要訪問的數(shù)據(jù)記錄,包括“未獲取”、“獲取中”和“已獲取”三種狀態(tài); 數(shù)據(jù)唯一性標(biāo)識由所述數(shù)據(jù)獲取模塊采用MD5算法計算得出,MD5算法的輸入?yún)?shù)由以下字段中的字符串構(gòu)成“所述更新時間+所述SQL命令+所述更新數(shù)據(jù)”,以標(biāo)識所述增量數(shù)據(jù)的唯一性。如圖6所示,當(dāng)內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)庫數(shù)據(jù)表中的數(shù)據(jù)記錄通過事件觸發(fā)器進(jìn)入增量數(shù)據(jù)表中,其獲取數(shù)據(jù)操作標(biāo)識字段被設(shè)置為“未獲取”狀態(tài),表示該數(shù)據(jù)還未被數(shù)據(jù)獲取模塊獲得。在數(shù)據(jù)變化監(jiān)測模塊發(fā)現(xiàn)增量數(shù)據(jù)表中存在新數(shù)據(jù)記錄后,將通知數(shù)據(jù)獲取模塊獲取該記錄。數(shù)據(jù)獲取模塊依次查詢增量數(shù)據(jù)表中的所有數(shù)據(jù)記錄,如增量數(shù)據(jù)表為空表示已獲得所有數(shù)據(jù),結(jié)束數(shù)據(jù)獲取過程,如存在數(shù)據(jù)記錄,檢查數(shù)據(jù)記錄的獲取數(shù)據(jù)操作標(biāo)識字段,如狀態(tài)為“已獲取”表示該條數(shù)據(jù)記錄已被數(shù)據(jù)獲取模塊獲得,但可能由于某些意外原因未被刪除,數(shù)據(jù)獲取模塊將直接刪除該條記錄。如狀態(tài)為“未獲取”,將標(biāo)識更新為“獲取中”。將獲取數(shù)據(jù)操作標(biāo)識狀態(tài)為“獲取中”的數(shù)據(jù)記錄依據(jù)數(shù)據(jù)文件存儲格式轉(zhuǎn)換為數(shù)據(jù)文件,用MD5算法計算基于字符串“更新時間+SQL命令+待更新數(shù)據(jù)”而得到的數(shù)據(jù)唯一性標(biāo)識,更新增量數(shù)據(jù)表中該操作標(biāo)識字段并設(shè)置其為“已獲取”狀態(tài)。刪除操作標(biāo)識為“已獲取”的數(shù)據(jù)記錄。若狀態(tài)為“獲取中”,表明該數(shù)據(jù)記錄未完整獲取,則繼續(xù)獲取。數(shù)據(jù)獲取模塊需獲取增量數(shù)據(jù)表如下字段的內(nèi)容更新時間、獲取時間、SQL命令、內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表變化數(shù)據(jù)和數(shù)據(jù)唯一性標(biāo)識字段,這些內(nèi)容共同構(gòu)成增量數(shù)據(jù)。數(shù)據(jù)獲取模塊得到內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表中的增量數(shù)據(jù)后,將增量數(shù)據(jù)以XML的形式存儲在網(wǎng)站數(shù)據(jù)防篡改系統(tǒng)內(nèi)網(wǎng)部分中,XML文件格式示例可為如下
< xml version="I.O'1 〉
<BCPFORMAT
xmlns=" http:// schemas.xxx. com/format"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> xml 文件標(biāo)記頭 <AcqTime>更新時間
<Time ="xxx"/>
<\AcqTime> 〈RECORD〉數(shù)據(jù)
〈FIELD ID="I" xsi:type="CharTerm" TERMINATOR="\t"
MAX LENGTH=" 12"/>
〈/RECORD〉
〈Command〉操作命令
〈COMMOD STRING ="xxx" NAME="xxx"/>
</Command>
<ValidData>數(shù)據(jù)唯一性信息
〈Spec xxx />
< /ValidData > </BCPFORMAT>3)數(shù)據(jù)獲取模塊將增量數(shù)據(jù)文件通過內(nèi)、外網(wǎng)通訊卡發(fā)送給數(shù)據(jù)更新模塊;4)數(shù)據(jù)更新模塊連接外網(wǎng)網(wǎng)站數(shù)據(jù)庫,依照增量數(shù)據(jù)文件依次更新待更新數(shù)據(jù)表。待更新數(shù)據(jù)表包括如下字段更新時間、獲取時間、SQL命令、內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表變化數(shù)據(jù)、發(fā)布數(shù)據(jù)操作標(biāo)識和數(shù)據(jù)唯一性標(biāo)識。 更新時間網(wǎng)站后臺管理系統(tǒng)提交數(shù)據(jù)的時間; 獲取時間數(shù)據(jù)獲取模塊獲得該條數(shù)據(jù)的時間;· SQL命令網(wǎng)站后臺管理系統(tǒng)提交數(shù)據(jù)的操作; 內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表變化數(shù)據(jù)事件觸發(fā)器所捕獲的內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表中變化的數(shù)據(jù); 發(fā)布數(shù)據(jù)操作標(biāo)識標(biāo)識網(wǎng)站數(shù)據(jù)防篡改系統(tǒng)中外網(wǎng)主機的數(shù)據(jù)發(fā)布模塊是否成功發(fā)布該條數(shù)據(jù)記錄,包括“未發(fā)布”、“發(fā)布中”和“已發(fā)布”三種狀態(tài); 數(shù)據(jù)唯一性標(biāo)識由數(shù)據(jù)獲取模塊采用MD5算法計算得出。數(shù)據(jù)更新模塊只對外網(wǎng)網(wǎng)站數(shù)據(jù)庫的待更新數(shù)據(jù)表有讀寫操作權(quán)限,而對外網(wǎng)網(wǎng)站數(shù)據(jù)庫中的其它數(shù)據(jù)表沒有操作權(quán)限。數(shù)據(jù)更新模塊收到由數(shù)據(jù)獲取模塊發(fā)送的數(shù)據(jù)記錄后,將這些記錄更新到待更新數(shù)據(jù)表,并將數(shù)據(jù)記錄的發(fā)布數(shù)據(jù)操作標(biāo)識字段更新為“未發(fā)布”狀態(tài)。數(shù)據(jù)更新完成后, 數(shù)據(jù)更新模塊通知數(shù)據(jù)發(fā)布模塊向外網(wǎng)網(wǎng)站數(shù)據(jù)庫發(fā)布數(shù)據(jù)。數(shù)據(jù)發(fā)布模塊依次查詢待更新數(shù)據(jù)表中的所有記錄,如待更新數(shù)據(jù)表為空表示已發(fā)布所有數(shù)據(jù),結(jié)束數(shù)據(jù)發(fā)布過程。如存在數(shù)據(jù)記錄,檢查數(shù)據(jù)記錄的發(fā)布數(shù)據(jù)操作標(biāo)識字段,如狀態(tài)為“已發(fā)布”表示該條數(shù)據(jù)記錄已被數(shù)據(jù)發(fā)布模塊發(fā)布到外網(wǎng)網(wǎng)站數(shù)據(jù)表中,但可能由于某些意外原因未被刪除,數(shù)據(jù)發(fā)布模塊將直接刪除該條記錄。如狀態(tài)為“未發(fā)布”,將發(fā)布數(shù)據(jù)操作標(biāo)識更新為“發(fā)布中”。將狀態(tài)為“發(fā)布中” 的數(shù)據(jù)記錄發(fā)布到外網(wǎng)網(wǎng)站數(shù)據(jù)表中,更新發(fā)布數(shù)據(jù)操作標(biāo)識字段并設(shè)置其為“已發(fā)布”狀態(tài),并將數(shù)據(jù)記錄的數(shù)據(jù)唯一性標(biāo)識發(fā)送給數(shù)據(jù)防篡改模塊。刪除待更新數(shù)據(jù)表中操作標(biāo)識為“已發(fā)布”的數(shù)據(jù)記錄。如發(fā)布數(shù)據(jù)操作標(biāo)識為“發(fā)布中”的狀態(tài),繼續(xù)發(fā)布數(shù)據(jù)。整個更新及數(shù)據(jù)發(fā)布流程如圖7所示。5)依據(jù)步驟一中2)的設(shè)置,采用事件觸發(fā)器,獲得外網(wǎng)網(wǎng)站數(shù)據(jù)庫中的變化數(shù)據(jù),并將變化數(shù)據(jù)置于待校驗增量數(shù)據(jù)表中。待校驗增量數(shù)據(jù)表應(yīng)包括如下字段更新時間、SQL命令、外網(wǎng)網(wǎng)數(shù)據(jù)表變化數(shù)據(jù)和原始數(shù)據(jù)唯一性標(biāo)識。 更新時間所述網(wǎng)站后臺管理系統(tǒng)提交數(shù)據(jù)的時間;· SQL命令所述網(wǎng)站后臺管理系統(tǒng)提交數(shù)據(jù)的操作; 外網(wǎng)網(wǎng)數(shù)據(jù)表變化數(shù)據(jù)所述事件觸發(fā)器所捕獲的外網(wǎng)網(wǎng)站數(shù)據(jù)表中變化的數(shù)據(jù); 原始數(shù)據(jù)唯一性標(biāo)識由所述數(shù)據(jù)獲取模塊采用MD5算法計算得出。數(shù)據(jù)發(fā)布模塊在更新每條數(shù)據(jù)后,都會將該條數(shù)據(jù)的數(shù)據(jù)唯一性標(biāo)識發(fā)送給數(shù)據(jù)防篡改模塊,數(shù)據(jù)防篡改模塊將數(shù)據(jù)唯一性標(biāo)識保存在數(shù)據(jù)唯一性標(biāo)識隊列中。在確認(rèn)數(shù)據(jù)唯一性標(biāo)識對應(yīng)的數(shù)據(jù)記錄成功發(fā)布后,從隊列中移除該標(biāo)識。根據(jù)步驟一中的設(shè)置,事件觸發(fā)器將變化數(shù)據(jù)添加到待校驗增量數(shù)據(jù)表。
數(shù)據(jù)防篡改模塊在檢測到待校驗增量數(shù)據(jù)表中出現(xiàn)新數(shù)據(jù)記錄后,首先確認(rèn)該項數(shù)據(jù)記錄是否由數(shù)據(jù)發(fā)布模塊產(chǎn)生。如果待校驗增量數(shù)據(jù)表中數(shù)據(jù)記錄的原始數(shù)據(jù)唯一性標(biāo)識沒有包含在數(shù)據(jù)唯一性標(biāo)識隊列中,表示增量數(shù)據(jù)不是由數(shù)據(jù)發(fā)布模塊產(chǎn)生,外網(wǎng)網(wǎng)站數(shù)據(jù)庫可能出現(xiàn)異常,數(shù)據(jù)防篡改模塊將告警,并通知數(shù)據(jù)發(fā)布模塊刪除外網(wǎng)網(wǎng)站數(shù)據(jù)表中的該項增量數(shù)據(jù),并終止外網(wǎng)網(wǎng)站數(shù)據(jù)庫服務(wù)。否則,數(shù)據(jù)變化為正常變化,數(shù)據(jù)防篡改模塊將基于待校驗增量數(shù)據(jù)表中的“更新時間+SQL命令+外網(wǎng)網(wǎng)站數(shù)據(jù)表變化數(shù)據(jù)”字段構(gòu)成的字符串,利用MD5算法計算該條數(shù)據(jù)的唯一性標(biāo)識,與待校驗增量數(shù)據(jù)表的原始數(shù)據(jù)唯一性標(biāo)識進(jìn)行對比,如果二者一致,則數(shù)據(jù)更新正常操作;如果原始唯一性標(biāo)識與新計算得到的唯一性標(biāo)識不一致,表示數(shù)據(jù)發(fā)布過程數(shù)據(jù)內(nèi)容被修改,數(shù)據(jù)防篡改模塊將告警,并通知數(shù)據(jù)發(fā)布模塊刪除外網(wǎng)網(wǎng)站數(shù)據(jù)表中的該項數(shù)據(jù)記錄,并終止外網(wǎng)網(wǎng)站數(shù)據(jù)庫服務(wù)。圖8描述了整個工作流程。6)數(shù)據(jù)防篡改模塊在數(shù)據(jù)防篡改機制方面遵從以下規(guī)則 所有來自內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)庫中的數(shù)據(jù)更新均是合法更新,也即授權(quán)數(shù)據(jù)更新; 數(shù)據(jù)發(fā)布模塊在未授權(quán)更新外網(wǎng)網(wǎng)站數(shù)據(jù)庫數(shù)據(jù)的模式下,所有外網(wǎng)網(wǎng)站數(shù)據(jù)表的數(shù)據(jù)變化或數(shù)據(jù)庫用戶及用戶權(quán)限變化均是非法; 數(shù)據(jù)只能由內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)庫單向更新到外網(wǎng)網(wǎng)站數(shù)據(jù)庫; 未授權(quán)修改外網(wǎng)網(wǎng)站數(shù)據(jù)庫用戶設(shè)置情況下,任何數(shù)據(jù)防篡改模塊所檢測到的用戶信息特征值與系統(tǒng)保存特征值不一致均是非法。待更新數(shù)據(jù)表、外網(wǎng)網(wǎng)站數(shù)據(jù)表、待校驗增量數(shù)據(jù)表操作流程如圖3所示。
權(quán)利要求
1.一種基于網(wǎng)絡(luò)隔離結(jié)構(gòu)的網(wǎng)絡(luò)數(shù)據(jù)防篡改方法,其特征在于,是一種用于實現(xiàn)對使用動態(tài)網(wǎng)頁技術(shù)的數(shù)據(jù)查詢類網(wǎng)站的防篡改保護(hù)的方法,所述防篡改保護(hù)是指針對惡意用戶非法獲取網(wǎng)站數(shù)據(jù)庫管理權(quán)限后修改所述網(wǎng)站數(shù)據(jù)庫數(shù)據(jù)內(nèi)容的一種防止非授權(quán)修改保護(hù),所述網(wǎng)站數(shù)據(jù)防篡改保護(hù)方法是在一個由內(nèi)網(wǎng)、網(wǎng)站數(shù)據(jù)防篡改系統(tǒng)以及外網(wǎng)三者依次相連而構(gòu)成的網(wǎng)絡(luò)中,依次按以下步驟實現(xiàn)的步驟(I),構(gòu)建一個所述的網(wǎng)站數(shù)據(jù)防篡改網(wǎng)絡(luò),其中內(nèi)網(wǎng),由一個具有較高安全級別的內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)庫以及一個向所述內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)庫提交數(shù)據(jù)的網(wǎng)站后臺管理服務(wù)器構(gòu)成,其中內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)庫,設(shè)有內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表和增量數(shù)據(jù)表,其中內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表內(nèi)建一個事件觸發(fā)器,當(dāng)所述內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表中的數(shù)據(jù)變化時,該事件觸發(fā)器把變化的數(shù)據(jù)寫入增量數(shù)據(jù)表中,增量數(shù)據(jù)表,存儲所述事件觸發(fā)器捕獲的內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)庫表中的數(shù)據(jù)變化信息,所述增量數(shù)據(jù)表包括如下字段更新時間、獲取時間、SQL命令、內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表變化數(shù)據(jù)、獲取數(shù)據(jù)操作標(biāo)識和數(shù)據(jù)唯一性標(biāo)識,所述增量數(shù)據(jù)表中的更新時間、獲取時間、SQL命令、內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表變化數(shù)據(jù)和數(shù)據(jù)唯一性標(biāo)識字段內(nèi)容構(gòu)成增量數(shù)據(jù),其中更新時間所述網(wǎng)站后臺管理系統(tǒng)提交數(shù)據(jù)的時間;獲取時間所述網(wǎng)站數(shù)據(jù)防篡改系統(tǒng)中內(nèi)網(wǎng)主機的數(shù)據(jù)獲取模塊訪問所述增量數(shù)據(jù)表,并保存所訪問到的數(shù)據(jù)記錄的時間;SQL命令所述網(wǎng)站后臺管理服務(wù)器提交數(shù)據(jù)時所執(zhí)行的操作;內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表變化數(shù)據(jù)所述事件觸發(fā)器所捕獲的內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表中變化的數(shù)據(jù); 獲取數(shù)據(jù)操作標(biāo)識標(biāo)識網(wǎng)站數(shù)據(jù)防篡改改系統(tǒng)中的數(shù)據(jù)獲取模塊,是否成功獲得所要訪問的數(shù)據(jù)記錄,包括“未獲取”、“獲取中”和“已獲取”三種狀態(tài);數(shù)據(jù)唯一性標(biāo)識由所述數(shù)據(jù)獲取模塊采用MD5算法計算得出,MD5算法的輸入?yún)?shù)由以下字段中的字符串構(gòu)成“所述更新時間+所述SQL命令+所述內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表變化數(shù)據(jù)”,以標(biāo)識所述增量數(shù)據(jù)的唯一性;外網(wǎng),由一個具有較低安全級別的外網(wǎng)網(wǎng)站數(shù)據(jù)庫以及一個外網(wǎng)Web服務(wù)器構(gòu)成,其中外網(wǎng)網(wǎng)站數(shù)據(jù)庫,是所述的外網(wǎng)Web服務(wù)器中動態(tài)內(nèi)容存儲介質(zhì),設(shè)有待更新數(shù)據(jù)表、外網(wǎng)網(wǎng)站數(shù)據(jù)表以及待校驗增量數(shù)據(jù)表,其中待更新數(shù)據(jù)表,包括如下字段更新時間、獲取時間、SQL命令、內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表變化數(shù)據(jù)、發(fā)布數(shù)據(jù)操作標(biāo)識和數(shù)據(jù)唯一性標(biāo)識,其中更新時間所述網(wǎng)站后臺管理系統(tǒng)提交數(shù)據(jù)的時間;獲取時間所述數(shù)據(jù)獲取模塊獲得該條數(shù)據(jù)的時間;SQL命令所述網(wǎng)站后臺管理系統(tǒng)提交數(shù)據(jù)的操作;內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表變化數(shù)據(jù)所述事件觸發(fā)器所捕獲的內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表中變化的數(shù)據(jù); 發(fā)布數(shù)據(jù)操作標(biāo)識標(biāo)識網(wǎng)站數(shù)據(jù)防篡改系統(tǒng)中外網(wǎng)主機的數(shù)據(jù)發(fā)布模塊是否成功發(fā)布該條數(shù)據(jù)記錄,包括“未發(fā)布”、“發(fā)布中”和“已發(fā)布”三種狀態(tài);數(shù)據(jù)唯一性標(biāo)識由所述數(shù)據(jù)獲取模塊采用MD5算法計算得出;外網(wǎng)網(wǎng)站數(shù)據(jù)表,設(shè)有事件觸發(fā)器,當(dāng)所述外網(wǎng)網(wǎng)站數(shù)據(jù)表中的數(shù)據(jù)變化時,該事件觸發(fā)器把變化的數(shù)據(jù)寫入待校驗增量數(shù)據(jù)表,待校驗增量數(shù)據(jù)表,存儲所述事件觸發(fā)器捕獲的外網(wǎng)網(wǎng)站數(shù)據(jù)庫表中的數(shù)據(jù)變化信息,所述待校驗增量數(shù)據(jù)表包括如下字段更新時間、SQL命令、外網(wǎng)網(wǎng)站數(shù)據(jù)表變化數(shù)據(jù)和原始數(shù)據(jù)唯一性標(biāo)識,其中更新時間所述網(wǎng)站后臺管理系統(tǒng)提交數(shù)據(jù)的時間;SQL命令所述網(wǎng)站后臺管理系統(tǒng)提交數(shù)據(jù)的操作;外網(wǎng)網(wǎng)站數(shù)據(jù)表變化數(shù)據(jù)所述事件觸發(fā)器所捕獲的外網(wǎng)網(wǎng)站數(shù)據(jù)表中變化的數(shù)據(jù); 原始數(shù)據(jù)唯一性標(biāo)識由所述數(shù)據(jù)獲取模塊采用MD5算法計算得出;網(wǎng)站數(shù)據(jù)防篡改系統(tǒng),設(shè)有內(nèi)網(wǎng)主機,外網(wǎng)主機以及連接所述內(nèi)網(wǎng)主機和外網(wǎng)主機以便所述增量數(shù)據(jù)由所述內(nèi)網(wǎng)主機向外網(wǎng)主機單向發(fā)送的相互連接的內(nèi)網(wǎng)主機通訊卡、外網(wǎng)主機通訊卡,其中內(nèi)網(wǎng)主機,設(shè)有數(shù)據(jù)獲取模塊和數(shù)據(jù)變化監(jiān)測模塊,其中數(shù)據(jù)獲取模塊,設(shè)有內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)庫所述增量數(shù)據(jù)表的訪問權(quán)限,還設(shè)有所述內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表數(shù)據(jù)變化消息的輸入端、所述增量數(shù)據(jù)表內(nèi)數(shù)據(jù)記錄查詢命令的輸出端、所述增量數(shù)據(jù)的輸入端以及外網(wǎng)網(wǎng)站數(shù)據(jù)庫初始化命令的輸出端,還有把所述增量數(shù)據(jù)文件發(fā)往所述外網(wǎng)通訊卡的增量數(shù)據(jù)文件輸出端,獲取內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表全部數(shù)據(jù)記錄命令的輸出端以及所述內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表數(shù)據(jù)的輸入端;數(shù)據(jù)變化監(jiān)測模塊,設(shè)有所述內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表數(shù)據(jù)變化的查詢命令輸出端,數(shù)據(jù)變化消息的輸入端以及內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表數(shù)據(jù)變化消息的輸出端;外網(wǎng)主機,設(shè)有數(shù)據(jù)更新模塊、數(shù)據(jù)發(fā)布模塊和數(shù)據(jù)防篡改模塊,其中數(shù)據(jù)更新模塊,設(shè)有對所述外網(wǎng)網(wǎng)站數(shù)據(jù)庫內(nèi)待更新數(shù)據(jù)表的訪問權(quán)限,還設(shè)有接收來自所述數(shù)據(jù)獲取模塊發(fā)送的增量數(shù)據(jù)文件的輸入端,所述增量數(shù)據(jù)文件為增量數(shù)據(jù)的文件存儲形式,還設(shè)有請求數(shù)據(jù)發(fā)布命令的輸出端以及發(fā)往所述待更新數(shù)據(jù)表的增量數(shù)據(jù)輸出端;數(shù)據(jù)發(fā)布模塊,設(shè)有對所述外網(wǎng)網(wǎng)站數(shù)據(jù)表的訪問權(quán)限,還設(shè)有所述外網(wǎng)網(wǎng)站數(shù)據(jù)庫初始化命令的輸入端,請求數(shù)據(jù)發(fā)布命令的輸入端,發(fā)布數(shù)據(jù)的輸出端,所述發(fā)布數(shù)據(jù)是指根據(jù)所述待更新數(shù)據(jù)表中SQL命令字段及內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表變化數(shù)據(jù)字段中的內(nèi)容,對所述外網(wǎng)網(wǎng)站數(shù)據(jù)表執(zhí)行相應(yīng)的SQL命令,以及外網(wǎng)網(wǎng)站數(shù)據(jù)表操作命令輸出端,控制數(shù)據(jù)發(fā)布輸入端,數(shù)據(jù)記錄唯一性標(biāo)識輸出端;數(shù)據(jù)防篡改模塊,設(shè)有對外網(wǎng)網(wǎng)站數(shù)據(jù)庫的管理權(quán)限,對所述待校驗增量數(shù)據(jù)表訪問權(quán)限,還設(shè)有控制數(shù)據(jù)發(fā)布的命令輸出端,所述數(shù)據(jù)唯一性標(biāo)識的輸入端,管理外網(wǎng)網(wǎng)站數(shù)據(jù)庫的命令輸出端,所述外網(wǎng)網(wǎng)站數(shù)據(jù)庫管理信息的輸入端,所述外網(wǎng)網(wǎng)站數(shù)據(jù)表數(shù)據(jù)變化的查詢命令輸出端,所述待校驗增量數(shù)據(jù)表中數(shù)據(jù)記錄輸入端,所述待校驗增量數(shù)據(jù)表內(nèi)數(shù)據(jù)記錄查詢命令的輸出端,以及終止外網(wǎng)網(wǎng)站數(shù)據(jù)庫服務(wù)的輸出端,并依次按以下步驟進(jìn)行防篡改保護(hù)A :外網(wǎng)網(wǎng)站數(shù)據(jù)庫用戶保護(hù)a:在完成所述外網(wǎng)網(wǎng)站數(shù)據(jù)表中的事件觸發(fā)器及對外網(wǎng)網(wǎng)站數(shù)據(jù)表的訪問權(quán)限設(shè)置后,查詢外網(wǎng)網(wǎng)站數(shù)據(jù)庫中的所有用戶,密碼,角色,并將“用戶名+密碼+角色”字符串作為MD5算法的參數(shù),計算用戶信息特征值,并保持該特征值Mb_,當(dāng)修改所述外網(wǎng)網(wǎng)站數(shù)據(jù)庫用戶權(quán)限設(shè)置時,將更新Mbasej取值;b :定時查詢外網(wǎng)網(wǎng)站數(shù)據(jù)庫中的所有用戶,密碼及其角色,并依據(jù)所述MD5算法計算用戶權(quán)限特征值Nm1;C :對比Ncal和Mbase, 二者一致表示所述外網(wǎng)網(wǎng)站數(shù)據(jù)庫安全,不一致表示所述外網(wǎng)網(wǎng)站數(shù)據(jù)庫中用戶,密碼或角色發(fā)生了變化,數(shù)據(jù)庫可能被入侵,告警,并向外網(wǎng)網(wǎng)站數(shù)據(jù)庫提出終止服務(wù)的請求,B :數(shù)據(jù)防篡改a :所述數(shù)據(jù)防篡改模塊定時查詢所述待校驗增量數(shù)據(jù)表,檢測到待校驗增量數(shù)據(jù)表中數(shù)據(jù)記錄變化后,判斷是否從所述數(shù)據(jù)發(fā)布模塊收到了新的數(shù)據(jù)唯一性標(biāo)識若沒有,則表明外網(wǎng)網(wǎng)站數(shù)據(jù)表中出現(xiàn)了非授權(quán)修改,便告警發(fā)出控制命令,命所述數(shù)據(jù)發(fā)布模塊發(fā)出刪除命令,刪除所述外網(wǎng)網(wǎng)站數(shù)據(jù)表中新增加的數(shù)據(jù)記錄,同時終止外網(wǎng)網(wǎng)站數(shù)據(jù)庫服務(wù);若所述數(shù)據(jù)發(fā)布模塊發(fā)送的數(shù)據(jù)唯一性標(biāo)識與查詢結(jié)果中所述待校驗增量數(shù)據(jù)表相應(yīng)數(shù)據(jù)記錄的原始數(shù)據(jù)唯一性標(biāo)識一致,表示數(shù)據(jù)發(fā)布模塊發(fā)布了帶有該唯一性標(biāo)識的數(shù)據(jù)信息,則執(zhí)行步驟b;b :將待校驗增量數(shù)據(jù)表對應(yīng)數(shù)據(jù)記錄的如下字段內(nèi)容構(gòu)成一字符串作為MD5算法的輸入?yún)?shù)“所述更新時間+所述SQL命令+所述內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表變化數(shù)據(jù)”,用MD5算法計算該外網(wǎng)網(wǎng)站數(shù)據(jù)表變化數(shù)據(jù)的唯一性標(biāo)識,并與待校驗增量數(shù)據(jù)表對應(yīng)數(shù)據(jù)記錄的所述原始數(shù)據(jù)唯一性標(biāo)識字段中的內(nèi)容進(jìn)行對比,如果二者一致,則不向數(shù)據(jù)發(fā)布模塊發(fā)布所述控制命令,若兩者不一致,則告警,向所述數(shù)據(jù)發(fā)布模塊發(fā)布所述控制命令,令其刪除所述外網(wǎng)網(wǎng)站數(shù)據(jù)表中的新增數(shù)據(jù)記錄,并向外網(wǎng)網(wǎng)站數(shù)據(jù)庫提出終止服務(wù)的請求,步驟(2),所述網(wǎng)站數(shù)據(jù)防篡改系統(tǒng)依次按以下步驟完成所述內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)庫和外網(wǎng)網(wǎng)站數(shù)據(jù)庫的數(shù)據(jù)初始化同步,步驟(2. I),所述數(shù)據(jù)獲取模塊向所述數(shù)據(jù)發(fā)布模塊發(fā)送“外網(wǎng)網(wǎng)站數(shù)據(jù)庫初始化”命令,步驟(2. 2),所述數(shù)據(jù)發(fā)布模塊依所設(shè)置的訪問權(quán)限連接所述外網(wǎng)網(wǎng)站數(shù)據(jù)表,若存在數(shù)據(jù),便清除,否則,執(zhí)行步驟(2. 3),步驟(2. 3),所述數(shù)據(jù)獲取模塊依所設(shè)置的權(quán)限連接內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表,執(zhí)行SQL中的 “Select…from…”命令獲得所述內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表中的所有數(shù)據(jù),步驟(2. 4),所述數(shù)據(jù)獲取模塊把步驟(2. 3)所獲得的數(shù)據(jù)以“外網(wǎng)網(wǎng)站數(shù)據(jù)庫更新命令+表數(shù)據(jù)”格式形成數(shù)據(jù)文件發(fā)送給所述數(shù)據(jù)發(fā)布模塊,步驟(2. 5),所述數(shù)據(jù)發(fā)布模塊依據(jù)收到的所述增量數(shù)據(jù)文件中的內(nèi)容調(diào)用SQL命令實現(xiàn)外網(wǎng)網(wǎng)站數(shù)據(jù)表的更新;步驟(3),依次按以下步驟實現(xiàn)外網(wǎng)網(wǎng)站數(shù)據(jù)庫的數(shù)據(jù)更新,步驟(3. I),網(wǎng)站管理人員通過所述網(wǎng)站后臺管理系統(tǒng)提交數(shù)據(jù)到內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表,用所述事件觸發(fā)器將內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表變化數(shù)據(jù)發(fā)送至所述增量數(shù)據(jù)表,步驟(3. 2),所述數(shù)據(jù)變化監(jiān)測模塊查詢到所述增量數(shù)據(jù)表中的數(shù)據(jù)記錄發(fā)生變化后, 通知所述數(shù)據(jù)獲取模塊訪問所述增量數(shù)據(jù)表,獲取增量數(shù)據(jù)依次查詢所述增量數(shù)據(jù)表中的所有數(shù)據(jù)記錄,予以分別處理若所述增量數(shù)據(jù)表為空,結(jié)束數(shù)據(jù)獲取過程;若存在數(shù)據(jù)記錄,則檢查數(shù)據(jù)記錄的獲取數(shù)據(jù)操作標(biāo)識字段,如狀態(tài)為“已獲取”,則表示該條數(shù)據(jù)記錄已被所述數(shù)據(jù)獲取模塊獲得,便直接刪除該條數(shù)據(jù)記錄;若狀態(tài)為“未獲取”,將標(biāo)識更新為“獲取中”,并將所述獲取數(shù)據(jù)操作標(biāo)識狀態(tài)為“獲取中”的數(shù)據(jù)記錄依據(jù)數(shù)據(jù)文件存儲格式轉(zhuǎn)換為數(shù)據(jù)文件,以字段“更新時間+SQL命令+ 內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表變化數(shù)據(jù)”中的內(nèi)容構(gòu)建字符串作為輸入?yún)?shù),通過MD5算法計算數(shù)據(jù)唯一性標(biāo)識,更新所述獲取數(shù)據(jù)操作標(biāo)識字段并設(shè)置其為“已獲取”狀態(tài),刪除操作標(biāo)識為“已獲取”的數(shù)據(jù)記錄;若狀態(tài)為“獲取中”,表明該數(shù)據(jù)記錄未完整獲取,則繼續(xù)獲??;步驟(3. 3),在收到步驟(3. 2)形成的所述數(shù)據(jù)文件后,所述數(shù)據(jù)更新模塊把這些數(shù)據(jù)更新到所述待更新數(shù)據(jù)表中,并將發(fā)布數(shù)據(jù)操作標(biāo)識字段標(biāo)識為“未發(fā)布”,并通知所述數(shù)據(jù)發(fā)布模塊有數(shù)據(jù)需要發(fā)布,步驟(3. 4),所述數(shù)據(jù)發(fā)布模塊在收到步驟(3.3)中所述標(biāo)識有“未發(fā)布”的數(shù)據(jù)記錄時,便向所述外網(wǎng)網(wǎng)站數(shù)據(jù)表發(fā)布所述數(shù)據(jù)信息,所述數(shù)據(jù)發(fā)布模塊依次查詢所述待更新數(shù)據(jù)表中的所有數(shù)據(jù)記錄,予以分別處理若所述待更新數(shù)據(jù)表為空,結(jié)束數(shù)據(jù)發(fā)布過程;若所述待更新數(shù)據(jù)表存在數(shù)據(jù)記錄,則檢查數(shù)據(jù)記錄的發(fā)布數(shù)據(jù)操作標(biāo)識字段,如狀態(tài)為“已發(fā)布”,則表示該條數(shù)據(jù)記錄已發(fā)布到所述外網(wǎng)網(wǎng)站數(shù)據(jù)表中,便直接刪除該條數(shù)據(jù)記錄;若狀態(tài)為“未發(fā)布”,將標(biāo)識更新為“發(fā)布中”,并將發(fā)布數(shù)據(jù)操作標(biāo)識狀態(tài)為“發(fā)布中” 的數(shù)據(jù)記錄以字段更新時間,SQL命令,內(nèi)網(wǎng)網(wǎng)站數(shù)據(jù)表變化數(shù)據(jù)中的內(nèi)容構(gòu)建SQL命令, 提交到所述外網(wǎng)網(wǎng)站數(shù)據(jù)表中,刪除操作標(biāo)識為“已發(fā)布”的數(shù)據(jù)記錄;若狀態(tài)為“發(fā)布中”,表明該數(shù)據(jù)記錄未完整發(fā)布,則繼續(xù)發(fā)布;步驟(3. 5),數(shù)據(jù)防篡改模塊在檢測到待校驗增量數(shù)據(jù)表中數(shù)據(jù)變化后,執(zhí)行數(shù)據(jù)確認(rèn)操作,驗證數(shù)據(jù)發(fā)布的準(zhǔn)確性,結(jié)束。
2.根據(jù)權(quán)利要求I所述的一種基于網(wǎng)絡(luò)隔離結(jié)構(gòu)的網(wǎng)絡(luò)數(shù)據(jù)防篡改方法,其特征在于,所述數(shù)據(jù)發(fā)布模塊要依次查詢所述待更新數(shù)據(jù)表中的所有數(shù)據(jù)記錄若發(fā)布數(shù)據(jù)操作標(biāo)識狀態(tài)為“已發(fā)布”,則直接刪除該條數(shù)據(jù)記錄;若發(fā)布數(shù)據(jù)操作標(biāo)識狀態(tài)為“未發(fā)布”,則置為“發(fā)布中”;若發(fā)布數(shù)據(jù)操作標(biāo)識狀態(tài)為“發(fā)布中”,則置為“已發(fā)布”狀態(tài),并直接刪除該條數(shù)據(jù)記錄。
3.根據(jù)權(quán)利要求I所述的一種基于網(wǎng)絡(luò)隔離結(jié)構(gòu)的網(wǎng)絡(luò)數(shù)據(jù)防篡改方法,其特征在于,所述數(shù)據(jù)防篡改模塊定時查詢系統(tǒng)設(shè)置及所述待校驗增量數(shù)據(jù)表中數(shù)據(jù)記錄,并在檢測到系統(tǒng)設(shè)置及數(shù)據(jù)變化之時啟動相應(yīng)操作。
全文摘要
一種基于網(wǎng)絡(luò)隔離結(jié)構(gòu)的網(wǎng)站數(shù)據(jù)防篡改系統(tǒng),屬于網(wǎng)絡(luò)安全技術(shù)領(lǐng)域。將保存網(wǎng)站數(shù)據(jù)的數(shù)據(jù)庫服務(wù)器置于較高安全級別網(wǎng)絡(luò)中,將數(shù)據(jù)庫內(nèi)容單向發(fā)布到與互聯(lián)網(wǎng)相連的較低安全級別網(wǎng)絡(luò)的數(shù)據(jù)庫服務(wù)器中,保護(hù)該較低安全級別網(wǎng)絡(luò)中的網(wǎng)站數(shù)據(jù)。為此,構(gòu)建了由內(nèi)網(wǎng)主機和外網(wǎng)主機相互連接的網(wǎng)站數(shù)據(jù)防篡改系統(tǒng),在外網(wǎng)主機中,數(shù)據(jù)更新模塊把增量數(shù)據(jù)提交到待更新數(shù)據(jù)表,數(shù)據(jù)發(fā)布模塊將該增量數(shù)據(jù)發(fā)布到外網(wǎng)網(wǎng)站數(shù)據(jù)表。數(shù)據(jù)防篡改模塊定時查詢系統(tǒng)設(shè)置及待校驗增量數(shù)據(jù)表中數(shù)據(jù)變化,在檢測到數(shù)據(jù)變化之時啟動相應(yīng)操作,確保對外網(wǎng)網(wǎng)站數(shù)據(jù)表的操作為授權(quán)操作。該方法可以有效防止諸如SQL注入等針對數(shù)據(jù)庫的攻擊,確保網(wǎng)站數(shù)據(jù)庫的數(shù)據(jù)安全。
文檔編號G06F21/00GK102609645SQ20121001749
公開日2012年7月25日 申請日期2012年1月19日 優(yōu)先權(quán)日2012年1月19日
發(fā)明者郝慧, 魏育輝 申請人:北京工業(yè)大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1