AAA
(1)傳統(tǒng)接入問題:
① 傳統(tǒng)接入問題:
在用戶接入網(wǎng)絡(luò)的時候,運營商就不得不面臨以下的問題。如何確定用戶是否有權(quán)限進(jìn)入網(wǎng)絡(luò)。運營商需要防止非法用戶訪問網(wǎng)絡(luò),以保護(hù)自身和合法用戶的權(quán)益。
● 如何確定用戶使用服務(wù)的范圍。
● 如何對上線的用戶進(jìn)行準(zhǔn)確的計費。
② 傳統(tǒng)接入解決方案:
可以使用AAA 解決以上問題。AAA 提供對用戶進(jìn)行認(rèn)證、授權(quán)和計費三種安全功能,能夠比較全面的處理上述問題。
(2)多用戶接入問題:
① 多用戶接入問題:
大量用戶接入網(wǎng)絡(luò)時,如果由路由器負(fù)責(zé)對其進(jìn)行處理的話,首先,路由器需要維
護(hù)一個比較大的數(shù)據(jù)庫。其次,路由器需要對接入的用戶進(jìn)行控制,防止非法訪
問。顯然,對大量不同類型的用戶進(jìn)行實時控制,會讓路由器消耗大量的資源。
如果多用戶接入的業(yè)務(wù)完全由路由器來承擔(dān)的話,路由器上的負(fù)擔(dān)就會過重,甚至
影響其它業(yè)務(wù)的正常運行。
② 多用戶接入解決方案:
對用戶采用域管理,所有用戶都屬于某個域。一個域中的所有用戶都具有類似的屬
性。采用RADIUS/TACACS 服務(wù)器對域下的用戶進(jìn)行認(rèn)證、授權(quán)和計費,而不使用路由器對用戶的上下線進(jìn)行管理。如圖1-2 所示。
③ AAA針對多用戶接入的優(yōu)點:
● 路由器上的壓力減輕,不需要建立一個較大的數(shù)據(jù)庫,更加專注于報文的轉(zhuǎn)發(fā)。
● 支持的用戶數(shù)量較多,同時用戶的請求能夠得到實時的響應(yīng)。
● 用戶的安全性得到了較大的保障。
AAA 是Authentication(認(rèn)證)、Authorization(授權(quán))和Accounting(計費)的簡稱。它提供對用戶進(jìn)行認(rèn)證、授權(quán)和計費三種安全功能。AAA 通常采用“客戶端—服務(wù)器”結(jié)構(gòu)。這種結(jié)構(gòu)既具有良好的可擴(kuò)展性,又便于用戶信息的集中管理。
(1)認(rèn)證(Authentication):
驗證用戶是否可以獲得訪問權(quán),確定哪些用戶可以訪問網(wǎng)絡(luò)。
AAA 支持以下認(rèn)證方式:
① 不認(rèn)證:
對用戶非常信任,不對其進(jìn)行合法檢查,一般情況下不采用這種方式。
② 本地認(rèn)證:
將用戶信息(包括本地用戶的用戶名、密碼和各種屬性)配置在網(wǎng)絡(luò)接入服務(wù)器上。本地認(rèn)證的優(yōu)點是速度快,可以為運營降低成本;缺點是存儲信息量受設(shè)備硬件條件限制。
③ 遠(yuǎn)端認(rèn)證:
將用戶信息(包括本地用戶的用戶名、密碼和各種屬性)配置在認(rèn)證服務(wù)器上。支持通過RADIUS(Remote Authentication Dial In User Service)協(xié)議或HWTACACS (HuaWei Terminal Access Controller Access Control System)協(xié)議進(jìn)行遠(yuǎn)端認(rèn)證,由網(wǎng)絡(luò)接入服務(wù)器NAS(Network Access Server)做為客戶端,與RADIUS 服務(wù)器或TACACS 服務(wù)器通信。對于RADIUS 協(xié)議,可以采用標(biāo)準(zhǔn)RADIUS 協(xié)議或華為公司的擴(kuò)展RADIUS 協(xié)議,與iTELLIN/CAMS(Comprehensive Access Management Server)等設(shè)備配合完成認(rèn)證。
(2)授權(quán)(Authorization):
① 不授權(quán):
不對用戶進(jìn)行授權(quán)處理。
② 直接授權(quán):
對用戶非常信任,直接授權(quán)通過。
③ 本地授權(quán):
根據(jù)網(wǎng)絡(luò)接入服務(wù)器上為本地用戶賬號配置的相關(guān)屬性進(jìn)行授權(quán)。
④ HWTACACS 授權(quán):
由TACACS 服務(wù)器對用戶進(jìn)行授權(quán)。
⑤ if-authenticated 授權(quán):
如果用戶通過了認(rèn)證,而且使用的認(rèn)證模式不是不認(rèn)證,則用戶授權(quán)通過。
⑥ RADIUS 認(rèn)證成功后授權(quán):
RADIUS 協(xié)議的認(rèn)證和授權(quán)是綁定在一起的,不能單獨使用RADIUS 進(jìn)行授權(quán)。
(3)計費(Accounting):
記錄用戶使用網(wǎng)絡(luò)資源的情況。
① 不計費:
不對用戶計費。
② 本地計費:
本地計費主要實現(xiàn)對用戶話單的備份和管理,是對遠(yuǎn)端計費的一種保護(hù)
性措施,也可以代替遠(yuǎn)端服務(wù)器在本地實現(xiàn)對用戶的計費功能。
③ 遠(yuǎn)端計費:
支持通過RADIUS 服務(wù)器或TACACS 服務(wù)器進(jìn)行遠(yuǎn)端計費。
④ 本地和遠(yuǎn)端同時計費:
支持同時向本地和RADIUS 服務(wù)器發(fā)送計費報文,或同時向
本地和TACACS 服務(wù)器發(fā)送計費報文。采用本地和遠(yuǎn)端同時計費可以提高計費的
可靠性。
句話就淚流滿面;有時,也發(fā)現(xiàn)自己咬著牙走了很長的路。
(1)RADIUS:
① 描述:
AAA 可以用多種協(xié)議來實現(xiàn),最常用的是RADIUS 協(xié)議。RADIUS 最初用來管理使用串口和調(diào)制解調(diào)器的大量分散用戶,后來廣泛應(yīng)用于網(wǎng)絡(luò)接入服務(wù)器NAS(NetworkAccess Server)系統(tǒng)。
當(dāng)用戶想要通過某個網(wǎng)絡(luò)(如電話網(wǎng)絡(luò))與NAS 建立連接從而取得訪問其他網(wǎng)絡(luò)的權(quán)利或取得使用某些網(wǎng)絡(luò)資源的權(quán)利時,NAS 起到了認(rèn)證用戶或?qū)?yīng)連接的作用。NAS 負(fù)責(zé)把用戶的認(rèn)證、授權(quán)和計費信息傳遞給RADIUS 服務(wù)器。RADIUS 協(xié)議規(guī)定了NAS 與RADIUS 服務(wù)器之間如何傳遞用戶信息和計費信息。RADIUS 服務(wù)器負(fù)責(zé)接收用戶的連接請求,完成認(rèn)證,并把用戶所需的配置信息返回給NAS。NAS 和RADIUS 之間的驗證信息的傳遞是通過密鑰的參與來完成的,以避免用戶的密碼在不安全的網(wǎng)絡(luò)上傳輸時被竊取。
● 用戶登錄路由器或接入服務(wù)器等網(wǎng)絡(luò)設(shè)備時,會將用戶名和密碼發(fā)送給該網(wǎng)絡(luò)設(shè)備
● 該網(wǎng)絡(luò)設(shè)備中的RADIUS 客戶端(路由器或接入服務(wù)器)接收用戶名和密碼,并向RADIUS 服務(wù)器發(fā)送認(rèn)證請求
● RADIUS 服務(wù)器接收到合法的請求后,完成認(rèn)證,并把所需的用戶授權(quán)信息返回給客戶端。
注:客戶端和RADIUS 服務(wù)器之間的用戶密碼信息經(jīng)過加密以后才在網(wǎng)絡(luò)上傳遞,以避免用戶密碼在不安全的網(wǎng)絡(luò)上被竊取。
② 特性:
● RADIUS 使用UDP(User Datagram Protocol)作為傳輸協(xié)議,具有良好的實時性;同時也支持重傳機(jī)制和備用服務(wù)器機(jī)制,從而具有較好的可靠性。RADIUS 的實現(xiàn)比較簡單,適用于大用戶量時服務(wù)器端的多線程結(jié)構(gòu)。網(wǎng)絡(luò)接入服務(wù)器作為RADIUS 協(xié)議的客戶端,實現(xiàn)以下功能:
● 標(biāo)準(zhǔn)RADIUS 協(xié)議及擴(kuò)充屬性,包括RFC2865、RFC2866。
● 華為擴(kuò)展的RADIUS+1.1 協(xié)議。
● 對RADIUS 服務(wù)器狀態(tài)的主動探測功能:收到AAA 的認(rèn)證或計費消息后,如果當(dāng)前服務(wù)器的狀態(tài)為DOWN,啟動服務(wù)器探測處理,將消息轉(zhuǎn)換為報文后向當(dāng)前服務(wù)器發(fā)送,該報文作為服務(wù)器的探測報文,如果收到RADIUS 服務(wù)器的回應(yīng),則認(rèn)為該服務(wù)器重新可用。
● 計費結(jié)束報文的本地緩存重傳功能:計費結(jié)束報文在重傳發(fā)送失敗次數(shù)超過配置次數(shù)后,將計費結(jié)束報文保存到計費結(jié)束報文緩存隊列;系統(tǒng)定時器周期掃描該隊列,如果存在計費結(jié)束緩存報文,則取出報文內(nèi)容,向指定的服務(wù)器發(fā)送并啟動定時器等待,如果發(fā)送失敗或在超時時間內(nèi)沒有收到服務(wù)器回應(yīng),則重新入緩存隊列。
● RADIUS 服務(wù)器的自動切換功能:如果當(dāng)前發(fā)送的服務(wù)器的狀態(tài)為不可發(fā)送,或者發(fā)送次數(shù)超過當(dāng)前服務(wù)器的最大重傳次數(shù),則需要在配置的服務(wù)器組中選擇另外的服務(wù)器發(fā)送報文。
(2)HWTACACS:
HWTACACS 是在TACACS(RFC1492)基礎(chǔ)上進(jìn)行了功能增強(qiáng)的一種安全協(xié)議。該協(xié)
議與RADIUS 協(xié)議類似,主要是通過“客戶端—服務(wù)器”模式與TACACS 服務(wù)器通信
來實現(xiàn)多種用戶的AAA 功能,可用于PPP、VPDN(Virtual Private Dial Network)接入用戶和login 用戶的認(rèn)證、授權(quán)和計費。
① 描述:
HWTACACS 協(xié)議的消息流程和RADIUS 協(xié)議的消息流程類似。不同在于HWTACACS
協(xié)議當(dāng)用戶認(rèn)證通過之后,服務(wù)器返回的是認(rèn)證回應(yīng),而不返回用戶的權(quán)限,只有當(dāng)授
權(quán)流程完成后才會返回用戶的權(quán)限。
HWTACACS 支持VPN 實例轉(zhuǎn)發(fā),當(dāng)運營商的TACACS 服務(wù)器部署在私網(wǎng),而路由器
位于公網(wǎng)時,HWTACACS 支持通過VPN 實例與TACACS 服務(wù)器進(jìn)行交互,實現(xiàn)對用
戶的認(rèn)證、授權(quán)和計費。
② 特性:
● HWTACACS 協(xié)議支持按命令行授權(quán):
用戶通過Telnet 或者SSH 登錄到路由器上后,如果該用戶需要進(jìn)行命令行授權(quán),可以將該級別用戶的命令行授權(quán)方法設(shè)置為HWTACACS,該用戶輸入的每一條命令都要通過HWTACACS 服務(wù)器授權(quán)。如果授權(quán)通過,命令就可以被執(zhí)行。否則,HWTACACS服務(wù)器輸出信息,通知用戶該命令的授權(quán)失敗,不能執(zhí)行。命令行授權(quán)可以使用本地授權(quán)的方法作為備選方法,這樣,如果因為服務(wù)器的問題導(dǎo)致命令行授權(quán)失敗時,可以將命令行授權(quán)轉(zhuǎn)入本地授權(quán)處理。如果在用戶配置的超時時間內(nèi),路由器沒有接收到HWTACACS 服務(wù)器的授權(quán)結(jié)果,則授權(quán)超時,該命令不能被執(zhí)行。
用戶還可以配置服務(wù)器無響應(yīng)或本地未配置用戶時命令授權(quán)失敗的策略:
● 選擇讓用戶繼續(xù)在線。
● 選擇授權(quán)失敗次數(shù)超過閾值后下線。
注:按命令授權(quán)失敗的策略僅僅使用于因HWTACACS 服務(wù)器不可用或本地未配置用戶而導(dǎo)致的按命令行授權(quán)失敗情況。下面的兩種情況不能觸發(fā)命令行授權(quán)失敗時的策略:
● 服務(wù)器正常時,所執(zhí)行的命令行未能通過在HWTACACS 服務(wù)器端的授權(quán);
● 服務(wù)器不可用后,按命令行授權(quán)轉(zhuǎn)入本地授權(quán)后,因執(zhí)行的命令級別高于本地配置的級別而授權(quán)失敗。
● HWTACACS 協(xié)議支持對用戶級別提升進(jìn)行認(rèn)證:
用戶通過Telnet 或者SSH 登錄到路由器后,可以通過在用戶模式下使用super 命令來提升或降低自己的級別。這時,路由器對用戶的密碼進(jìn)行驗證。
HWTACACS 可以對用戶級別的提升進(jìn)行認(rèn)證,其執(zhí)行流程如圖1-7 所示。路由器將用戶的密碼發(fā)送到HWTACACS 服務(wù)器上進(jìn)行認(rèn)證,如果認(rèn)證通過,用戶的權(quán)限就可以得到提升,否則,用戶的權(quán)限不能提升。特權(quán)等級更改的結(jié)果只影響本次登錄。
如果在用戶配置的超時時間內(nèi),路由器沒有接收到HWTACACS 服務(wù)器用戶級別提升的認(rèn)證結(jié)果,則認(rèn)證超時,用戶不能提升權(quán)限。
注:當(dāng)路由器對用戶級別提升進(jìn)行驗證的時候,各級別的密碼可以不同;在用HWTACACS 對用戶級別提升進(jìn)行驗證時,各級別密碼是相同的。
● HWTACACS 協(xié)議支持用戶修改密碼:
HWTACACS 用戶登錄設(shè)備時,需要輸入用戶名和密碼向TACACS 服務(wù)器進(jìn)行認(rèn)證,TACACS 服務(wù)器管理所有HWTACACS 用戶密碼。HWTACACS 是客戶端/服務(wù)器模式,發(fā)起密碼修改的可以有兩方:客戶端和服務(wù)器端。
用戶可以通過命令行在客戶端主動發(fā)送修改請求,進(jìn)行密碼修改;也可以在服務(wù)器上配置密碼老化策略,在用戶登錄設(shè)備時由服務(wù)器提醒用戶密碼修改密碼。
注:用戶進(jìn)行Telnet 登錄時,如果輸入的密碼為空,服務(wù)器也會提醒用戶修改密碼。
(3)HWTACACS 協(xié)議和RADIUS 協(xié)議的比較:
與RADIUS 相比,HWTACACS 具有更加可靠的傳輸和加密特性,更加適合于安全控制。
(1)概述:
在目前AAA 的實現(xiàn)中,所有用戶都屬于某個域。用戶屬于哪個域是由用戶名中帶的“@”后的字符串來決定的,比如“user@hua”,就屬于“hua”域;如果用戶名中沒有帶“@”,就屬于系統(tǒng)缺省的default 域。除了系統(tǒng)缺省的default 域外,AAA 允許用戶最多創(chuàng)建254 個域。
(2)路由器對接入用戶的管理:
路由器通過域來進(jìn)行用戶管理,域下可以進(jìn)行缺省授權(quán)配置、RADIUS/HWTACACS 模板配置、認(rèn)證和計費方案的配置等。
所有對于接入用戶的認(rèn)證、授權(quán)、計費都是在域視圖下應(yīng)用認(rèn)證方案、授權(quán)方案、計費方案來實現(xiàn)的,在AAA 視圖下分別預(yù)先配置相應(yīng)的認(rèn)證模式、授權(quán)模式、計費模式。
AAA 有缺省的認(rèn)證方案、授權(quán)方案、計費方案,分別采用本地認(rèn)證、本地授權(quán)、不計費。如果新創(chuàng)建一個域,沒有在域下應(yīng)用認(rèn)證方案、授權(quán)方案、計費方案,那么AAA對該域?qū)⒉捎萌笔〉恼J(rèn)證方案、授權(quán)方案和計費方案。此外,如果要對用戶采用RADIUS/HWTACACS 方案,必須預(yù)先在系統(tǒng)視圖下配置RADIUS/HWTACACS 服務(wù)器模板,然后在用戶所屬域的視圖下應(yīng)用該服務(wù)器模板。
當(dāng)域和域下的用戶同時配置了某一屬性時,基于用戶的配置優(yōu)先級高于域的配置優(yōu)先級。域下配置的授權(quán)信息較AAA 服務(wù)器的授權(quán)信息優(yōu)先級低,即,優(yōu)先使用AAA 服務(wù)器下發(fā)的授權(quán)屬性,在AAA 服務(wù)器無該項授權(quán)或不支持該項授權(quán)時,域的授權(quán)屬性生效。這樣處理的優(yōu)點是:可以憑借域管理靈活增加業(yè)務(wù),而不必受限于AAA 服務(wù)器提供的屬性。
(3)AAA 對PPP 用戶的地址分配原則:
采用PPP 方式接入的用戶,可以利用PPP 地址協(xié)商功能從網(wǎng)絡(luò)接入服務(wù)器獲得本端接口的IP 地址。在網(wǎng)絡(luò)接入服務(wù)器上,AAA 對PPP 用戶的地址分配原則如下:
① 對于不認(rèn)證的用戶:
● 如果接口下配置為對端分配IP 地址,直接把該地址分配給對端。
● 如果接口下配置從地址池中為對端分配地址,則從指定的全局地址池中為對端分配地址。
② 對于認(rèn)證通過的default 域用戶:
注:包括兩種:不加@的,如“aaa”;用戶名后加@default,如“aaa@default”
● 如果服務(wù)器下發(fā)了IP 地址,則直接把該地址分配給對端。
● 如果服務(wù)器下發(fā)了地址池號,則用該地址池號通過域地址池或者全局地址池給對端分配地址。
● 在服務(wù)器既沒有下發(fā)IP 地址,也沒有下發(fā)地址池號的情況下,如果接口下配置了給對端的IP 地址,直接把該地址分配給對端。如果接口下配置了從地址池中為對端分配地址,則從指定的全局地址池中為對端分配地址。
③ 對于認(rèn)證通過的普通域用戶:
● 如果服務(wù)器下發(fā)了IP 地址,直接把該地址分配給對端。
● 如果服務(wù)器下發(fā)了地址池號,則用該地址池號通過域地址池給對端分配地址。
● 在服務(wù)器既沒有下發(fā)IP 地址,也沒有下發(fā)地址池號的情況下,從域下的第一個地址池開始遍歷分配。
注:以上從地址池中分配地址的情況,全局地址池和域地址池都只遍歷一遍。當(dāng)指定的全局地址池或域地址池分配完后,直接返回?zé)o效地址0,不去全局地址池遍歷查找可用地址。
在配置地址池的時候,A 類地址中的XXX.255.255.255 和XXX.0.0.0,B 類地址中的XXX.XXX.255.255 和XXX.XXX.0.0,C 類地址中的XXX.XXX.XXX.255 和XXX.XXX.XXX.0 都不能夠作為合法的地址池起始、結(jié)束地址。如果地址池里面含有這些地址,這些地址也不會被分配。
注:IP 地址協(xié)商的配置需要在客戶端與服務(wù)器端分別進(jìn)行。
(4)AAA 及用戶管理的應(yīng)用:
① 使用RADIUS 對接入用戶進(jìn)行管理:
使用RADIUS 對接入用戶進(jìn)行管理,如圖1-9 所示。用戶A、B、C 都屬于某個域下的用戶,通過路由器接入Internet。路由器根據(jù)用戶所屬的域,選擇具體的RADIUS 服務(wù)器對其進(jìn)行認(rèn)證,如果認(rèn)證通過,用戶就可以訪問Internet。
②使用HWTACACS 對接入用戶進(jìn)行管理:
使用HWTACACS 對接入用戶進(jìn)行管理,如圖1-10 所示。用戶A、C 屬于某個域下的用戶,通過路由器接入Internet。路由器根據(jù)用戶所屬的域,選擇具體的TACACS 服務(wù)器對其進(jìn)行認(rèn)證,如果認(rèn)證通過,用戶A、C 就可以訪問Internet。
用戶B 是管理型用戶,需要登錄路由器對其進(jìn)行配置。使用HWTACACS 對其進(jìn)行管理,以獲得較高的安全性??梢允褂肏WTACACS 對用戶B 在路由器上配置的每一條命令進(jìn)行授權(quán),同時,如果用戶B 需要提升自己的用戶權(quán)限,HWTACACS 也可以對其進(jìn)行認(rèn)證。
攻擊防范
網(wǎng)絡(luò)攻擊一般分為拒絕服務(wù)型攻擊、掃描窺探攻擊和畸形報文攻擊三大類:
(1)拒絕服務(wù)型攻擊:
拒絕服務(wù)型DoS(Denial of Service)攻擊是使用大量的數(shù)據(jù)包攻擊系統(tǒng),使系統(tǒng)無法接受正常用戶的請求,或者主機(jī)掛起不能正常的工作。主要DoS攻擊有SYN Flood、Fraggle等。
拒絕服務(wù)攻擊和其他類型的攻擊不同之處在于:攻擊者并不是去尋找進(jìn)入內(nèi)部網(wǎng)絡(luò)的入口,而是阻止合法用戶訪問資源或防火墻。
解決方案:
執(zhí)行命令system-view,進(jìn)入系統(tǒng)視圖。
執(zhí)行命令firewall defend icmp-flood { ip ip-address [ vpn-instance vpn-instance-name ] | zone zone-name } [ max-rate rate-value ] ,配置ICMP Flood攻擊防范參數(shù)。
執(zhí)行命令firewall defend syn-flood { ip ip-address [ vpn-instance vpn-instance-name ] | zone zone-name } [ max-rate rate-value ] [ tcp-proxy { auto | off | on } ],配置SYN Flood攻擊防范參數(shù)。
執(zhí)行命令firewall defend udp-flood { ip ip-address [ vpn-instance vpn-instance-name ] | zone zone-name } [ max-rate rate-value ],配置UDP Flood攻擊防范參數(shù)。
缺省情況下,F(xiàn)lood類攻擊防范的最大連接速率均為1000pps,SYN Flood攻擊防范中的TCP代理功能自動啟用。
① SYN Flood攻擊:
SYN Flood攻擊利用TCP三次握手的一個漏洞向目標(biāo)計算機(jī)發(fā)動攻擊。攻擊者向目標(biāo)計算機(jī)發(fā)送TCP連接請求(SYN報文),然后對于目標(biāo)返回的SYN-ACK報文不作回應(yīng)。目標(biāo)計算機(jī)如果沒有收到攻擊者的ACK回應(yīng),就會一直等待,形成半連接,直到連接超時才釋放。
攻擊者利用這種方式發(fā)送大量TCP SYN報文,讓目標(biāo)計算機(jī)上生成大量的半連接,迫使其大量資源浪費在這些半連接上。目標(biāo)計算機(jī)一旦資源耗盡,就會出現(xiàn)速度極慢、正常的用戶不能接入等情況。攻擊者還可以偽造SYN報文,其源地址是偽造的或者不存在的地址,向目標(biāo)計算機(jī)發(fā)起攻擊。
② Fraggle攻擊:
Fraggle攻擊的原理與Smurf攻擊的原理類似,不過,F(xiàn)raggle攻擊發(fā)送的是UDP報文而非ICMP報文。因為發(fā)送的是UDP報文,F(xiàn)raggle攻擊可以穿過一些阻止ICMP報文進(jìn)入的防火墻。
Fraggle攻擊利用的原理是:UDP端口7(ECHO)和端口19(Chargen)在收到UDP報文后,都會產(chǎn)生回應(yīng)。如下:
● UDP的7號端口收到報文后,會象ICMP Echo Reply一樣回應(yīng)收到的內(nèi)容。
● UDP的19號端口在收到報文后,會產(chǎn)生一串字符流。
● 這兩個UDP端口都會產(chǎn)生大量應(yīng)答報文,擠占網(wǎng)絡(luò)帶寬。
攻擊者可以向目標(biāo)主機(jī)所在的網(wǎng)絡(luò)發(fā)送源地址為被攻擊主機(jī)、而目的地址為其所在子網(wǎng)的廣播地址或子網(wǎng)網(wǎng)絡(luò)地址的UDP報文,目的端口號為7(ECHO)或19(Chargen)。子網(wǎng)中啟用了此功能的每個系統(tǒng)都會向受害主機(jī)發(fā)送回應(yīng)報文,從而產(chǎn)生大量的流量,導(dǎo)致受害網(wǎng)絡(luò)的阻塞或受害主機(jī)崩潰。
如果目標(biāo)主機(jī)所在網(wǎng)絡(luò)上的主機(jī)沒有啟動這些功能,這些主機(jī)將產(chǎn)生一個ICMP不可達(dá)消息,仍然消耗帶寬。也可將源端口改為端口19(Chargen),目的端口為7(ECHO),這樣會自動不停地產(chǎn)生回應(yīng)報文,其危害性更大。
③ ICMP Flood攻擊:
通常情況下,網(wǎng)絡(luò)管理員會用PING程序?qū)W(wǎng)絡(luò)進(jìn)行監(jiān)控和故障排除,大概過程如下:
● 源計算機(jī)向接收計算機(jī)發(fā)出ICMP響應(yīng)請求報文(ICMP ECHO)。
● 接收計算機(jī)接收到ICMP響應(yīng)請求報文后,會向源計算機(jī)回應(yīng)一個ICMP 應(yīng)答報文(ECHO Reply)。
這個過程是需要CPU處理的,在有些情況下還可能消耗掉大量的資源。如果攻擊者向目標(biāo)計算機(jī)發(fā)送大量的ICMP ECHO報文(產(chǎn)生ICMP洪水),則目標(biāo)計算機(jī)會忙于處理這些ECHO報文,而無法繼續(xù)處理其它的數(shù)據(jù)報文。
UDP Flood攻擊
UDP Flood攻擊的原理與ICMP Flood攻擊類似,攻擊者通過發(fā)送大量的UDP報文給目標(biāo)計算機(jī),導(dǎo)致目標(biāo)計算機(jī)忙于處理這些UDP報文而無法繼續(xù)處理正常的報文。
(2)掃描窺探攻擊:
掃描窺探攻擊是利用ping掃描(包括ICMP和TCP)來標(biāo)識網(wǎng)絡(luò)上存活著的系統(tǒng),從而準(zhǔn)確地指出潛在的目標(biāo)。利用TCP和UDP等進(jìn)行端口掃描,就能檢測出操作系統(tǒng)的種類和潛在的服務(wù)種類。攻擊者通過掃描窺探就能大致了解目標(biāo)系統(tǒng)提供的服務(wù)種類,為進(jìn)一步侵入系統(tǒng)做好準(zhǔn)備。
解決方案:
執(zhí)行命令system-view,進(jìn)入系統(tǒng)視圖。
執(zhí)行命令firewall defend ip-sweep { blacklist-expire-time interval | max-rate rate-value } ,配置地址掃描攻擊防范參數(shù)。
執(zhí)行命令firewall defend port-scan { blacklist-expire-time interval | max-rate rate-value },配置端口掃描攻擊防范參數(shù)。
① 地址掃描與端口掃描攻擊:
攻擊者運用掃描工具探測目標(biāo)地址和端口,目標(biāo)地址會對這些探測作出響應(yīng),攻擊者根據(jù)這些響應(yīng)用來確定哪些目標(biāo)系統(tǒng)是存活著并且連接在網(wǎng)絡(luò)上、目標(biāo)主機(jī)開放或者關(guān)閉了哪些端口。
② Tracert攻擊:
Tracert是利用TTL(Time To Live)為0時返回的ICMP超時報文,和達(dá)到目的地時返回的ICMP端口不可達(dá)報文來發(fā)現(xiàn)報文到達(dá)目的地所經(jīng)過的路徑。攻擊者可以利用Tracert窺探網(wǎng)絡(luò)的結(jié)構(gòu)。對網(wǎng)絡(luò)造成潛在的危險。
(3)畸形報文攻擊:
畸形報文攻擊是通過向目標(biāo)系統(tǒng)發(fā)送有缺陷的IP報文,使得目標(biāo)系統(tǒng)在處理這樣的IP包時會出現(xiàn)崩潰,給目標(biāo)系統(tǒng)帶來損失。主要的畸形報文攻擊有Ping of Death、Teardrop等。
① Teardrop攻擊:
在網(wǎng)絡(luò)傳輸?shù)倪^程中,如果IP報文的長度超過鏈路層的MTU(最大傳輸單元),就會進(jìn)行分片。在IP報頭中有一個偏移字段(OFFSET)和一個分片標(biāo)志(MF),如果MF標(biāo)志設(shè)置為1,則表明這個IP報文是一個大IP包的分片,其中偏移字段指出了這個片斷在整個IP包中的位置。接收端可以根據(jù)報文頭中的這些信息還原該IP包。比如,一個較大的報文在MTU較小的鏈路上傳輸?shù)臅r候,被分成了兩個IP報文,這兩個IP報文將在目的端進(jìn)行組裝,還原為原始的IP報文。
如果一個攻擊者打破這種正常情況,把偏移字段設(shè)置成不正確的值,即可能出現(xiàn)重合或斷開的情況。某些TCP/IP協(xié)議棧在收到類似這種含有重疊偏移的偽造分段時會崩潰,這就是所謂的Teardrop攻擊。
② Ping of Death攻擊:
所謂Ping of Death,就是利用一些尺寸超大的ICMP報文對系統(tǒng)進(jìn)行的一種攻擊。
IP報文的長度字段為16位,這表明一個IP報文的最大長度為65535。對于ICMP回應(yīng)請求報文,如果數(shù)據(jù)長度大于65507,就會使ICMP數(shù)據(jù)+I(xiàn)P頭長度(20)+I(xiàn)CMP頭長度(8)> 65535。對于有些防火墻或系統(tǒng),在接收到一個這樣的報文后,由于處理不當(dāng),會造成系統(tǒng)崩潰、死機(jī)或重啟。
③ ICMP-Unreachable攻擊:
某些系統(tǒng)在收到網(wǎng)絡(luò)(報文類型字段為3,代碼字段為0)或主機(jī)(報文類型字段為3,代碼字段為1)不可達(dá)的ICMP報文后,對于后續(xù)發(fā)往此目的地的報文直接認(rèn)為不可達(dá)。攻擊者利用這種機(jī)制,向目標(biāo)主機(jī)發(fā)送虛假的ICMP-Unreachable報文,干擾了目標(biāo)主機(jī)的路由信息,影響了報文發(fā)送。
④ ICMP-Redirect攻擊:
ICMP-Redirect攻擊和ICMP-Unreachable攻擊類似。:
網(wǎng)絡(luò)設(shè)備可以向同一個子網(wǎng)的主機(jī)發(fā)送ICMP重定向報文,請求主機(jī)修改路由。
攻擊者利用這個原理,跨越網(wǎng)段向另外一個網(wǎng)絡(luò)的目標(biāo)主機(jī)發(fā)送虛假的重定向報文,以改變目標(biāo)主機(jī)的路由表。這種攻擊干擾了目標(biāo)主機(jī)的路由信息,影響了報文發(fā)送。
⑤ Large-ICMP攻擊:
同ping of death類似,Large-ICMP也是利用一些大尺寸的ICMP報文對系統(tǒng)進(jìn)行的一種攻擊,與ping of death不同的是,Large-ICMP報文的長度不會超過IP報文的最大長度65535,但是對一些操作系統(tǒng)也會造成破環(huán)。需要在防火墻上配置允許通過的ICMP報文的最大長度。
解決方案:
執(zhí)行命令system-view,進(jìn)入系統(tǒng)視圖。
執(zhí)行命令firewall defend large-icmp max-length length,配置超大ICMP報文攻擊防范參數(shù)。
注:缺省情況下,ICMP報文的最大長度為4000字節(jié)。
⑥ Land攻擊:
Land攻擊,就是把TCP的SYN包的源地址和目的地址都設(shè)置為目標(biāo)計算機(jī)的IP地址。這將導(dǎo)致目標(biāo)計算機(jī)向它自己發(fā)送SYN-ACK報文,目標(biāo)計算機(jī)又向自己發(fā)回ACK報文并創(chuàng)建一個空連接,每一個這樣的連接都將保留直到超時。各種類型的主機(jī)對Land攻擊反應(yīng)不同,許多UNIX主機(jī)將崩潰,Windows NT主機(jī)會變得極其緩慢。
⑦ Smurf攻擊:
簡單的Smurf攻擊:用來攻擊一個網(wǎng)絡(luò)。攻擊者向目標(biāo)網(wǎng)絡(luò)發(fā)送ICMP應(yīng)答請求報文,該報文的目標(biāo)地址設(shè)置為目標(biāo)網(wǎng)絡(luò)的廣播地址,這樣,目標(biāo)網(wǎng)絡(luò)的所有主機(jī)都對此ICMP應(yīng)答請求作出答復(fù),導(dǎo)致網(wǎng)絡(luò)阻塞。
高級的Smurf攻擊:
主要用來攻擊目標(biāo)主機(jī)。攻擊者向目標(biāo)主機(jī)所在的網(wǎng)絡(luò)發(fā)送ICMP應(yīng)答請求報文,該報文的源地址設(shè)置為目標(biāo)主機(jī)的地址,這樣,所有的應(yīng)答報文都將發(fā)送給目標(biāo)主機(jī)。最終導(dǎo)致目標(biāo)主機(jī)處理速度緩慢,甚至崩潰。Smurf攻擊報文的發(fā)送需要一定的流量和持續(xù)時間,才能真正構(gòu)成攻擊。理論上講,目標(biāo)網(wǎng)絡(luò)的主機(jī)越多,攻擊的效果越明顯。
⑧ 畸形TCP報文攻擊:
畸形TCP報文是通過故意錯誤設(shè)置TCP頭中的6個標(biāo)記位,造成接收方TCP協(xié)議棧的處理錯誤,達(dá)到攻擊的目的。
⑨ IP-fragment攻擊:
IP報文中有幾個字段與分片有關(guān):DF(Don’t Fragmentate)位、MF位、Fragment Offset、Length。
如果上述字段的值出現(xiàn)矛盾,而設(shè)備處理不當(dāng),會對設(shè)備造成一定的影響,甚至癱瘓。矛盾的情況有:
DF位被置位,而MF位同時被置位或Fragment Offset不為0。
DF位為0,而Fragment Offset + Length > 65535。
另外,由于分片報文可以增加目的設(shè)備緩沖和重組的負(fù)擔(dān),應(yīng)直接丟棄目的地址為設(shè)備本身的分片報文。
⑩ WinNuke攻擊:
NetBIOS作為一種基本的網(wǎng)絡(luò)資源訪問接口,廣泛的應(yīng)用于文件共享,打印共享,進(jìn)程間通信(IPC),以及不同操作系統(tǒng)之間的數(shù)據(jù)交換。一般情況下,NetBIOS是運行在LLC2鏈路協(xié)議之上的,是一種基于組播的網(wǎng)絡(luò)訪問接口。為了在TCP/IP協(xié)議棧上實現(xiàn)NetBIOS,RFC規(guī)定了一系列交互標(biāo)準(zhǔn),以及幾個常用的TCP/UDP端口,如下。
139:NetBIOS會話服務(wù)的TCP端口。
137:NetBIOS名字服務(wù)的UDP端口。
136:NetBIOS數(shù)據(jù)報服務(wù)的UDP端口。
Windows操作系統(tǒng)實現(xiàn)了NetBIOS over TCP/IP功能,并開放了139端口。
WinNuke攻擊就是利用了Windows操作系統(tǒng)的一個漏洞,向這個139端口發(fā)送一些攜帶TCP帶外(OOB)數(shù)據(jù)報文,但這些攻擊報文與正常攜帶OOB數(shù)據(jù)報文不同的是,其指針字段與數(shù)據(jù)的實際位置不符,即存在重疊,Windows操作系統(tǒng)在處理這些數(shù)據(jù)的時候,就會崩潰。
為了方便廣大網(wǎng)絡(luò)愛好學(xué)習(xí)者一起學(xué)(聚)習(xí)(眾)交(搞)流(基),特開設(shè)華為干貨交流群,里面已經(jīng)上傳大量學(xué)習(xí)資料,歡迎廣大網(wǎng)絡(luò)工程師進(jìn)群學(xué)習(xí)!
掃描下方二維碼 進(jìn)群學(xué)習(xí)(搞基)交流
有空嗎?幫忙點個“分享”吧
聯(lián)系客服