Cisco交換機(jī)安全配置
前提
我們以下命令一般都要先進(jìn)入Config模式
S1> enable
S1# conf t
S1(config)#
端口安全保護(hù)
禁用未使用的端口
以關(guān)閉fa0/1到fa0/24的端口為例
S1(config)# interface range fa0/1-24
S1(config-if-range)# shutdown
緩解MAC地址表攻擊
防止CAM表溢出的最簡(jiǎn)單有效的方法是啟用端口安全,它限制了端口上所允許的有效MAC地址數(shù)量。
我們以fa0/1為例子
S1(config)# interface fa0/1
S1(config-if)# switchport port-security
這里你可能會(huì)遇到報(bào)錯(cuò),內(nèi)容如下:
Command rejected: FastEthernet0/1 is a dynamic port.
這是因?yàn)槎丝诎踩荒茉谑謩?dòng)配置的接入模式(access)端口或手動(dòng)配置的中繼(trunk)端口上!
我們先將端口切換到access(如果是trunk的話命令中相應(yīng)部分請(qǐng)改為trunk),然后開(kāi)啟端口安全。
S1(config-if)# switchport mode access
S1(config-if)# switchport port-security
接下來(lái)限制端口上MAC地址最大數(shù)量,默認(rèn)值為1
S1(config-if)# switchport port-security maximum
當(dāng)然我們可以手動(dòng)置頂數(shù)目,范圍在<1-8192>,我們這里以手動(dòng)設(shè)置1為例
S1(config-if)# switchport port-security maximum 1
手動(dòng)配置MAC
在接口配置模式中,執(zhí)行以下命令,可手動(dòng)指定安全MAC:
switchport port-security mac-address 這里寫(xiě)MAC地址
我們以aaaa.bbbb.1234
地址為例
S1(config-if)# switchport port-security mac-address aaaa.bbbb.1234
動(dòng)態(tài)獲取
除了手動(dòng)之外還有動(dòng)態(tài)獲取的方式。在執(zhí)行switchport port-security
之后,這個(gè)端口直接連接的設(shè)備的源MAC地址就會(huì)成為安全MAC。但是,這個(gè)地址不會(huì)添加到啟動(dòng)配置中,也就是說(shuō),交換機(jī)重啟后必須重新學(xué)習(xí)MAC地址??!
動(dòng)態(tài)獲取-粘滯(Sticky)
管理員可以執(zhí)行以下命令,將動(dòng)態(tài)獲取的MAC地址,寫(xiě)入到運(yùn)行配置文件中
S1(config-if)# switchport port-security mac-address sticky
查看端口安全信息
我們可以在特權(quán)模式#
下來(lái)查看端口安全的具體信息
同樣我們以fa0/1為例子
S1# show port-security interface fa0/1
當(dāng)然你在config及其子模式下可以用do
來(lái)執(zhí)行特權(quán)模式下的命令
S1(config-if)# do show port-security interface fa0/1
大致能看到如下字段(字段對(duì)應(yīng)的值取決于你的配置)
S1# show port-security interface fa0/1
Port Security : Enabled
Port Status : Secure-up
Violation Mode : Shutdown
Aging Time : 0 mins
Aging Type : Absolute
SecureStatic Address Aging : Disabled
Maximum MAC Addresses : 4
Total MAC Addresses : 2
Configured MAC Addresses : 1
Sticky MAC Addresses : 1
Last Source Address:Vlan : a41f.7302.375b:2
Security Violation Count : 0
還用一條命了可以查看安全MAC地址表
S1# show port-security address
S1# show port-security address
Secure Mac Address Table
-----------------------------------------------------------------------------
Vlan Mac Address Type Ports Remaining Age
(mins)
---- ----------- ---- ----- -------------
1 a41f.7302.375b:2 SecureSticky Fa0/1 -
1 aaaa.bbbb.1234 SecureConfigured Fa0/1 -
-----------------------------------------------------------------------------
Total Addresses in System (excluding one mac per port) : 1
Max Addresses limit in System (excluding one mac per port) : 8192
端口安全老化
通過(guò)端口安全老化可對(duì)端口上的動(dòng)態(tài)和靜態(tài)安全地址設(shè)置老化時(shí)間。
端口老化時(shí)間有兩種:
- 絕對(duì)老化時(shí)間(Absolute):老化時(shí)間到期后刪除MAC地址
- 非活動(dòng)老化時(shí)間(Inactivity):僅當(dāng)端口上的安全地址在老化時(shí)間內(nèi)
使用老化功能刪除安全端口上的安全 MAC 地址,無(wú)需手動(dòng)刪除現(xiàn)有安全 MAC 地址。還可增加老化時(shí)間限制,
確保即使在添加新 MAC 地址時(shí)同樣保持之前的安全 MAC 地址??梢詫?duì)每個(gè)端口啟用或禁用靜態(tài)配置的安全地址老化。
switchport port-security aging { static | time time | type {absolute | inactivity}}
下面是各個(gè)參數(shù)的說(shuō)明:
參數(shù) | 說(shuō)明 |
---|---|
static | 為此端口上靜態(tài)配置的安全地址啟用老化。 |
time time | 為此端口指定老化時(shí)間。范圍為 0 至 1440 分鐘。如果 時(shí)間為 0,則表示這個(gè)端口禁用老化。 |
type absolute | 設(shè)置絕對(duì)老化時(shí)間。所有安全地址 都會(huì)在到達(dá)設(shè)置的時(shí)間之后立刻在這個(gè)端口上老化,并且從 安全地址列表中被刪除。 |
type inactivity | 設(shè)置不活動(dòng)老化類(lèi)型。這個(gè)端口上的安全地址只有在設(shè)定的時(shí)間范圍內(nèi),沒(méi)有數(shù)據(jù)流量來(lái)自安全地址,安全地址才會(huì)老化。 |
我們對(duì)把老化類(lèi)型設(shè)置為非活動(dòng)類(lèi)型,并且時(shí)間為10分鐘
S1(config-if)# switchport port-security aging time 10
S1(config-if)# switchport port-security aging type inactivity
端口安全違規(guī)模式
連接到端口的設(shè)備 MAC 地址與安全地址列表不一致,則會(huì)觸發(fā)端口違規(guī)。在默認(rèn)情況下,這個(gè)端口就會(huì)進(jìn)入error-disabled狀態(tài)。
設(shè)置端口安全違規(guī)模式可以用以下命令:
switchport port-security violation { protect | restrict | shutdown}
模式 | 說(shuō)明 |
---|---|
shutdown(默認(rèn)) | 端口會(huì)立刻過(guò)渡到error-disabled狀態(tài),關(guān)閉端口LED并且發(fā)送一條系統(tǒng)日志消息。它會(huì)增加違規(guī)計(jì)數(shù)器的值。當(dāng)一個(gè)安全端口處于error-disabled狀態(tài),管理員必須重新啟用這個(gè)端口,這時(shí)需要輸入shutdown 和no shutdown 命令。 |
restrict | 端口會(huì)丟棄攜帶未知源地址的數(shù)據(jù)包,直到管理員刪除了 足夠數(shù)量的安全MAC地址,讓安全MAC地址的數(shù)量降到了 最大值以下,或者管理員增加了最大值。這種模式會(huì)讓違規(guī)計(jì)數(shù)器的值增加,并生成一條系統(tǒng)日志消息。 |
protect | 這是最不安全的安全違規(guī)模式。端口會(huì)丟棄攜帶未知源地址的數(shù)據(jù)包,直到管理員刪除了足夠數(shù)量的安全MAC地址,讓安全MAC地址的數(shù)量降到了最大值以下,或者管理員增加了最大值。不會(huì)發(fā)送系統(tǒng)日志消息。 |
用一張圖來(lái)概括
緩解VLAN攻擊
VLAN攻擊的方式
下列三種方式都可以發(fā)起VLAN跳躍攻擊:
- **發(fā)起攻擊的主機(jī)偽造DTP消息,使交換機(jī)進(jìn)入中繼模式。**然后,攻擊者可以發(fā)送標(biāo)記為目標(biāo) VLAN 的流量,然后交換機(jī)向目的地傳輸數(shù)據(jù)包。
- **引入非法交換機(jī)并啟用中繼。**然后攻擊者就可以通過(guò)非法交換機(jī)訪問(wèn)被攻擊交換機(jī)上的所有 VLAN。
- 另一種VLAN跳躍攻擊是雙重標(biāo)記 (Double-Tagging) 攻擊,又稱(chēng)雙封裝 (double-encapsulated) 攻擊。這種攻擊方式利用的是大多數(shù)交換機(jī)的硬件工作原理。
緩解VLAN跳躍攻擊的步驟
實(shí)際上很簡(jiǎn)單,我們就把開(kāi)啟自動(dòng)的一些端口變?yōu)槭謩?dòng)模式,然后對(duì)中繼端口設(shè)置下本征VLAN即可。
- 使用
switchport mode access
接口配置命令禁用非中繼端口上的 DTP(自動(dòng)中繼)協(xié)商。 - 禁用未使用的端口并將其放在未使用的 VLAN 中。
- 使用
switchport mode trunk
命令手動(dòng)啟用中繼端口上的中繼鏈路。 - 使用
switchport nonegotiate
命令禁用中繼端口上的 DTP(自動(dòng)中繼)協(xié)商。 - 使用
switchport trunk native vlan 這里寫(xiě)VLAN號(hào)
命令把本征VLAN設(shè)置為VLAN 1之外的其他 VLAN。
緩解DHCP攻擊
什么是DHCP攻擊
DHCP攻擊針對(duì)的目標(biāo)是網(wǎng)絡(luò)中的DHCP服務(wù)器,原理是耗盡DHCP服務(wù)器所有的IP地址資源,使其無(wú)法正常提供地址分配服務(wù)。然后在網(wǎng)絡(luò)中再架設(shè)假冒的DHCP服務(wù)器為客戶(hù)端分發(fā)IP地址,從而來(lái)實(shí)現(xiàn)中間人攻擊。
DHCP耗竭攻擊可以使用端口安全來(lái)得到有效地緩解,因?yàn)槊總€(gè)發(fā)送的DHCP請(qǐng)求消息中使用一個(gè)唯一的源MAC地址。
但是,緩解 DHCP欺騙攻擊需要采取更多保護(hù)措施。使用真實(shí)的接口 MAC地址作為源以太網(wǎng)地址,在DHCP負(fù)載中使用一個(gè)不同的以太網(wǎng)地址。這樣就有可能導(dǎo)致端口安全無(wú)法發(fā)揮作用,因?yàn)樵?MAC地址此時(shí)會(huì)是合法的。通過(guò)在可信端口上使用DHCP監(jiān)聽(tīng)可緩解 DHCP 欺騙攻擊。
DHCP監(jiān)聽(tīng)
DHCP監(jiān)聽(tīng)并不依賴(lài)源MAC地址。它的作用是判斷 DHCP消息是否來(lái)自于管理員配置的可信或不可信源。接下來(lái),它就會(huì)對(duì) DHCP消息執(zhí)行過(guò)濾,并且對(duì)來(lái)自不可信源的DHCP流量執(zhí)行限速。
所有管理員可以管理的設(shè)備(如交換機(jī)、路由器和服務(wù)器)都是可信源。超出防火墻范圍或者網(wǎng)絡(luò)范圍之外的設(shè)備都是不可信源。另外,所有接入端口一般都會(huì)視為不可信源。
這張圖顯示了一個(gè)關(guān)于可信端口和不可信端口的示例。
在啟用了 DHCP監(jiān)聽(tīng)之后,欺詐 DHCP服務(wù)器可能連接的是不可信端口。在默認(rèn)情況下,所有接口都會(huì)被視為是不可信端口??尚哦丝谕侵欣^鏈路,以及與合法 DHCP服務(wù)器相連的那些端口。這些端口都必須由管理員手動(dòng)配置為可信端口。
在創(chuàng)建 DHCP表時(shí),其中會(huì)包含不可信端口上的設(shè)備源MAC地址,以及 DHCP服務(wù)器分配給這臺(tái)設(shè)備的 IP地址。MAC 地址和IP地址是綁定的。因此,這個(gè)表也就稱(chēng)為DHCP監(jiān)聽(tīng)綁定表。
S1(config)# ip config snooping
S1(config)# interface f0/1
S1(config-if)# ip dhcp snooping trust
S1(config-if)# exit
S1(config)# interface range f0/5 - 24
S1(config-if-range)# ip dhcp snooping limit rate 6
S1(config-if-range)# exit
S1(config)# ip dhcp snooping vlan 5,10,50-52
S1(config)# end
上面的示例顯示了如何在S1上配置 DHCP監(jiān)聽(tīng)。請(qǐng)注意第一次如何啟用 DHCP 監(jiān)聽(tīng)。
然后可以明確信任向上連接 DHCP 服務(wù)器的接口。接下來(lái),F(xiàn)astEthernet F0/5 到 F0/24 這個(gè)范圍的端口均保持默認(rèn)的不可信端口狀態(tài),因此這些端口還設(shè)置了每秒 6 個(gè)數(shù)據(jù)包的速率限制。最后,在 VLAN 5、10、50、51、和 52 上啟用 DHCP監(jiān)聽(tīng)。
緩解ARP攻擊
什么是ARP攻擊
攻擊方將自己MAC地址與其他人的IP封裝成虛假的ARP報(bào)文,使被攻擊方不停學(xué)習(xí)偽裝條目,當(dāng)被攻擊方與偽裝目標(biāo)通信時(shí),數(shù)據(jù)會(huì)送達(dá)攻擊方,攻擊方再將數(shù)據(jù)轉(zhuǎn)發(fā)給偽裝目標(biāo),即可實(shí)現(xiàn)雙方正常通信情況下竊取通信數(shù)據(jù)。
當(dāng)然這個(gè)過(guò)程可以簡(jiǎn)化成攻擊方可以不停的發(fā)送一個(gè)偽裝報(bào)文,不停的讓被攻擊方學(xué)習(xí)一個(gè)或多個(gè)條目,實(shí)現(xiàn)單向的斷網(wǎng)攻擊。
但無(wú)論是雙向欺騙還是單向攻擊都需要攻擊者不斷發(fā)送ARP報(bào)文。
動(dòng)態(tài)ARP檢測(cè)(DAI)
動(dòng)態(tài)ARP 檢測(cè)(DAI)需要使用DHCP監(jiān)聽(tīng),可以防止ARP攻擊,因?yàn)檫@種特性可以:
- 不會(huì)向同一 VLAN 中的其他端口轉(zhuǎn)發(fā)無(wú)效或無(wú)故 ARP 應(yīng)答。
- 在不可信端口上攔截所有的ARP 請(qǐng)求和應(yīng)答。
- 每個(gè)被攔截的數(shù)據(jù)包都要接受檢驗(yàn),看它是否具有有效的 IP-MAC 綁定。
- 丟棄并記錄從無(wú)效綁定關(guān)系發(fā)來(lái)的ARP應(yīng)答,以防止ARP毒化。
- 如果超出了配置的ARP數(shù)據(jù)包DAI數(shù)量,端口就會(huì)進(jìn)入error-disable狀態(tài)。
要緩解 ARP欺騙和ARP毒化,可以執(zhí)行下列 DAI實(shí)施的指導(dǎo)方針:
- 全局啟用 DHCP 監(jiān)聽(tīng)。
- 在選定的 VLAN 上啟用 DHCP 監(jiān)聽(tīng)。
- 在選定的 VLAN 上啟用 DAI。
- 為 DHCP 監(jiān)聽(tīng)和 ARP 檢測(cè)配置可信端口。
通常建議將所有交換機(jī)的接入端口配置為不可信,將所有連接到其他交換機(jī)的上行鏈路端口配置為可信。
圖中的示例拓?fù)錁?biāo)識(shí)了受信任和不受信任的端口:
S1(config)# ip dhcp snooping
S1(config)# ip dhcp snooping vlan 10
S1(config)# ip arp inspection vlan 10
S1(config)# interface fa0/24
S1(config-if)# ip dhcp snooping trust
S1(config-if)# ip arp inspection trust
還可以配置 DAI 以檢查目的或源 MAC 和 IP 地址:
- 目的 MAC - 根據(jù)ARP正文中的目的MAC地址檢查以太網(wǎng)報(bào)頭中的目的 MAC 地址。
- 源 MAC - 根據(jù)ARP正文中的發(fā)送方MAC地址檢查以太網(wǎng)報(bào)頭中的源 MAC 地址。
- IP 地址 - 在 ARP 正文中檢查無(wú)效和意外IP地址,包括地址 0.0.0.0 和 255.255.255.255 以及所有IP組播地址。
在Config輸入下方命令可以配置 DAI,在IP地址無(wú)效時(shí)丟棄ARP數(shù)據(jù)包。它可用于ARP數(shù)據(jù)包正文中的 MAC 地址與以太網(wǎng)報(bào)頭中指定的地址不匹配的場(chǎng)合。
ip arp inspection validate {[src-mac] [dst-mac] [ip]}
緩解STP攻擊
PortFast和BPDU防護(hù)
攻擊者可以操縱生成樹(shù)協(xié)議(STP),通過(guò)偽造根網(wǎng)橋和更改網(wǎng)絡(luò)拓?fù)涞姆绞桨l(fā)起攻擊。為了緩解生成樹(shù)(STP)操縱攻擊,應(yīng)該使用 PortFast和BPDU(橋協(xié)議數(shù)據(jù)單元)防護(hù)特性:
- PortFast - 可讓配置為接入端口或中繼端口的接口直接從阻止?fàn)顟B(tài)變?yōu)檗D(zhuǎn)發(fā)狀態(tài),繞過(guò)偵聽(tīng)和學(xué)習(xí)狀態(tài)。適用于所有最終用戶(hù)端口。PortFast只應(yīng)該配置在那些連接終端設(shè)備的端口上。
- BPDU 防護(hù)(BPDU Guard) - BPDU 防護(hù)會(huì)立即讓接收到 BPDU 的端口進(jìn)入errordisable狀態(tài)。BPDU防護(hù)也應(yīng)該只配置在那些連接終端設(shè)備的端口上,這一點(diǎn)和PortFast特性相同。
配置PortFast防護(hù)
PortFast會(huì)繞過(guò)STP偵聽(tīng)(listening)和學(xué)習(xí)(learning)狀態(tài),把接入端口等待 STP收斂的時(shí)間降到最低。如果在連接到其他交換機(jī)的端口上啟用 PortFast,則會(huì)產(chǎn)生形成生成樹(shù)環(huán)路的風(fēng)險(xiǎn)。
可以使用接口配置命令spanning-tree portfast
在接口上啟用PortFast。另外,也可以通過(guò)全局配置命令spanning-tree portfast default
以全局方式在所有接入端口上配置 Portfast。
要想驗(yàn)證是否 PortFast已經(jīng)在全局啟用,可以使用命令show running-config | begin span
或命令show spanning-tree summary
進(jìn)行查看。要想驗(yàn)證是否PortFast已經(jīng)在一個(gè)接口上啟用,可以使用命令show running-config interface type/number
進(jìn)行查看,如下面的示例所示??梢蕴貦?quán)模式下使用命令show spanning-tree interface type/number detail
進(jìn)行驗(yàn)證。
S1(config)# interface fa0/1
S1(config-if)# switchport mode access
S1(config-if)# spanning-tree portfast
S1(config-if)# exit
S1(config)# spanning-tree portfast default
S1(config)# exit
配置BPDU防護(hù)
即使啟用了 PortFast,接口仍將偵聽(tīng) BPDU。偶爾可能會(huì)收到意外 BPDU,或發(fā)生未經(jīng)授權(quán)嘗試將交換機(jī)添加到網(wǎng)絡(luò)的操作。
如果在啟用 BPDU 防護(hù)的端口上收到 BPDU,則該端口將進(jìn)入錯(cuò)誤禁用狀態(tài)。這表示這個(gè)端口已經(jīng)關(guān)閉,必須手動(dòng)重新啟用,或者通過(guò)全局命令 errdisable recovery cause psecure_violation
讓它自動(dòng)恢復(fù)。
BPDU防護(hù)可以使用接口配置命令spanning-tree bpduguard enable
在一個(gè)接口上啟用。另外,也可以使用全局配置spanning-tree portfast bpduguard default
在全部啟用了PortFast的端口上啟用 BPDU防護(hù)。要顯示有關(guān)生成樹(shù)狀態(tài)的信息,可以使用命令show spanning-tree summary
。在這個(gè)示例中,針對(duì)接入模式的端口,PortFast和BPDU防護(hù)都是默認(rèn)啟用的。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-849660.html
請(qǐng)始終在所有已啟用 PortFast 的端口上啟用 BPDU 防護(hù)。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-849660.html
S1(config)# interface fa0/1
S1(config-if)# spanning-tree bpduguard enable
S1(config-if)# exit
S1(config)# spanning-tree portfast bpduguard default
S1(config)# end
到了這里,關(guān)于Cisco交換機(jī)安全配置的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!