專利名稱:訪問控制方法、單元及網(wǎng)絡(luò)設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及因特網(wǎng)小型計算機系統(tǒng)接口 ( iSCSI, Internet Small Computer System Interface )技術(shù)領(lǐng)域,具體涉及一種iSCSI訪問控制方法、單元及網(wǎng) 絡(luò)設(shè)備。
背景技術(shù):
小型計算機系統(tǒng)接口 ( SCSI, Small Computer System Interface)標準體 系定義了應(yīng)用主機和外部設(shè)備之間讀寫操作的過程,外部設(shè)備包括^茲盤、-茲 帶、光盤、打印機、掃描儀等。SCSI標準體系的參考模型是一個典型的客 戶端-服務(wù)器模型,在SCSI體系結(jié)構(gòu)中,通常把客戶端稱為發(fā)起端(Initiator) 如應(yīng)用主機,Initiator發(fā)送服務(wù)請求;把服務(wù)器稱為目標端(Target)如 外部設(shè)備,Target接收、響應(yīng)服務(wù)請求。Initiator和Target之間可以使用不 同的物理連"J妄方式來通訊。
iSCSI是一種基于傳輸控制協(xié)議/因特網(wǎng)協(xié)議(TCP/IP, Transfer Control Protocol/Internet Protocol)的SCSI傳車lr十辦i義,即Initiator和Target利用互 聯(lián)網(wǎng)來傳輸SCSI命令和數(shù)據(jù)。目前,iSCSI協(xié)議主要用于應(yīng)用主機和存儲 系統(tǒng)的數(shù)據(jù)傳輸。圖1為iSCSI的典型應(yīng)用環(huán)境,如圖l所示,應(yīng)用主機 集成iSCSI initiator模塊,存儲系統(tǒng)中的存儲控制器集成iSCSI target模塊。 應(yīng)用主機把SCSI命令和/或數(shù)據(jù)封裝在iSCSI報文中,通過IP網(wǎng)絡(luò)發(fā)送給 存儲控制器,存儲控制器對每個iSCSI報文進行處理,取出報文中的數(shù)據(jù) 并寫入到存儲介質(zhì)如磁盤拒中。
為了進一步提數(shù)據(jù)的安全性,iSCSI協(xié)議中引入了 一些IP通信領(lǐng)域的安 全才幾制如質(zhì)詢握手協(xié)i義(CHAP, Challenge Handshake AuthenticationProtocol)、安全遠程密碼(SRP, Secure Remote Protocol)等,來實現(xiàn)對應(yīng) 用主機安全認證,從而實現(xiàn)Initiator的訪問控制、對數(shù)據(jù)的保護等。
圖2為一個帶有安全認證的iSCSI Initiator和Target建立會話的消息流 程示意圖,如圖2所示,其具體步驟如下
步驟201:應(yīng)用主機根據(jù)配置在自身的存儲控制系統(tǒng)的iSCSI接口地址 如IP地址、MAC地址和TCP端口,啟動iSCSI target的發(fā)現(xiàn)過程,通過 該發(fā)現(xiàn)過程獲取授權(quán)給自身的iSCSI Target列表。
步驟202:應(yīng)用主機確定要登錄的Target,與要登錄的Target建立TCP/IP 連接。
步驟203:應(yīng)用主機向要登錄的Target發(fā)送登錄請求報文,該報文中的 操作碼指明當前需要進行安全認證方式協(xié)商。
步驟204:安全認證方式協(xié)商成功,存儲系統(tǒng)向應(yīng)用主機返回登錄響應(yīng)報文。
步驟205:應(yīng)用主機接收登錄響應(yīng)報文,向存儲系統(tǒng)發(fā)送登錄請求報文, 該報文中的操作碼指明當前需要進行操作方式協(xié)商。
步驟206:存儲系統(tǒng)收到該登錄請求報文,與應(yīng)用主機進行操作方式協(xié) 商,協(xié)商成功,存儲系統(tǒng)向應(yīng)用主機返回登錄響應(yīng)才艮文,雙方建立會話通道。
步驟207:應(yīng)用主機開始向存儲系統(tǒng)傳輸數(shù)據(jù)。
步驟208:數(shù)據(jù)傳輸完成后,應(yīng)用主機向存儲系統(tǒng)發(fā)送登錄退出請求報 文,存儲系統(tǒng)向應(yīng)用主機返回登錄退出響應(yīng)報文,會話結(jié)束。
可以看出,Initiator和Target之間建立會話的過程中,除了基于Initiator Name和Target Name的對應(yīng)關(guān)系來進行數(shù)據(jù)訪問外,就是進行安全認證。 但是,如果有黑客利用一些手段獲取合法的Initiator信息如initiator Name 和安全認證密碼后,向存儲系統(tǒng)發(fā)送登錄請求,則仍然可以與Target建立會 話,從而達到訪問存儲資源的目的,這樣數(shù)據(jù)就不能被很好地保護。同時, 如果黑客大量發(fā)送登錄請求,則存儲系統(tǒng)的CPU要不停地響應(yīng)這些請求, 所以CPU利用率就會升高,這樣將會影響正常的存儲業(yè)務(wù)。
發(fā)明內(nèi)容
本發(fā)明實施例提供一種訪問控制方法、單元及網(wǎng)絡(luò)設(shè)備,實現(xiàn)iSCSI存儲 數(shù)據(jù)保護且提高iSCSI存儲系統(tǒng)處理存儲業(yè)務(wù)工作效率。 本發(fā)明實施例的技術(shù)方案是這樣實現(xiàn)的
一種訪問控制方法,用于存儲系統(tǒng)與發(fā)起端之間的網(wǎng)絡(luò)設(shè)備上或者存儲系 統(tǒng)前端的網(wǎng)絡(luò)設(shè)備上,該方法包括
在iSCSI會話中,偵聽發(fā)起端與目標端之間交互的報文,根據(jù)報文中的發(fā) 起端信息,或者目標端信息,或者發(fā)起端信息和目標端信息,建立用以區(qū)分合 法與非法發(fā)起端的ACL表項,根據(jù)建立的ACL表項對發(fā)起端進行訪問控制。
所述偵聽發(fā)起端與目標端之間交互的報文為偵聽發(fā)起端與目標端在目標 端發(fā)現(xiàn)過程中交互的報文;
所述建立ACL表項包括
根據(jù)發(fā)起端發(fā)起的報文中的發(fā)起端名稱、發(fā)起端MAC地址、發(fā)起端IP地 址、iSCSI接口 IP地址、iSCSI接口 MAC地址中的至少兩項,建立ACL表項。
所述根據(jù)建立的ACL表項對發(fā)起端進行訪問控制包括偵聽到發(fā)起端在目 標端發(fā)現(xiàn)過程中發(fā)來的報文,判斷報文中的發(fā)起端名稱、發(fā)起端MAC地址、 發(fā)起端IP地址、iSCSI接口 IP地址、iSCSI接口 MAC地址是否與ACL表項部 分匹配,若是,拒絕發(fā)起端訪問目標端;否則,允許發(fā)起端訪問目標端。
所述偵聽發(fā)起端與目標端之間交互的報文為偵聽發(fā)起端與目標端在正常 會話過程中交互的報文;
所述建立ACL表項包括
根據(jù)發(fā)起端發(fā)起的報文中的發(fā)起端MAC地址、發(fā)起端IP地址、目標端 MAC地址、目標端IP地址中的至少一項,建立ACL表項。
所述根據(jù)建立的ACL表項對發(fā)起端進行訪問控制包括偵聽到發(fā)起端在正 常會話過程中發(fā)來的報文,判斷報文中的發(fā)起端MAC地址、發(fā)起端IP地址、
目標端MAC地址、目標端IP地址是否與ACL表項全部匹配,若是,允許發(fā) 起端訪問目標端;否則,拒絕發(fā)起端訪問目標端。 所述建立ACL表項進一步包括
將發(fā)起端到目標端之間的路由信息加入該已建立的ACL表項中。 所述路由信息為入端口信息、入端口所在VLAN信息、入端口所屬網(wǎng)段信
息中的一種或任意組合。
所述根據(jù)建立的ACL表項對發(fā)起端進行訪問控制之后進一步包括 檢測到發(fā)起端與目標端之間的會話結(jié)束,老化或刪除與發(fā)起端信息對應(yīng)的
ACL表項。
一種訪問控制單元,位于存儲系統(tǒng)與發(fā)起端之間的網(wǎng)絡(luò)設(shè)備上或者存儲系 統(tǒng)前端的網(wǎng)絡(luò)設(shè)備上,該單元包括
ACL建立模塊,在iSCSI會話中,偵聽發(fā)起端與目標端之間交互的報文, 根據(jù)報文中的發(fā)起端信息,或者目標端信息,或者發(fā)起端和目標端信息,建立 ACL表項;
ACL過濾模塊,根據(jù)建立的ACL表項對發(fā)起端進行訪問控制。 所述ACL建立模塊包括
第一ACL建立模塊,偵聽到發(fā)起端在目標端發(fā)現(xiàn)過程中發(fā)起的報文,根據(jù) 報文中的發(fā)起端信息,或者目標端信息,或者發(fā)起端和目標端信息,建立第一 ACL表項;
第二ACL建立模塊,偵聽到發(fā)起端在正常會話過程中發(fā)起的報文,根據(jù)報 文中的發(fā)起端信息,或者目標端信息,或者發(fā)起端信息和目標端信息建立第二 ACL表項。
所述ACL建立模塊進一步包括
路由偵聽模塊,將發(fā)起端到目標端間的路由信息加入與發(fā)起端信息對應(yīng)的 ACL表項。
所述ACL過濾模塊包括
第一ACL過濾模塊,偵聽到發(fā)起端在目標端發(fā)現(xiàn)過程中發(fā)起的報文,判斷
報文中的發(fā)起端信息、目標端信息是否與第一ACL表項部分匹配,若是,拒絕 發(fā)起端訪問目標端;否則,允許發(fā)起端訪問目標端;
第二ACL過濾模塊,偵聽到發(fā)起端在正常會話過程中發(fā)起的報文,判斷報 文中的發(fā)起端信息和目標端信息是否與第二 ACL表項全部匹配,若是,允許發(fā) 起端訪問目標端;否則,拒絕發(fā)起端訪問目標端。
所述單元進一步包括ACL維護模塊,偵聽到發(fā)起端與目標端之間的會話 結(jié)束,老化或刪除與發(fā)起端信息對應(yīng)的ACL表項。
該單元位于目標端所在存儲系統(tǒng)中的前端交換機上,或者位于目標端所在 存儲系統(tǒng)接入IP網(wǎng)絡(luò)的接入設(shè)備上。
所述ACL建立模塊進一步包括將發(fā)起端到iSCSI訪問控制單元的入端口 信息、入端口所在虛擬局域網(wǎng)VLAN信息、入端口所屬網(wǎng)段信息中的一種或任 意組合,加入ACL表項中的子模塊。
一種網(wǎng)絡(luò)設(shè)備,包括硬件平臺以及運行于硬件平臺上的因特網(wǎng)小型計算 機系統(tǒng)接口 iSCSI訪問控制軟件,該iSCSI訪問控制軟件在硬件平臺上運行時, 控制該網(wǎng)絡(luò)設(shè)備執(zhí)行如下方法
示該iSCSI會話;
根據(jù)上述兩個標識建立訪問控制列表ACL表項;
當發(fā)現(xiàn)有新的iSCSI報文到達設(shè)備時,根據(jù)預(yù)定的訪問控制策略,利用上 述ACL表項確定該報文是否合法。
所述ACL表項包括第一和第二ACL表項,其中,第一ACL表項在iSCSI 發(fā)現(xiàn)過程中建立,第二ACL表項在正常會話過程中建立。
所述第一 ACL表項對應(yīng)第一訪問控制策略,第二 ACL表項對應(yīng)第二訪問 控制策略,且第一訪問控制策略、第二訪問控制策略不相同。
所述第一訪問控制策略為與第一 ACL表項部分匹配則過濾,第二訪問控 制策略為與第二ACL表項非全部匹配則過濾。
所述第一ACL表項包括發(fā)起端名稱、發(fā)起端媒體訪問控制MAC地址、
發(fā)起端IP地址、iSCSI接口IP地址、iSCSI接口 MAC地址中的至少兩項;
所述第二 ACL表項包括發(fā)起端MAC地址、發(fā)起端IP地址、目標端MAC 地址、目標端IP地址中的至少一項。
所述第一 ACL表項和第二 ACL表項進一 步包括發(fā)起端到網(wǎng)絡(luò)設(shè)備的 入端口信息、入端口所在虛擬局域網(wǎng)VLAN信息、入端口所屬網(wǎng)段信息中 的一種或任意組合。
與現(xiàn)有技術(shù)相比,本發(fā)明實施例通過在iSCSI會話過程中,偵聽發(fā)起端 與目標端之間交互的報文,根據(jù)報文中的發(fā)起端信息,或者目標端信息,或 者發(fā)起端信息和目標端信息,建立ACL表項,根據(jù)建立的ACL表項對發(fā)起 端進行訪問控制,避免了在合法Initiator與Target會話過程中,非法Initiator 對存儲系統(tǒng)的惡意攻擊,實現(xiàn)了對存儲數(shù)據(jù)的有效保護,且提高了存儲系統(tǒng) 處理正常存儲業(yè)務(wù)的工作效率。
圖1為現(xiàn)有的典型的iSCSI應(yīng)用環(huán)境示意圖2為現(xiàn)有的帶有安全認證的iSCSI Initiator和Target會話過程的消息 流程示意圖3為本發(fā)明實施例提供的在iSCSI Initiator和Target會話過程中建立 ACL表項的流程圖4為本發(fā)明實施例提供的利用建立的第一 ACL表項對Initiator的 Target發(fā)現(xiàn)過程進行訪問控制的流程圖5為本發(fā)明實施例提供的利用建立的第二 ALC表項對Inititor的正常 會話過程進行訪問控制的流程圖6為本發(fā)明實施例提供的iSCSI訪問控制單元的結(jié)構(gòu)示意圖。
具體實施例方式
下面結(jié)合附圖及具體實施例對本發(fā)明再作進一步詳細的說明。在本發(fā)明中,將iSCSI會話分為兩個階段,第一階段是,為了獲取授權(quán) Target列表的Target發(fā)現(xiàn)過程;第二階段是,為了建立應(yīng)用主機和存儲系統(tǒng) 之間的會話通道、以及利用建立的會話通道進行數(shù)據(jù)傳輸?shù)恼掃^程。
圖3為本發(fā)明實施例提供的在iSCSI Initiator和Target會話過程中建立 訪問控制列表(ACL)表項的流程圖,本實施例中提到的訪問控制單元可以 是存儲系統(tǒng)的前端網(wǎng)絡(luò)設(shè)備如存儲系統(tǒng)中的前端交換機,也可以是存儲系 統(tǒng)與發(fā)起端之間的網(wǎng)絡(luò)設(shè)備如存儲系統(tǒng)接入IP網(wǎng)的接入設(shè)備,如圖3所 示,其具體步驟如下
本實施例中,為了區(qū)分在Target發(fā)現(xiàn)過程中和在正常會話過程中建立的 ACL表項,將在Target發(fā)現(xiàn)過程中建立的ACL表項統(tǒng)稱為第一 ACL表項, 將在正常會話過程中建立的ACL表項統(tǒng)稱為第二 ACL表項。
步驟301:應(yīng)用主機根據(jù)配置在自身的存儲系統(tǒng)的iSCSI接口地址如 IP地址、MAC地址和TCP端口 ,啟動iSCSI Target的發(fā)現(xiàn)過程,向存儲系 統(tǒng)發(fā)送登錄請求報文,以獲取存儲系統(tǒng)授權(quán)給自身的Target列表。
步驟302:訪問控制單元偵聽到登錄請求報文,從報文的PDU部分獲 取Initiator Name 、 Initiator々某體i方問4空制(MAC, Media Access Control);也 址、Initiator IP地址、iSCSI接口 IP地址、iSCSI接口 MAC地址,建立第一 ACL表項。
本步驟中建立的第一 ACL表項包括Initiator Name、 Initiator MAC地 址、Initiator IP地址、iSCSI接口IP地址、iSCSI接口 MAC地址,且ACL 過濾〗見則為部分匹配。
這里,將ACL過濾規(guī)則設(shè)定為部分匹配的含義是若一個Initiator發(fā) 來了針對iSCSI Target發(fā)現(xiàn)過程的才艮文,則若該報文中的Initiator Name、 Initiator MAC地址、Initiator IP地址、iSCSI接口 IP地址、iSCSI接口 MAC 地址與每一條第一 ACL表項都全部不匹配,則認為該Initiator為新的合法 Initiator,允許其訪問存儲系統(tǒng);若該才艮文中的Initiator Name、 Initiator MAC 地址、Initiator IP地址、iSCSI接口 IP地址、iSCSI接口 MAC地址與某一條
第一 ACL表項全部匹配,則認為該Initiator為正在進行Target發(fā)現(xiàn)過程的 合法Initiator,允許其訪問存儲系統(tǒng);若該才艮文中的Initiator Name、 Initiator MAC地址、Initiator IP地址、iSCSI接口 IP地址、iSCSI接口 MAC地址與 某一條第一 ACL表項只有部分匹配,則認為該Initiator為非法Initiator,拒 絕其訪問存儲系統(tǒng)。
步驟303:訪問控制單元偵聽到Target發(fā)現(xiàn)過程結(jié)束,將建立的第一 ACL表項下發(fā)到本地配置,使得該第一 ACL表項生效。
步驟304:應(yīng)用主機從存儲系統(tǒng)授權(quán)給自身的Target列表中選擇一個 Target,作為當前要登錄的Target 。
步驟305:應(yīng)用主機與當前要登錄的Target建立TCP/IP連接。
步驟306:應(yīng)用主機向存儲系統(tǒng)發(fā)送登錄請求才艮文,才艮文中攜帶Initiator MAC地址、Initiator IP地址和要登錄Target IP地址,該報文中的才喿作碼指 明當前需要進行安全認證方式協(xié)商。
步驟307:訪問控制單元偵聽到登錄請求報文,從報文的PDU部分獲 取Initiator MAC地址、Initiator IP地址和Target MAC地址、Target IP地址, 建立第二 ACL表項。
執(zhí)行本步驟后,第二ACL表項包括Initiator MAC地址、Initiator IP 地址、以及Initiator要登錄的Target MAC地址、Target IP地址,且ACL過 濾夫見則為非全部匹配。
這里ACL過濾規(guī)則為非全部匹配的含義是只有Initiator在正常會話 過程中發(fā)來的報文中的Initiator MAC地址、Initiator IP地址、Target MAC 地址、Target IP地址與某一條第二 ACL表項完全匹配,該Initiator才被認 為是合'法Initiator; 否貝'j , ^人為^i亥Initiator為一^ '法Initiator。
步驟308:訪問控制單元偵聽到存儲系統(tǒng)返回的登錄響應(yīng)凈艮文,檢測到 該報文攜帶安全認證方式協(xié)商結(jié)果,判斷該結(jié)果是否指示安全認證方式協(xié)商 成功,若是,執(zhí)行步驟310;否則,執(zhí)行步驟309。
步驟309:訪問控制單元根據(jù)登錄響應(yīng)報文中攜帶的Initiator MAC地
址、InitiatorIP地址在自身查找到匹配的第一、第二ACL表項,老化或刪除 該第一、第二ACL表項,本流程結(jié)束。
步驟310:訪問控制單元向應(yīng)用主機轉(zhuǎn)發(fā)登錄響應(yīng)報文。
步驟311:應(yīng)用主機接收登錄響應(yīng)報文,向存儲系統(tǒng)發(fā)送登錄請求報文, 該報文攜帶Initiator MAC地址、Initiator IP地址以及要登錄的Target IP地 址、Target MAC地址,該報文中的操作碼指明當前需要進行操作方式協(xié)商。
步驟312:訪問控制單元偵聽到存儲系統(tǒng)返回的登錄響應(yīng)報文,檢測到 該報文攜帶操作方式協(xié)商結(jié)果,判斷該結(jié)果是否指示操作方式協(xié)商成功,若 是,執(zhí)行步驟314;否則,執(zhí)行步驟313。
步驟313:訪問控制單元4艮據(jù)登錄響應(yīng)4艮文中攜帶的Initiator MAC地 址、Initiator IP地址,在自身查找到對應(yīng)的第一、第二ACL表項,老化或刪 除該第一、第二ACL表項,本流程結(jié)束。
步驟314:訪問控制單元根據(jù)登錄響應(yīng)報文中攜帶的Target MAC地址、 Target IP地址、Initiator MAC地址、Initiator IP地址在自身查找到匹配的第 二ACL表項即步驟307中建立的第二 ACL表項,將該第二ACL表項下 發(fā)到本地配置,使得第二ACL表項生效,將該登錄響應(yīng)報文轉(zhuǎn)發(fā)給應(yīng)用主 機,應(yīng)用主機和存儲系統(tǒng)之間的會話通道建立。
當?shù)谝?、第?ACL表項配置生效后,就可利用第一、第二ACL表項對 Initiator端發(fā)來的才艮文進行過濾。
在實際應(yīng)用中,若要加快ACL過濾速度,第一 ACL表項中也可只包括 Initiator Name、 Initiator MAC地址、Initiator IP地址、iSCSI接口 IP地址、 iSCSI接口 MAC地址中的任意兩項或任意三項或任意四項;第二ACL表項 中可只包括Initiator MAC地址、Initiator IP地址、Target MAC地址、Target IP地址中的任意一項或任意兩項或任意三項。
圖4為本發(fā)明實施例提供的利用圖3所示實施例中建立的第一 ACL表 項對Initiator的Target發(fā)現(xiàn)過程進行訪問控制的流程圖,如圖4所示,其具 體步驟如下
步驟401:訪問控制單元偵聽到Initiator端在iSCSI Target發(fā)現(xiàn)過程中 發(fā)來的報文,則從才艮文中獲取Initiator Name、 Initiator MAC地址、Initiator IP 地址、iSCSI接口IP地址、iSCSI接口 MAC地址。
步驟402:訪問控制單元判斷從報文中獲取的Initiator Name、 Initiator MAC地址、Initiator IP地址、iSCSI接口IP地址、iSCSI接口 MAC地址是 否與一條第一 ACL表項部分匹配,若是,執(zhí)行步驟403;否則,執(zhí)行步驟 404。
若報文中的Initiator Name、 Initiator MAC地址、Initiator IP地址、iSCSI 接口 IP地址、iSCSI接口 MAC地址與訪問控制單元上存在的某一條第一 ACL表項部分匹配,則確定該報文為非法Initiator發(fā)來的。
步驟403:訪問控制單元丟棄報文,本流程結(jié)束。
步驟404:訪問控制單元根據(jù)報文中的Target IP地址將報文轉(zhuǎn)發(fā)給存儲 系統(tǒng)。
圖5為本發(fā)明實施例提供的利用建立的ACL表項對Initiator的正常會 話過程進行訪問控制的流程圖,如圖5所示,其具體步驟如下
步驟501:訪問控制單元偵聽到Initiator端在正常會話過程中發(fā)來的報 文,從才艮文中獲取Initiator MAC地址、Initiator IP地址、Target MAC地址、 Target IP地址。
本步驟中的報文既可以是消息報文,也可以是數(shù)據(jù)報文。
步驟502:訪問控制單元判斷乂人才艮文中獲取的Initiator MAC地址、 Initiator IP地址、Target MAC地址、Target IP地址是否與 一條第二 ACL表 項全部匹配,若是,執(zhí)行步驟504;否則,執(zhí)行步驟503。
步驟503:訪問控制單元丟棄才艮文,本流程結(jié)束。
步驟504:訪問控制單元才艮據(jù)報文中的Target MAC地址、Target IP地 址將纟艮文轉(zhuǎn)發(fā)給Target。
在實際應(yīng)用中,黑客有可能將合法的Initiator Name、 Initiator MAC地 址、Initiator IP地址、甚至Target Name、 Target MAC地址、Target IP地址
信息都盜取到,此時訪問控制單元就無法過濾掉黑客發(fā)來的攜帶所盜取的
Initiator信息,或者Initiator和Target信息的報文了 。為了解決該問題,可 以在ACL表項中加入合法的Initiator到Target的路由信息如Initiator發(fā)來 的報文在訪問控制單元上的入端口 、該入端口所在的VLAN標識、該入端 口所屬的網(wǎng)段等信息中的 一種或任意組合,這樣訪問控制單元在收到報文 時,可將該才艮文中的Initiator Name、 Initiator MAC地址、Initiator IP地址, 或者Initiator MAC地址、Initiator IP地址、Target MAC地址、Target IP地 址信息和該報文的路由信息都進行ACL過濾。由于黑客雖然模擬了合法 Initiator Name、 Initiator MAC地址、Initiator IP地址,但是黑客的真實MAC 地址、IP地址畢竟與合法Initiator MAC地址、Initiator IP地址不同,因此黑 客到Target的路由必然與合法Initiator到Target的路由不同,從而可以將黑 客發(fā)來的報文過濾掉。
當數(shù)據(jù)傳輸完成時,應(yīng)用主機會向存儲系統(tǒng)發(fā)送登錄退出請求報文,存 儲系統(tǒng)收到該登錄退出請求報文后,向應(yīng)用主機返回登錄退出響應(yīng)報文,訪 問控制單元偵聽到登錄退出響應(yīng)報文,從報文的PDU部分獲取Target MAC 地址、Target IP地址、Initiator MAC地址、Initiator IP地址,老化或刪除與 獲取的Initiator MAC地址、Initiator IP地址對應(yīng)的第一 ACL表項,同時, 老化或刪除與Target MAC地址、Target IP地址、Initiator MAC地址、Initiator IP地址對應(yīng)的第二 ACL表項。
圖6為本發(fā)明實施例提供的iSCSI訪問控制單元的結(jié)構(gòu)示意圖,如圖6 所示,其主要包括ACL建立模塊61、 ACL過濾模塊62和ACL維護模塊 63,其中
ACL建立模塊61:在iSCSI會話中,偵聽Initiator與Target之間交互 的報文,從報文中獲取Initiator信息,或者獲取Initiator信息和Initiator登 錄的Target信息,建立ACL表項。
在實際應(yīng)用中,ACL建立模塊61可以由第一 ACL建立模塊611、第 二 ACL建立模塊612和路由偵聽模塊613,各模塊的主要功能如下
第一 ACL建立模塊611:偵聽到應(yīng)用主機在iSCSI Target發(fā)現(xiàn)過程中向 存儲系統(tǒng)發(fā)起的登錄請求報文,則從報文的PDU部分獲取Initiator Name、 Initiator MAC地址、Initiator IP地址、iSCSI接口 IP地址、iSCSI接口 MAC 地址,并建立第一ACL表項。
第二 ACL建立模塊612:偵聽到攜帶操作碼指示當前需要進行安全認 證方式協(xié)商的登錄請求報文,從報文的PDU部分獲取Initiator MAC地址、 Initiator IP、 Target MAC地址、Target IP地址,并建立第二ACL表項。
路由偵聽才莫塊613:將Initiator到Target間的^各由信息如Initiator發(fā) 來的報文在訪問控制單元上的入端口信息、入端口所在VLAN標識、入端 口所屬網(wǎng)段信息加入與Initiator MAC地址、Initiator IP地址對應(yīng)的第 一和第 二 ACL表項。
ACL過濾模塊62:偵聽到Initiator發(fā)來的報文,根據(jù)已建立的ACL表 項對4艮文進行過濾。
在實際應(yīng)用中,ACL過濾模塊62可以由第一 ACL過濾模塊621和第 二ACL過濾模塊622組成,各模塊的主要功能如下
第一 ACL過濾模塊621:偵聽到Initiator在Target發(fā)現(xiàn)過程中發(fā)來的報 文,從才艮文中獲取Initiator Name、 Initiator MAC地址、Initiator IP地址、iSCSI 接口 IP地址、iSCSI接口 MAC地址,判斷獲取的Initiator Name、 Initiator MAC 地址、Initiator IP地址、iSCSI接口 IP地址、iSCSI接口 MAC地址是否與一 條第一 ACL表項部分匹配,若是,拒絕Initiator訪問Targer;否則,允許 Initiator訪問Target 。
第二 ACL過濾模塊622:偵聽到Initiator在正常會話過程中發(fā)來的報文, 從報文的PDU部分獲取Initiator MAC地址、Initiator IP地址和Target MAC 地址、Target IP地址,判斷獲取的Initiator MAC地址、Initiator IP地址和 Target MAC地址、Target IP地址是否與 一條第二 ACL表項全部匹配,若是, 允i午Initiator "i方問Target;否則,拒絕Initiator i方問Target。
ACL維護模塊63:偵聽到Initiator與Target之間的會話結(jié)束,刪除或老化與Initiator MAC地址、Initiator IP地址對應(yīng)的ACL表項包括第一 ACL 表項和第二 ACL表項。
本發(fā)明實施例還提供了一種網(wǎng)絡(luò)設(shè)備,包括硬件平臺以及運行于硬件平 臺上的iSCSI訪問控制軟件,該iSCSI訪問控制軟件在硬件平臺上運行時,控 制該網(wǎng)絡(luò)設(shè)備執(zhí)行如圖3-5所示實施例提供的方法。
以上所述僅為本發(fā)明的過程及方法實施例,并不用以限制本發(fā)明,凡在 本發(fā)明的精神和原則之內(nèi)所做的任何修改、等同替換、改進等,均應(yīng)包含在 本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1、一種訪問控制方法,用于存儲系統(tǒng)與發(fā)起端之間的網(wǎng)絡(luò)設(shè)備上或者存儲系統(tǒng)前端的網(wǎng)絡(luò)設(shè)備上,其特征在于,該方法包括在因特網(wǎng)小型計算機系統(tǒng)接口iSCSI會話中,偵聽發(fā)起端與目標端之間交互的報文,根據(jù)報文中的發(fā)起端信息,或者目標端信息,或者發(fā)起端信息和目標端信息,建立用以區(qū)分合法與非法發(fā)起端的訪問控制列表ACL表項,根據(jù)建立的ACL表項對發(fā)起端進行訪問控制。
2、 如權(quán)利要求l所述的方法,其特征在于,所述偵聽發(fā)起端與目標端之間 交互的報文為偵聽發(fā)起端與目標端在目標端發(fā)現(xiàn)過程中交互的報文;所述建立ACL表項包括根據(jù)發(fā)起端發(fā)起的報文中的發(fā)起端名稱、發(fā)起端媒體訪問控制MAC地址、 發(fā)起端IP地址、iSCSI接口IP地址、iSCSI接口 MAC地址中的至少兩項,建 立ACL表項。
3、 如權(quán)利要求2所述的方法,其特征在于,所述根據(jù)建立的ACL表項對 發(fā)起端進行訪問控制包括偵聽到發(fā)起端在目標端發(fā)現(xiàn)過程中發(fā)來的報文,判 斷報文中的發(fā)起端名稱、發(fā)起端MAC地址、發(fā)起端IP地址、iSCSI接口IP地 址、iSCSI接口 MAC地址是否與ACL表項部分匹配,若是,拒絕發(fā)起端訪問 目標端;否則,允許發(fā)起端訪問目標端。
4、 如權(quán)利要求l所述的方法,其特征在于,所述偵聽發(fā)起端與目標端之間 交互的報文為偵聽發(fā)起端與目標端在正常會話過程中交互的報文;所述建立ACL表項包括根據(jù)發(fā)起端發(fā)起的報文中的發(fā)起端MAC地址、發(fā)起端IP地址、目標端 MAC地址、目標端IP地址中的至少一項,建立ACL表項。
5、 如權(quán)利要求4所述的方法,其特征在于,所述根據(jù)建立的ACL表項對 發(fā)起端進行訪問控制包括偵聽到發(fā)起端在正常會話過程中發(fā)來的報文,判斷 報文中的發(fā)起端MAC地址、發(fā)起端IP地址、目標端MAC地址、目標端IP地址是否與ACL表項全部匹配,若是,允許發(fā)起端訪問目標端;否則,拒絕發(fā)起 端i方問目標端。
6、 如權(quán)利要求1所述的方法,其特征在于,所述建立ACL表項進一步包括將發(fā)起端到目標端之間的路由信息加入該已建立的ACL表項中。
7、 如權(quán)利要求6所述的方法,其特征在于,所述路由信息為入端口信息、 入端口所在虛擬局域網(wǎng)VLAN信息、入端口所屬網(wǎng)段信息中的一種或任意組合。
8、 如權(quán)利要求l所述的方法,其特征在于,所述根據(jù)建立的ACL表項對 發(fā)起端進行訪問控制之后進一步包括檢測到發(fā)起端與目標端之間的會話結(jié)束,老化或刪除與發(fā)起端信息對應(yīng)的 ACL表項。
9、 一種訪問控制單元,位于存儲系統(tǒng)與發(fā)起端之間的網(wǎng)絡(luò)設(shè)備上或者存儲 系統(tǒng)前端的網(wǎng)絡(luò)設(shè)備上,其特征在于,該單元包括訪問控制列表ACL建立模塊,在因特網(wǎng)小型計算機系統(tǒng)接口 iSCSI會話中, 偵聽發(fā)起端與目標端之間交互的報文,根據(jù)報文中的發(fā)起端信息,或者目標端 信息,或者發(fā)起端和目標端信息,建立ACL表項;ACL過濾模塊,根據(jù)建立的ACL表項對發(fā)起端進行訪問控制。
10、 如權(quán)利要求9所述的單元,其特征在于,所述ACL建立模塊包括 第一ACL建立模塊,偵聽到發(fā)起端在目標端發(fā)現(xiàn)過程中發(fā)起的報文,根據(jù)報文中的發(fā)起端信息,或者目標端信息,或者發(fā)起端和目標端信息,建立第一 ACL表項;第二ACL建立模塊,偵聽到發(fā)起端在正常會話過程中發(fā)起的報文,根據(jù)報 文中的發(fā)起端信息,或者目標端信息,或者發(fā)起端信息和目標端信息建立第二 ACL表項。
11、 如權(quán)利要求9所述的單元,其特征在于,所述ACL建立^t塊進一步包括路由偵聽模塊,將發(fā)起端到目標端間的路由信息加入與發(fā)起端信息對應(yīng)的 ACL表項。
12、 如權(quán)利要求IO所述的單元,其特征在于,所述ACL過濾模塊包括 第一ACL過濾模塊,偵聽到發(fā)起端在目標端發(fā)現(xiàn)過程中發(fā)起的報文,判斷報文中的發(fā)起端信息、目標端信息是否與第一ACL表項部分匹配,若是,拒絕 發(fā)起端訪問目標端;否則,允許發(fā)起端訪問目標端;第二ACL過濾模塊,偵聽到發(fā)起端在正常會話過程中發(fā)起的報文,判斷報 文中的發(fā)起端信息和目標端信息是否與第二 ACL表項全部匹配,若是,允許發(fā) 起端訪問目標端;否則,拒絕發(fā)起端訪問目標端。
13、 如權(quán)利要求9所述的單元,其特征在于,所述單元進一步包括ACL 維護模塊,偵聽到發(fā)起端與目標端之間的會話結(jié)束,老化或刪除與發(fā)起端信息 對應(yīng)的ACL表項。
14、 如權(quán)利要求9所述的單元,其特征在于,該單元位于目標端所在存儲 系統(tǒng)中的前端交換機上,或者位于目標端所在存儲系統(tǒng)接入IP網(wǎng)絡(luò)的接入設(shè)備 上。
15、 如權(quán)利要求9所述的單元,其特征在于,所述ACL建立模塊進一步包 括將發(fā)起端到iSCSI訪問控制單元的入端口信息、入端口所在虛擬局域網(wǎng) VLAN信息、入端口所屬網(wǎng)段信息中的一種或任意組合,加入ACL表項中的子 模塊。
16、 一種網(wǎng)絡(luò)設(shè)備,其特征在于,包括硬件平臺以及運行于硬件平臺上 的因特網(wǎng)小型計算機系統(tǒng)接口 iSCSI訪問控制軟件,該iSCSI訪問控制軟件在 硬件平臺上運行時,控制該網(wǎng)絡(luò)設(shè)備執(zhí)行如下方法從iSCSI會話雙方發(fā)起端和目標端交互的報文中獲取至少兩個標識用以標 示該iSCSI會話;根據(jù)上述兩個標識建立訪問控制列表ACL表項;當發(fā)現(xiàn)有新的iSCSI報文到達設(shè)備時,根據(jù)預(yù)定的訪問控制策略,利用上 述ACL表項確定該報文是否合法。
17、 如權(quán)利要求16所述的網(wǎng)絡(luò)設(shè)備,其特征在于,所述ACL表項包括第一和第二 ACL表項,其中,第一 ACL表項在iSCSI發(fā)現(xiàn)過程中建立,第二ACL 表項在正常會話過程中建立。
18、 如權(quán)利要求17所述的網(wǎng)絡(luò)設(shè)備,其特征在于,所述第一ACL表項對 應(yīng)第一訪問控制策略,第二 ACL表項對應(yīng)第二訪問控制策略,且第一訪問控制 策略、第二訪問控制策略不相同。
19、 如權(quán)利要求18所述的網(wǎng)絡(luò)設(shè)備,其特征在于,所述第一訪問控制策略 為與第一 ACL表項部分匹配則過濾,第二訪問控制策略為與第二ACL表 項非全部匹配則過濾。
20、 如權(quán)利要求17所述的網(wǎng)絡(luò)設(shè)備,其特征在于,所述第一ACL表項包 括發(fā)起端名稱、發(fā)起端媒體訪問控制MAC地址、發(fā)起端IP地址、iSCSI接 口IP地址、iSCSI接口 MAC地址中的至少兩項;所述第二 ACL表項包括發(fā)起端MAC地址、發(fā)起端IP地址、目標端MAC 地址、目標端IP地址中的至少一項。
21、 如權(quán)利要求20所述的網(wǎng)絡(luò)設(shè)備,其特征在于,所述第一ACL表項和 第二 ACL表項進一步包括發(fā)起端到網(wǎng)絡(luò)設(shè)備的入端口信息、入端口所在虛擬 局域網(wǎng)VLAN信息、入端口所屬網(wǎng)段信息中的一種或任意組合。
全文摘要
本發(fā)明公開了一種訪問控制方法、單元及網(wǎng)絡(luò)設(shè)備。方法包括在iSCSI會話中,偵聽發(fā)起端與目標端之間交互的報文,根據(jù)報文中的發(fā)起端信息,或者目標端信息,或者發(fā)起端和目標端信息,建立ACL表項,根據(jù)建立的ACL表項對發(fā)起端進行訪問控制。本發(fā)明避免了非法Initiator對存儲系統(tǒng)的惡意攻擊,對存儲系統(tǒng)中的數(shù)據(jù)提供了有效保護,提高了存儲系統(tǒng)的CPU處理正常存儲業(yè)務(wù)的工作效率。
文檔編號H04L12/56GK101188558SQ20071017901
公開日2008年5月28日 申請日期2007年12月7日 優(yōu)先權(quán)日2007年12月7日
發(fā)明者萬曉蘭 申請人:杭州華三通信技術(shù)有限公司