郝文蓮
一、路由器的工作原理
網(wǎng)絡(luò)中的設(shè)備用它們的網(wǎng)絡(luò)地址(TCP/IP網(wǎng)絡(luò)中為IP地址)互相通信。IP地址是與硬件地址無關(guān)的“邏輯”地址。路由器只根據(jù)IP地址來轉(zhuǎn)發(fā)數(shù)據(jù)。IP地址的結(jié)構(gòu)有兩部分,一部分定義網(wǎng)絡(luò)號,另一部分定義網(wǎng)絡(luò)內(nèi)的主機號。目前,在Internet網(wǎng)絡(luò)中采用子網(wǎng)掩碼來確定IP地址中網(wǎng)絡(luò)地址和主機地址。子網(wǎng)掩碼與IP地址一樣也是32bit,并且兩者是一一對應(yīng)的,并規(guī)定,子網(wǎng)掩碼中數(shù)字為“1”所對應(yīng)的IP地址為網(wǎng)絡(luò)號,為“0”所對應(yīng)的則為主機號。網(wǎng)絡(luò)號和主機號合起來,才構(gòu)成一個完整的IP地址。同一個網(wǎng)絡(luò)中的主機IP地址,其網(wǎng)絡(luò)號必須是相同的,這個網(wǎng)絡(luò)稱為IP子網(wǎng)。通信只能在具有相同網(wǎng)絡(luò)號的IP地址之間進行,要與其他IP子網(wǎng)的主機進行通信,則必須經(jīng)過同一網(wǎng)絡(luò)上的某個路由器或網(wǎng)關(guān)(gateway)出去。不同網(wǎng)絡(luò)號的IP地址不能直接通信,即使它們接在一起,也不能通信。路由器有多個端口,用于連接多個IP子網(wǎng)。每個端口的IP地址的網(wǎng)絡(luò)號要求與所連接的IP子網(wǎng)的網(wǎng)絡(luò)號相同。不同的端口為不同的網(wǎng)絡(luò)號,對應(yīng)不同的IP子網(wǎng),這樣才能使各子網(wǎng)中的主機通過自己子網(wǎng)的IP地址把要求出去的IP分組送到路由器上。
二、路由器的主要功能
路由動作包括兩項基本內(nèi)容:尋徑和轉(zhuǎn)發(fā)。尋徑即判定到達目的地的最佳路徑,由路由選擇算法來實現(xiàn)。為了判定最佳路徑,路由選擇算法必須啟動并維護包含路由信息的路由表,其中路由信息依賴于所用的路由選擇算法而不盡相同。路由選擇算法將收集到的不同信息填入路由表中,根據(jù)路由表可將目的網(wǎng)絡(luò)與下一站的關(guān)系告訴路由器。路由器間互通信息進行路由更新,更新維護路由表使之正確反映網(wǎng)絡(luò)的拓撲變化,并由路由器根據(jù)量度來決定最佳路徑。轉(zhuǎn)發(fā)即沿尋徑確定的最佳路徑傳送信息分組。路由器首先在路由表中查找,判明是否知道如何將分組發(fā)送到下一個站點(路由器或主機),如果路由器不知道如何發(fā)送分組,通常將該分組丟棄;否則就根據(jù)路由表的相應(yīng)表項將分組發(fā)送到下一個站點,如果目的網(wǎng)絡(luò)直接與路由器相連,路由器就把分組直接送到相應(yīng)的端口上。這就是路由轉(zhuǎn)發(fā)協(xié)議。路由轉(zhuǎn)發(fā)協(xié)議和路由選擇協(xié)議是相互配合又相互獨立的概念,前者使用后者維護的路由表,同時后者要利用前者提供的功能來發(fā)布路由協(xié)議數(shù)據(jù)分組。
三、路由選擇協(xié)議
典型的路由選擇方式有兩種:靜態(tài)路由和動態(tài)路由。靜態(tài)路由是在路由器中設(shè)置的固定的路由表。除非網(wǎng)絡(luò)管理員干預(yù),否則靜態(tài)路由不會發(fā)生變化。由于靜態(tài)路由不能對網(wǎng)絡(luò)的改變作出反映,一般用于網(wǎng)絡(luò)規(guī)模不大、拓撲結(jié)構(gòu)固定的網(wǎng)絡(luò)中。靜態(tài)路由的優(yōu)點是簡單、高效、可靠。在所有的路由中,靜態(tài)路由優(yōu)先級最高。當動態(tài)路由與靜態(tài)路由發(fā)生沖突時,以靜態(tài)路由為準。動態(tài)路由是網(wǎng)絡(luò)中的路由器之間相互通信,傳遞路由信息,利用收到的路由信息更新路由器表的過程。它能實時地適應(yīng)網(wǎng)絡(luò)結(jié)構(gòu)的變化。如果路由更新信息表明發(fā)生了網(wǎng)絡(luò)變化,路由選擇軟件就會重新計算路由,并發(fā)出新的路由更新信息。這些信息通過各個網(wǎng)絡(luò),引起各路由器重新啟動其路由算法,并更新各自的路由表以動態(tài)地反映網(wǎng)絡(luò)拓撲變化。動態(tài)路由適用于網(wǎng)絡(luò)規(guī)模大、網(wǎng)絡(luò)拓撲復(fù)雜的網(wǎng)絡(luò)。當然,各種動態(tài)路由協(xié)議會不同程度地占用網(wǎng)絡(luò)帶寬和CPU資源。靜態(tài)路由和動態(tài)路由有各自的特點和適用范圍,因此在網(wǎng)絡(luò)中動態(tài)路由通常作為靜態(tài)路由的補充。當一個分組在路由器中進行尋徑時,路由器首先查找靜態(tài)路由,如果查到則根據(jù)相應(yīng)的靜態(tài)路由轉(zhuǎn)發(fā)分組,否則再查找動態(tài)路由。
四、路由器安全維護
1.避免口令泄露危機。80%的安全突破事件是由薄弱的口令引起的。黑客常常利用弱口令或默認口令進行攻擊。加長口令、選用30到60天的口令有效期等措施有助于防止這類漏洞。
2.關(guān)閉IP直接廣播。Smurf攻擊是一種拒絕服務(wù)攻擊。在這種攻擊中,攻擊者使用假冒的源地址向你的網(wǎng)絡(luò)廣播地址發(fā)送一個“ICMP echo”請求。這要求所有的主機對這個廣播請求做出回應(yīng)。這種情況會降低網(wǎng)絡(luò)性能。使用“no ip source-route”指令關(guān)閉IP直接廣播地址。
3.禁用不必要的服務(wù)。例如SNMP和DHCP這些用戶很少用到的服務(wù),都可以禁用,只有絕對必要的時候才使用。
4.限制邏輯訪問。限制邏輯訪問主要借助于合理處置訪問控制列表,限制遠程終端會話有助于防止黑客獲得系統(tǒng)邏輯訪問。因此,用戶需要給Telnet在路由器上使用的虛擬終端端口添加一份訪問列表。
5.封鎖ICMP ping請求??刂葡f(xié)議(ICMP)有助于排除故障,識別正在使用的主機。因此通過取消遠程用戶接收ping請求的應(yīng)答能力,就能更容易的避開那些無人注意的掃描活動或者防御那些尋找容易攻擊的目標的“腳本小子”(script kiddies)。
6.關(guān)閉IP源路由。IP協(xié)議允許一臺主機指定數(shù)據(jù)包通過你的網(wǎng)絡(luò)路由,而不是允許網(wǎng)絡(luò)組件確定最佳的路徑。這個功能的合法應(yīng)用是診斷連接故障。但是,這種用途很少得到應(yīng)用,事實上,它最常見的用途是為了偵察目的對網(wǎng)絡(luò)進行鏡像,或者用于攻擊者在專用網(wǎng)絡(luò)中尋找一個后門。除非指定這項功能只能用于診斷故障,否則應(yīng)該關(guān)閉這個功能。
7.監(jiān)控配置更改。用戶在對路由器配置進行改動之后,需要對其進行監(jiān)控。如果用戶使用SNMP,那么一定要選擇功能強大的共用字符串,最好是使用提供消息加密功能的SNMP。如果不通過SNMP管理對設(shè)備進行遠程配置,用戶最好將SNMP設(shè)備配置成只讀。拒絕對這些設(shè)備進行寫訪問,用戶就能防止黑客改動或關(guān)閉接口。此外,用戶還需將系統(tǒng)日志消息從路由器發(fā)送至指定服務(wù)器。