20-ND攻擊防禦配置
本章節下載: 20-ND攻擊防禦配置 (376.09 KB)
目 錄
1.5.4 開啟ND Detection忽略端口匹配檢查功能
1.7 配置IPv6 Destination Guard功能
1.7.3 配置全局IPv6 Destination Guard功能
1.7.4 配置接口IPv6 Destination Guard功能
1.7.5 IPv6 Destination Guard功能顯示和維護
ND協議功能強大,但是卻沒有任何安全機製,容易被攻擊者利用。如圖1-1所示,當Device作為接入設備時,攻擊者Host B可以仿冒其他用戶、仿冒網關發送偽造的ND報文,對網絡進行攻擊:
· 如果攻擊者仿冒其他用戶的IPv6地址發送NS/NA/RS報文,將會改寫網關或者其他用戶的ND表項,導致被仿冒用戶的報文錯誤的發送到攻擊者的終端上。
· 如果攻擊者仿冒網關發送RA報文,會導致其他用戶的IPv6配置參數錯誤和ND表項被改寫。
圖1-1 ND攻擊示意圖
偽造的ND報文具有如下特點:
· 偽造的ND報文中源MAC地址和源鏈路層選項地址中的MAC地址不一致。
· 偽造的ND報文中源IPv6地址和源MAC地址的映射關係不是合法用戶真實的映射關係。
根據上述攻擊報文的特點,設備開發了多種功能對ND攻擊進行檢測,可以有效地防範ND攻擊帶來的危害。
如下所有配置均為可選,請根據實際情況選擇配置。
ND報文限速功能是指對上送CPU的ND報文進行限速,可以防止大量ND報文對CPU進行衝擊。例如,配置ND Detection功能後,設備會將收到的ND報文重定向到CPU進行檢查,這樣如果攻擊者惡意構造大量ND報文發往設備,會導致設備的CPU負擔過重,從而造成其他功能無法正常運行甚至設備癱瘓。此時可以配置ND報文限速功能來控製接口收到ND報文的速率。
設備上配置ND報文限速功能後,當接口上單位時間收到的ND報文數量超過設定的限速值,超過限速部分的報文會被丟棄。如果同時開啟了ND報文限速日誌功能,設備記錄該時間間隔內的超速峰值速率,並生成日誌信息發送給信息中心。通過設置信息中心的參數,最終決定日誌報文的輸出規則(即是否允許輸出以及輸出方向)。有關信息中心參數的配置請參見“網絡管理和監控配置指導”中的“信息中心”。
建議在配置了ND Detection、ND Snooping或者發現有ND泛洪攻擊的情況下,配置ND報文限速功能。
為防止過多的日誌信息幹擾工作,可以設定較大的信息發送時間間隔。
如果開啟了ND報文限速的日誌功能,並在二層聚合接口上開啟了ND報文限速功能,則隻要聚合成員接口上的ND報文速率超過設定的限速值,設備就會發送日誌信息。
(1) 進入係統視圖。
system-view
(2) (可選)開啟ND報文限速日誌功能。
ipv6 nd rate-limit log enable
缺省情況下,設備的ND報文限速日誌功能處於關閉狀態。
(3) (可選)配置當設備收到的ND報文速率超過用戶設定的限速值時,發送日誌的時間間隔。
ipv6 nd rate-limit log interval interval
缺省情況下,當設備收到的ND報文速率超過用戶設定的限速值時,發送日誌的時間間隔為60秒。
(4) 進入接口視圖。
interface interface-type interface-number
支持的接口類型包括二層以太網接口、二層聚合接口視圖、三層以太網接口和三層聚合接口視圖。
(5) 開啟ND報文限速功能,並指定ND報文限速速率。
ipv6 nd rate-limit [ pps ]
缺省情況下,ND報文限速功能處於開啟狀態。
ND協議報文源MAC地址一致性檢查功能主要應用於網關設備上,防禦ND報文中的源MAC地址和以太網數據幀首部中的源MAC地址不同的ND攻擊。
開啟本特性後,網關設備會對接收的ND協議報文進行檢查。如果ND報文中的源MAC地址和以太網數據幀首部中的源MAC地址不一致,則認為是攻擊報文,將其丟棄;否則,繼續進行ND學習。
若開啟ND日誌信息功能,當用戶ND報文中的源MAC地址和以太網數據幀首部中的源MAC地址不同時,會有相關的日誌信息輸出。設備生成的ND日誌信息會交給信息中心模塊處理,信息中心模塊的配置將決定日誌信息的發送規則和發送方向。關於信息中心的詳細描述請參見“網絡管理和監控配置指導”中的“信息中心”。
(1) 進入係統視圖。
system-view
(2) 開啟ND協議報文源MAC地址一致性檢查功能。
ipv6 nd mac-check enable
缺省情況下,ND協議報文源MAC地址一致性檢查功能處於關閉狀態。
(3) (可選)開啟ND日誌信息功能。
ipv6 nd check log enable
缺省情況下,ND日誌信息功能處於關閉狀態。
為了防止設備輸出過多的ND日誌信息,一般 情況下建議不要開啟此功能。
ND Detection功能用來檢查用戶的合法性,主要應用於接入設備上。開啟ND Detection功能後,合法用戶的ND報文可以正常轉發,否則直接丟棄,從而防止仿冒用戶、仿冒網關的攻擊。
ND Detection可以用於VLAN組網。
ND Detection功能將接入設備上的接口(VLAN組網)分為兩種:
· ND信任接口:不進行用戶合法性檢查;
· ND非信任接口:如果收到RA和RR消息,則認為是非法報文直接丟棄,如果收到其它類型的ND報文,則需要進行用戶合法性檢查,以防止仿冒用戶的攻擊。
用戶合法性檢查的方法為:
· 當未指定通過匹配DHCPv6中繼用戶表項和ND RA Prefix類型的IP Source Guard綁定表項來進行用戶合法性檢查時:設備會將ND報文中源IPv6地址和源MAC地址與設備上的IPv6 Source Guard靜態綁定表項、ND Snooping表項和DHCPv6 Snooping安全表項進行匹配。如果設備上存在與報文源IPv6地址和源MAC地址匹配的任意一種表項,則認為該ND報文合法,進行轉發。否則,認為該報文非法,直接丟棄。
· 當指定了通過匹配DHCPv6中繼用戶表項來進行用戶合法性檢查時:設備會將ND報文中源IPv6地址和源MAC地址與設備上的IPv6 Source Guard靜態綁定表項、ND Snooping表項、DHCPv6 Snooping安全表項和DHCPv6中繼用戶表項進行匹配。如果設備上存在與報文源IPv6地址和源MAC地址匹配的任意一種表項,則認為該ND報文合法,進行轉發。否則,認為該報文非法,直接丟棄。
· 當指定了通過匹配ND RA Prefix類型的IP Source Guard綁定表項來進行用戶合法性檢查時:設備會將ND報文中源IPv6地址與設備上的IPv6 Source Guard靜態綁定表項、ND Snooping表項、DHCPv6 Snooping安全表項和ND RA Prefix類型的IP Source Guard綁定表項進行匹配。如果設備上存在與報文源IPv6地址匹配的任意一種表項,則認為該ND報文合法,進行轉發。否則,認為該報文非法,直接丟棄。
各種表項的生成方式為:
· IPv6 Source Guard靜態綁定表項:通過ipv6 source binding命令生成,詳細介紹請參見“安全配置指導”中的“IP Source Guard”。
· DHCPv6 Snooping安全表項:通過ND Snooping功能自動生成,詳細介紹請參見“三層技術-IP業務配置指導”中的“DHCPv6”。
· DHCPv6中繼用戶表項:通過DHCPv6中繼用戶表項記錄功能自動生成,詳細介紹請參見“三層技術-IP業務配置指導”中的“DHCPv6”。
· ND RA Prefix類型的IP Source Guard綁定表項:通過ipv6 nd ra prefix source binding命令生成,詳細介紹請參見“三層技術-IP業務配置指導”中的“IPv6鄰居發現”。
· 配置ND Detection功能時,必須至少配置IPv6 Source Guard靜態綁定表項和DHCPv6 Snooping功能二者之一,否則所有從ND非信任接口收到的ND報文都將被丟棄。
· 在與ND Detection功能配合時,IPv6 Source Guard綁定表項中必須指定VLAN參數,且該VLAN為配置ND Detection功能的VLAN,否則ND報文將無法通過接口的IPv6 Source Guard靜態綁定表項的檢查。
(1) 進入係統視圖。
system-view
(2) 進入VLAN視圖。
vlan vlan-id
(3) 開啟ND Detection功能。
ipv6 nd detection enable [ dhcpv6-relay | nd-ra-prefix ]
缺省情況下,ND Detection功能處於關閉狀態。即不進行用戶合法性檢查。
(4) (可選)將不需要進行用戶合法性檢查的接口配置為ND信任接口。
a. 退回係統視圖。
quit
b. 進入接口視圖。
interface interface-type interface-number
c. 將不需要進行用戶合法性檢查的接口配置為ND信任接口。
ipv6 nd detection trust
缺省情況下,接口為ND非信任接口。
設備開啟ND Detection功能後,可以根據IP Source Guard的本地表項和遠端表項對接口上收到的用戶報文進行安全檢查。由於IP Source Guard遠端表項不存在接口信息,ND Detection收到匹配遠端表項的ND報文後,會因為收到報文的接口和IP Source Guard表項接口信息不匹配丟棄該報文。開啟ND Detection忽略端口匹配檢查功能後,ND Detection不會檢查收到報文的接口信息,使匹配遠端表項的ND報文能夠通過檢查,不會被丟棄。
(1) 進入係統視圖。
system-view
(2) 開啟ND Detection忽略端口匹配檢查功能。
ipv6 nd detection port-match-ignore
缺省情況下,ND Detection忽略端口匹配檢查功能處於關閉狀態。
配置ND Detection日誌功能後,設備在檢測到非法ND報文時將生成檢測日誌,日誌內容包括:
· 在VLAN組網中,顯示的是受到攻擊的端口編號;
· 非法ND報文的源IP地址;
· 非法ND報文的源MAC地址;
· 非法ND報文所屬的VLAN ID;
· 丟棄的ND報文總數。
(1) 進入係統視圖。
system-view
(2) 開啟ND Detection日誌功能。
ipv6 nd detection log enable
缺省情況下,ND Detection日誌功能處於關閉狀態。
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後ND Detection的運行情況,通過查看顯示信息驗證配置的效果。
在用戶視圖下,用戶可以執行reset命令清除ND Detection的統計信息。
表1-1 ND Detection功能顯示和維護
操作 |
命令 |
顯示ND Detection丟棄報文的統計信息 |
display ipv6 nd detection statistics [ interface interface-type interface-number ] |
清除ND Detection的統計信息 |
reset ipv6 nd detection statistics [ interface interface-type interface-number ] |
用戶Host A和Host B通過DeviceB接入網關Device A。用戶Host A的IPv6地址是10::5/64,MAC地址是0001-0203-0405。用戶Host B的IPv6地址是10::6/64,MAC地址是0001-0203-0607。
要求:在Device B上配置ND Detection功能對用戶的合法性進行檢查,保證合法用戶的報文可以被正常轉發,非法用戶的報文被丟棄。
圖1-2 配置ND Detection組網圖
# 創建VLAN 10。
<DeviceA> system-view
[DeviceA] vlan 10
[DeviceA-vlan10] quit
# 配置接口Twenty-FiveGigE1/0/3允許VLAN 10的報文通過。
[DeviceA] interface twenty-fivegige 1/0/3
[DeviceA-Twenty-FiveGigE1/0/3] port link-type trunk
[DeviceA-Twenty-FiveGigE1/0/3] port trunk permit vlan 10
[DeviceA-Twenty-FiveGigE1/0/3] quit
# 配置VLAN接口10的IPv6地址。
[DeviceA] interface vlan-interface 10
[DeviceA-Vlan-interface10] ipv6 address 10::1/64
[DeviceA-Vlan-interface10] quit
(2) 配置Device B
# 創建VLAN 10。
<DeviceB> system-view
[DeviceB] vlan 10
[DeviceB-vlan10] quit
# 配置接口Twenty-FiveGigE1/0/1~Twenty-FiveGigE1/0/3允許VLAN 10的報文通過。
[DeviceB] interface twenty-fivegige 1/0/1
[DeviceB-Twenty-FiveGigE1/0/1] port link-type access
[DeviceB-Twenty-FiveGigE1/0/1] port access vlan 10
[DeviceB-Twenty-FiveGigE1/0/1] quit
[DeviceB] interface twenty-fivegige 1/0/2
[DeviceB-Twenty-FiveGigE1/0/2] port link-type access
[DeviceB-Twenty-FiveGigE1/0/2] port access vlan 10
[DeviceB-Twenty-FiveGigE1/0/2] quit
[DeviceB] interface twenty-fivegige 1/0/3
[DeviceB-Twenty-FiveGigE1/0/3] port link-type trunk
[DeviceB-Twenty-FiveGigE1/0/3] port trunk permit vlan 10
[DeviceB-Twenty-FiveGigE1/0/3] quit
# 開啟ND Detection功能。
[DeviceB] vlan 10
[DeviceB-vlan10] ipv6 nd detection enable
# 開啟ND Snooping表項獲取功能,通過ND報文的源地址(包括全球單播地址和鏈路本地地址)生成ND Snooping表項。
[DeviceB-vlan10] ipv6 nd snooping enable global
[DeviceB-vlan10] ipv6 nd snooping enable link-local
[DeviceB-vlan10] quit
# 將上行接口Twenty-FiveGigE1/0/3配置為ND信任接口,下行接口Twenty-FiveGigE1/0/1和Twenty-FiveGigE1/0/2采用缺省配置,即為ND非信任接口。
[DeviceB] interface twenty-fivegige 1/0/3
[DeviceB-Twenty-FiveGigE1/0/3] ipv6 nd detection trust
完成上述配置後,對於接口Twenty-FiveGigE1/0/1和Twenty-FiveGigE1/0/2收到的ND報文,基於ND Snooping安全表項進行檢查。
RA Guard功能用來在二層接入設備上防範路由通告報文(RA報文)欺騙攻擊。
二層接入設備收到目的MAC地址為單播或組播地址的RA報文後,RA Guard功能按照如下方式處理RA報文:
· 如果接收RA報文的接口配置了接口角色,則通過係統根據接口角色來選擇轉發還是丟棄該報文:
¡ 若接口角色為路由器,則直接轉發RA報文;
¡ 若接口角色為用戶,則直接丟棄RA報文。
· 如果接收RA報文的接口沒有配置接口角色,則該報文繼續匹配該接口屬VLAN內的RA Guard策略:
¡ 若RA Guard策略中未配置任何匹配規則,則應用該策略的接口直接轉發RA報文;
¡ 若RA Guard策略中配置了匹配規則,則RA報文需匹配策略下所有規則成功才會被轉發;否則,該報文即被丟棄。
可根據接口在組網中的位置來配置接口的角色。如果確認接口連接的是用戶主機,則配置接口角色為用戶角色(host);如果確定接口連接的是路由器,則配置接口角色為路由器角色(router)。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
¡ 進入二層以太網接口視圖
interface interface-type interface-number
¡ 進入二層聚合接口視圖
interface bridge-aggregation interface-number
(3) 配置接口角色。
ipv6 nd raguard role { host | router }
缺省情況下,未配置接口角色。
對於下麵兩種情況,可通過配置RA Guard策略對RA報文按規則匹配條件進行過濾:
· 不能判斷接口連接的設備/終端類型,即不能通過配置接口角色來選擇丟棄還是轉發RA報文;
· 確認接口連接的是路由器,但用戶不希望直接轉發RA報文而是進行過濾。
(1) 進入係統視圖。
system-view
(2) 創建RA Guard策略,並進入RA Guard策略視圖。
ipv6 nd raguard policy policy-name
(3) 配置RA Guard策略。請至少選擇其中一項進行配置。
¡ 配置ACL匹配規則。
if-match acl { ipv6-acl-number | name ipv6-acl-name }
¡ 配置前綴匹配規則。
if-match prefix acl { ipv6-acl-number | name ipv6-acl-name }
¡ 配置路由最高優先級匹配規則。
if-match router-preference maximum { high | low | medium }
¡ 配置被管理地址標誌位匹配規則。
if-match autoconfig managed-address-flag { off | on }
¡ 配置其他信息配置標誌位匹配規則。
if-match autoconfig other-flag { off | on }
¡ 配置RA報文內跳數最大值或最小值匹配規則。
if-match hop-limit { maximum | minimum } limit
缺省情況下,未配置RA Guard策略。
(4) 退回係統視圖。
quit
(5) 進入VLAN視圖。
vlan vlan-number
(6) 應用RA Guard策略。
ipv6 nd raguard apply policy [ policy-name ]
缺省情況下,未應用RA Guard策略。
RA Guard日誌可以方便管理員定位問題和解決問題,對處理RA報文的信息進行的記錄。開啟RA Guard日誌功能後,設備在檢測到非法RA報文時將生成檢測日誌,日誌內容包括:受到攻擊的接口名稱、RA報文的源IP地址和丟棄的RA報文總數。
設備生成的RA Guard日誌信息會交給信息中心模塊處理,信息中心模塊的配置將決定日誌信息的發送規則和發送方向。關於信息中心的詳細描述請參見“網絡管理和監控配置指導”中的“信息中心”。
(1) 進入係統視圖。
system-view
(2) 開啟RA Guard日誌功能。
ipv6 nd raguard log enable
缺省情況下,RA Guard日誌功能處於關閉狀態。
在完成上述配置後,在任意視圖下執行display命令可以顯示RA Guard策略的信息。
表1-2 RA Guard 功能顯示和維護
操作 |
命令 |
顯示已創建的RA Guard策略信息 |
display ipv6 nd raguard policy [ policy-name ] |
顯示RA Guard的報文統計信息 |
display ipv6 nd raguard statistics [ interface interface-type interface-number ] |
清除RA Guard的報文統計信息 |
reset ipv6 nd raguard statistics [ interface interface-type interface-number ] |
如圖1-3所示,在Device B上通過接口Twenty-FiveGigE1/0/1和Twenty-FiveGigE1/0/2分別連接主機Host和Device C,通過接口Twenty-FiveGigE1/0/3連接Device A。接口Twenty-FiveGigE1/0/1、Twenty-FiveGigE1/0/2和Twenty-FiveGigE1/0/3都屬於VLAN 10。
為防範路由通告報文(RA報文)欺騙攻擊,可在Device B上配置RA Guard策略規則,並在VLAN 10下應用該策略規則:
· 接口Twenty-FiveGigE1/0/2連接的是未知設備,用戶希望該接口對RA報文按RA Guard策略規則進行匹配過濾;
· 接口Twenty-FiveGigE1/0/1連接的是用戶,用戶希望該接口完全過濾RA報文將其直接丟棄;
· 接口Twenty-FiveGigE1/0/3連接的是Device A,用戶希望該接口完全信任RA報文將其直接轉發。
圖1-3 RA Guard功能組網圖
# 在Device B上創建RA Guard策略policy1,並配置匹配規則。匹配最高路由優先級為高,被管理地址標誌位置為1、其他信息配置標誌位置為1、跳數最小值為100且最大值為120的RA報文。
<DeviceB> system-view
[DeviceB] ipv6 nd raguard policy policy1
[DeviceB-raguard-policy-policy1] if-match router-preference maximum high
[DeviceB-raguard-policy-policy1] if-match autoconfig managed-address-flag on
[DeviceB-raguard-policy-policy1] if-match autoconfig other-flag on
[DeviceB-raguard-policy-policy1] if-match hop-limit maximum 120
[DeviceB-raguard-policy-policy1] if-match hop-limit minimum 100
[DeviceB-raguard-policy-policy1] quit
# 配置接口Twenty-FiveGigE1/0/1~Twenty-FiveGigE1/0/3允許VLAN 10的報文通過,並在VLAN 10下應用RA Guard策略。
[DeviceB] interface twenty-fivegige 1/0/1
[DeviceB-Twenty-FiveGigE1/0/1] port link-type access
[DeviceB-Twenty-FiveGigE1/0/1] port access vlan 10
[DeviceB-Twenty-FiveGigE1/0/1] quit
[DeviceB] interface twenty-fivegige 1/0/2
[DeviceB-Twenty-FiveGigE1/0/2] port link-type access
[DeviceB-Twenty-FiveGigE1/0/2] port access vlan 10
[DeviceB-Twenty-FiveGigE1/0/2] quit
[DeviceB] interface twenty-fivegige 1/0/3
[DeviceB-Twenty-FiveGigE1/0/3] port link-type trunk
[DeviceB-Twenty-FiveGigE1/0/3] port trunk permit vlan 10
[DeviceB-Twenty-FiveGigE1/0/3] quit
[DeviceB] vlan 10
[DeviceB-vlan10] ipv6 nd raguard apply policy policy1
[DeviceB-vlan10] quit
# 配置接口Twenty-FiveGigE1/0/1為用戶角色。
[DeviceB] interface twenty-fivegige 1/0/1
[DeviceB-Twenty-FiveGigE1/0/1] ipv6 nd raguard role host
[DeviceB-Twenty-FiveGigE1/0/1] quit
# 配置接口Twenty-FiveGigE1/0/3為路由器角色。
[DeviceB] interface twenty-fivegige 1/0/3
[DeviceB-Twenty-FiveGigE1/0/3] ipv6 nd raguard role router
[DeviceB-Twenty-FiveGigE1/0/3] quit
完成上述配置後:
· 從接口Twenty-FiveGigE1/0/2收到的RA報文,會匹配RA Guard策略policy1:
¡ 如果匹配失敗則丟棄;
¡ 如果匹配成功,報文會被轉發到VLAN 10下其他接口。
· 從接口Twenty-FiveGigE1/0/1收到的RA報文,不會匹配RA Guard策略policy1,RA報文都被直接丟棄。
對於接口Twenty-FiveGigE1/0/3收到的RA報文,不會和策略policy1下的規則進行匹配,RA報文都直接被轉發,在同一VLAN的其他接口也會收到此RA報文。
IPv6 Destination Guard功能用來保證設備隻向鏈路上明確的地址發起IPv6地址解析。在設備發送或轉發報文前,IPv6 Destination Guard功能會根據DHCPv6中繼表項或IP Source Guard表項檢查報文目的地址和出接口的對應關係:
· 保證通過設備隻能訪問合法且活動的終端設備;
· 減少設備上生成的ND表項數目,提高設備性能。
開啟了IPv6 Destination Guard功能後,設備將會執行以下處理:
(1) 根據報文的目的IPv6地址和出接口對應關係查詢設備記錄的DHCPv6中繼表項:
¡ 如果查到有對應的DHCPv6中繼表項,則從出接口發起ND解析,解析成功後則轉發該報文,解析不成功則丟棄該報文;
¡ 如果未查到對應的DHCPv6中繼表項,則繼續進行如下處理。
(2) 根據報文的目的IPv6地址和出接口的對應關係查詢設備記錄的IP Source Guard表項:
¡ 如果查到有對應的IP Source Guard表項,則從出接口發起ND解析,解析成功後則轉發該報文,解析不成功則丟棄該報文;
¡ 如果未查到IP Source Guard表項,則不會發起ND解析,直接丟棄該報文。
當設備存在CPU使用率超過指定的閾值,係統內存使用率超過指定的閾值或未解析的ND表項數目超過某個值等情況時,設備就會進入壓力模式。壓力模式下,如果設備繼續進行大量ND解析工作,會發生CPU滿負荷運行導致係統崩潰的問題。通過指定stressed參數,保證設備在進入壓力模式後,才開啟IPv6 Destination Guard功能。這時,設備隻會對IPv6 Destination Guard功能檢查通過的報文進行ND解析,未經過IPv6 Destination Guard功能檢查的報文不進行ND解析,從而進一步減輕了CPU和內存的負擔。
關於DHCPv6中繼的詳細介紹,請參見“三層技術-IP業務配置指導”中的“DHCPv6中繼”。關於IP Source Guard的詳細介紹,請參見“安全配置指導”中的“IP Source Guard”。
設備支持在全局和接口上開啟IPv6 Destination Guard功能。
如果接口上配置了IPv6 Destination Guard功能,接口IPv6 Destination Guard功能的狀態以接口的配置為準,不受全局IPv6 Destination Guard功能的影響。如果接口上未配置IPv6 Destination Guard功能,接口IPv6 Destination Guard功能的狀態以全局的配置為準。
(1) 進入係統視圖。
system-view
(2) 配置全局IPv6 Destination Guard功能。
¡ 開啟全局IPv6 Destination Guard功能。
ipv6 destination-guard global enable [ stressed ]
¡ 關閉全局IPv6 Destination Guard功能。
undo ipv6 destination-guard global enable
缺省情況下,全局IPv6 Destination Guard功能處於關閉狀態。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置接口IPv6 Destination Guard功能。
¡ 開啟接口IPv6 Destination Guard功能。
ipv6 destination-guard enable [ stressed ]
¡ 關閉接口IPv6 Destination Guard功能。
ipv6 destination-guard disable
缺省情況下,接口IPv6 Destination Guard功能的狀態與全局IPv6 Destination Guard功能的狀態保持一致。
在完成上述配置後,在任意視圖下執行display命令可以顯示IPv6 Destination Guard功能狀態的信息。
表1-3 display ipv6 destination-guard命令顯示信息描述表
字段 |
描述 |
顯示全局和接口的IPv6 Destination Guard功能狀態的信息 |
display ipv6 destination-guard [ interface interface-type interface-number ] |
在規模較大的組網環境中(比如園區網絡),使用ND周期性掃描功能後,如果指定的掃描範圍過大,會導致需要較長的時間才能掃描到異常下線的主機。開啟本功能後係統可以通過Keepalive表項快速定位異常下線的主機,並在老化時間內對異常下線主機的狀態進行監測。
ND的Keepalive表項的老化時間可以在係統視圖和接口視圖下同時配置,優先使用接口視圖下的配置,如果接口視圖下為缺省配置則使用係統視圖下的配置。
用戶上線後,係統會生成動態ND表項和IP Source Guard綁定表項。開啟本功能後,係統會根據這些表項建立狀態為在線的Keepalive表項。用戶下線後其ND表項會被刪除,對應的Keepalive表項的狀態被置為離線。設備每隔一段時間會向處於離線狀態的Keepalive表項對應的IPv6地址發送ND請求報文,直到Keepalive表項的狀態恢複成在線或離線狀態的Keepalive表項被刪除。處於離線狀態的Keepalive表項在老化時間內沒有恢複成在線便會被刪除。對於某處於離線狀態的Keepalive表項,設備發送ND請求報文的間隔時間由已經向此Keepalive表項對應的IPv6地址發送的ND請求報文的個數決定。關於IP Source Guard的詳細介紹,請參見“安全配置指導”中的“IP Source Guard”。
(1) 進入係統視圖。
system-view
(2) (可選)設置ND的Keepalive表項掃描速率。
ipv6 nd scan keepalive send-rate pps
缺省情況下,ND的Keepalive表項掃描速率為每秒發送48個ND請求報文。
(3) (可選)配置ND的Keepalive表項的老化時間
ipv6 nd scan keepalive aging-time time
缺省情況下,係統視圖下ND的Keepalive表項的老化時間為60分鍾,接口視圖下ND的Keepalive表項的老化時間采用係統視圖下的配置。
(4) 進入接口視圖。
interface interface-type interface-number
(5) 開啟ND的Keepalive表項掃描功能。
ipv6 nd scan keepalive enable
缺省情況下,接口上的ND的Keepalive表項掃描功能處於關閉狀態。
在完成上述配置後,在任意視圖下執行display命令可以顯示ND的Keepalive表項掃描的相關信息。
在用戶視圖下,用戶可以執行reset命令清除接口向異常狀態的Keepalive表項發送的ND請求報文的計數信息。
表1-4 ND的Keepalive表項掃描顯示信息
操作 |
命令 |
顯示ND的Keepalive表項信息 |
display ipv6 nd scan keepalive entry [ interface interface-type interface-number ] [ count ] |
顯示接口向異常狀態的Keepalive表項發送的NS報文個數 |
display ipv6 nd scan keepalive statistics [ slot slot-number ] [ interface interface-type interface-number ] |
清除接口向異常狀態的Keepalive表項發送的NS報文的計數信息 |
reset ipv6 nd scan keepalive statistics [ slot slot-number ] |
設備處理大量源MAC地址固定的ND報文會造成CPU繁忙,影響正常的業務處理。為了避免這種問題,可以在設備上開啟源MAC地址固定的ND攻擊檢測功能。
本特性根據ND報文的源MAC地址對上送CPU的ND報文進行統計,在固定時間(5秒)內,如果收到同一源MAC地址(源MAC地址固定)的ND報文超過一定的閾值,則認為存在攻擊,係統會將此MAC地址添加到攻擊檢測表項中。
在開啟了ND日誌信息功能的情況下(配置ipv6 nd check log enable命令),係統會根據設置的檢查模式對存在於攻擊檢測表項中的MAC地址有如下處理:
· 如果設置的檢查模式為過濾模式,則會打印日誌信息並且將該源MAC地址發送的ND報文過濾掉;
· 如果設置的檢查模式為監控模式,則隻打印日誌信息,不會將該源MAC地址發送的ND報文過濾掉。
對於已添加到源MAC地址固定的ND攻擊檢測表項中的MAC地址,在等待設置的老化時間後,如果老化時間內丟棄的ND報文個數大於或等於一個特定值,則設備會重置該表項的老化時間;如果小於該特定值,則設備刪除該源MAC地址固定的ND攻擊表項,MAC地址會重新恢複成普通MAC地址。
根據ND報文的源MAC地址對上送CPU的ND報文進行統計時,設備支持如下兩種統計方式:
· 基於接口的統計方式:每個接口單獨進行報文統計計數。在一個檢測周期內,如果某接口收到同一源MAC地址(源MAC地址固定)的ND報文超過一定的閾值,則認為存在攻擊。
· 基於slot的統計方式:slot上所有接口的報文進行統一計數。在一個檢測周期內,如果某slot收到同一源MAC地址(源MAC地址固定)的ND報文超過一定的閾值,則認為存在攻擊。
切換源MAC地址固定的ND攻擊檢查模式時,如果從監控模式切換到過濾模式,過濾模式馬上生效;如果從過濾模式切換到監控模式,已生成的攻擊檢測表項在老化之前會繼續按照過濾模式處理,新增的攻擊檢測表項會按照監控模式處理。
對於網關或一些重要的服務器,可能會收到大量ND報文,為了使這些ND報文不被過濾掉,可以將這類設備的MAC地址配置成保護MAC地址,這樣,即使該設備上存在攻擊也不會被檢測或過濾。
(1) 進入係統視圖。
system-view
(2) 開啟源MAC地址固定的ND攻擊檢測功能,並指定檢查模式。
ipv6 nd source-mac { filter | monitor }
缺省情況下,源MAC地址固定的ND攻擊檢測功能處於關閉狀態。
(3) (可選)配置源MAC地址固定的ND報文攻擊檢測的閾值。
ipv6 nd source-mac threshold threshold-value
缺省情況下,源MAC地址固定的ND報文攻擊檢測表項的閾值為30個。
(4) (可選)配置源MAC地址固定的ND報文攻擊檢測的老化時間。
ipv6 nd source-mac aging-time time
缺省情況下,源MAC地址固定的ND攻擊檢測表項的老化時間為300秒,即5分鍾。
(5) (可選)配置保護MAC地址。
ipv6 nd source-mac exclude-mac mac-address&<1-10>
缺省情況下,未配置任何ND攻擊檢測的保護MAC地址。
(6) (可選)開啟源MAC地址固定的ND攻擊檢測日誌信息功能。
ipv6 nd source-mac log enable
缺省情況下,源MAC地址固定的ND攻擊檢測日誌信息功能處於關閉狀態。
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後源MAC地址固定的ND攻擊檢測的運行情況,通過查看顯示信息驗證配置的效果。
表1-5 源MAC地址固定的ND攻擊檢測顯示和維護
操作 |
命令 |
顯示檢測到的源MAC地址固定的ND攻擊檢測表項信息 |
display ipv6 nd source-mac { interface interface-type interface-number [ slot slot-number ] | slot slot-number } |
用戶可根據業務需求開啟指定功能的ND模塊的告警:
· 當開啟了ND模塊鄰居表項達到閾值的告警功能後,設備會將當前的鄰居表項信息記錄在告警信息中,生成的告警信息將發送到設備的SNMP模塊,通過設置SNMP中告警信息的發送參數,來決定告警信息輸出的相關特性。
· 當開啟了ND模塊終端與本機衝突的告警功能後,設備將衝突報文的IPv6地址、MAC地址等信息作為告警信息發送出去,生成的告警信息將發送到設備的SNMP模塊,通過設置SNMP中告警信息的發送參數,來決定告警信息輸出的相關特性。
· 當開啟了ND模塊ND Miss消息限速的告警功能後,設備將報文速率信息作為告警信息發送出去,生成的告警信息將發送到設備的SNMP模塊,通過設置SNMP中告警信息的發送參數,來決定告警信息輸出的相關特性。當設備收到目標IP地址不能解析的IP報文時,會向CPU上送ND Miss消息。
· 開啟了ND報文隊列緩存報文數量超過閾值的告警功能後,當設備的ND報文緩存隊列中緩存的報文數量超過隊列容量上限的80%時,設備會將當前隊列中緩存的報文數量作為告警信息發送到設備的SNMP模塊。
· 開啟了ND報文發送限速的告警功能後,如果設備每秒發送的ND報文的個數超過了設備定製的閾值,設備會將超速峰值作為告警信息發送出去,生成的告警信息將發送到設備的SNMP模塊,通過設置SNMP中告警信息的發送參數,來決定告警信息輸出的相關特性。
· 開啟了ND模塊終端用戶間IPv6地址衝突的告警功能後,設備會將衝突報文的發送端IPv6地址和MAC地址、發生衝突的本地表項的MAC地址等信息作為告警信息發送到設備的SNMP模塊。
可以通過設置SNMP中告警信息的發送參數,來決定告警信息輸出的相關特性。有關告警信息的詳細描述,請參見“網絡管理和監控配置指導”中的“SNMP”。
(1) 進入係統視圖。
system-view
(2) 開啟ND模塊的告警功能。
snmp-agent trap enable nd [ entry-limit | local-conflict | nd-miss | pkt-threshold | rate-limit | user-ip-conflict ] *
缺省情況下,ND模塊的告警功能處於關閉狀態。
如果不指定任何參數,則表示打開ND模塊的所有告警功能。
當網絡中的主機向設備發送大量目標IPv6地址不能解析的IPv6數據報文時,設備會頻繁發送NS請求報文並反複解析目標IPv6地址,從而導致設備CPU負擔加重。
開啟ND黑洞路由功能後,一旦接收到目標IPv6地址不能解析的IPv6數據報文,設備立即產生一個黑洞路由,並同時向該IPv6地址發送NS請求報文,如果在黑洞路由老化時間內ND解析成功,則設備馬上刪除此黑洞路由並開始轉發去往該地址的報文,否則設備直接丟棄該報文。在刪除黑洞路由之前,後續去往該地址的IPv6數據報文都將被直接丟棄。
(1) 進入係統視圖。
system-view
(2) 開啟ND黑洞路由功能。
ipv6 nd resolving-route enable
缺省情況下,ND黑洞路由功能處於開啟狀態。
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!