欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

幫助應(yīng)用穿越防火墻的方法

文檔序號(hào):7595259閱讀:180來(lái)源:國(guó)知局
專利名稱:幫助應(yīng)用穿越防火墻的方法
技術(shù)領(lǐng)域
本發(fā)明通常涉及計(jì)算機(jī)或網(wǎng)絡(luò)上的安全性,特別涉及防火墻及其與應(yīng)用有關(guān)的使用。
背景技術(shù)
通常,防火墻是防止未經(jīng)授權(quán)的用戶訪問(wèn)網(wǎng)絡(luò)或計(jì)算機(jī)上的某些文件的電子邊界??梢宰鳛橛脩粲?jì)算機(jī)上的防火墻代碼(“主機(jī)防火墻”)來(lái)提供防火墻??晒┻x擇地,還可在網(wǎng)絡(luò)邊緣提供專用防火墻機(jī)構(gòu)(“邊界防火墻”),它與網(wǎng)絡(luò)外的計(jì)算機(jī)接口并具有內(nèi)建的特殊安全預(yù)防措施,以便保護(hù)網(wǎng)絡(luò)內(nèi)計(jì)算機(jī)上的敏感文件。這個(gè)想法就是要保護(hù)一群較松散管理的機(jī)器,使它們對(duì)于網(wǎng)絡(luò)外計(jì)算機(jī)用戶是隱藏在邊界防火墻之后的。邊界防火墻所位于的機(jī)器常常稱為“網(wǎng)關(guān)”或“專用網(wǎng)關(guān)”。如果配置用于保護(hù)網(wǎng)絡(luò)不受因特網(wǎng)侵害,該機(jī)器常常稱為“因特網(wǎng)網(wǎng)關(guān)設(shè)備”。
防火墻使用至少三種不同方法中的一個(gè)或多個(gè)來(lái)控制進(jìn)出網(wǎng)絡(luò)的通信流。在第一個(gè)方法中,稱為靜態(tài)信息包過(guò)濾,依靠一組過(guò)濾器來(lái)分析信息包。由過(guò)濾器批準(zhǔn)的信息包被送往請(qǐng)求系統(tǒng);所有其它的信息包被丟棄。在第二個(gè)方法中,稱為代理服務(wù),由防火墻從因特網(wǎng)取回信息,對(duì)照策略來(lái)評(píng)估信息,隨后送往請(qǐng)求系統(tǒng),反之亦然。在較新的第三種方法中,稱為全狀態(tài)檢查(statefulinspection),不檢查信息包內(nèi)容,而是將信息包的關(guān)鍵部分與可信信息(trusted information)數(shù)據(jù)庫(kù)比較。對(duì)從防火墻內(nèi)部向外部的傳播的信息以特殊定義的特征監(jiān)控,然后將流入信息與這些特征比較。如果比較產(chǎn)生了合理的匹配,則允許信息通過(guò)。否則它被丟棄。
防火墻是可定制的,意味著可根據(jù)若干條件添加或刪除過(guò)濾器。作為例子,因特網(wǎng)協(xié)議(“IP”)地址可用來(lái)限制或阻止通信。作為例子,如果網(wǎng)絡(luò)外部的某個(gè)IP地址正從服務(wù)器讀取過(guò)多的文件,則防火墻可以阻塞所有到和/或從那個(gè)地址的通信。作為另一個(gè)例子,防火墻可阻塞所有對(duì)某個(gè)域名的訪問(wèn),或只允許對(duì)特定域名的訪問(wèn)。作為又一個(gè)例子,公司可能設(shè)置一個(gè)網(wǎng)絡(luò),其中只有一臺(tái)或兩臺(tái)機(jī)器處理一個(gè)或多個(gè)特定協(xié)議,并在所有其它機(jī)器上禁止那些協(xié)議。還有另一個(gè)例子是使用端口來(lái)限制通信。例如,如果服務(wù)器機(jī)器正運(yùn)行著Web(HTTP)服務(wù)器和FTP服務(wù)器,則Web服務(wù)器一般在端口80可用,而FTP服務(wù)器在端口21可用。公司可能在網(wǎng)絡(luò)上除一臺(tái)之外的所有機(jī)器上阻止端口21的訪問(wèn)。
因而,防火墻通過(guò)檢查網(wǎng)絡(luò)通信并只允許與已在防火墻內(nèi)設(shè)置的策略一致的通信來(lái)確保安全。但是,盡管上述的通信控制方法用于過(guò)濾某些通信時(shí)工作良好,但為防火墻設(shè)置的規(guī)則或策略可能并不符合網(wǎng)絡(luò)內(nèi)一些應(yīng)用的需求。因?yàn)榉阑饓Σ荒芫哂兴鞋F(xiàn)有和將來(lái)的應(yīng)用的全部知識(shí),所以防火墻執(zhí)行試探法來(lái)區(qū)分安全的通信和潛在危險(xiǎn)的通信。例如,防火墻可選擇允許從可信網(wǎng)絡(luò)內(nèi)發(fā)起的連接,但不允許那些從可信網(wǎng)絡(luò)外部發(fā)起的連接(例如,從因特網(wǎng)發(fā)起的)。
盡管試探法簡(jiǎn)化了防火墻策略設(shè)計(jì),但一些應(yīng)用與防火墻試探法不一致。結(jié)果,由這樣一個(gè)應(yīng)用來(lái)通信的嘗試將失敗,促使防火墻設(shè)計(jì)者實(shí)現(xiàn)和測(cè)試用于各個(gè)和每個(gè)失敗的應(yīng)用的專用工作環(huán)境。這些工作環(huán)境增加了防火墻復(fù)雜性和代碼難度。
最近努力設(shè)計(jì)的防火墻控制協(xié)議(“FCP”)由于基本安全沖突而沒(méi)有成功,該協(xié)議允許應(yīng)用在專設(shè)的基礎(chǔ)上修改防火墻策略。防火墻策略是由可信實(shí)體(例如,網(wǎng)絡(luò)管理員)創(chuàng)建和管理的,而應(yīng)用可能運(yùn)行在不可信節(jié)點(diǎn)或端點(diǎn)上。允許不可信應(yīng)用修改公司網(wǎng)絡(luò)策略與防火墻的安全目標(biāo)是不一致的。
發(fā)明概述為了提供本發(fā)明的基本理解,以下提出了本發(fā)明一些實(shí)施例的簡(jiǎn)略概述。這個(gè)概述不是本發(fā)明的廣泛概覽。并不期望確定本發(fā)明的關(guān)鍵/重要元素或描述本發(fā)明的范圍。它的唯一目的是以簡(jiǎn)化形式提出本發(fā)明的一些實(shí)施例作為稍后提出的更為詳細(xì)的描述的序言。
按照本發(fā)明的一個(gè)實(shí)施例,提供了一種用于察覺(jué)性防火墻應(yīng)用的方法,它將其期望傳達(dá)給防火墻而不需要防火墻改變其策略或危及網(wǎng)絡(luò)安全的方法。為此目的,可為應(yīng)用程序提供應(yīng)用應(yīng)用編程接口(“API”)來(lái)將應(yīng)用的需求通知一個(gè)或多個(gè)防火墻,描述它們當(dāng)前或預(yù)期的活動(dòng),并描述對(duì)由應(yīng)用發(fā)送或接收的網(wǎng)絡(luò)數(shù)據(jù)的處理要求。
按照本發(fā)明的另一個(gè)實(shí)施例,提供了將應(yīng)用的需求通知一個(gè)或多個(gè)防火墻的防火墻API。應(yīng)用API和防火墻API可通過(guò)作為例如計(jì)算機(jī)系統(tǒng)的操作系統(tǒng)的一部分提供的網(wǎng)絡(luò)子系統(tǒng)來(lái)交互。
按照本發(fā)明的另一個(gè)實(shí)施例,提供實(shí)施模塊以允許用戶創(chuàng)建簡(jiǎn)單的防火墻策略或網(wǎng)絡(luò)訪問(wèn)策略來(lái)允許或拒絕他們計(jì)算機(jī)上的非察覺(jué)性防火墻的應(yīng)用和服務(wù)連接到網(wǎng)絡(luò)。另外,實(shí)施模塊允許這些策略是在每用戶基礎(chǔ)上的。用戶不需要了解或使用用于端口、協(xié)議或IP地址的規(guī)則來(lái)使應(yīng)用能夠通過(guò)防火墻。為此目的,提供了套接字應(yīng)用編程接口,它允許應(yīng)用或服務(wù)用IP地址、子網(wǎng)信息或連接范圍來(lái)描述其關(guān)于入網(wǎng)或出網(wǎng)限制的需求。用戶還可定義通信安全級(jí)別(例如,認(rèn)證和/或加密)。
按照本發(fā)明的另一個(gè)實(shí)施例,實(shí)施模塊允許應(yīng)用通過(guò)防火墻的透明穿越。實(shí)施模塊包括攔截模塊,它監(jiān)視應(yīng)用和服務(wù)對(duì)本地計(jì)算機(jī)上的網(wǎng)絡(luò)堆棧的連接和監(jiān)聽(tīng)嘗試。攔截模塊捕獲這些嘗試并確定什么用戶在進(jìn)行嘗試、什么應(yīng)用或服務(wù)在進(jìn)行嘗試,并實(shí)施防火墻策略查找來(lái)確定是否允許用戶和/或應(yīng)用或服務(wù)連接到網(wǎng)絡(luò)。如果這樣,攔截模塊可命令主機(jī)和/或邊界防火墻為所請(qǐng)求的連接配置自己。
本發(fā)明的其它特征在結(jié)合附圖從以下詳細(xì)描述中將變得顯而易見(jiàn),這些附圖為


圖1是說(shuō)明由網(wǎng)絡(luò)連接的計(jì)算機(jī)的示意圖;圖2是示意圖,概括地說(shuō)明可用于實(shí)現(xiàn)本發(fā)明實(shí)施例的示例性計(jì)算機(jī)系統(tǒng)。
圖3是方框圖,說(shuō)明可按照本發(fā)明實(shí)施例使用的圖2計(jì)算機(jī)系統(tǒng)的結(jié)構(gòu)細(xì)節(jié);圖4所示的是流程圖,說(shuō)明察覺(jué)性防火墻的應(yīng)用請(qǐng)求從諸如遠(yuǎn)程計(jì)算機(jī)之類的一個(gè)已知端點(diǎn)接收單一連接的過(guò)程的一個(gè)例子;圖5所示的是方框圖,概括地表示圖2計(jì)算機(jī)系統(tǒng)的部件及其與按照本發(fā)明實(shí)施例的攔截模塊的交互;圖6所示的是方框圖,示出圖5的攔截模塊的一般部件;圖7所示的是按照本發(fā)明的一個(gè)實(shí)施例可在失敗的連接嘗試后呈現(xiàn)給用戶的用戶界面;圖8所示的是流程圖,說(shuō)明圖5的攔截模塊如何能夠允許非察覺(jué)性防火墻的應(yīng)用穿越防火墻的例子;以及圖9所示的是流程圖,說(shuō)明服務(wù)或應(yīng)用如何能夠?qū)⒎?wù)的網(wǎng)絡(luò)需求通知防火墻代碼和/或邊界防火墻。
詳細(xì)描述在下列描述中,將描述本發(fā)明的各種實(shí)施例。為了說(shuō)明,闡述了特定的配置和細(xì)節(jié),以便提供實(shí)施例的徹底理解。但是,對(duì)于本領(lǐng)域的一個(gè)熟練技術(shù)人員而言,可以在沒(méi)有這些特定細(xì)節(jié)的情況下實(shí)現(xiàn)本發(fā)明也是顯而易見(jiàn)的。而且,為了突出所述實(shí)施例,可省略或簡(jiǎn)化眾所周知的特征。
在進(jìn)行本發(fā)明各種實(shí)施例的描述之前,先提供在其中本發(fā)明的各種實(shí)施例可以實(shí)現(xiàn)的計(jì)算機(jī)和網(wǎng)絡(luò)環(huán)境的描述。盡管不是必要的,但本發(fā)明將在由計(jì)算機(jī)執(zhí)行的諸如程序模塊的計(jì)算機(jī)可執(zhí)行指令通用環(huán)境中描述。通常,程序包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等等。這里所用的術(shù)語(yǔ)“程序”或“模塊”可指單個(gè)程序模塊或共同行動(dòng)的多個(gè)程序模塊。這里所用的術(shù)語(yǔ)“計(jì)算機(jī)”和“計(jì)算設(shè)備”包括任何以電子方式執(zhí)行一個(gè)或多個(gè)程序的設(shè)備,諸如個(gè)人計(jì)算機(jī)(PC)、手持設(shè)備、多處理器系統(tǒng)、基于微處理器的可編程消費(fèi)電子產(chǎn)品、網(wǎng)絡(luò)PC、小型機(jī)、板式PC、膝上型計(jì)算機(jī)、具有微處理器或微控制器的消費(fèi)用具、路由器、網(wǎng)關(guān)、集線器等等。本發(fā)明還可在分布式計(jì)算環(huán)境中使用,其中任務(wù)由通過(guò)通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備執(zhí)行。在分布式計(jì)算環(huán)境中,程序可位于本地和遠(yuǎn)程兩者的存儲(chǔ)器設(shè)備中。
參考圖1描述適合于結(jié)合本發(fā)明各方面的計(jì)算機(jī)網(wǎng)絡(luò)環(huán)境的例子。示例計(jì)算機(jī)網(wǎng)絡(luò)環(huán)境包括通過(guò)用云表示的安全網(wǎng)絡(luò)104而彼此通信的若干計(jì)算機(jī)102。安全網(wǎng)絡(luò)104可包括許多眾所周知的組件,諸如路由器、網(wǎng)關(guān)、集線器等,并允許計(jì)算機(jī)102通過(guò)有線和/或無(wú)線介質(zhì)通信。當(dāng)通過(guò)安全網(wǎng)絡(luò)104彼此交互時(shí),一個(gè)或多個(gè)計(jì)算機(jī)102可用作客戶機(jī)、服務(wù)器或相對(duì)于其它計(jì)算機(jī)102的對(duì)等機(jī)。因而,本發(fā)明的各種實(shí)施例可在客戶機(jī)、服務(wù)器、對(duì)等機(jī)或它們的組合上實(shí)現(xiàn),盡管這里所包含的特定例子可能不引用所有這些類型的計(jì)算機(jī)。
這個(gè)例子中的安全網(wǎng)絡(luò)104被認(rèn)為是“安全的”網(wǎng)絡(luò),其中計(jì)算機(jī)102由通用的防火墻保護(hù),在此例中被示為因特網(wǎng)網(wǎng)關(guān)設(shè)備106。因特網(wǎng)網(wǎng)關(guān)設(shè)備106保護(hù)計(jì)算機(jī)102不受位于在此例中用云表示的公共或不安全網(wǎng)絡(luò)110上的遠(yuǎn)程計(jì)算機(jī)108的侵害。盡管被描述為因特網(wǎng)網(wǎng)關(guān)設(shè)備106,但這個(gè)網(wǎng)關(guān)設(shè)備可保護(hù)安全網(wǎng)絡(luò)不受其它類型的不安全網(wǎng)絡(luò)的侵害,不一定是因特網(wǎng),還包括LAN、WAN或其它合適的網(wǎng)絡(luò)。
盡管被示為具有多個(gè)計(jì)算機(jī),但安全網(wǎng)絡(luò)104可只包括單個(gè)計(jì)算機(jī)102。另外,盡管不安全網(wǎng)絡(luò)110被示為具有多個(gè)遠(yuǎn)程計(jì)算機(jī)108,但它也可只有一個(gè)。
參考圖2,所示的是在此所述的本發(fā)明可以在其上實(shí)現(xiàn)的計(jì)算機(jī)102的基本配置的例子。在其最基本配置中,計(jì)算機(jī)102一般包括至少一個(gè)處理單元202和存儲(chǔ)器204。處理單元202執(zhí)行指令以完成按照本發(fā)明各種實(shí)施例的任務(wù)。在完成這樣的任務(wù)時(shí),處理單元202可發(fā)送電子信號(hào)到計(jì)算機(jī)102的其它部分及計(jì)算機(jī)102外部的設(shè)備以產(chǎn)生某些結(jié)果。取決于計(jì)算機(jī)102的準(zhǔn)確配置和類型,存儲(chǔ)器204可以是易失性的(諸如RAM)、非易失性的(諸如ROM或閃存)、或兩者的某種結(jié)合。這種最基本配置用虛線206示于圖2。
計(jì)算機(jī)102還可具有附加的部件/功能。例如,計(jì)算機(jī)102還可包括附加的存儲(chǔ)器(可移動(dòng)的208和/或不可移動(dòng)的210),包括(但不限于)磁盤(pán)、光盤(pán)或磁帶。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括以任何方法或技術(shù)存儲(chǔ)信息的易失性的和非易失性的、可移動(dòng)的和不可移動(dòng)的介質(zhì)存儲(chǔ)信息(包括計(jì)算機(jī)可執(zhí)行指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù))。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括(但不限于)RAM、ROM、EEPROM、閃存、CD-ROM、數(shù)字通用盤(pán)(DVD)或其它光存儲(chǔ)器、磁帶盒、磁帶、磁盤(pán)存儲(chǔ)器或其它磁存儲(chǔ)設(shè)備、或任何其它能夠用于存儲(chǔ)所要的信息并能由計(jì)算機(jī)102訪問(wèn)的介質(zhì)。任何這樣的計(jì)算機(jī)存儲(chǔ)介質(zhì)都可以是計(jì)算機(jī)102的一部分。
計(jì)算機(jī)102較佳地還包含通信連接212,它允許設(shè)備與其它設(shè)備通信,諸如在安全網(wǎng)絡(luò)104上的其它計(jì)算機(jī)102或不安全網(wǎng)絡(luò)110上的遠(yuǎn)程計(jì)算機(jī)108(圖2只示出了一臺(tái)遠(yuǎn)程計(jì)算機(jī)108)。通信連接是通信介質(zhì)的一個(gè)例子。通信介質(zhì)一般包含在諸如載波或其它傳輸機(jī)制的調(diào)制數(shù)據(jù)信號(hào)中的計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù),并包括任何信息傳遞介質(zhì)。作為例子(而非限制地)術(shù)語(yǔ)“通信介質(zhì)”包括無(wú)線介質(zhì),諸如聲學(xué)、RF、紅外及其它無(wú)線介質(zhì)。這里所用的術(shù)語(yǔ)“計(jì)算機(jī)可讀介質(zhì)”包括計(jì)算機(jī)存儲(chǔ)介質(zhì)和通信介質(zhì)兩者。
計(jì)算機(jī)102還可具有輸入設(shè)備216,諸如鍵盤(pán)/小鍵盤(pán)、鼠標(biāo)、筆、聲音輸入設(shè)備、觸摸輸入設(shè)備等。還可包括輸出設(shè)備218,諸如顯示器220、揚(yáng)聲器、打印機(jī)等。這些設(shè)備在本領(lǐng)域中眾所周知,不需要在此詳述。
在隨后的描述中,將參考可由一個(gè)或多個(gè)計(jì)算設(shè)備執(zhí)行的動(dòng)作和操作的符號(hào)表示法來(lái)描述本發(fā)明,除非另有指示。這樣,將要理解這種動(dòng)作和操作,它們有時(shí)被稱為是由計(jì)算機(jī)可執(zhí)行的,包括由計(jì)算機(jī)102的處理單元以結(jié)構(gòu)化形式表示數(shù)據(jù)的電子信號(hào)的管理。這種處理轉(zhuǎn)換數(shù)據(jù)或?qū)⑺4嬖谟?jì)算機(jī)102的存儲(chǔ)系統(tǒng)中的單元上,它以本領(lǐng)域那些熟練技術(shù)人員都理解的方式重新配置或者改變計(jì)算機(jī)102的操作。保存數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是具有由數(shù)據(jù)格式定義的特定屬性的存儲(chǔ)器的物理單元。但是,雖然在前述的環(huán)境中描述本發(fā)明,但并不意味著限制本發(fā)明,如那些本領(lǐng)域熟練技術(shù)人員將意識(shí)到的,這里所述的幾種動(dòng)作和操作還可用硬件實(shí)現(xiàn)。
圖3是方框圖,說(shuō)明按照本發(fā)明的一個(gè)實(shí)施例可使用的計(jì)算機(jī)102結(jié)構(gòu)的細(xì)節(jié)。計(jì)算機(jī)102包括具有與其相關(guān)聯(lián)的主機(jī)防火墻(host firewall),如防火墻代碼302所表示的操作系統(tǒng)300。防火墻代碼302可以是操作系統(tǒng)300的一個(gè)組件或者在計(jì)算機(jī)102上運(yùn)行的分離的應(yīng)用或程序。在所示例子中,防火墻代碼302用作主機(jī)防火墻,它在那里保護(hù)它在其上運(yùn)行的計(jì)算機(jī)102。
計(jì)算機(jī)102還包括實(shí)施模塊304,它關(guān)聯(lián)于或者就是操作系統(tǒng)300的一個(gè)集成部分。實(shí)施模塊304的功能和部件在下面進(jìn)一步描述。
按照本發(fā)明的一個(gè)方面,察覺(jué)性防火墻的應(yīng)用306可以連接到操作系統(tǒng)300和/或?qū)嵤┠K304。除了直接的連接,為察覺(jué)性防火墻的應(yīng)用306提供應(yīng)用API308來(lái)調(diào)用實(shí)施模塊304的功能,將如下面進(jìn)一步描述。
按照本發(fā)明的另一個(gè)實(shí)施例,非察覺(jué)性防火墻的應(yīng)用310也可連接到操作系統(tǒng)300和/或?qū)嵤┠K304。除了直接連接到操作系統(tǒng)300和/或?qū)嵤┠K304外,為非察覺(jué)性防火墻的應(yīng)用310提供了套接字API 312來(lái)調(diào)用實(shí)施模塊304的功能,將如下面還要進(jìn)一步描述。
防火墻策略314被存儲(chǔ)或者關(guān)聯(lián)于計(jì)算機(jī)102,并可以由操作系統(tǒng)300和/或防火墻代碼302訪問(wèn)。在所示實(shí)施例中,將防火墻策略314示為數(shù)據(jù)庫(kù),但可以在幾個(gè)數(shù)據(jù)庫(kù)中保存防火墻策略314或者可以用另外的合適的方式存儲(chǔ)防火墻策略314。
可提供代理320用于與因特網(wǎng)網(wǎng)關(guān)設(shè)備106通信。另外,因特網(wǎng)網(wǎng)關(guān)設(shè)備106包括防火墻軟件324(后面稱為“邊界防火墻324”),可實(shí)現(xiàn)它,以便以已知方式保護(hù)安全網(wǎng)絡(luò)104不受遠(yuǎn)程計(jì)算機(jī)108侵害。此外,按照本發(fā)明的一個(gè)方面,在操作系統(tǒng)300上提供防火墻API 326供防火墻代碼302訪問(wèn)。
按照本發(fā)明的一個(gè)實(shí)施例,察覺(jué)性防火墻的應(yīng)用306可通過(guò)應(yīng)用API 308請(qǐng)求防火墻代碼302和/或邊界防火墻324的顯式穿越。通過(guò)“顯式(explicit)”,我們是指穿越防火墻代碼302和/或邊界防火墻324是由察覺(jué)性防火墻的應(yīng)用306明確地請(qǐng)求的。如在背景章節(jié)中描述的,對(duì)于先前技術(shù)的網(wǎng)絡(luò)系統(tǒng),防火墻用試探法來(lái)猜測(cè)應(yīng)用的意圖。相反,對(duì)于本發(fā)明,提供了應(yīng)用API 308,因此察覺(jué)性防火墻的應(yīng)用306(或察覺(jué)性防火墻的服務(wù))可顯式描述它的需求并將它的請(qǐng)求傳送到防火墻代碼302和/或邊界防火墻324。
察覺(jué)性防火墻的應(yīng)用306可請(qǐng)求各種其它可由防火墻代碼302和/或邊界防火墻324實(shí)施的服務(wù)。作為一個(gè)例子,察覺(jué)性防火墻的應(yīng)用306可請(qǐng)求與安全網(wǎng)絡(luò)104外部的一個(gè)或多個(gè)已知端點(diǎn)連接。連接可以是單一的、一次性連接或者可產(chǎn)生同一連接的許多實(shí)例。作為另一個(gè)例子,察覺(jué)性防火墻的應(yīng)用306可請(qǐng)求入網(wǎng)和/或出網(wǎng)連接的帶寬或連接阻塞(connection throttling)。還有另一個(gè)例子,察覺(jué)性防火墻的應(yīng)用306可請(qǐng)求防火墻將連接范圍限制到接口、本地或遠(yuǎn)程地址的子集。還有另一個(gè)例子,察覺(jué)性防火墻的應(yīng)用306可請(qǐng)求只有認(rèn)證過(guò)的客戶可連接到特定端口。在另一個(gè)例子中,察覺(jué)性防火墻的應(yīng)用306可請(qǐng)求實(shí)施最小或最大帶寬規(guī)則和/或可為特定客戶請(qǐng)求超時(shí)策略,諸如傳輸控制協(xié)議(“TCP”)客戶。另外,察覺(jué)性防火墻的應(yīng)用306還可請(qǐng)求特定的協(xié)議選項(xiàng)(諸如SACK)打開(kāi)或關(guān)閉,目的是減少攻擊面。作為另外的一個(gè)例子,察覺(jué)性防火墻的應(yīng)用306可描述需要特別處理的流程的一個(gè)或多個(gè)屬性,諸如與機(jī)密數(shù)據(jù)的連接。
察覺(jué)性防火墻的應(yīng)用306可通過(guò)應(yīng)用API 308將其請(qǐng)求傳送到防火墻代碼302和/或邊界防火墻324。以下是可用于請(qǐng)求直接與諸如遠(yuǎn)程計(jì)算機(jī)108的遠(yuǎn)程計(jì)算機(jī)或節(jié)點(diǎn)通信的格式的結(jié)構(gòu)的特定例子struct sockaddr Target;...//用端點(diǎn)信息初始化Target結(jié)構(gòu)setsockopt(s,SOL_SOCKET,SO_REQUEST-ACCESS,&Target,sizeof(Target));在前述例子中,請(qǐng)求是針對(duì)特定套接字的。套接字選項(xiàng)名為SOL_SOCKET、SO_REQUEST_ACCESS。參數(shù)描述在術(shù)語(yǔ)“struct sockaddr Target”之后;并包括遠(yuǎn)程端點(diǎn)或者特定遠(yuǎn)程計(jì)算機(jī)108的描述。可用其它數(shù)據(jù)結(jié)構(gòu)來(lái)由察覺(jué)性防火墻的應(yīng)用306傳送請(qǐng)求。
如果期望,操作系統(tǒng)300和/或?qū)嵤┠K304可向察覺(jué)性防火墻的應(yīng)用306表示支持請(qǐng)求。同樣地,操作系統(tǒng)300和/或?qū)嵤┠K304可返回一個(gè)值,表示已經(jīng)接受請(qǐng)求的值并將它傳送給防火墻,或者操作系統(tǒng)300不實(shí)現(xiàn)這個(gè)特定調(diào)用。可供選擇地,操作系統(tǒng)300和/或?qū)嵤┠K304可返回正在檢查狀態(tài)的指示,并將讓防火墻代碼302和/或邊界防火墻324最終作出決策。
察覺(jué)性防火墻的應(yīng)用306可在應(yīng)用安裝后、請(qǐng)求連接后或者另外的合適時(shí)間進(jìn)行它對(duì)應(yīng)用API 308的調(diào)用。在向?qū)?yīng)用API 308請(qǐng)求的時(shí)候、請(qǐng)求連接的時(shí)候或者在另外的時(shí)間,可使防火墻代碼302和/或邊界防火墻324知道這個(gè)請(qǐng)求。按照本發(fā)明的一個(gè)實(shí)施例,可在察覺(jué)性防火墻的應(yīng)用306進(jìn)行連接的嘗試時(shí)使防火墻代碼302和/或邊界防火墻324知道該請(qǐng)求。也就是說(shuō),或者察覺(jué)性防火墻的應(yīng)用306嘗試通過(guò)防火墻代碼302和/或邊界防火墻324發(fā)送一些內(nèi)容,或者察覺(jué)性防火墻的應(yīng)用306表示它正等待通過(guò)防火墻之一的通信。為此目的,事件可產(chǎn)生反調(diào)用,諸如通用套接字事件通知機(jī)制。可將反調(diào)用傳送到實(shí)施模塊304。這樣一個(gè)反調(diào)用的格式的例子闡述如下void SocketActivityCallback(DWORD dwProcessID, //引起套接字事件的過(guò)程SOCKETsock, //套接字句柄SOCK_EVENTevent,//套接字事件(例如,綁定)LPVOIDpDetails //套接字事件參數(shù)DWORD cbDetails //事件參數(shù)大小);對(duì)于前述反調(diào)用,提供以下參數(shù)dwProcessID,發(fā)起事件的過(guò)程的ID;sock,為之生成事件的套接字句柄;event,事件ID,諸如SOCKET_EVENT_BIND;pDetail,指向包含事件細(xì)節(jié)的斑點(diǎn)(blob)的指針,它是事件專用的;以及cbDetails,事件細(xì)節(jié)斑點(diǎn)大小??墒褂闷渌鼣?shù)據(jù)結(jié)構(gòu)或通知機(jī)制來(lái)通知實(shí)施模塊304察覺(jué)性防火墻的應(yīng)用306正嘗試建立連接。作為對(duì)于反調(diào)用的可供替換的例子,可使用輸入/輸出(I/O)調(diào)用。
在每個(gè)套接字事件發(fā)生后立即激活反調(diào)用。按照本發(fā)明的一個(gè)實(shí)施例,實(shí)施模塊304在套接字事件發(fā)生時(shí)檢查套接字事件并保存有關(guān)的套接字狀態(tài)細(xì)節(jié)以允許對(duì)防火墻代碼302和/或邊界防火墻324進(jìn)行適當(dāng)?shù)耐ㄐ拧?br> 操作系統(tǒng)300和/或?qū)嵤┠K304利用防火墻API 326告知防火墻代碼302察覺(jué)性防火墻的應(yīng)用306請(qǐng)求一個(gè)連接。通知可以是如上所述的,并可附加地包括應(yīng)用專用信息,諸如應(yīng)用信任級(jí)別、應(yīng)用標(biāo)識(shí)等等。防火墻代碼306將請(qǐng)求與防火墻策略314比較并可能允許或拒絕請(qǐng)求??赡芑蚩赡懿幌驊?yīng)用給出指示。
另外,按照本發(fā)明實(shí)施例,防火墻代碼302通知邊界防火墻324請(qǐng)求連接。這個(gè)信息可通過(guò)認(rèn)證過(guò)的協(xié)議或通過(guò)代理320傳送給邊界防火墻324。邊界防火墻324另外可對(duì)照它自己的策略(未示出,但在本領(lǐng)域中公知)檢查請(qǐng)求。假設(shè)請(qǐng)求符合防火墻代碼302和邊界防火墻324兩者的策略,則允許連接通過(guò)防火墻。
盡管描述為具有防火墻代碼302和邊界防火墻324二者,但本發(fā)明可在只有這些防火墻之一的系統(tǒng)中實(shí)現(xiàn)。例如,在只有一臺(tái)計(jì)算機(jī)102的家庭網(wǎng)絡(luò)上,唯一可用的防火墻可能是防火墻代碼302。
圖4所示的是察覺(jué)性防火墻的應(yīng)用306請(qǐng)求從已知端點(diǎn)(例如,遠(yuǎn)程計(jì)算機(jī)108之一)接收單一連接(例如,TCP連接)的過(guò)程的例子。
在步驟400,察覺(jué)性防火墻的應(yīng)用306創(chuàng)建一個(gè)新的套接字。在步驟402,察覺(jué)性防火墻的應(yīng)用306綁定套接字以在端口N上接收連接。在步驟404,察覺(jué)性防火墻的應(yīng)用306使用應(yīng)用API 308通知操作系統(tǒng)300和/或?qū)嵤┠K304它期望來(lái)自一個(gè)特定地址的連接。例如,這可使用如上所述的調(diào)用格式來(lái)完成。在步驟404,察覺(jué)性防火墻的應(yīng)用306綁定套接字來(lái)以在端口N上接收連接。
在步驟406,察覺(jué)性防火墻的應(yīng)用306激活接受(accept)API(未示出,但在本領(lǐng)域中公知)并且開(kāi)始等待連接。察覺(jué)性防火墻的應(yīng)用306激活接受API導(dǎo)致一個(gè)正在發(fā)送的通知,如上所述。操作系統(tǒng)300現(xiàn)在完全知道察覺(jué)性防火墻的應(yīng)用306的意圖和連接端點(diǎn),并且在步驟408使用防火墻API 326告知防火墻代碼302期望來(lái)自一指定地址的單一連接在本地端口N上到達(dá)。通知還可包括應(yīng)用專用信息,諸如應(yīng)用可信級(jí)別、應(yīng)用標(biāo)識(shí)或其它信息。
在步驟410,防火墻代碼302將察覺(jué)性防火墻的應(yīng)用306的請(qǐng)求與防火墻策略314比較,并且允許或拒絕請(qǐng)求。在步驟412,防火墻代碼302通知邊界防火墻324期望一個(gè)具有眾所周知的屬性的連接。
假設(shè)當(dāng)遠(yuǎn)程節(jié)點(diǎn)在端口N上發(fā)起至察覺(jué)性防火墻的應(yīng)用306的連接時(shí),請(qǐng)求符合防火墻代碼302和邊界防火墻324的策略,則將允許通信。在步驟414,遠(yuǎn)程計(jì)算機(jī)108建立連接。
在察覺(jué)性防火墻的應(yīng)用306完成監(jiān)聽(tīng)端口N之后,在步驟416關(guān)閉套接字。然后在步驟418,操作系統(tǒng)300可執(zhí)行清除,例如通知防火墻代碼302,它輪到與邊界防火墻324通信。
如能從前述中所理解的,應(yīng)用API 308和防火墻API 326提供這樣的機(jī)制,通過(guò)這些機(jī)制可將請(qǐng)求傳送至主機(jī)或邊界防火墻。然后防火墻可相應(yīng)地作出反應(yīng),如果請(qǐng)求符合防火墻策略314(如果和邊界防火墻的防火墻策略有關(guān)),則可允許連接。因而,應(yīng)用API 308和防火墻API 326為應(yīng)用提供增強(qiáng)的協(xié)助,用于在不需要為每種類型的連接編寫(xiě)單獨(dú)的應(yīng)用專用的代碼的情況下穿過(guò)防火墻。
對(duì)于剛才所描述的實(shí)施例,實(shí)施模塊304用作操作系統(tǒng)300的組件,或者與其緊密地相關(guān)聯(lián),并且處理察覺(jué)性防火墻的應(yīng)用306的請(qǐng)求。如果需要,實(shí)施模塊304可在應(yīng)用API 308與防火墻API 326的抽象級(jí)別之間提供轉(zhuǎn)換。例如,應(yīng)用API 308可處理套接字和連接,而防火墻API 326可處理端口和流。
按照本發(fā)明的另一個(gè)實(shí)施例,實(shí)施模塊304另外可允許用戶創(chuàng)建簡(jiǎn)單的防火墻策略或網(wǎng)絡(luò)訪問(wèn)策略,從而允許或拒絕應(yīng)用或服務(wù)穿過(guò)防火墻。下面將描述實(shí)施模塊304的這方面的功能。盡管在此描述的實(shí)施模塊304具有已經(jīng)描述的功能和下面描述的其它功能,但也可為獨(dú)立的功能提供獨(dú)立的模塊。另外,計(jì)算機(jī)諸如計(jì)算機(jī)102可包括只具有這些功能組的一個(gè)功能或者功能組的一部分功能的模塊。然而,為了易于描述,在此的描述假設(shè)實(shí)施模塊304至少具有這兩個(gè)所述的功能組。
為了這個(gè)描述,配置為與非察覺(jué)性防火墻的應(yīng)用310一起工作的實(shí)施模塊304的一部分在此將稱為攔截模塊500(圖5)。通常,攔截模塊500配置為監(jiān)視應(yīng)用和服務(wù)的對(duì)本地計(jì)算機(jī)諸如計(jì)算機(jī)102上網(wǎng)絡(luò)堆棧508的連接和監(jiān)聽(tīng)嘗試。攔截模塊500捕獲這些嘗試并且確定什么用戶正在進(jìn)行嘗試,確定什么應(yīng)用或服務(wù)正在進(jìn)行嘗試,并且進(jìn)行防火墻策略314查找以確定是否允許用戶和應(yīng)用/服務(wù)連接到網(wǎng)絡(luò)。
圖5所示的方框圖一般表示計(jì)算機(jī)102的某些組件和那些組件與攔截模塊500的交互。計(jì)算機(jī)102包括用戶模式套接字接口502(例如用戶模式Winsock),內(nèi)核模式套接字接口504(例如內(nèi)核模式Winsock)和網(wǎng)絡(luò)適配器510。
通常,圖5所示的每個(gè)組件以某些形式或者其它形式存在于現(xiàn)有的計(jì)算機(jī)上,除了攔截模塊500以外。按照本發(fā)明的一個(gè)實(shí)施例,這樣安排攔截模塊500,使得它可以接收和捕獲應(yīng)用和服務(wù)的連接或監(jiān)聽(tīng)嘗試。為此,例如,攔截模塊500可位于網(wǎng)絡(luò)堆棧508與非察覺(jué)性防火墻的應(yīng)用310之間,例如在網(wǎng)絡(luò)堆棧508的接口處。如下面進(jìn)一步描述的,攔截模塊500從連接和/或監(jiān)聽(tīng)嘗試中提取連接需求,確定連接需求是否符合策略,并且如果符合,命令防火墻代碼302創(chuàng)建一個(gè)較低級(jí)別的防火墻過(guò)濾器以允許連接。
通常,連接和監(jiān)聽(tīng)嘗試包括連接至一個(gè)端點(diǎn)或者由端點(diǎn)來(lái)連接的任何嘗試。為此目的,如這里所用的,“連接”和/或“監(jiān)聽(tīng)”嘗試包括,特別是,發(fā)送請(qǐng)求、接收請(qǐng)求、加入請(qǐng)求和更新請(qǐng)求。
計(jì)算機(jī)102的監(jiān)聽(tīng)和/或連接嘗試一般包括參數(shù),這些參數(shù)將允許攔截模塊500確定應(yīng)用或服務(wù)的需求。如一個(gè)例子,對(duì)于監(jiān)聽(tīng)和連接嘗試兩者,一般請(qǐng)求端口的綁定。綁定可能是對(duì)于特定端口或者如果可能使用各種端口則對(duì)于通配符端口。監(jiān)聽(tīng)嘗試一般將包括套接字地址,在該地址應(yīng)用或服務(wù)希望接收連接。另外,應(yīng)用ID和用戶ID可以從監(jiān)聽(tīng)嘗試的上下文中推斷。從這個(gè)推斷的信息,可對(duì)照應(yīng)用和/或用戶的策略評(píng)估特定套接字的請(qǐng)求,并且可基于那個(gè)策略允許或不允許連接。
如果進(jìn)行連接請(qǐng)求,那個(gè)連接請(qǐng)求將包括與監(jiān)聽(tīng)請(qǐng)求相似的信息,并且可包括端點(diǎn)地址。此外,可使用此信息并對(duì)照策略評(píng)估此信息,以便確定是否可以進(jìn)行連接。
計(jì)算機(jī)102的一般策略可在防火墻策略314內(nèi)形成,以或者允許或者拒絕在計(jì)算機(jī)102上的特定應(yīng)用和服務(wù)對(duì)網(wǎng)絡(luò)的連接。這個(gè)一般性策略可在設(shè)置計(jì)算機(jī)102的用戶設(shè)置時(shí)手工地在計(jì)算機(jī)102上建立、也可由網(wǎng)絡(luò)管理員來(lái)建立、或者可在建立用戶的簡(jiǎn)檔時(shí)設(shè)置為默認(rèn)的設(shè)置。如果需要,策略可基于每個(gè)用戶。這些一般的策略可能是,例如,“不要讓任何應(yīng)用連接至不安全的網(wǎng)絡(luò)110,除非攔截模塊500具有不同的策略”可將一般的策略與由攔截模塊500保存的策略分開(kāi)存儲(chǔ)。
按照本發(fā)明的一個(gè)實(shí)施例,在攔截模塊500內(nèi)的策略(和存儲(chǔ)在策略高速緩存612中的,例如)可創(chuàng)建和存儲(chǔ)為用戶和/或服務(wù)/應(yīng)用的請(qǐng)求的結(jié)果。例如,在將服務(wù)或應(yīng)用安裝在計(jì)算機(jī)上時(shí)、在發(fā)起一個(gè)連接時(shí)或者在其它合適的時(shí)間,可自動(dòng)地或者通過(guò)用戶界面來(lái)進(jìn)行這個(gè)請(qǐng)求。請(qǐng)求可簡(jiǎn)單地包括所想要的連接的簡(jiǎn)單參數(shù),諸如“允許應(yīng)用X連接至因特網(wǎng)一次”或者,如其它非限制的例子,與察覺(jué)性防火墻的應(yīng)用306的描述一起在上面描述的任何請(qǐng)求。
按照本發(fā)明的一個(gè)實(shí)施例,用戶和/或應(yīng)用的請(qǐng)求不需要用于端口、協(xié)議或者IP地址的規(guī)則以使應(yīng)用或服務(wù)能夠穿過(guò)防火墻代碼302和/或邊界防火墻324。而是,如上所述,在已經(jīng)建立了一個(gè)策略之后,根據(jù)應(yīng)用的連接請(qǐng)求,攔截模塊500通過(guò)評(píng)估應(yīng)用或服務(wù)的連接和監(jiān)聽(tīng)嘗試來(lái)確定應(yīng)用或服務(wù)的需求。
圖6所示的方框圖示出攔截模塊500的一般組件。攔截模塊500包括邏輯引擎600,它執(zhí)行在此所述的攔截模塊500的大多數(shù)基本操作。攔截接口客戶602連接到邏輯引擎600,配置為與網(wǎng)絡(luò)堆棧508交互并捕獲由應(yīng)用諸如非察覺(jué)性防火墻的應(yīng)用310進(jìn)行的連接和/或攔截請(qǐng)求。配置和策略API 604配置和安排為與防火墻策略314或關(guān)聯(lián)的策略管理器(未示出)的通信。
本地防火墻客戶606配置為與防火墻代碼302通信。防火墻穿越協(xié)議客戶608被配置和安排為與邊界防火墻324通信。
在圖6所示的例子中,攔截模塊500包括端點(diǎn)高速緩存610、策略高速緩存612和過(guò)濾器高速緩存614。端點(diǎn)高速緩存610存儲(chǔ)攔截模塊500當(dāng)前正在管理的各種端點(diǎn)(即節(jié)點(diǎn))的操作狀態(tài)。它是由邏輯引擎600基于來(lái)自攔截接口客戶602的輸入來(lái)更新的。策略高速緩存612存儲(chǔ)攔截模塊500要實(shí)施的策略。在策略高速緩存612中的條目可與在端點(diǎn)高速緩存610(即該給定策略被實(shí)施的端點(diǎn))的條目相關(guān)聯(lián)。單個(gè)策略條目可以和多個(gè)端點(diǎn)相關(guān)聯(lián)。
攔截接口客戶602處理監(jiān)聽(tīng)和/或連接嘗試的細(xì)節(jié),與網(wǎng)絡(luò)堆棧508交互,并且訪問(wèn)邏輯引擎600以通知邏輯引擎600攔截到的動(dòng)作并且接收授權(quán)決策。配置和策略API 604是一個(gè)進(jìn)入攔截模塊500的外部接口??上蚺渲煤筒呗訟PI604進(jìn)行請(qǐng)求并且將請(qǐng)求存儲(chǔ)在策略高速緩存612。例如,可由應(yīng)用在安裝或者連接嘗試時(shí)通過(guò)防火墻策略314來(lái)提供策略,或可由用戶例如通過(guò)套接字API312(圖3)來(lái)提供。下面給出其它例子。使用本地防火墻客戶606來(lái)命令防火墻代碼302以創(chuàng)建合適的過(guò)濾器,類似地,防火墻穿越協(xié)議客戶608被用來(lái)命令該邊界防火墻324構(gòu)建合適的濾波器,并且因而執(zhí)行許多與代理320相同的功能。
過(guò)濾器高速緩存614包括用于邏輯引擎600已經(jīng)創(chuàng)建的過(guò)濾器的條目。在過(guò)濾器高速緩存614中條目可與在端點(diǎn)高速緩存610(例如,已經(jīng)為其創(chuàng)建過(guò)濾器的端點(diǎn))中的條目相關(guān)聯(lián)。單個(gè)過(guò)濾器可與多個(gè)端點(diǎn)相關(guān)聯(lián)。包括在過(guò)濾器高速緩存614中的信息包括過(guò)濾器的細(xì)節(jié)(例如,5元組,關(guān)聯(lián)的IPSec策略等),將使用的相應(yīng)的防火墻過(guò)濾器的句柄,和/或防火墻穿越協(xié)議客戶608的識(shí)別信息。
現(xiàn)在轉(zhuǎn)到攔截模塊500的操作,在應(yīng)用或服務(wù)試著建立連接之前,用戶和/或應(yīng)用或服務(wù)通過(guò)配置和策略API 604建立用于應(yīng)用或服務(wù)的策略。在策略高速緩存612中存儲(chǔ)策略。在建立策略之后,攔截接口客戶602監(jiān)視應(yīng)用和服務(wù)對(duì)在計(jì)算機(jī)102上的網(wǎng)絡(luò)堆棧508的連接和監(jiān)聽(tīng)嘗試。攔截接口客戶602捕獲這些嘗試并且將它們發(fā)送給邏輯引擎600。邏輯引擎600確定什么用戶正在進(jìn)行嘗試、確定什么應(yīng)用或服務(wù)正在進(jìn)行嘗試,并將那個(gè)信息存儲(chǔ)在端點(diǎn)高速緩存610中。然后邏輯引擎600訪問(wèn)策略高速緩存612以確定是否允許用戶和應(yīng)用或服務(wù)連接到所請(qǐng)求的網(wǎng)絡(luò)。
如果允許用戶和應(yīng)用或服務(wù)兩者連接到網(wǎng)絡(luò),創(chuàng)建合適的防火墻配置諸如較低級(jí)別的防火墻過(guò)濾器,來(lái)允許應(yīng)用或服務(wù)具有無(wú)拘無(wú)束的網(wǎng)絡(luò)通信。將防火墻配置存儲(chǔ)在過(guò)濾器高速緩存614中。本地防火墻客戶606和網(wǎng)絡(luò)穿越協(xié)議客戶608可使用此過(guò)濾器信息來(lái)命令防火墻代碼302和邊界防火墻324以允許建立連接。
按照本發(fā)明的一個(gè)實(shí)施例,為攔截模塊500提供通知客戶616。通知客戶616配置和安排為與外殼通知管理器(未示出,但在本領(lǐng)域中公知)或者相似的組件,以便通知用戶一個(gè)事件。例如,通知客戶616可命令通知管理器以通知用戶應(yīng)用或服務(wù)正在嘗試訪問(wèn)因特網(wǎng)和操作系統(tǒng)300正在阻止此嘗試,諸如圖7的用戶界面700所示。另外,通知客戶616可命令通知管理器請(qǐng)求與繼續(xù)阻止或允許訪問(wèn)有關(guān)的用戶指令,諸如由圖7中的702和704允許的。如果適合,通知客戶616可等待和通知邏輯引擎600用戶對(duì)查詢的響應(yīng)。
如果用戶選擇按鈕704,則允許連接,那個(gè)按鈕的選擇導(dǎo)致為那個(gè)應(yīng)用(這里,應(yīng)用X)建立策略。如果需要,策略可只允許一次連接,可允許將來(lái)的連接,或者可允許在時(shí)限內(nèi)(例如在一天內(nèi))的連接。
圖8所示的是攔截模塊500如何能夠使非察覺(jué)性防火墻的應(yīng)用310穿越諸如防火墻代碼302和/或邊界防火墻324的防火墻的例子。始于步驟800,用戶創(chuàng)建允許應(yīng)用X連接到網(wǎng)絡(luò)的策略,例如僅在用戶運(yùn)行該應(yīng)用時(shí)。用戶稍后在步驟802運(yùn)行應(yīng)用X。應(yīng)用X嘗試連接和監(jiān)聽(tīng)網(wǎng)絡(luò)堆棧508。攔截模塊500在步驟804捕獲這些連接和監(jiān)聽(tīng)嘗試。攔截模塊500在步驟806確定哪個(gè)應(yīng)用或服務(wù)正在進(jìn)行請(qǐng)求,并在步驟808確定哪個(gè)用戶正在運(yùn)行應(yīng)用或服務(wù)。
根據(jù)這個(gè)信息,攔截模塊500確定允許用戶和應(yīng)用連接到網(wǎng)絡(luò),并自動(dòng)修改防火墻策略以允許監(jiān)聽(tīng)本地端口及連接到所請(qǐng)求的端點(diǎn)。
因?yàn)檫@種用戶專用策略只為給定用戶建立,不同的用戶不能訪問(wèn)網(wǎng)絡(luò)。例如,在步驟812,第二用戶運(yùn)行應(yīng)用X,并且在步驟814攔截模塊500進(jìn)行必需的許可檢查,類似于步驟806和808。在步驟816,攔截模塊500確定不允許第二用戶在網(wǎng)絡(luò)上運(yùn)行應(yīng)用X并返回錯(cuò)誤給應(yīng)用,例如通過(guò)通知客戶616。
圖9是流程圖,所示的是服務(wù)如何能夠?qū)⒎?wù)的網(wǎng)絡(luò)需求通知防火墻代碼302和/或邊界防火墻324的例子的步驟。始于步驟900,在計(jì)算機(jī)上的一個(gè)服務(wù),例如計(jì)算機(jī)102打開(kāi)一個(gè)監(jiān)聽(tīng)套接字。在步驟902,服務(wù)使用API,諸如套接字API 312,以建立策略,例如表示只應(yīng)該接受來(lái)自本地子網(wǎng)(例如安全網(wǎng)絡(luò)104)的入網(wǎng)通信。在步驟904,服務(wù)綁定到套接字并且等待連接嘗試。在步驟906,在第二臺(tái)計(jì)算機(jī)上的用戶,諸如在安全網(wǎng)絡(luò)104上的另一個(gè)計(jì)算機(jī)102打開(kāi)嘗試連接至在計(jì)算機(jī)102上的服務(wù)的應(yīng)用。
在計(jì)算機(jī)102上的攔截模塊500在步驟908攔截連接嘗試,并將第二臺(tái)計(jì)算機(jī)的子網(wǎng)與其自己的子網(wǎng)比較。在步驟910,子網(wǎng)檢查成功并且在第二臺(tái)計(jì)算機(jī)102上的應(yīng)用連接至在第一臺(tái)計(jì)算機(jī)102上的服務(wù)。
在步驟902建立的相同策略可用于拒絕不是來(lái)自本地子網(wǎng)的計(jì)算機(jī),諸如在步驟912-916中所示的。在步驟912,在遠(yuǎn)程計(jì)算機(jī)108上的用戶打開(kāi)嘗試連接至在第一臺(tái)計(jì)算機(jī)102上的服務(wù)的應(yīng)用。在步驟914,在第一臺(tái)計(jì)算機(jī)102上的防火墻代碼302攔截連接嘗試并且將遠(yuǎn)程計(jì)算機(jī)108的子網(wǎng)與其自己的子網(wǎng)比較。在步驟916,子網(wǎng)檢查未通過(guò)并且不允許在遠(yuǎn)程計(jì)算機(jī)104上的應(yīng)用連接至在第一臺(tái)計(jì)算機(jī)102上的服務(wù)。
在此列舉的所有引用,包括出版物、專利申請(qǐng)和專利,被結(jié)合引用作為同樣的擴(kuò)充,與如果每個(gè)引用被單獨(dú)地和明確地提示結(jié)合引用一樣,并且在此作為整體提出。
在描述本發(fā)明的上下文中(尤其在以下權(quán)利要求書(shū)的上下文中)詞語(yǔ)“a”和“an”和“the”和類似的指示物的使用將被解釋以覆蓋單數(shù)和復(fù)數(shù)兩者,除非在這里另行指出或與上下文明顯矛盾。詞語(yǔ)“comrising”、“having”、“including”和“containing”將解釋為“開(kāi)口”的詞語(yǔ)(即,意味著“including,but notlimited to”(包括,但不限于)),除非另行指出。在這里值的范圍詳述只是意在用作一種簡(jiǎn)約的方法,每單獨(dú)的值都各自落在范圍內(nèi),除非在此特別表示,并且將單獨(dú)的值結(jié)合到說(shuō)明書(shū)中,好象它是在此一個(gè)一個(gè)單獨(dú)地列舉的。可以任何合適的順序執(zhí)行在此描述的所有方法,除非在此另行指出或者與上下文明顯矛盾。使用任何或所有例子,或者在此提供的示例性語(yǔ)言(例如“諸如”),只是想要更好地闡明本發(fā)明的實(shí)施例,并且不在本發(fā)明的范圍上形成限制,除非另外要求。在說(shuō)明書(shū)中的語(yǔ)言不應(yīng)該解釋為表示任何非要求的元素為實(shí)施本發(fā)明所必需的。
在這里描述了本發(fā)明的較佳實(shí)施例,包括發(fā)明人所知的完成本發(fā)明的最佳模式。這些較佳實(shí)施例的變體對(duì)于那些本領(lǐng)域的普通技術(shù)人員將在閱讀前面描述的基礎(chǔ)上變得顯而易見(jiàn)。發(fā)明人期望熟練的技術(shù)人員適當(dāng)?shù)厥褂眠@些變體,并且發(fā)明人希望不同于如在這里明確描述的來(lái)實(shí)施本發(fā)明。相應(yīng)地本發(fā)明包括所附權(quán)利要求書(shū)中所述的主題的、由適用法律許可的所有修改和本身。而且,在本發(fā)明的所有可能的變體中上述元素的任何組合也由本發(fā)明包括,除非這里另行指出或上下文明顯矛盾的。
權(quán)利要求
1.一種計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,包括通過(guò)應(yīng)用編程接口從應(yīng)用接收調(diào)用,所述調(diào)用具有參數(shù)用于所述應(yīng)用想要建立的、至一個(gè)端點(diǎn)的連接;從所述應(yīng)用接收一個(gè)指示,它表示所述應(yīng)用想要建立所述連接;以及對(duì)防火墻進(jìn)行調(diào)用,以按照所述參數(shù)建立所述連接。
2.如權(quán)利要求1所述的方法,其特征在于,還包括,在所述防火墻,以相關(guān)策略評(píng)估所述參數(shù),并且如果所述參數(shù)符合所述策略,按照所述參數(shù)建立所述網(wǎng)絡(luò)連接。
3.如權(quán)利要求1所述的方法,其特征在于,所述參數(shù)包括所述應(yīng)用愿意被連接到的已知端點(diǎn)。
4.如權(quán)利要求3所述的方法,其特征在于,所述參數(shù)還包括將所述連接限制于一個(gè)單一連接的請(qǐng)求。
5.如權(quán)利要求4所述的方法,其特征在于,還包括,在已經(jīng)建立所述連接之后,按照所述請(qǐng)求關(guān)閉所述連接。
6.如權(quán)利要求1所述的方法,其特征在于,所述參數(shù)包括對(duì)用于所述連接的連接阻塞的帶寬請(qǐng)求。
7.如權(quán)利要求1所述的方法,其特征在于,所述參數(shù)將所述連接限制于接口、本地地址或遠(yuǎn)程地址或它們的組合的一個(gè)子集。
8.如權(quán)利要求1所述的方法,其特征在于,所述參數(shù)包括用于所述連接的超時(shí)策略。
9.如權(quán)利要求1所述的方法,其特征在于,所述參數(shù)包括關(guān)閉或打開(kāi)特定的協(xié)議選項(xiàng)。
10.如權(quán)利要求1所述的方法,其特征在于,所述參數(shù)包括與請(qǐng)求特別處理的流程的屬性有關(guān)的信息。
11.如權(quán)利要求10所述的方法,其特征在于,所述信息包括對(duì)認(rèn)證或加密的請(qǐng)求。
12.如權(quán)利要求1所述的方法,其特征在于,所述指示包括打開(kāi)一監(jiān)聽(tīng)套接字。
13.如權(quán)利要求1所述的方法,其特征在于,所述指示包括連接至一套接字。
14.如權(quán)利要求1所述的方法,其特征在于,所述對(duì)防火墻的調(diào)用是通過(guò)防火墻應(yīng)用編程接口進(jìn)行的。
15.如權(quán)利要求1所述的方法,其特征在于,所述防火墻位于具有所述應(yīng)用的計(jì)算機(jī)上。
16.如權(quán)利要求1所述的方法,其特征在于,所述防火墻包括一邊界防火墻,并且還包括一個(gè)代理以將有關(guān)所述連接的信息傳送至所述邊界防火墻。
17.如權(quán)利要求1所述的方法,其特征在于,所述防火墻包括一邊界防火墻,并且還包括一個(gè)認(rèn)證過(guò)的協(xié)議以將有關(guān)所述連接的信息傳送至所述邊界防火墻。
18.具有用于執(zhí)行如權(quán)利要求1所述的方法的計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì)。
19.一種計(jì)算機(jī)系統(tǒng),其特征在于,包括一操作系統(tǒng);一與所述操作系統(tǒng)相關(guān)聯(lián)的應(yīng)用編程接口,配置并適合于從一應(yīng)用接收調(diào)用,所述調(diào)用具有參數(shù)用于所述應(yīng)用想要建立的、至一個(gè)端點(diǎn)的連接;以及一與所述操作系統(tǒng)相關(guān)聯(lián)的實(shí)施模塊,配置并適應(yīng)于從所述應(yīng)用接收一個(gè)指示,它表示所述應(yīng)用想要建立所述連接;以及對(duì)防火墻進(jìn)行調(diào)用,以按照所述參數(shù)建立所述連接。
20.如權(quán)利要求19所述的計(jì)算機(jī)系統(tǒng),其特征在于,還包括防火墻應(yīng)用編程接口用于對(duì)所述防火墻進(jìn)行所述調(diào)用。
21.一種計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,包括建立用于至端點(diǎn)的連接的策略;從一應(yīng)用或一服務(wù)接收一連接嘗試、一監(jiān)聽(tīng)嘗試或它們的組合;從所述連接嘗試、所述監(jiān)聽(tīng)嘗試或所述它們的組合提取用戶和應(yīng)用或服務(wù)信息;評(píng)估所述應(yīng)用或服務(wù)信息以確定所述連接嘗試、所述監(jiān)聽(tīng)嘗試或者所述它們的組合是否與所述策略一致;以及如果所述連接嘗試、所述監(jiān)聽(tīng)嘗試或者所述它們的組合與所述策略一致,則配置所述防火墻以允許所述連接嘗試、所述監(jiān)聽(tīng)嘗試或者所述它們的組合。
22.如權(quán)利要求21所述的方法,其特征在于,還包括,如果所述連接嘗試、所述監(jiān)聽(tīng)嘗試或者所述它們的組合與所述策略不一致,發(fā)送通知至所述應(yīng)用或服務(wù)的用戶。
23.如權(quán)利要求22所述的方法,其特征在于,所述通知包括允許所述連接的選擇。
24.如權(quán)利要求21所述的方法,其特征在于,所述建立所述策略的步驟包括從所述應(yīng)用或服務(wù)接收一個(gè)策略。
25.如權(quán)利要求24所述的方法,其特征在于,所述接收策略的步驟包括通過(guò)應(yīng)用編程接口接收策略。
26.如權(quán)利要求24所述的方法,其特征在于,從所述應(yīng)用或服務(wù)接收的所述策略包括使用一個(gè)或多個(gè)因特網(wǎng)協(xié)議地址、關(guān)于子網(wǎng)的信息、關(guān)于所述連接的范圍的信息或它們的組合的入網(wǎng)或出網(wǎng)限制。
27.如權(quán)利要求24所述的方法,其特征在于,從所述應(yīng)用或服務(wù)接收的所述策略包括通信安全級(jí)別。
28.如權(quán)利要求27所述的方法,其特征在于,所述通信安全級(jí)別包括認(rèn)證。
29.如權(quán)利要求27所述的方法,其特征在于,所述通信安全級(jí)別包括加密。
30.如權(quán)利要求21所述的方法,其特征在于,所述防火墻包括位于具有所述應(yīng)用的計(jì)算機(jī)上的主機(jī)防火墻。
31.如權(quán)利要求21所述的方法,其特征在于,所述防火墻包括一邊界防火墻,并且還包括一代理以傳送有關(guān)所述連接的信息。
32.如權(quán)利要求21所述的方法,其特征在于,所述防火墻包括一邊界防火墻,并且還包括一認(rèn)證過(guò)的協(xié)議以將有關(guān)所述連接的信息傳送至所述邊界防火墻。
33.具有用于執(zhí)行如權(quán)利要求21所述的方法的計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì)。
34.一個(gè)計(jì)算機(jī)系統(tǒng),其特征在于,包括一防火墻;以及一攔截模塊,配置并適合于訪問(wèn)用于與至端點(diǎn)的連接有關(guān)的應(yīng)用、服務(wù)或它們的組合的策略;從一應(yīng)用或一服務(wù)攔截對(duì)一連接嘗試、一監(jiān)聽(tīng)嘗試或它們的組合;從所述連接嘗試、所述監(jiān)聽(tīng)嘗試或所述它們的組合提取用戶和應(yīng)用或服務(wù)信息;評(píng)估所述應(yīng)用或服務(wù)信息以確定所述連接嘗試、所述監(jiān)聽(tīng)嘗試或所述它們的組合是否與所述策略一致;以及如果所述連接嘗試、所述監(jiān)聽(tīng)嘗試或所述它們的組合與所述策略一致,命令所述防火墻配置所述連接嘗試、所述監(jiān)聽(tīng)嘗試或所述它們的組合。
35.如權(quán)利要求34所述的計(jì)算機(jī)系統(tǒng),其特征在于,所述攔截模塊包括用于存儲(chǔ)所述策略的策略高速緩存。
36.如權(quán)利要求34所述的計(jì)算機(jī)系統(tǒng),其特征在于,所述攔截模塊包括應(yīng)用編程接口用于從一應(yīng)用或服務(wù)接收所述策略。
37.如權(quán)利要求34所述的計(jì)算機(jī)系統(tǒng),其特征在于,所述攔截模塊包括一防火墻客戶用于將與所述連接嘗試、所述監(jiān)聽(tīng)嘗試或所述它們的組合有關(guān)的信息傳送至一邊界防火墻。
全文摘要
一種用于察覺(jué)性防火墻的應(yīng)用的方法,它將其期望傳送給防火墻而不需要防火墻改變其策略或危及網(wǎng)絡(luò)安全。為應(yīng)用軟件提供應(yīng)用API來(lái)將應(yīng)用的需求通知一個(gè)或多個(gè)防火墻,并提供將應(yīng)用的需求通知一個(gè)或多個(gè)防火墻的防火墻API。攔截模塊監(jiān)視由應(yīng)用和服務(wù)對(duì)本地計(jì)算機(jī)上的網(wǎng)絡(luò)堆棧的連接和監(jiān)聽(tīng)嘗試。攔截模塊捕獲這些嘗試并確定什么用戶在進(jìn)行嘗試、什么應(yīng)用或服務(wù)在進(jìn)行嘗試,并實(shí)施防火墻策略查找來(lái)確定是否允許該用戶和/或應(yīng)用或服務(wù)連接到網(wǎng)絡(luò)。如果這樣,攔截模塊可命令主機(jī)和/或邊界防火墻為所請(qǐng)求的連接配置自己。
文檔編號(hào)H04L29/06GK1578232SQ20041006188
公開(kāi)日2005年2月9日 申請(qǐng)日期2004年6月25日 優(yōu)先權(quán)日2003年6月25日
發(fā)明者D·莫根, A·加弗里萊斯庫(kù), J·L·布爾斯泰因, A·舍萊斯特, D·萊布蘭克 申請(qǐng)人:微軟公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
郴州市| 松滋市| 甘泉县| 隆德县| 芮城县| 湟中县| 衡阳县| 烟台市| 五台县| 浮山县| 郸城县| 行唐县| 本溪市| 尚志市| 崇义县| 蕲春县| 清镇市| 彰化县| 井陉县| 汾阳市| 毕节市| 新巴尔虎左旗| 亚东县| 禄丰县| 墨脱县| 利辛县| 盐山县| 美姑县| 仪征市| 交城县| 嵊州市| 古蔺县| 屏东县| 阿勒泰市| 上饶市| 长春市| 比如县| 永州市| 山阴县| 昌乐县| 丰镇市|