二層攻擊方法可分為四大類:
1、MAC layer attacks
2、VLAN attacks
3、spoofattacks
4、attacks on switchdevices
一、MAC layerattacks
攻擊方法: 1、MAC地址flooding攻擊
????????? 2、MAC地址的欺騙攻擊
解決方案:
??? 1、基于源MAC地址允許流量:端口安全
??? 2、基于源MAC地址限制流量:static CAM
??? 3、阻止未知的單/組播幀
??? 4、802.1x基于端口的認
二、VLAN attacks
解決方案: 1、switchmode access
????????? 2、VACL
????????? 3、PVLAN
三、spoofattacks
??? 1、DHCP spoof
?????? 解決方案:DHCP snooping
??? 2、IP spoof
?????? 解決方案:IP 源防護
??? 3、ARP spoof
?????? 解決方案:1、靜態綁定ARP條目
??????????????? 2、DAI
四、attacks onswitch devices
??? 1、關閉不必要的服務,比如CDP
??? 2、限制廣播/組播流量
??? 3、為交換機設置登錄密碼
??? 4、使用SSH實現安全的登錄
?
<端口安全>
?
·SW端口安全是2層特性,提供兩個方面的保護:
? 1、可以限定一個接口所能學習的MAC地址數量
? 2、可以在一個接口靜態綁定MAC地址
?
1.基于主機MAC來允許流量
·可定義2個參數:授權的MAC地址/允許學習多少個MAC地址(默認=1)
·違背端口安全,采取的行為:
1.shutdown:將永久性或特定周期內Err-Disable端口(默認行為),并發送snmptrap
2.restrict:當超過所允許學習的最大MAC數時,將未授權主機的幀丟棄drop,并將violation計數器增加
3.protect :當超過所允許學習的最大MAC數時,將未授權主機的幀丟棄drop
?
int f0/1
? switchport mode access????? //啟用端口安全時,必須先設為access接口
? switchport port-security??? //啟用端口安全(默認只能學一個MAC)
? switchport port-security maximum 1?? //指定最多允許學多少個地址
? switchport port-security mac-addressaaaa.bbbb.cccc
? switchport port-security violation[protect|restrict|shutdown] //指定行為
?
? switchport port-security aging time 1 (分鐘)//設定多長時間后能重新學習MAC地址,也就是設定現有MAC地址的有效期
?
? switchport port-security mac-addresssticky? //將動態學到的地址粘住,永久使用
showport-security????????????????? //可以看到哪些接口應用了端口安全
showport-security address????????? //可以看到授權的MAC地址
showport-security interface f0/1?? //可以看到接口的具體狀態
showinterfaces fastEthernet 0/1
?
FastEthernet0/1is down, line protocol is down (err-disabled)
?
通常做接口安全,要先把接口shutdown,這樣它就不會自動學習
?
讓err-disable接口自動恢復
errdisablerecovery cause psecure-violation
showerrdisable
?
2.基于主機MAC來限制流量 (3550上才可以做)
列表中定義的MAC將被限制流量
?
mac-address-tablestatic 0010.7b80.7b9b vlan 1 drop
?
3.阻塞未知單(組)播擴散 (3550上才可以做)
對未知MAC地址,SW將從本VLAN的其他端口轉發出去,但對于某些端口(端口安全只需要一個MAC/已到最大MAC)沒必要再轉發這些單(組)播。就可以在這些端口上設定這一特性,通常結合端口安全來做。
int f0/1
? switchport block [unicast | multicast
show int f0/1switchpor
...Unknownunicast blocked: enabled
...Unknownmulticast blocked: disabled
4、802.1x基于端口的認證
一第二層的訪問控制方法,通過AAA服務器對接入一個接口的用戶進行認證,以決定客戶能否訪問網絡。
配置:
aaa new-model
aaaauthentication dot1x default group radius
dot1xsystem-auth-contro
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可以包含多條語句,每一條語句對于匹配的流量可以有三種不同的操作:
???? 1、forward?? 轉發,對數據幀或數據包進行正常轉發
???? 2、drop?? 丟棄,當數據流與某個拒絕語句匹配上,將被丟棄
???? 3、重定向? 對于數據流的轉發方向作重定向?? (高端交換機才支持)
???? 注意:如果沒有說明一條語句的操作行為,默認的行為是forward。如果進入VLAN的數據流沒有匹配上任何一條語句,最后將被丟棄掉。
基于IP的
access-list 1 permit192.168.1.1 0.0.0.0
vlanaccess-map CCNP 10
? match ip address 1
? action drop
vlanaccess-map CCNP 20
? action forword
vlan filterCCNP vlan-list 100?? //全局模式下調用,要指明用在哪個VLAN中,也可對所有AL
注意:每一條語句默認是轉發的? show run 可以看到有 action forword
show vlanaccess-map
show vlanfilter
基于mac地址的(MAC地址列表):
1、先寫MAC地址列表
mac access-list extended ccnp
?permit host00e0.1e3d.d18c any
2、再寫access-map
vlan access-map CCNP 10
?action drop
?match macaddress ccnp
vlan access-map CCNP 20
?action forward
3、調用:
R1(config)#vlan filter CCNP vlan-list 10? ? ? ? ? ? ? ? ? ? Access-map的名字?? vlan號
R1(config)#vlanfilter CCNP vlan-list all?? 對所有VLAN
注意:做這個實驗時,要在每一臺路由器上先cleararp-cache
DHCP snooping
原理:
--啟用后,可以將交換機的端口分為trusted接口和Untrusted接口,默認在交換機上啟用后,所有接口變為Untrusted接口,需要手動設置trusted接口。
--對于Untrusted接口,只能接收DHCP的請求消息,不會向這個接口發送出DHCP的請求消息。并且drop掉接口進來的DHCP的響應消息。
--對于trusted接口,沒有任何限制,也不做檢測。
注意:早期的IOS不支持
?
配置實例:
第一步:
SW1(config)#ipdhcp snooping???????? 必須先開啟這一命令,相當于總開關
SW1(config)#ipdhcp snooping vlan 1? 再指定VLAN,這一步也必須要
?
第二步:指定trusted接口,通常是trunk接口、連接真實DHCP服務器的接口。
SW1(config-if)#ip dhcp snooping trust
?
第三步:還要在被信任的DHCP服務器上打上下列命令:(如果是用路由器做DHCP服務器的話才需要)
R1(config)#ipdhcp relay information trust-all
?
SW1#show ipdhcp snooping
?
關鍵點:DHCPsnooping會在接入的交換機上建立一個DHCP綁定表,為每一個分配的IP建立一個表項,其中包括客戶端的IP地址、MAC地址、端口號、VLAN編號、租用和綁定類型等信息。也可手動向這個綁定表中添加表項。
?
SW1#show ipdhcp snooping binding?? 只顯示動態的綁定項
SW1#show ipdhcp snooping database
SW1#show ipsource binding?? 顯示動態和靜態綁定項
?
SW1(config)#ipdhcp snooping binding 1234.5678.abcd vlan 20 172.16.1.1 interface f0/5 靜態綁定一個條目
?
其它命令:
SW1(config)#ipdhcp snooping information option?? //啟用option82選項,默認就已開啟
SW1(config)#ipdhcp snooping limit rate 100?????? //限定接口每秒可收多少個DHCP請求包
?
IPSG源保護
源保護特性可防止非法設備盜用合法設備的IP接入網絡,只能用于二層端口
?
需要用到IP綁定表,有兩種方式獲得綁定條目:
??? 1、靜態綁定IP源地址
??? 2、使用DHCP snooping技術中動態生成的源IP綁定表
?
原理:一旦在一個接口啟用了源保護,這個接口默認拒絕所有IP,除非在IP綁定表中有這個接口對應的IP地址綁定條目。
?
ip sourcebinding aaaa.bbbb.cccc vlan 1 100.1.1.1 interface f0/1? 靜態綁定
?
ip dhcpsnooping?
ip dhcpsnooping vlan 1
?
interfacef0/10
? ip verify source??????????????? //開啟源保護,只基于IP進行檢查,在3560和3750上這樣配
? ip verify source port-security? //開啟源保護,基于IP和MAC進行檢查,默認對于所有的IP是deny-any,對于mac的動作是permit-any,如果做了端口安全,對于mac的動作就是deny-any。

? 2025. All Rights Reserved. 滬ICP備2023009024號-1