網絡二層安全

 

網絡二層安全
 
二層***方法可分爲四大類:
1、MAC layer attacks                2、VLAN attacks
3、spoof attacks                   4、attacks on switch devices
 
一、MAC layer attacks***方法:
 1、MAC地址flooding***      
 2、MAC地址的欺騙***解決方案:
a、基於源MAC地址允許流量:端口安全 b、基於源MAC地址限制流量:static CAM  
c、阻止未知的單/組播幀              d、802.1x基於端口的認證
 
二、VLAN attacks解決方案:
    1switch mode access          2、VACL          3、PVLAN
 
三、spoof attacks的分類:
    1DHCP spoof       解決方案:DHCP snooping 
 2、IP spoof         解決方案:IP 源防護 
 3、ARP spoof        解決方案:a、靜態綁定ARP條目      b、DAI
 
四、attacks on switch devices
 1、關閉不必要的服務,比如CDP    2、限制廣播/組播流量   
 3、爲交換機設置登錄密碼          4、使用SSH實現安全的登錄
 
<端口安全>
·SW端口安全是2層特性,提供兩個方面的保護:
1、 可以限定一個接口所能學習的MAC地址數量 2、可以在一個接口靜態綁定MAC地址
 
方法:
1. 基於主機MAC來允許流量 
·可定義2個參數:授權的MAC地址/允許學習多少個MAC地址(默認=1) 
·違背端口安全,採取的行爲:
  1.shutdown:將永久性或特定週期內Err-Disable端口(默認行爲),併發送snmp trap    2.restrict:當超過所允許學習的最大MAC數時,將未授權主機的幀丟棄drop,並將violation計數器增加  
3.protect :當超過所允許學習的最大MAC數時,將未授權主機的幀丟棄drop
 
int f0/1 switchport mode access      //啓用端口安全時,必須先設爲access接口 switchport port-security              //啓用端口安全(默認只能學一個MAC,當沒有開                                        Port-security時,可以接收無數個)
switchport port-security maximum 1   //指定最多允許學多少個地址 switchport port-security mac-address aaaa.bbbb.cccc switchport port-security violation [protect|restrict|shutdown] //指定行爲
switchport port-security aging time 1 (分鐘) //設定多長時間後能重新學習MAC地址,也就是設定現有MAC地址的有效期
switchport port-security mac-address sticky //將動態學到的地址粘住,永久使用
show port-security                   //可以看到哪些接口應用了端口安全show port-security address           //可以看到授權的MAC地址show port-security interface f0/1       //可以看到接口的具體狀態show interfaces fastEthernet 0/1
 
FastEthernet0/1 is down, line protocol is down (err-disabled)
通常做接口安全,要先把接口shut down,這樣它就不會自動學習
err-disable接口自動恢復errdisable recovery cause psecure-violation(設置時間:errdisable recovery interval time)show errdisable
 
2.基於主機MAC來限制流量 (3550上纔可以做) 列表中定義的MAC將被限制流量
  mac-address-table static 0010.7b80.7b9b vlan 1 drop
 
3、阻塞未知單(組)播擴散(3550上纔可以做) 
對未知MAC地址,SW將從本VLAN的其他端口轉發出去,但對於某些端口(端口安全只需要一個MAC/已到最大MAC)沒必要再轉發這些單(組)播。就可以在這些端口上設定這一特性,通常結合端口安全來做。
int f0/1 switchport block [unicast | multicast]
show int f0/1 switchport
...Unknown unicast blocked: enabled...Unknown multicast blocked: disabled
 
4、802.1x基於端口的認證:
一種第二層的訪問控制方法,通過AAA服務器對接入一個接口的用戶進行認證,以決定客戶能否訪問網絡。
配置:aaa new-modelaaa authentication dot1x default group radiusdot1x system-auth-control
interface f0/1 dot1x port-control auto
Vlan 的 access-map (可以基於mac與ip)VACL也叫VLAN映射表,通過VACL可以實現對一個VLAN中的流量進行過濾。VACL可以根據二層信息進行過濾,也可以根據三層信息來進行過濾。
1、通過調用IP ACL,可以根據三層的IP地址、協議以及端口號等信息進行過濾。
2、通過調用MAC ACL,可以根據MAC地址進行過濾,還可以過濾其它的非IP流量。
 
 每一個VACL可以包含多條語句,每一條語句對於匹配的流量可以有三種不同的操作:   
 a、forward   轉發,對數據幀或數據包進行正常轉發 
b、drop   丟棄,當數據流與某個拒絕語句匹配上,將被丟棄    
c、重定向 對於數據流的轉發方向作重定向   (高端交換機才支持)   
 注意:如果沒有說明一條語句的操作行爲,默認的行爲是forward。如果進入VLAN的數據流沒有匹配上任何一條語句,最後將被丟棄掉。
 
* 基於IP的:
access-list 1 permit 192.168.1.1 0.0.0.0
vlan access-map WOLF 10 match ip address 1 action dropvlan access-map WOLF 20 action forword
vlan filter WOLF vlan-list 100   //全局模式下調用,要指明用在哪個VLAN中,也可對所有ALL
注意:每一條語句默認是轉發的 show run 可以看到有 action forword
show vlan access-mapshow vlan filter
 
* 基於mac地址的(MAC地址列表,PACL):
   1、先寫MAC地址列表mac access-list extended ccnp permit host 00e0.1e3d.d18c any
2、再寫access-mapvlan access-map wolf 10 action drop match mac address ccnpvlan access-map wolf 20 action forward
   3、調用:R1(config)#vlan filter wolf vlan-list 10                   
 Access-map的名字   vlan號R1(config)#vlan filter wolf vlan-list all   對所有VLAN
注意:做這個實驗時,要在每一臺路由器上先clear arp-cache
 
DHCP snooping原理:
  啓用後,可以將交換機的端口分爲trusted接口和Untrusted接口,默認在交換機上啓用後,所有接口變爲Untrusted接口,需要手動設置trusted接口。--對於Untrusted接口,只能接收DHCP的請求消息,不會向這個接口發送出DHCP的請求消息。並且drop掉接口進來的DHCP的響應消息。--對於trusted接口,沒有任何限制,也不做檢測。
 
注意:早期的IOS不支持
 
配置實例:
 第一步:SW1(config)#ip dhcp snooping         必須先開啓這一命令,相當於總開關SW1(config)#ip dhcp snooping vlan 1 再指定VLAN,這一步也必須要
第二步:指定trusted接口,通常是trunk接口vb 、連接真實DHCP服務器的接口。SW1(config-if)#ip dhcp snooping trust
第三步:還要在被信任的DHCP服務器上打上下列命令:(如果是用路由器做DHCP服務器的話才需要)R1(config)#ip dhcp relay information trust-all
SW1#show ip dhcp snooping
關鍵點:DHCP snooping會在接入的交換機上建立一個DHCP綁定表,爲每一個分配的IP建立一個表項,其中包括客戶端的IP地址、MAC地址、端口號、VLAN編號、租用和綁定類型等信息。也可手動向這個綁定表中添加表項。
SW1#show ip dhcp snooping binding   只顯示動態的綁定項SW1#show ip dhcp snooping databaseSW1#show ip source binding   顯示動態和靜態綁定項
SW1(config)#ip dhcp snooping binding 1234.5678.abcd vlan 20 172.16.1.1 interface f0/5 靜態綁定一個條目
其它命令:SW1(config)#ip dhcp snooping information option   //啓用option82選項,默認就已開啓SW1(config)#ip dhcp snooping limit rate 100       //限定接口每秒可收多少個DHCP請求包
 
IPSG源保護:
 源保護特性可防止非法設備盜用合法設備的IP接入網絡,只能用於二層端口
 
需要用到IP綁定表,有兩種方式獲得綁定條目:
   1、靜態綁定IP源地址    2、使用DHCP snooping技術中動態生成的源IP綁定表
原理:一旦在一個接口啓用了源保護,這個接口默認拒絕所有IP,除非在IP綁定表中有這個接口對應的IP地址綁定條目。
ip source binding aaaa.bbbb.cccc vlan 1 100.1.1.1 interface f0/1 靜態綁定
ip dhcp snooping ip dhcp snooping vlan 1
interface f0/10 ip verify source                //開啓源保護,只基於IP進行檢查,在3560和3750上這樣配 ip verify source port-security //開啓源保護,基於IP和MAC進行檢查,默認對於所有的IP是deny-any,對於mac的動作是permit-any,如果做了端口安全,對於mac的動作就是deny-any。
SW1(config-if)#ip verify source vlan dhcp-snooping port-security 好像4500以上才這樣開啓
show ip verify source 查看所允許的IP地址show ip source binding
 
DAI(dynamic arp inspection)
一種能夠驗證網絡中ARP數據包的安全特性,可以防止中間人***。
 
通常需要和DHCP的snooping結合使用,因爲要利用到DHCP snooping技術生成的綁定表。也可靜態寫IP和MAC的綁定表
 
原理:啓用DAI後,將接口分爲trusted和untrusted。對於untrusted接口,要進行ARP的檢查,必須是和綁定表中的條目相匹配的ARP包才允許通過。
ip arp inspection vlan 1    //啓用
int f0/1 ip arp inspection trust //指定arp檢測的trust接口,一定要做
ip arp inspection limit rate 100 //限制每秒所接收的arp包個數
show ip arp inspection interfacesshow ip arp inspection vlan 1
一個實際案例:(不跟DHCP的snooping結合,單獨使用DAI)
arp access-list WOLF permit ip host 162.16.40.1 mac host 0000.0c07.ac28
Cisco7609_2(config)#ip arp inspection vlan 40Cisco7609_2(config)#ip arp inspection filter WOLF vlan 40 static
注意:ARP包是直接封裝進二層的,所以上面的源保護技術沒法對付ARP欺騙
廣播/組播抑制:
用於對流入端口的廣播和組播流量進行監控,超過閥值後丟棄數據包。
3550(config-if)#storm-control broadcast level 5 按百分比進行監控3550(config-if)#storm-control broadcast bps 10 按實際流量,注意單位是M

轉載自http://xnxycbq2010.blog.51cto.com/2399636/463426

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章