• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    IP黑名單服務(wù)系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)

    2017-03-14 02:24:23阮曉龍
    關(guān)鍵詞:數(shù)據(jù)表黑名單路由

    ◆阮曉龍 楊 明

    IP黑名單服務(wù)系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)

    ◆阮曉龍1楊 明2

    (1.河南中醫(yī)藥大學(xué)網(wǎng)絡(luò)信息中心 河南 450000;2.河南中醫(yī)藥大學(xué)信息技術(shù)學(xué)院 河南 450000)

    本文結(jié)合互聯(lián)網(wǎng)現(xiàn)有的黑名單服務(wù)與應(yīng)用,進(jìn)行分析并整合,設(shè)計(jì)并實(shí)現(xiàn)了一套黑名單服務(wù)系統(tǒng)。通過(guò)采集開(kāi)放的黑名單數(shù)據(jù),進(jìn)行聚合,然后面向社會(huì)提供免費(fèi)開(kāi)放的服務(wù)。

    IP黑名單;軟件設(shè)計(jì);BGP服務(wù)

    0 前言

    隨著互聯(lián)網(wǎng)的發(fā)展,應(yīng)用也越來(lái)越廣泛,如何提高互聯(lián)網(wǎng)的安全也顯得尤為重要。本文對(duì)現(xiàn)有的黑名單服務(wù)進(jìn)行整合,實(shí)現(xiàn)面向互聯(lián)網(wǎng)服務(wù)的黑名單管理系統(tǒng),并提出通過(guò)黑名單數(shù)據(jù)提升服務(wù)器、網(wǎng)絡(luò)的安全性的一種應(yīng)用方案。

    1 IP黑名單應(yīng)用的現(xiàn)狀

    目前IP黑名單應(yīng)用常見(jiàn)三種方式:內(nèi)部防火墻或服務(wù)器使用;提供開(kāi)放的TXT文本黑名單;提供BGP服務(wù)的黑名單。

    1.1 內(nèi)部防火墻或服務(wù)器使用

    許多單位都有自己的黑名單庫(kù),通常會(huì)在其內(nèi)部的防火墻或服務(wù)器上添加白名單或者黑名單來(lái)達(dá)到訪問(wèn)控制的目的,但卻不能夠?qū)ν馓峁┓?wù)。

    1.2 提供開(kāi)放的TXT文本黑名單

    一些高?;蚬娼M織會(huì)將收集到的黑名單數(shù)據(jù)提供開(kāi)放的API的方式提供出來(lái)供公眾使用。

    例如openbl在互聯(lián)網(wǎng)中提供了開(kāi)放的黑名單列表,網(wǎng)址為http://www.openbl.org/listl.html,如圖1所示。用戶只需要通過(guò)HTTP請(qǐng)求就可以獲取到黑名單數(shù)據(jù)。這種方式提供的黑名單服務(wù)通常在應(yīng)用層上進(jìn)行應(yīng)用。

    圖1 黑名單列表

    1.3 提供BGP服務(wù)的黑名單

    一些高?;蚬娼M織會(huì)將收集到的黑名單數(shù)據(jù)通過(guò)BGP服務(wù)器,將黑名單注入到BGP系統(tǒng)中。

    例如中國(guó)科學(xué)技術(shù)大學(xué)在BGP系統(tǒng)中注入了黑名單,使用者只需要按照要求配置路由器就可以自動(dòng)學(xué)習(xí)到黑名單路由,從而在網(wǎng)絡(luò)層上對(duì)黑名單進(jìn)行封鎖,進(jìn)而有效防止Dos/DDos攻擊。相關(guān)使用說(shuō)明如http://blackip.ustc.edu.cn/intro.php上所示。

    2 系統(tǒng)架構(gòu)

    根據(jù)對(duì)黑名單系統(tǒng)的應(yīng)用現(xiàn)狀分析和需求調(diào)研,本文設(shè)計(jì)一套黑名單服務(wù)系統(tǒng),包含多種服務(wù)模式,面向社會(huì)提供接口服務(wù)。

    2.1 物理架構(gòu)

    IP黑名單服務(wù)系統(tǒng)由7臺(tái)服務(wù)器架構(gòu)而成,1臺(tái)數(shù)據(jù)采集服務(wù)器,3臺(tái)數(shù)據(jù)庫(kù)服務(wù)器(一主二從模式),1臺(tái)管理系統(tǒng)服務(wù)器,1臺(tái)BGP服務(wù)器,1臺(tái)接口服務(wù)器,如圖2所示。

    圖2 物理體系架構(gòu)

    2.2 邏輯架構(gòu)

    IP黑名單服務(wù)系統(tǒng)采用B/S架構(gòu),分為服務(wù)門(mén)戶和管理系統(tǒng)兩個(gè)部分,其邏輯體系如圖3所示。系統(tǒng)數(shù)據(jù)庫(kù)使用MySQL進(jìn)行數(shù)據(jù)存儲(chǔ)。

    圖3 邏輯體系架構(gòu)

    2.3 服務(wù)體系結(jié)構(gòu)

    IP黑名單服務(wù)系統(tǒng)對(duì)外提供HTTP和BGP兩種接口。HTTP接口提供JSON、XML、TXT格式的數(shù)據(jù);BGP服務(wù)接口則通過(guò)配置路由器來(lái)獲取黑名單路由表信息。其服務(wù)體系結(jié)構(gòu)如圖4所示。

    圖4 服務(wù)體系結(jié)構(gòu)圖

    3 關(guān)鍵功能

    3.1 數(shù)據(jù)采集引擎

    數(shù)據(jù)采集引擎主要用于從互聯(lián)網(wǎng)采集黑名單數(shù)據(jù),然后進(jìn)行數(shù)據(jù)清洗,存入數(shù)據(jù)庫(kù)中。數(shù)據(jù)采集采用多進(jìn)程的方式進(jìn)行,每個(gè)進(jìn)程對(duì)應(yīng)一個(gè)互聯(lián)網(wǎng)的數(shù)據(jù)接口,采用文本緩存機(jī)制來(lái)進(jìn)行數(shù)據(jù)存儲(chǔ),其主要過(guò)程如下所示:

    (1)向指定URL發(fā)起HTTP請(qǐng)求,如果失敗則繼續(xù)發(fā)起請(qǐng)求,直到請(qǐng)求成功或超過(guò)最大次數(shù)。

    (2)通過(guò)正則分析獲取黑名單數(shù)據(jù),并進(jìn)行數(shù)據(jù)清洗。

    (3)讀取文本中上次請(qǐng)求的黑名單數(shù)據(jù)與當(dāng)前獲取的數(shù)據(jù)比較,計(jì)算出新增加的黑名單與過(guò)期的黑名單。

    (4)默認(rèn)設(shè)置黑名單過(guò)期時(shí)間為1天,然后刷新文本緩存,更新數(shù)據(jù)庫(kù)數(shù)據(jù)。

    (5)每隔5分鐘執(zhí)行上述1-4步驟。

    3.2 數(shù)據(jù)發(fā)布引擎

    數(shù)據(jù)發(fā)布引擎主要通過(guò)生成JSON、XML、TXT文件的方式用于對(duì)外發(fā)布數(shù)據(jù),并加上接口驗(yàn)證,只有通過(guò)驗(yàn)證的用戶才能夠從接口獲取數(shù)據(jù)。發(fā)布數(shù)據(jù)的主要過(guò)程如下所示:

    (1)從數(shù)據(jù)庫(kù)中讀取黑名單數(shù)據(jù),存入內(nèi)存中。

    (2)通過(guò)路由聚合算法將黑名單數(shù)據(jù)進(jìn)行聚合。

    (3)將聚合后的數(shù)據(jù)格式化成不同格式的數(shù)據(jù),生成文件在Web服務(wù)器上發(fā)布。

    (4)每隔5分鐘執(zhí)行上述1-3步驟。

    3.3 接口服務(wù)

    為了保障業(yè)務(wù)的安全,需要在接口處加入請(qǐng)求授權(quán)機(jī)制的安全認(rèn)證。認(rèn)證所需要的密鑰通過(guò)程序隨機(jī)生成,并存在數(shù)據(jù)庫(kù)中用于校驗(yàn)。具體認(rèn)證流程如圖5所示。

    圖5 接口認(rèn)證流程圖

    讀取接口是一個(gè)比較頻繁的操作,每次通過(guò)查詢數(shù)據(jù)庫(kù)來(lái)進(jìn)行驗(yàn)證會(huì)對(duì)數(shù)據(jù)庫(kù)造成不小的壓力。為了解決這個(gè)問(wèn)題,可以在用戶獲取AppKey的同時(shí),將Appkey與用戶的對(duì)應(yīng)關(guān)系緩存至文本文件中。通過(guò)讀取文本文件的方式來(lái)進(jìn)行接口驗(yàn)證,能夠有效的減輕數(shù)據(jù)庫(kù)壓力,提高響應(yīng)速度。

    3.4 BGP服務(wù)

    提供BGP服務(wù)主要用于在網(wǎng)絡(luò)層上對(duì)黑名單進(jìn)行封鎖。通過(guò)建立EBGP連接,路由器可以從提供的路由服務(wù)器上獲取黑名單路由表信息。BGP服務(wù)器中的數(shù)據(jù)由BGP客戶端程序進(jìn)行推送,其主要過(guò)程如下所示:

    (1)從數(shù)據(jù)庫(kù)中讀取黑名單數(shù)據(jù)。

    (2)通過(guò)路由聚合算法將黑名單數(shù)據(jù)進(jìn)行聚合。

    (3)讀取上次聚合后黑名單數(shù)據(jù)進(jìn)行比對(duì),計(jì)算出當(dāng)前需要添加和刪除的黑名單數(shù)據(jù)。

    (4)通過(guò)路由服務(wù)器在BGP系統(tǒng)中添加和刪除黑名單。(5)每隔5分鐘執(zhí)行上述1-4步驟。

    4 數(shù)據(jù)庫(kù)設(shè)計(jì)

    由于系統(tǒng)所涉及到的關(guān)系對(duì)象并不復(fù)雜,因此所有的表設(shè)計(jì)都采用第一范式進(jìn)行設(shè)計(jì)。

    4.1 數(shù)據(jù)模型設(shè)計(jì)

    圖6 數(shù)據(jù)庫(kù)模型

    數(shù)據(jù)庫(kù)模型使用MySQL Workbench進(jìn)行設(shè)計(jì),其數(shù)據(jù)模型如圖6所示。

    4.2 數(shù)據(jù)表設(shè)計(jì)

    系統(tǒng)所需要的數(shù)據(jù)表如表1所示。

    表1 系統(tǒng)數(shù)據(jù)表

    其中黑名單數(shù)據(jù)表的表結(jié)構(gòu)如表2所示。

    表2 黑名單記錄表的結(jié)構(gòu)

    5 性能與安全

    5.1 Web應(yīng)用安全

    為了保障業(yè)務(wù)系統(tǒng)的安全性,主要從以下幾個(gè)方面來(lái)提高系統(tǒng)的安全性。

    5.1.1 內(nèi)外網(wǎng)分離

    系統(tǒng)部署時(shí),采用防火墻映射的方式進(jìn)行部署,使得內(nèi)外網(wǎng)分離,對(duì)外只提供80端口提供服務(wù)。

    5.1.2 嚴(yán)格的訪問(wèn)控制

    服務(wù)器自身的防火墻進(jìn)行嚴(yán)格的訪問(wèn)控制,只允許內(nèi)網(wǎng)中所需要的服務(wù)器進(jìn)行訪問(wèn),進(jìn)一步提高系統(tǒng)的安全性。

    5.1.3 系統(tǒng)自身安全

    除了外部對(duì)系統(tǒng)的防護(hù)之外,加強(qiáng)系統(tǒng)自身的安全也是很有必要的。系統(tǒng)在對(duì)用戶提交的表單進(jìn)行了嚴(yán)格的過(guò)濾,包括URL,GET和POST參數(shù),同時(shí)使用了開(kāi)發(fā)語(yǔ)言提供的有準(zhǔn)備語(yǔ)句來(lái)防止SQL注入攻擊。此外系統(tǒng)在接口處也進(jìn)行了認(rèn)證校驗(yàn),防止非法用戶讀取接口。

    5.2 數(shù)據(jù)安全

    為了保障數(shù)據(jù)的安全,定期進(jìn)行數(shù)據(jù)備份是很有必要的。可通過(guò)Linux任務(wù)計(jì)劃,建立自動(dòng)備份機(jī)制,具體的做法如下所示。

    (1)每天0點(diǎn),進(jìn)行一次全量數(shù)據(jù)備份,并保存最近15個(gè)備份數(shù)據(jù);

    (2)每周一0點(diǎn),將上一周的7個(gè)備份數(shù)據(jù)發(fā)布到遠(yuǎn)程FTP服務(wù)器上,實(shí)現(xiàn)遠(yuǎn)程備份數(shù)據(jù)存儲(chǔ)。

    除了備份機(jī)制外,通過(guò)搭建MySQL集群的方式,來(lái)確保數(shù)據(jù)的可用性,即使某臺(tái)數(shù)據(jù)庫(kù)服務(wù)器丟失,也不會(huì)影響業(yè)務(wù),且數(shù)據(jù)能夠快速恢復(fù),為數(shù)據(jù)的安全提供了保障。

    5.3 性能優(yōu)化

    對(duì)于系統(tǒng)性能優(yōu)化,主要在數(shù)據(jù)緩存、數(shù)據(jù)庫(kù)讀寫(xiě)分離兩個(gè)方面進(jìn)行優(yōu)化。

    5.3.1 數(shù)據(jù)緩存

    系統(tǒng)采用內(nèi)存緩存與文件緩存的雙緩存機(jī)制,對(duì)系統(tǒng)不經(jīng)常更新的數(shù)據(jù)進(jìn)行緩存來(lái)提高系統(tǒng)的性能。例如在黑名單數(shù)據(jù)統(tǒng)計(jì)頁(yè)面中,可對(duì)查詢出來(lái)的數(shù)據(jù)進(jìn)行緩存處理,將數(shù)據(jù)以JSON格式保存在內(nèi)存和文件中,每15分鐘更新一次。針對(duì)每個(gè)黑名單的查詢結(jié)果則可以將其緩存1天。通過(guò)諸如上述的機(jī)制大大減少數(shù)據(jù)庫(kù)的查詢次數(shù),達(dá)到減輕數(shù)據(jù)庫(kù)壓力的同時(shí),提高頁(yè)面的響應(yīng)速度。

    5.3.2 讀寫(xiě)分離

    系統(tǒng)使用MySQL數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)存儲(chǔ),采用主從同步(一主兩從)的方式進(jìn)行部署。數(shù)據(jù)庫(kù)進(jìn)行更新數(shù)據(jù)時(shí),其操作在主數(shù)據(jù)庫(kù)服務(wù)器上進(jìn)行,進(jìn)行查詢數(shù)據(jù)時(shí)則在從數(shù)據(jù)庫(kù)服務(wù)器上進(jìn)行,并采用輪詢的方式查詢多臺(tái)從數(shù)據(jù)庫(kù)服務(wù)器。通過(guò)負(fù)載均衡的方式,來(lái)分?jǐn)倲?shù)據(jù)庫(kù)壓力,進(jìn)一步提高整個(gè)系統(tǒng)的性能。

    5.3.3 路由聚合

    由于黑名單數(shù)據(jù)量大,系統(tǒng)使用了路由聚合算法,將黑名單進(jìn)行聚合,來(lái)減少數(shù)據(jù)的傳輸量,提高通信效率和應(yīng)用效率。

    6 系統(tǒng)實(shí)現(xiàn)

    6.1 黑名單查詢

    猜你喜歡
    數(shù)據(jù)表黑名單路由
    防曬黑名單?第2款就翻車(chē)了!
    好日子(2022年6期)2022-08-17 07:16:00
    湖北省新冠肺炎疫情數(shù)據(jù)表
    黨員生活(2020年2期)2020-04-17 09:56:30
    基于列控工程數(shù)據(jù)表建立線路拓?fù)潢P(guān)系的研究
    探究路由與環(huán)路的問(wèn)題
    受懲黑名單
    受懲黑名單
    黑名單
    圖表
    PRIME和G3-PLC路由機(jī)制對(duì)比
    WSN中基于等高度路由的源位置隱私保護(hù)
    霞浦县| 鹤峰县| 万全县| 隆安县| 津南区| 鹿泉市| 二连浩特市| 临沧市| 定襄县| 正定县| 营山县| 沙田区| 星座| 阿拉善右旗| 伊金霍洛旗| 克山县| 云和县| 湖州市| 清水河县| 贵港市| 右玉县| 漳州市| 乡城县| 女性| 弥勒县| 图片| 大丰市| 弋阳县| 陈巴尔虎旗| 泗洪县| 商南县| 咸阳市| 苍溪县| 兰考县| 承德市| 万全县| 定日县| 南通市| 岑巩县| 泰安市| 连江县|