引言:現(xiàn)在網(wǎng)絡(luò)安全防護中,防止設(shè)備的非法接入,是網(wǎng)絡(luò)安全保護中的第一道防線。在網(wǎng)絡(luò)安全的防護中,我們需要在非法終端進入網(wǎng)絡(luò)前就能夠?qū)υO(shè)備進行識別。在筆者單位的各個項目中,通過終端設(shè)備的控制,保證了服務(wù)安全穩(wěn)定的運行。
現(xiàn)在網(wǎng)絡(luò)安全防護中,防止設(shè)備的非法接入,是網(wǎng)絡(luò)安全保護中的第一道防線。我們需要在非法終端進入網(wǎng)絡(luò)前就能夠?qū)υO(shè)備進行識別。
經(jīng)常用到的一些接入控制為ACL限制、AAA認證等,但除了這種常規(guī)性的接入控制外,我們單位在增強網(wǎng)絡(luò)安全方面,進行了更深入的限制,大致分為如下幾種:
1.DHCP協(xié)議控制;
2.接入層IPVLAN限定;
3.終端硬件識別。
終端設(shè)備可以通過多種方式獲取接入用的IP地址,如PPPOE撥號、L2TPVPN等,這些協(xié)議最終會通過DHCP服務(wù)向終端提供合法的IP信息。設(shè)備進行DHCP認證中,在RFC2131協(xié)議的VLAN子接口中描述了全部的階段,其中基本階段有四個:
終端首先向本地子網(wǎng)中廣播發(fā)送“DHCPDIS COVER”,尋找DHCP服務(wù)器。
DHCP服務(wù)器向終端發(fā)回“DHCPOFFER”響 應(yīng),yiaddr字段中包含可以提供的IP地址,由于網(wǎng)絡(luò)中可能有多臺DHCP服務(wù)器,終端一般只會響應(yīng)第一條。
終端繼續(xù)向本地子網(wǎng)中廣播發(fā)送“DHCPREQUEST”,包 含“server identifier”用來聲明自己選擇了哪一臺DHCP服務(wù)器,以及“yiaddr”字段聲明自己確認使用這個IP地址。
最終,DHCP服務(wù)器向終端發(fā)送“DHCPACK”,包含相應(yīng)的網(wǎng)絡(luò)配置。
當(dāng)然,完整的協(xié)議交互中,還包含DHCPNAK、DHCPDECLI NE、DHCPRELEASE、DHCPINFO RM等過程,本文在此不在贅述。
DHCP的附加協(xié)議中定義了一些OPTION,可以對DHCP進行進一步的控制。我們可以選擇使用供應(yīng)商類別識別符來進行終端的接入控制。這種方法規(guī)定在RFC2132之中,位于“Vendor class identifier”,其數(shù)據(jù)包中的Code字段為60,故俗稱為“OPTION 60協(xié)議”。
我們使用Centos系統(tǒng)搭建DHCP服務(wù)器,安裝方法只需要利用如下命令即可:yum -y install dhcp。同時,將相應(yīng)的防火墻端口也打開。
DHCP服務(wù)器的配置文件位于/etc/dhcp/dhcpd.conf中。
在配置文件中定義一個class,用來標(biāo)識限定用的字符串:
然后就可以在各個subnet中 啟 用“Vendor class identifier”了。以我們某業(yè)務(wù)為例,定義了一個17位掩碼的子網(wǎng)(為了網(wǎng)絡(luò)安全,相關(guān)的真實IP地址用C類子網(wǎng)代替):
然后定義給終端提供的附加網(wǎng)絡(luò)信息:
然后,不使用東八區(qū)的標(biāo)準(zhǔn)北京時間,也可以剔除部分非法設(shè)備(我們某項目使用電纜傳輸時間,可以完全自定義):
最后定義一下租約時間,通過設(shè)備認證后,IP地址的租約時間可以設(shè)置長一些,筆者設(shè)置了6小時:
上一步中已經(jīng)定義好了限制OPTION 60用的class,那么只需要建立一個pool地址池,并在上述subnet中分配地址池的時候指定就可以了。
最后,再設(shè)置host的識別:
至此,終端的DHCP接入能力控制就完成了。只有符合規(guī)范的終端能夠獲取IP地址,其他終端申請時,服務(wù)器會用“no free leases”的理由而不響應(yīng)其“DHCPDISCOVER”的 請求,并在日志中保留本次記錄。
接入層的限制,最常用的就是限制VLAN和IP,除了上述DHCP自動獲取以外,在項目運作中還存在給終端手動設(shè)置IP地址的情況。以某個項目為例,總共有一萬多個終端設(shè)備全部需要手動調(diào)試,為了確保設(shè)備的安全,我們將這個業(yè)務(wù)的IP地址同樣規(guī)劃為手動設(shè)置。其中共需要手動設(shè)置的部分為:
將接入的數(shù)據(jù)業(yè)務(wù)封裝在了各個VLAN中,同時全部的物理端口都啟用聚合,防止單點故障。
例如某個接口“interface smartgroup3”,里面只配置一個description描述,不做其他配置。
然后給這個接口啟用VLAN smartgroup3.500的子接口。給這個接口配置VCC,并封裝QinQ為同樣的 VLAN:encapsulationdot1q range 500。
首先啟用用戶側(cè)虛接口,例如“interface vbui3”。在“interface vbui3”之 中開 啟“ARP proxy”來 用于接口之間的通訊,然后給接口分配一個地址“ip address 192.168.0.1” ,“255.255.255.0”來作為網(wǎng)關(guān)(為了保證安全,在這里的全部接口編號以及真實IP地址用C類子網(wǎng)地址來代替)。
接下來給這個“interface vbui3”接口設(shè)置一個地址池“ip-pool pool-name leniyspool pool-id 3”,并往地址池中注入多個地址網(wǎng)段:member 1 startip 192.168.0.1 end-ip 192.168.0.254。
由于我們的目的是通過靜態(tài)IP來增強設(shè)備接入的安全,因此需要將整個地址池中除了網(wǎng)關(guān)以外的其他地址全部標(biāo)記為靜態(tài)。
最后,接口的綁定就非常簡單了,直接在這個vbui接口中,配置“ip-host 192.168.0.5 smartgroup3.500 vlan 500”,就可以將一個IP地址綁定在這個聚合端口,其他沒有綁定的IP地址則無法通過端口通訊。
當(dāng)終端成功的接入網(wǎng)絡(luò)中后,我們還需要在向其提供業(yè)務(wù)之前,最后確認其合法性。
互聯(lián)網(wǎng)上經(jīng)常用到的方法,有賬號密碼識別、來源IP識別、工作時間段識別、session識別、cookie識別等。但這些方法都是基于軟件的識別。
我們除了使用上述識別方法之外,額外添加了終端硬件識別,再次強化終端設(shè)備接入能力。
首先是終端向服務(wù)器發(fā)起請求時,包含其CAID信 息(Conditional Access Identification),數(shù)據(jù)的調(diào)制方式采用64QAM相正交振幅調(diào)制,然后通過前面所述的DHCP或固定地址,將接收到的認證信息和CAID本身利用HTTPS加密發(fā)送給服務(wù)器。
接下來,服務(wù)器認證完畢上述信息后,僅僅允許終端與服務(wù)器之間進行數(shù)據(jù)傳輸,但傳輸什么內(nèi)容,還需要再經(jīng)過一步硬件的識別,也即MAC地址判定以及SN序列號判定。只有在兩者與數(shù)據(jù)庫中的數(shù)據(jù)都匹配了,才能正確的判斷出來這個終端屬于哪個權(quán)限組中,然后服務(wù)器才會向其提供相應(yīng)的服務(wù)。
在筆者單位的各個項目中,以上通過終端設(shè)備的控制,保證了服務(wù)安全穩(wěn)定的運行。
在網(wǎng)絡(luò)安全的防護中,不讓非法終端接入網(wǎng)絡(luò)中,是整個防御網(wǎng)的第一層。而終端設(shè)備接入能力的控制,既減少了多數(shù)非法設(shè)備的接入,又降低了網(wǎng)絡(luò)中設(shè)備的攻擊次數(shù),減緩了網(wǎng)內(nèi)防護設(shè)備的壓力。
而且通過上述的各種方法的限制,成功接入網(wǎng)內(nèi)的設(shè)備的來源比較容易定位,從而為今后一旦發(fā)生網(wǎng)絡(luò)安全入侵事件時能夠通過入侵定位、業(yè)務(wù)快速恢復(fù)等提供了幫助。