提到安全攻擊,往往會想到攻擊來自于網際網路,而内部的區域網路安全問題被忽略。在企業區域網路中也存在很多安全隐患,本篇部落格介紹幾種區域網路内部的安全攻擊與防禦
常見的區域網路攻擊
1、MAC位址擴散攻擊
我們知道,交換機在轉發資料幀時,會查詢MAC位址表中該接口對應的源MAC位址條目,如果沒有資料幀的源MAC位址,交換機将學習源MAC位址并與接口對應,添加到MAC位址表中,再根據目的MAC位址進行查找。如果目的MAC位址沒找到,就會以廣播的形式轉發資料幀。而MAC位址擴散攻擊就是利用交換機的這種特性
攻擊原理:每台交換機的MAC位址表空間是有限的,如果某主機發送大量的僞造源MAC位址資料幀,使得交換機MAC位址表溢出。這時,交換機在接收正常的資料幀,MAC位址表将找不到對應的條目,該資料幀會被轉發,攻擊者将得到正常的通信資料,如下圖:
<a href="http://yangshufan.blog.51cto.com/13004230/1972253" target="_blank"></a>
使用MAC位址擴散攻擊時,有個明顯現象就是交換機CPU使用率偏高,容易被發現。使用“show processes cpu”指令可以檢視裝置的CPU使用率
2、ARP攻擊與欺騙
(1)ARP攻擊的原理
● 攻擊主機制造假的ARP應答,并發送給被攻擊主機之外所有主機。ARP應答中包括攻擊主機的IP位址和虛假的MAC位址
● 攻擊主機制造假的ARP應答,并發送給被攻擊主機。ARP應答中包括攻擊主機之外所有主機的IP位址和虛假的MAC位址
隻要執行上邊的一種攻擊就可以實作被攻擊主機與其他主機無法正常通信
(2)ARP欺騙的原理
ARP欺騙不是使網絡無法正常通信,而是通過冒充網關或其他主機,進而控制流量或竊取機密資訊
3、DHCP伺服器欺騙與位址耗盡
(1)DHCP伺服器欺騙:用戶端将自己配置為DHCP伺服器分發虛假的IP位址,或直接響應DHCP請求
(2)DHCP位址耗盡:用戶端不斷地冒充新客戶機發送DHCP請求,請求伺服器為自己分派IP位址,進而使伺服器位址耗盡,而正常主機無法獲得IP位址
4、IP位址欺騙
用戶端使用自己配置的IP位址冒充其他用戶端或網絡管理者,對其他主機、裝置、伺服器等進行非法操作.0
防禦攻擊的解決方案
方案1:交換機的端口安全配置
Cisco交換機提供一種基于MAC位址控制端口通路權限的安全特性,對MAC位址進行流量限制、設定端口允許接入的主機數量,也可以手動在端口上設定MAC位址。隻有綁定的MAC位址才能轉發
端口安全是一種網絡接入的驗證,隻有符合設定規則的用戶端才可以接入區域網路,避免未授權的用戶端接入網絡,可實作以下功能:
● 基于MAC位址限制、允許用戶端流量
● 避免MAC位址擴散攻擊
● 避免MAC位址欺騙攻擊
(1)啟動交換機接口安全特性
在接口模式下配置指令如下:
1
<code>switch(config-</code><code>if</code><code>)</code><code># switchport port-security</code>
注意:啟動安全特性的接口不能是動态(Dynamic)協商模式,必須是接入(Access)或幹道(Trunk)模式
(2)配置允許通路的網絡MAC位址
限制允許通路網絡的最大的MAC位址數和靜态綁定MAC位址,指令如下:
2
<code>switch(config-</code><code>if</code><code>)</code><code># switchport port-security maximum {max-addr} //max-addr預設為1,範圍是1-8192</code>
<code>switch(config-</code><code>if</code><code>)</code><code># switchport port-security mac-address {mac-addr} //mac-addr為靜态綁定的MAC位址,格式為X.X.X</code>
(3)配置老化時間
預設情況下,交換機不删除接口獲得的MAC位址,如果接口的用戶端經常變換,而舊MAC位址一直保留,可能導緻新連接配接的用戶端無法通信。可以配置老化時間,讓交換機删除一段時間沒有流量的MAC位址 ,配置指令如下:
<code>switch(config-</code><code>if</code><code>)</code><code># switchport port-security aging time {time} //time範圍是1-1440min,預設為0,不删除</code>
<code>switch(config-</code><code>if</code><code>)</code><code># switchport port-security aging type {absolute | inactivity}</code>
absolute表示老化時間到後,删除所有MAC位址并重新學習
inactivity表示一段時間(老化時間)沒有流量,就将其MAC位址從位址表中删除
注意:靜态綁定的MAC位址不受老化時間影響
有些工作環境要求靜态綁定的MAC位址也受老化時間影響,配置指令如下:
<code>switch(config-</code><code>if</code><code>)</code><code># switchport port-security aging static</code>
(4)配置MAC位址違規後的政策
當出現以下情況時,就出現MAC位址違規
● 最大安全數目的MAC位址表之外的一個新的MAC位址通路該端口
● 配置在其他端口安全的MAC位址試圖通路這個端口
當出現MAC位址違規是,有三種處理方法,配置指令如下:
<code>switch(config-</code><code>if</code><code>)</code><code># switchport port-security violation {protect | restrict | shutdown}</code>
protect将違規的MAC位址的分組丢棄,但端口處于up狀态。交換機不記錄違規分組
restrict将違規的MAC位址的分組丢棄,但端口處于up狀态。交換機記錄違規分組
shutdown端口成為err-disabled狀态,相當于關閉端口。
在出現err-disabled狀态時,預設不會自動恢複。恢複端口有兩種方法:
手動恢複:先關閉端口(shutdown),在打開端口(no shutdown)
自動恢複:設定計時器,端口進入err-disabled狀态時開始計時,計時器超過後,自動恢複。計時器配置指令如下:
<code>switch(config)</code><code># errdisable recovery cause psecure-violation //配置出現err-disabled狀态的原因</code>
<code>switch(config)</code><code># errdisable recovery interval {time} //time為30-86400,機關為s</code>
(5)配置端口安全的Sticky(粘連)特性
如果為每個端口配置靜态綁定,工作量非常大,用端口安全Sticky特性,動态的将交換機學習的MAC位址轉換為Sticky MAC位址,并加入運作配置中,自動形成了端口安全允許的靜态MAC位址表項。儲存配置,交換機重新開機将不會重新學習。配置指令如下:
<code>switch(config)</code><code># switchport port-security mac-address sticky</code>
(6)檢視和清除端口狀态
3
4
<code>switch</code><code># show port-security int f0/1 //檢視啟用端口安全的狀态</code>
<code>switch</code><code># show interfaces status err-disabled //檢視處于err-disabled狀态的端口摘要資訊</code>
<code>switch</code><code># show port-security //檢視端口安全的摘要資訊</code>
<code>switch</code><code># clear port-security dynamic {address mac-addr | int f0/1} //清除接口的MAC位址或全部端口緩存</code>
案例:在交換機配置端口安全,指令如下:
5
6
7
8
<code>switch(config)</code><code># int f0/1</code>
<code>switch(config-</code><code>if</code><code>)</code><code># switchport mode access</code>
<code>switch(config-</code><code>if</code><code>)</code><code># switchport access vlan 2</code>
<code>switch(config-</code><code>if</code><code>)</code><code># switchport port-security //啟用端口安全</code>
<code>switch(config-</code><code>if</code><code>)</code><code># switchport port-security mac-address 0025.1234.1258 //靜态綁定MAC位址 </code>
<code>switch(config-</code><code>if</code><code>)</code><code># switchport port-security aging time 1 //配置老化時間1min </code>
<code>switch(config-</code><code>if</code><code>)</code><code># switchport port-security aging type inactivity //配置删除端口MAC的政策</code>
<code>switch(config-</code><code>if</code><code>)</code><code># switchport port-security violation restrict //配置出現違規時的政策</code>
在端口f0/1啟用端口安全,允許最大MAC位址為1,并靜态綁定MAC位址
檢視啟用端口安全的狀态
9
10
11
12
13
<code>switch</code><code># show port-security int f0/1</code>
<code>Port Security : Enabled </code><code>//</code><code>端口安全啟用</code>
<code>Port Status : Secure-up </code><code>//</code><code>端口狀态為up</code>
<code>Violation Mode : Restrict </code><code>//</code><code>出現違規MAC位址采取的政策</code>
<code>Aging Time : 1 mins </code><code>//</code><code>老化時間</code>
<code>Aging Type : Inactivity </code><code>//</code><code>端口MAC位址删除政策</code>
<code>SecureStaticAddress Aging : Disabled </code><code>//</code><code>是否允許端口删除靜态綁定MAC位址</code>
<code>Maximum MAC Addresses : 1 </code><code>//</code><code>最大MAC位址數量</code>
<code>Total MAC Addresses : 1 </code><code>//</code><code>端口活躍MAC位址數(包括靜态綁定MAC位址)</code>
<code>Configured MAC Addresses : 1 </code><code>//</code><code>靜态綁定的MAC位址數</code>
<code>Sticky MAC Addresses : 0 </code><code>//</code><code>粘連的MAC位址數</code>
<code>Last Source Address:Vlan : 0025.1234.1258:2 </code><code>//</code><code>最新的源MAC位址及其所在的VLAN</code>
<code>Security Violation Count : 0 </code><code>//</code><code>安全違規次數</code>
方案2:DHCP監聽
DHCP監聽(DHCP Snooping)是一種保護DHCP伺服器的安全機制,可以通過過濾來着網絡中的主機或其他裝置的非信任DHCP封包,以保證用戶端能夠從正确的DHCP伺服器獲得IP位址,避免DHCP伺服器欺騙和DHCP位址耗盡
DHCP監聽将交換機端口分為:
非信任端口:連接配接終端裝置的端口。該端口用戶端隻能發送DHCP請求封包,丢棄來着該端口的其他所有DHCP封包
信任端口:連接配接合法的DHCP伺服器或彙集端口
DHCP監聽還可以限制用戶端發送DHCP的請求速率,進而減緩DHCP資源耗盡攻擊。Cisco交換機支援在每個VLAN上啟用DHCP監聽
DHCP監聽的配置
(1)啟用DHCP監聽的指令如下:
<code>switch(config)</code><code># ip dhcp snooping</code>
設定DHCP監聽作用于哪個VLAN的指令如下:
<code>switch(config)</code><code># ip dhcp snooping vlan number //number為VLAN号,可以一次設多個VLAN,如2、3-5</code>
(2)配置端口信任或非信任
啟用DHCP監聽後,預設所有端口為非信任。若要配置端口為信任,配置指令如下:
<code>switch(config-</code><code>if</code><code>)</code><code># ip dhcp snooping trust</code>
(3)配置預防DHCP耗盡攻擊
限制DHCP封包速率,減緩DHCP耗盡攻擊,在非信任端口配置以下指令:
<code>switch(config-</code><code>if</code><code>)</code><code># ip dhcp snooping limit rate {rate} //rate為封包速率,機關p/s,Cisco2960交換機1-2048p/s</code>
還可以啟用核實MAC位址功能,避免虛假MAC位址請求IP位址,進而實作DHCP耗盡攻擊,配置指令如下:
<code>switch(config)</code><code># ip dhcp snooping verify mac-address</code>
當非信任端口的DHCP封包速率大于規定值,就會出現違規情況,端口将出現err-disabled狀态。和上面MAC位址違規一樣,也可以手動恢複,下面介紹下自動恢複,設定err-disabled計時器,指令如下:
<code>switch(config)</code><code># errdisable recovery cause dhcp-rate-limit //配置出現err-disabled狀态的原因</code>
(4)DHCP監聽狀态查詢
<code>switch</code><code># show ip dhcp snooping //檢視目前DHCP監聽狀态及各端口情況</code>
<code>switch</code><code># show ip dhcp snooping binding //檢視目前DHCP監聽表</code>
<code>switch</code><code># clear ip dhcp snooping binding //清除DHCP監聽表</code>
案例:在交換機上啟用DHCP監聽,限制非信任端口DHCP封包速率為100p/s
<code>switch(config)</code><code># ip dhcp snooping //啟用DHCP監聽</code>
<code>switch(config)</code><code># ip dhcp snooping vlan 1 //監聽的VLAN </code>
<code>switch(config)</code><code># int f0/21</code>
<code>switch(config-</code><code>if</code><code>)</code><code># ip dhcp snooping trust </code>
<code>switch(config-</code><code>if</code><code>)</code><code># exit</code>
<code>switch(config)</code><code># int range f0/1 - 20</code>
<code>switch(config-</code><code>if</code><code>-range)</code><code># ip dhcp snooping limit rate 100</code>
<code>switch(config-</code><code>if</code><code>-range)</code><code># exit</code>
<code>switch(config)</code><code># int range f0/22 - 24</code>
如果上面的DHCP伺服器是一台路由器是,用戶端可能無法獲得IP位址,可以在其上面配置以下任意一台指令:
<code>router(config-</code><code>if</code><code>)</code><code># ip dhcp relay information trusted //接收DHCP封包的接口</code>
<code>或者</code>
<code>router(config)</code><code># ip dhcp relay information trust-all //全局模式,對所有接口生效</code>
方案3:部署網絡版防病毒軟體
網絡版和單機版防病毒軟體最大的不同在于可以通過控制中心管理網絡中任意一台計算機,統一殺毒、更新病毒庫等,實作全網管理。一般有伺服器端和用戶端組成,具有以下特點:
(1)可以遠端安裝或解除安裝用戶端防病毒軟體
(2)可以禁止使用者自行解除安裝用戶端防病毒軟體
(3)可以全網範圍統一制定、分發、執行防病毒政策
(4)可以遠端監控用戶端系統健康狀态
(5)提供遠端報警手段,自動将病毒資訊發送給網絡管理者
(6)允許用戶端自定義防病毒政策
本文轉自 楊書凡 51CTO部落格,原文連結:http://blog.51cto.com/yangshufan/1972253,如需轉載請自行聯系原作者