第四章: 交換器_路由器之安全特性

advertisement
教育部資通訊人才培育先導型計畫
寬頻有線教學推動聯盟中心
第四章 交換器/路由器之安全特性
國立雲林科技大學
自由軟體研發中心
第四章 交換器/路由器之安全特性

4.1 交換器 Layer 2 attacks






4.1.1 CAM table overflow
4.1.2 MAC address spoofing
4.1.3 DHCP starvation
4.1.4 VLAN hopping
4.1.5 STP manipulation
4.2 路由器的安全功能設定





4.2.1 Secure Access to router
4.2.2 Router privileges and accounts
4.2.3 Turn off unneeded services
4.2.4 Routing protocol authentication
4.2.5 Network Address Translation
前言

本章我們先介紹交換器的運作方式,接著說明
攻擊者如何利用交換器的運作漏洞來攻擊、竊
聽訊息及執行man-in-the-middle attack等。

本章的第二節將介紹如何設定一個安全的路由
器,因為路由器的預設值是沒有啟動任何的防
禦機制,任何人皆可登入路由器修改設定;路
由器最重要的服務是執行封包轉送,但是有些
路由器的出廠預設是將路由器可以提供的服務
全部啟動,路由器執行那些不必要的服務是浪
費路由器的資源以及讓有心人士可藉由那些服
務的安全漏洞進行入侵。除此之外,若路由器
執行的路由協定(routing protocols)沒有認證機制,
可能會造成路由表(routing tables)被有心人士竄
改;因此管理者必須對所有的網路設備(如交換
器、路由器等)設定登入限制、關閉不需要的服
務,以及使用有認證機制的通訊協定等來防止
網路設備可能會遭受到的攻擊。
國立雲林科技大學 自由軟體研發中心
2
第四章 交換器/路由器之安全特性


4.1.1 CAM table overflow
有心人士常用來攻擊交換器的方法如下所示:
 CAM table overflow
 MAC address spoofing
 DHCP starvation
 VLAN hopping
 STP manipulation
在解說各種攻擊方法之前,首先介紹交換器的CAM table

CAM table是交換器記錄其每個硬體連接埠(port) 上存在那些主機,主要是記錄主機的
硬體位址(MAC address)及相關的VLAN參數等資訊。

當交換器收到一個訊框(frame),它會將該訊框上的來源硬體位址(Source MAC address)
與接收該訊框的連接埠記錄在CAM table上,同時會去查詢CAM table是否存有該訊框
上目的端硬體位址(Destination MAC address)的資訊,假如該筆資訊存在的話,交換器
會直接將訊框送往目的端所在的連接埠,稱為轉送訊框(forwarding);若CAM table不
存在該筆資訊的話,交換器會將該訊框送往所有的連接埠(除了原來收到該訊框的連接
埠),稱為廣播訊框(broadcasting) 。

由於CAM table大小有限制,所以假設一筆記錄(entry)一段時間未使用的話,便會刪除
或是被新的記錄覆蓋。
國立雲林科技大學 自由軟體研發中心
3
第四章 交換器/路由器之安全特性

4.1.1 CAM table overflow
交換器的運作方式
1.
2.
3.
如左圖所示,假設硬體位址A的主機
現在要傳送訊息給硬體位址B的主機,
當交換器收到該訊息時,查看CAM
table發現沒有B的記錄,因此將訊框
送往連接埠2和3,稱為廣播
(broadcasting) 。
當擁有硬體位址B的主機收到訊息,
發出回應給擁有硬體位址A的主機時,
交換器查看CAM table中發現有硬體
位址A是位在連接埠1的記錄,因此
將該訊息直接送往連接埠1,稱為轉
送 (forwarding);同時將硬體位址B位
在連接埠2的資訊記錄下來。
之後擁有硬體位址A的主機,再一次
傳送訊息給硬體位址為B的主機時,
因為交換器中的CAM table中存有B
是位在連接埠2上,所以將該訊框直
接送往(forwarding)連接埠2。
交換器的運作範例
國立雲林科技大學 自由軟體研發中心
4
第四章 交換器/路由器之安全特性

4.1.1 CAM table overflow
CAM table overflow的目的


CAM table overflow 攻擊方法



讓交換器在 CAM table 找不到訊框目的端的資訊而
將訊框送往所有的連接埠(broadcasting),藉此竊
聽所有流經交換器的訊息。
前面提到CAM table的大小是固定的,因此攻擊
者藉由發送大量偽造硬體位址的訊框讓交換器的
CAM table填滿錯誤資訊,之後當交換器收到訊
框會無法從CAM table找到硬體位址與對映連接
埠的資訊,而將訊框送往所有的連接埠。
遭受CAM table overflow攻擊的交換器,其工作方
式如同集線器(hub)一般,會將收到的訊息送往所
有的連接埠,因此攻擊者就可監聽所有流經交換
器的訊息。
CAM table overflow 攻擊範例
1.
2.
3.
如左圖所示,一開始交換器上的CAM table存有
主機A、B分別位於連接埠1、2的資訊,所以A傳
送給B的訊息交換器會直接送往連接埠2。
主機C發送偽造硬體位址的訊框,當交換器收到
後會更新CAM table,若數量超過CAM table所能
記錄的大小,則會將先前的記錄覆蓋掉,如左圖
所示,交換器將原先CAM table記錄主機B與連接
埠2的資訊覆蓋為X、Y這兩個不存在的硬體位址
是位在連接埠3的資訊。
之後當A要傳訊息給B,交換器收到訊框後無法從
CAM table知名B是位在哪個連接埠,因此將該訊
框送往連接埠2、3,此時主機C也可以收到A傳給
B的訊息。
CAM table overflow 攻擊範例
國立雲林科技大學 自由軟體研發中心
5
第四章 交換器/路由器之安全特性

4.1.2 MAC address spoofing
MAC address spoofing的目的


MAC address spoofing攻擊方法


攔截送給目標主機的所有訊息
攻擊者藉由發送一個訊框,其來源位址偽造成目
標主機的硬體位址,讓交換器誤以為目標主機是
位在攻擊者主機所在的連接埠,造成CAM table
記錄錯誤訊息,之後送給目標主機的訊框都被傳
送到攻擊者主機所在的連接埠。
MAC address spoofing攻擊範例
1.
如左圖所示,一開始CAM table記錄主機A在連接
埠2、主機B在連接埠1、主機C在連接埠3。
2.
攻擊者的主機B送出一個訊框,其來源位址欄位
填上目標主機A的硬體位址,當交換器收到後更
新CAM table,記錄A主機在連接埠1。
3.
之後所有要送給A的訊息,全部都會往連接埠1送,
使得主機B可以收到原本要傳給主機A的訊息。
MAC address spoofing攻擊範例
國立雲林科技大學 自由軟體研發中心
6
第四章 交換器/路由器之安全特性

4.1.3 DHCP starvation
DHCP starvation的目的


DHCP starvation攻擊方法


攻擊者偽裝成DHCP伺服器分配IP給網路上的主
機,並告知預設閘道為攻擊者所擁有的主機位址,
藉此達成man-in-the-middle attack。
攻擊者藉由佔用合法DHCP伺服器所有可分配的
IP位址,讓合法DHCP伺服器無法提供服務給其
網路上的主機,之後攻擊者主機偽裝成DHCP伺
服器,分配IP給使用DHCP取得IP的主機,並告
知預設閘道位址。
DHCP starvation攻擊範例
1.
2.
如左圖所示,攻擊者首先發送大量偽造來源硬體
位址的DHCP requests給合法的DHCP伺服器,嘗
試找出並且佔用DHCP伺服器所有可分配的IP位
址。
攻擊者將合法DHCP伺服器的所有可分配IP佔用
後,自已設置一個偽裝的DHCP伺服器,當網路
上的主機發出DHCP request時,由攻擊者偽裝的
DHCP伺服器回應給使用者,藉此達到man-in-themiddle attack。
DHCP starvation攻擊範例
國立雲林科技大學 自由軟體研發中心
7
第四章 交換器/路由器之安全特性

4.1.4 VLAN hopping
VLAN hopping attack的目的



VLAN hopping attack可分為兩種方式
1.
2.

竊聽不屬於同一個VLAN的訊息。
存取不屬於同一個VLAN的網路資源
Switch spoofing
Double tagging
Switch spoofing:

當交換器啟動VLAN的功能,交換器之間在轉送
VLAN的訊框時,每個VLAN需要一條專屬的線
路,如左圖1所示,當網路上有二個VLAN存在,
交換器之間需要有二條線路分別轉送這二個
VLAN的訊框。當VLAN越多,所需要的專屬線
路也越多,為了節省交換器連接埠的使用,可以
將 連 接 埠 設 定 為 Trunk 的 運 作 模 式 , 讓 所 有 的
VLAN訊息經由Trunk轉送,如左圖2所示。

Cisco交換器連接埠的運作模式有auto、on、off、
desirable 、 或 non-negotiate 等 狀 態 , 其 預設值 為
auto;且Cisco交換器會自動執行DTP (Dynamic
Trunk Protocol)與其它Cisco交換器建立trunk port 。

Switch spoofing為攻擊者設置一個系統,偽裝成
交換器送出DTP訊息至網路上,讓其它Cisco交換
器與攻擊者的系統建立trunk port,之後所有的
VLAN封包都會經過攻擊者的系統。
圖1
不同VLAN的訊框經由交換器轉送
圖2
國立雲林科技大學 自由軟體研發中心
8
第四章 交換器/路由器之安全特性

4.1.4 VLAN hopping
Double tagging:



在網路上,不同VLAN的主機要交換訊息必須要
經過路由器,管理者可以在路由器設定安全控管,
例如設定某些資源只有相同VLAN的主機才可以
使用;Double tagging為攻擊者在其送出的訊框封
裝(encapsulation)兩層802.1q的標頭,藉此躲避路
由器的安全檢查,並經由直接相連交換器的trunk
port將封包送往不同的VLAN。
目前大部分的交換器都只會做一層的解封裝,所
以當第一臺交換器看到double-tagged的訊框時會
將第一層的標頭去除並將還帶有一個802.1q的訊
框經由trunk port送往第二個交換器上,第二個交
換器收到後根據802.1q上的資訊將該訊框送往相
應的VLAN上。
Double tagging攻擊範例
1.
如左圖所示,攻擊者的主機A發送一個封裝兩層
802.1q 標 頭 的 訊 框 ( 外 層 為 VLAN20 、 內 層 為
VLAN30)。
2.
當訊框到達第一臺交換器,交換器看到外層
802.1q的標頭(VLAN20)時,將該標題去除並將帶
有內層標頭(VLAN30)的訊框送往trunk port。
3.
當第二臺交換器看到傳來的訊框,根據上面所附
的VLAN資訊,將訊框傳送至VLAN30。
Double tagging攻擊範例
國立雲林科技大學 自由軟體研發中心
9
第四章 交換器/路由器之安全特性

4.1.5 STP manipulation
什麼是STP (Spanning Tree Protocol)?


STP (Spanning Tree Protocol)運作流程




一開始從執行STP通訊協定的所有交換器中選出
一個交換器當做「Root Bridge」,接著各交換器
透過bridge protocol data units (BPDUs)封包交換,
計算一條連到Root Bridge的最短路徑並將會產生
迴圈的連接埠設定為blocking狀態。
Root Bridge的挑選方式是根據每個交換器上預先
設定的優先權(Priority 0~65535)來決定,數值最
小的交換器會被選為Root Bridge。
當擴張樹(spanning tree)在各交換器被建立之後,
各交換器的連接埠被設為blocking或是forwarding
的狀態,處於blocking狀態下的連接埠無法轉送
或接收訊框,但可以接受BPDUs( Bridge Protocol
Data Units ) 。
STP (Spanning Tree Protocol)運作範例

Spanning Tree Protocol運作範例
當網路存在多個交換器,STP用來建立一棵擴張
樹(spanning tree)連接各交換器,讓交換器之間的
連接不會有迴圈的產生,讓廣播封包(Broadcast)
不會造成廣播風暴(Broadcast storm)。
從左圖可看出,交換器A為Root Bridge,交換器B、
C各自選擇一條最短路徑與Root Bridge相連,交
換器B、C之間還有一條連線存在,為了不會有迴
圈的產生,交換器B、C將相連接的連接埠設為
blocking 。
國立雲林科技大學 自由軟體研發中心
10
第四章 交換器/路由器之安全特性


4.1.5 STP manipulation
STP manipulation的目的

攻擊者的主機將自已偽裝成Root Bridge,讓攻擊
者的主機能夠收到原本不該收到的訊息,或藉此
進行man-in-the-middle attack 。

攻擊者主機不斷發送 STP configuration/topology
change BPDUs,要求STP上所有的交換器重新計
算路徑,可能會造成網路30~45秒的中斷,達到
DoS的攻擊效果。
STP manipulation的攻擊範例
1.
如左圖所示,交換器A被選為Root Bridge,交換
器A、B要傳送訊框時,是直接互傳給對方。
2.
攻擊者的主機假冒成交換器,廣播STP topology
change BPDUs 宣稱他有最低的優先權值。
3.
當其它交換器收到時,會將攻擊者的主機設為
Root Bridge,重新計算連接到攻擊者主機的最短
路徑;重新計算出來的路徑讓交換器A、B的訊框,
不是直接傳送給對方,必須經由攻擊者的主機才
能到達,因此攻擊者可以竊聽到原本不能收到的
訊息,或執行man-in-the-middle attack。
STP manipulation的攻擊範例
國立雲林科技大學 自由軟體研發中心
11
第四章 交換器/路由器之安全特性

Secure Access to Router








Strong Password Selection
Configuration File Protection
Remote configuration using SSH
Set Up Privileged EXEC and Telnet
Passwords
Set Up Telnet and Console Timeout
Values
Remote Access Restrain
AAA Access Control
Securing SNMP
4.2.1 Secure Access to Router

路由器在企業網路上是一個相當重要的連結裝
置,因此管理者在路由器上應該啟動相關的安
全防禦功能,避免未經授權的使用者任意竄改
路由器的設定值。

例如管理者可以考慮限制登入路由器的方法,
如不允許使用Telnet遠端登入;並且對那些被允
許用來登入路由器的方法,做相關安全上的設
定,如設定密碼,或是需要身份認證,記錄登
入路由器的人、其IP位址、登入時間等相關資
訊。以下為本小節將要介紹的內容:








Strong Password Selection
Configuration File Protection
Remote configuration using SSH
Set Up Privileged EXEC and Telnet Passwords
Set Up Telnet and Console Timeout Values
Remote Access Restrain
AAA Access Control
Securing SNMP
國立雲林科技大學 自由軟體研發中心
12
交換器/路由器之安全特性
4.2.1 Secure Access to Router
Strong Password Selection
Create Strong Password
Example:
「We have great course for you!」

設定密碼是最常用也是最基本的安全防禦方法,透過密
碼的設定,讓只有知道密碼的人才能夠登入路由器,管
理者設定的密碼至少要滿足下列要求:
1.
不能夠太容易被猜出來或是利用暴力破解法得到
密碼。
2.
密碼長度至少要6~10字元,以及不要使用在字典
當中查得到的單字當作密碼或密碼的一部份,因
為暴力破解法通常都是利用字典存在的單字做不
同的組合藉以猜出密碼。 。
3.
容易記憶,不須要靠其它額外的方式來記錄密碼。
如左圖所示,我們先選擇”We have great course
for you!”這樣的一個句子,之後選取每個單字的
第一個字母,以及將”for”這個單字以”4”這個
數 字 替 代 , ” you” 用 ” u” 替 代 , 我 們 可 以 得
到”Whgc4u!”這樣的一個密碼。

在擁有許多設備的大型企業網路中,每個設備的密碼更
需要合理且有意義,讓管理者能夠容易的記住,因此需
要正規化或是演算法來產生出密碼。舉例來說,我們可
以使用代碼來代表部門名稱或是位址,例如資訊中心
170室的網路設備,可以使用”IC170”這樣的字串做為
產生密碼的參數。

在建立密碼之後,若公司的政策是要將密碼以文件記錄
等方式留存時,必須確定存取這些文件記錄時也需要相
關的安全保護,例如至少對這些文件加密,將能夠存取
這些文件的次數設到最低,用暗示的字句來提示密碼,
不要將完整的密碼記錄在文件上。
「whgc4u!」
密碼設定範例
Construction Engineering 220
Electronic Engineering 101
EE101
CE220
Digital Media Design 403
DMD403
Visual Communication Design 803
VCD803
Computational Design 1002
CD1002
企業網路設備之密碼設定範例
國立雲林科技大學 自由軟體研發中心
13
第四章 交換器/路由器之安全特性
4.2.1 Secure Access to Router
Configuration File Protection
CNL
Secure
file server

路由器的設定檔(configuration file)會儲存管理
者對該設備啟動那些安全防禦功能的相關資訊,
例如密碼的設定;因此設定檔的備份不應該存
放在任何不安全的系統中,如左圖所示,管理
者應該在一個安全的檔案伺服器中建立一個專
用目錄儲存網路設備之設定檔備份,並將相關
檔案加密及設定存取權限。

不要將設定檔留存在TFTP伺服器上,當設定檔
傳送到安全的檔案伺服器上後 ,應立即刪除
TFTP伺服器上的設定檔。
Try to access
Backup configuration
CNL4
保護設定檔的方法
國立雲林科技大學 自由軟體研發中心
14
第四章 交換器/路由器之安全特性
Telnet
Login to CNL
Password is CNLisGood
4.2.1 Secure Access to Router
Remote configuration using SSH
CNL

管理者可藉由遠端登入來管理網路,一般經常
使用Telnet遠端登入網路設備,然而使用Telnet
是相當不安全的,因為Telnet在網路上傳輸的內
容皆是以明文的方式傳送,用來登入網路設備
的密碼可能會被有心人士竊聽到,如左上圖所
示。

基於保護登入密碼的考量,建議以Secure Shell
(SSH)取代Telnet來遠端管理網路設備,因為使
用SSH連線,訊息在傳輸的過程中是有經過加
密,如左下圖所示,因此使用SSH能夠讓管理
者在一個不安全的網路環境下建立安全的連線
來遠端管理網路設備。

目前有兩種SSH的版本: SSH Version 1 (SSHv1)
及SSH Version 2 (SSHv2)。
CNLisGood
Umm! I Get
Password “CNLisGood”
不安全的遠端登入方法
SSH
Login to CNL
Password is CNLisGood
ad%hj&jl#
CNL
What is password?
安全的遠端登入方法
國立雲林科技大學 自由軟體研發中心
第四章 交換器/路由器之安全特性
4.2.1 Secure Access to Router
Set Up Privileged EXEC and Telnet Passwords

Away from keyboard
10 minutes.
Idle time expired!
Disconnect!
管理者除了設定密碼以防止任何人遠端登入網
路設備之外,還應該執行權限控管,要求登入
者若要執行Privileged EXEC,則需要進一步的
認證;管理者可以在網路設備設定使用不同於
登入密碼的另一個密碼來作權限控管,或是建
立AAA TACACS+ 或是RADIUS認證伺服器來
執行合法登入者的身份認證及權限控管。
Set Up Telnet and Console Timeout Values
設定Console、Telnet連線的idle time

管理者應該設定Console、Telnet連線至網路設
備的閒置時間(idle time),若網路設備在閒置時
間內沒有收到登入者的任何訊息,則自動斷線,
避免登入網路設備者因某些因素暫時離開,讓
其他人有機會藉此取得網路設備的控制權。如
左圖所示,管理者將Console、Telnet連線的idle
time設定為10分鐘,若網路設備在10分鐘內沒
有收到任何訊息,則自動斷線。
國立雲林科技大學 自由軟體研發中心
16
第四章 交換器/路由器之安全特性
4.2.1 Secure Access to Router
Remote Access Restrain

192.168.2/24
192.168.1/24
管 理 者 可 以 利 用 設 定 ACL (Access
Control List),限制可登入網路設備
的IP範圍與可使用的通訊協定。如左
圖所示,網路管理部門使用的IP位址
為 192.168.1.0/24 , 管 理 者 可 以 利 用
ACL來限制只有此IP位址範圍的主機
才能夠登入路由器,還可以限制登入
者只能使用SSH通訊協定執行登入,
不允許使用Telnet通訊協定登入。
Manage department
設定ACL 限制可登入路由器的IP範圍
國立雲林科技大學 自由軟體研發中心
17
第四章 交換器/路由器之安全特性
4.2.1 Secure Access to Router
AAA Access Control
Remote User

管理者可以採用TACACS+或是RADIUS這兩個
業界標準,建立AAA伺服器(如左圖所示),對
網路設備的存取認證方式及權限控管作更嚴謹
的保護措施 。

AAA 伺 服 器 提 供 認 證 (authentication) 、 授 權
(authorization)以及稽核(accounting)服務,使用
AAA Access Control的優點如下:
1. 有支援AAA通訊協定的網路設備稱為AAA
Client,經管理者設定後,即可使用AAA
伺服器提供的服務。
2. 集中式管理網路使用者帳號與密碼。
3. 集中式事件記錄 (logging)。
4. 集中式授權。
Internet
TACACS+
Client
Network Access
Server
Corporate
Network
TACACS+
Security Server
Remote User
Internet
RADIUS
Client
Network Access
Server
Corporate
Network
RADIUS Server
建設AAA伺服器來執行身份認證及權限控管
國立雲林科技大學 自由軟體研發中心
18
第四章 交換器/路由器之安全特性
4.2.1 Secure Access to Router
AAA Access Control (Cont.)
TACACS+
RADIUS
Functionality
Separates AAA
Combines
Authentication/Authorization
Transport
Protocol
TCP
UDP
CHAP
Bidirectional
Unidirectional
Protocol
Support
Multi-protocol
support
No ARA
No NetBEUI
Confidentiality
Entire PacketEncrypted
Password-Encrypted
Accounting
Limited
Extensive

雖然TACACS+與RADIUS有許多相同的功能,
但兩者之間還是存在著差異,如左圖所示:
 TACACS+將整個TACACS+的封包做加密,
而RADIUS僅對封包中password的部分做
加密。
 TACACS+能夠將authentication、
authorization、 accounting服務分開使用。

企業網路管理者應該瞭解TACACS+與RADIUS
這兩者間的不同,根據公司政策佈署其中一種
或是兩種皆採用。
TACACS+與RADIUS的功能差異
資料來源: www.cisco.com
國立雲林科技大學 自由軟體研發中心
19
第四章 交換器/路由器之安全特性
4.2.1 Secure Access to Router
Securing SNMP

Model
Level
Authentication
Encryption
What Happens
V1
noAuthNoPriv
Community
String
No
Authenticates with a
community string match
V2
noAuthNoPriv
Community
String
No
Authenticates with a
community string match
V3
noAuthNoPriv
Username
No
Authenticates with a
username
authNoPriv
MD5 or SHA
No
Provides HMAC MD5 or
SHA algorithms for
authentication
authPriv
MD5 or SHA
DES
Provides DES 56-bit
encryption in addition to
authentication based on the
CBC-DES (DES-56)
standard
SNMP版本的比較
資料來源: Cisco Network Security



SNMP簡易網管通訊協定為Simple Network Management
Protocol的縮寫,SNMP通訊協定是目前使用最為普遍
的網路管理通訊協定,它讓管理者可以在TCP/IP網路上
遠端監控及設定其管轄範圍內各網路節點的狀態。在
SNMP的網管架構中,網路上的設備可分成兩大類:(1)
管理器(Manager),(2)接受管理的代理器(Agent) 。
SNMP管理器主要是負責監視與收集代理器傳回的網路
狀態並作分析,而SNMP代理器則負責收集本身所在網
域的網路狀態並回報給SNMP管理器。SNMP管理器對
其代理器的運作模式有兩種,分別為read-only和readwrite。
如左圖所示,早期的SNMP並不是非常安全的協定,管
理器遠端控制代理器時,無論是read-only及read-write的
運作模式,訊息皆是以明文傳送,而更糟的是訊息內”
區域名稱”(community name)的欄位使用眾所皆知的字
串,例如 public(for read-only)以及private(for read-write)
做為管理器與代理器之間認證的依據.
由於使用不安全的認證方式,SNMP已成為入侵者用來
收集網路資訊的主要工具之一,利用SNMP的弱點可以
搜集到的資訊包含:







MAC address bindings
IP address bindings
Type of hardware and version of operating system
Router interface information
Router tables
ARP tables
Device up time
利用這些資訊,入侵者可以很容易搜索出網路上裝置使
用的系統 、 版號等,然後利用該系統版號某些已知的
弱點來做攻擊或是入侵系統的動作。
國立雲林科技大學 自由軟體研發中心
20
第四章 交換器/路由器之安全特性
4.2.1 Secure Access to Router
Securing SNMP (Cont.)
雖然SNMP有上述之弱點,管理者可以使用下
列幾種方式來增加使用SNMP的安全性:
1. 使用最新版本SNMPv3。
2.
利用ACL來限制SNMP訊息的來源處及傳
送範圍,如左圖所示,管理者可以在路由
器設定ACL限制SNMP訊息只能出現在路
由器interface e0/2所連接的網段上(network
segment) 。
3.
指定SNMP代理器的哪些介面接受SNMP
管理器的存取。
4.
阻 擋 來 自 外 部 網 路 的 SNMP 管 理 器 對
SNMP代理器的存取。
SNMP
connection attempt
CNL
Internet
e0/1
SNMP
e0/2
Attacker
利用ACL限制SNMP訊息的來源處及傳送範圍
國立雲林科技大學 自由軟體研發中心
21
第四章 交換器/路由器之安全特性

Set Up User Accounts
在一個企業,可能同時有許多位網路管理者,
建議每個網路管理者皆應擁有一組專屬的帳號
用來登入路由器;目的是當管理者登入路由器
並改變路由器設定,之後能夠從log messages,
利用登入時專屬的帳號來追溯是哪位管理者更
改設定。另外,在設定這些專屬帳號時應注意
下列事項:
1. 設定帳號時千萬要同時建立密碼。
2. 當有管理者離職或職務調動,應立即將其
專屬帳號刪除。

Set Up Privilege Levels
每位管理者雖然擁有各自專屬的帳號,但並非
每位管理員皆可使用路由器上所有的指令,可
依職務高低來給予不同的權限,如左圖所示。
在設定管理者對路由器的權限(如可用的指令)
時必須注意:
1. 勿將屬於層級較高的管理者才能使用的指
令下放給層級較低的管理者使用。
2. 能夠修改路由器設定的指令,應僅慎設定
哪些層級以上的人才可以使用,避免讓層
級較低的人利用這些指令來修改路由器的
設定,將自已的權限提高。
Bryan
Lin
CNL
Account Privilege
Bryan
2
Chang
3
Lin
4
Chang
不同帳號給予不同的權限
4.2.2 Router privileges and accounts
國立雲林科技大學 自由軟體研發中心
22
第四章 交換器/路由器之安全特性
Feature
Description
Recommendation
TCP & UDP
small servers
Standard TCP/UDP network
services: echo, chargen, etc.
This is a legacy feature, disable it
explicitly.
Finger
Unix user lookup service,
allows remote listing of
logged in users.
Unauthorized persons don’t need to know
this, disable it.
HTTP server
Some Cisco IOS devices
offer web-based
configuration.
If not in use, explicitly disable, otherwise
restrict access.
Bootp server
Service to allow other routers
to boot from this one.
This is rarely needed and may open a
security hole, disable it.
IP source
routing
Feature that allows a packet
to specify its own route.
Can be helpful in attacks, disable it.
Proxy ARP
Router will act as a proxy for
layer 2 address resolution.
Disable this service unless the router is
serving as a LAN bridge.
IP directed
broadcast
Packets can identify a target
LAN for broadcasts.
Directed broadcast can be used for attacks,
disable it.
IP unreachable
notifications
Router will explicitly notify
senders of incorrect IP
addresses.
Can aid network mapping, disable on
interfaces to untrusted networks.
Router will send an
interface’s IP address mask in
response to an ICMP mask
request.
Can aid IP address mapping; explicitly
disable on interfaces to untrusted
networks.
Router will send an ICMP
redirect message in response
to certain routed IP packets.
Can aid network mapping, disable on
interfaces to untrusted networks.
NTP service
Router can act as a time
server for other devices and
hosts.
If not in use, explicitly disable, otherwise
restrict access.
SNMP
Routers can support SNMP
remote query and
configuration.
If not in use, remove default community
strings and explicitly disable, otherwise
restrict access.
Routers can perform DNS
name resolution.
Set the DNS server addresses explicitly,
or disable DNS lookup.
IP mask reply
IP redirects
Domain Name
Service



4.2.3 Turn off unneeded services
路由器或交換器最重要的工作是快速轉送封包,其餘額
外的服務,因為大部份出廠的預設狀態為開啟(enable) ,
建議管理者登入路由器及交換器,確定所有非必要性的
服務是在停用的狀態(disable),避免提供攻擊者利用額
外服務的弱洞進行入侵的管道。
為了讓路由器及交換器更安全,並且不要影響網路設備
轉送封包的效能,管理者應該仔細評估企業網路結構與
公司安全政策,將不需要的服務和協定移除或停用。例
如,在DMZ網路範圍內,通常會建立網頁伺服器,讓
使用者利用HTTP連線存取資料,管理者對在DMZ網路
範圍內的其它網路設備,就不要開啟可使用HTTP連線
管理網路設備的服務。
美國National Security Agency建議管理者,除非必要,
否則應該將左表所列之網路設備服務停用,下面小節將
說明下列服務被建議停用的理由:













Telnet
Web Management Interface
SNMP (Read-Only)
Source Routing
IP Directed Broadcast
ICMP
NTP
TCP and UDP Small Servers
Finger Service
Disable Bootp Server
Disable Configuration Auto-Loading
Disable Proxy ARP
Restrict DNS Service
建議停用網路設備不必要提供的服務
資料來源 http://www.nsa.gov/snac/routers/C4-040R-02.pdf
國立雲林科技大學 自由軟體研發中心
23
第四章 交換器/路由器之安全特性


CNL3
CNL1
CNL4 192.168.1.10
http://192.168.1.10
Disable Telnet
當公司的安全政策禁止使用不安全的遠端
存取方式連接企業網路時,管理者應該關
閉網路設備的Telnet服務。
Connection refused
CNL2
4.2.3 Turn off unneeded services
Disable Web Management Interface
許多網路設備提供友善的圖形化介面
(Web-based interface),讓管理者能夠使用
瀏灠器取代傳統的CLI介面來設定網路設
備;然而管理者使用HTTP方式登入網路
設備時,所輸入的帳號、密碼在傳輸過程
通常是以明文傳送,因此若被攻擊者竊聽
到,則攻擊者就能夠利用竊聽到的帳號、
密碼以管理者的權限登入網路設備,因此
管理者應儘量避免以HTTP的方式登入網
路設備,或者關閉HTTP遠端控制網路設
備功能。左圖所示為停用路由器HTTP服
務的指令。
CNL4(config)#no ip http server
停用路由器HTTP服務
國立雲林科技大學 自由軟體研發中心
24
第四章 交換器/路由器之安全特性

SNMP
connection attempt
4.2.3 Turn off unneeded services
Disable SNMP
SNMP能夠有效的用來管理網路設備,同樣的對攻擊者
也是很好的入侵工具。攻擊者能用SNMP去獲得有用的
資訊,例如得知網路設備的設定,甚至能夠更改網路設
備的設定。在前面的4.2.1節有提到利用ACL限制SNMP
訊息的來源處及傳送範圍,然而在一個需要高度安全層
級的網路環境,使用上述的方式也許不夠,必要時將
SNMP的服務完全停用。
左圖所示為管理者利用ACL阻擋來自網際網路的SNMP
訊息,但允許SNMP訊息在DMZ網路範圍傳送,DMZ
通常屬於高風險的網路環境,容易遭受入侵,建議管理
者對在DMZ網路範圍內的網路設備停用SNMP的服務。
SNMP
connection attempt
SNMP
Internet
Attacker
CNL
Attacker
停用DMZ網路範圍內路由器的SNMP服務

Disable IP Source Routing
一般當封包在網路上傳送時,路由器會根據封包上的目
的端IP位址執行IP lookup來決定要將該封包往何處送。
但若發送封包的來源主機使用IP Source Routing功能,
有提供IP Source Routing服務的路由器收到該封包後便
根據指定的路徑傳送該封包,不需要執行IP lookup;
M icrosoft 文 件 (MS99-038) 指 出 有 心 人 士 可 以 利 用 IP
Source Routing進行network topology的情資收集或攻擊,
因此建議管理者停用路由器的IP Source Routing服務。
http://www.microsoft.com/technet/security/bulletin/fq99038.mspx
國立雲林科技大學 自由軟體研發中心
25
第四章 交換器/路由器之安全特性

Host with falsified
source address
Attacker
ICMP echo requests to
directed broadcast address
Target
Segment
CNL
停用路由器的Directed broadcast服務
Disable IP Directed Broadcast
Directed broadcast能夠讓主機發出廣播封包到指
定的LAN中所有主機,一些阻斷式服務攻擊(如
smurf)常會利用Directed broadcast達到癱瘓目標
主機或網路,因此強烈建議管理者應將此服務
停用。
左 圖 所 示 為 攻 擊 者 的 主 機 送 出 一 ICMP echo
request的廣播封包,該封包上的來源端IP位址
被設為目標主機(victim)的IP位址,若該封包能
夠被傳送到指定的LAN,則該LAN中所有主機
都會傳回一ICMP echo reply的封包到目標主機,
成為癱瘓目標主機的幫凶。
IP directed
Boradcast
Internet
4.2.3 Turn off unneeded services

Disable ICMP Services
ICMP是網路管理者用來檢測網路是否異常的一
套通訊協定,同樣的,攻擊者也可利用ICMP來
獲取網路狀態或進行攻擊。攻擊者常利用ICMP
messages 的 Host unreachable 、 Redirect 及 Mask
Reply進行網路狀態的情資收集,因此建議管理
者應該關閉與untrusted networks連接的路由器
介面的ICMP服務。
國立雲林科技大學 自由軟體研發中心
26
第四章 交換器/路由器之安全特性
CNL2

NTP messages
CNL3
NTP master
NTP messages
CNL4
停用路由器連接外部網路介面的NTP服務

CNL2
Connect
192.168.1.10 finger
停用路由器的Finger服務
CNL4
192.168.1.10
Connection
refused
Disable TCP and UDP Small Servers
在TCP及UDP的通訊協定標準,規範許多不必
要的服務(如TCP的echo、chargen,UDP的echo、
discard),管理者應該關閉網路設備提供這些服
務,減少入侵管道。
CNL
CNL3
NTP master
Disable NTP service
網路設備可透過Network Time Protocol (NTP)來
保持時間的正確性及同步。有些網路設備的預
設是開啟這項功能,如左上圖所示,若網路設
備介面所連接的網路並不存在NTP Master時,
應 該 將 該 介 面 的 NTP 功 能 關 閉 。 在
http://www.ciac.org/ciac/bulletins/l-071.shtml文件
明確指出有心人士可利用NTP code的缺陷進行
buffer overflow的攻擊,造成執行NTP的網路設
備當機,因此建議管理者評估是否真的需要提
供NTP服務,若不需要應將此服務停用。
CNL
Drop NTP
messages
4.2.3 Turn off unneeded services

Disable Finger Service
Finger是以往在UNIX系統用來查詢目前有誰登
入,有些網路設備的作業系統也提供這項功能,
但沒有權限登入網路設備的users不應該讓他們
可藉此服務得知目前網路設備有誰登入,因此
管理者應該關閉此項服務。
國立雲林科技大學 自由軟體研發中心
27
第四章 交換器/路由器之安全特性

CNL
Bootp
CNL3
NTP master
CNL4
Disable Bootp Server
Bootp通常是用來讓某些無硬碟的主機或工作站
能夠透過網路下載開機程式及作業系統的通訊
協定;網路設備也可以被設定成為Bootp server,
但攻擊者也可能藉此下載網路設備的作業系統,
因此若無需使用,應關閉此項服務。
CNL2
I need a
IOS image.
4.2.3 Turn off unneeded services

Disable Configuration Auto-Loading
路由器能夠經由網路或是從記憶體載入startup
configuration,但是經由網路載入設定檔是不安
全的作法,除非是在一個完全可信任的網路環
境下(例如一個獨立的實驗室網路);因此若不
需要使用的話,應將此項服務關閉。
停用路由器的Bootp Server服務
國立雲林科技大學 自由軟體研發中心
28
第四章 交換器/路由器之安全特性

Attacker
CNL
e0/1
Attempted spoof
Disable Proxy ARP
通常主機執行Address Resolution Protocol (ARP)
通訊協定來找出目的端主機IP位址對映的硬體
位址(MAC address);當目的端主機與送出ARP
request封包的主機是在同一個LAN ,目的端主
機會自行回覆ARP response封包(傳回目的端主
機的硬體位址);反之若目的端主機與送出ARP
request封包的主機不是屬於同一個LAN,且路
由器有啟動Proxy ARP的服務,則路由器會替代
目的端主機回覆ARP response封包(傳回的是路
由器介面的硬體位址) 。
Proxy ARP
allowed
Proxy ARP
disallowed
4.2.3 Turn off unneeded services
e0/2
e0/3
Proxy ARP
allowed
大多數的路由器在其所有的介面預設是啟動
Proxy ARP服務,建議管理者針對路由器所有介
面所連接的網路,評估是否真的需要提供Proxy
ARP服務,如左圖所示,不需要提供Proxy ARP
服務的介面,應該要將此服務關閉。
停用路由器連接外部網路介面的Proxy ARP服務
國立雲林科技大學 自由軟體研發中心
29
第四章 交換器/路由器之安全特性

Untrusted DNS
192.168.1.100
CNL2
CNL
CNL3
DNS
query
Trusted DNS
192.168.1.30
CNL4
192.168.1.10
4.2.3 Turn off unneeded services
Restrict DNS Service
通常主機執行Domain Name System (DNS)通訊
協定來找出目的端主機host name與其IP位址對
映的相關資訊;有些路由器提供DNS lookup服
務,但是當送出DNS query封包其上的目標位址
(destination IP) 預 設 值 為 廣 播 位 址
255.255.255.255,然而DNS並未提供認證與保
證資料一致性的安全機制,所以如果有攻擊者
假冒DNS Server,路由器可能會得到錯誤的回
應資料,讓攻擊者有機可乘;因此建議管理者
若要在路由器開啟DNS lookup服務,應該要指
定可信任的DNS Server位址,不要使用預設值,
若沒有可信任的DNS伺服器存在的話,那就直
接將DNS lookup服務關閉。
限制路由器只能向可信任的DNS伺服器送出DNS query封包
國立雲林科技大學 自由軟體研發中心
30
第四章 交換器/路由器之安全特性

I have route to
192.168.1.1/24
Hop count = 1
CNL
Routing protocol : RIPv1
CNL1
CNL2
Attacker
To 192.168.1.1/24
CNL3
CNL4
192.168.1.1/24
4.2.4 Routing protocol authentication
如左圖所示,早期路由器執行的路由
協定(routing protocols)沒有認證機制
(例如RIPv1),攻擊者能夠藉由送出
偽造的routing update封包,竄改路由
器上的路由表(routing tables),造成
流經路由器的封包可以被重新導向到
任何攻擊者想送往的地方。保護路由
器上的routing table完整性有兩種最
基本的方法:
1. 只使用static routes,適用於小型
網路。
2. 選擇使用提供認證機制的routing
protocols,這能夠保證路由器只
會處理從合法來源送來的routing
update 封 包 , 而 丟 棄 偽 造 的
routing update封包。
攻擊者偽造routing update,竄改路由器CNL4上的路由表
國立雲林科技大學 自由軟體研發中心
31
第四章 交換器/路由器之安全特性
I have route to
192.168.1.1/24
Hop count = 1
Unauthenticated
messages

Static routes是管理者在路由器上設定到某特定
網路的封包該經由路由器那個interface轉送,
static routes不會被偽造的routing update影響;
然而若僅使用人工設定的static routes會造成管
理上的困難,這是因為當網路中的一個節點故
障(例如路由器損壞),可能造成整個網路傳輸
的中斷,管理者必須重新設定static routes來恢
復網路連線。建議管理者在一個大型的網路,b
若有設定static routes,最好也要設定路由器執
行有認證機制的routing protocols,如此一來,
若網路架構有所變動,路由器能夠自動重新選
擇可用路徑, 不須管理者介入。

左下表為有認證機制 的routing protocols,管理
者 可 以 設 定 路 由 器 執 行 以 下 任 一 種 Routing
protocol,以防止來源不明、未經授權或假的
routing update 竄 改 路 由 器 上 的 路 由 表 (routing
tables) :
 OSPF
 RIPv2
 Enhanced IGRP
 BGP
Routing protocol : RIPv2
CNL
CNL1
CNL2
Attacker
To 192.168.1.1/24
CNL3
CNL4
192.168.1.1/24
Routing Protocol with Authentication
1. OSPF
2. RIPv2
3. Enhanced IGRP
4. BGP
4.2.4 Routing protocol authentication
提供認證機制的routing protocols
國立雲林科技大學 自由軟體研發中心
32
第四章 交換器/路由器之安全特性

Source address
200.100.50.25
Internet
外部網路
NAT
防火牆
Source address
200.100.50.25
200.100.50.25
主機A
192.168.100.3
主機B
192.168.100.2
4.2.5 Network Address Translation
NAT (Network Address Translation)
NAT讓內部網路的主機可使用private IP位址,
但是當要與外部網路的主機通訊時,送出的封
包 必 須 先 經 由 執 行 NAT 的 主 機 將 封 包 上 的
Private IP位址轉換成Public IP再送到外部網路;
接收的封包也必須先經由執行NAT的主機將封
包上的Public IP位址轉換成Private IP再送到內
部網路。使用NAT可以增強網路的安全防護,
這是因為經由 NAT送出的封包,顯示的都是
Public IP位址,增加攻擊者收集內部網路主機
情資的困難度。
左圖所示為管理者在防火牆設定執行NAT機制,
連外網路只有一個Public IP位址(200.100.50.25),
經由NAT內部網路的主機A(192.168.100.3)與主
機 B(192.168.100.2) 對 外 通 訊 時 都 是 使 用 此
Public IP位址。
Source address
192.168.100.2
內部網路
防火牆執行NAT機制
國立雲林科技大學 自由軟體研發中心
33
第四章 交換器/路由器之安全特性
總結

本章第一節介紹Layer 2可能會遭受到的攻擊,例如有心人士利用交換器執行的通訊協定其
本身的弱點進行入侵行為,傳送偽造的訊息給交換器,進行man-in-the-middle attack、竊聽、
DoS等網路攻擊。

本章的第二節主要是介紹如何設置一個安全的路由器,例如實現安全登入路由器的機制;
建立管理者的專屬帳號與權限設定;將路由器不需要提供的服務關閉,以避免攻擊者利用
服務本身存在的弱點入侵路由器,進行更改設定等不法行為;使用具有認證功能的路由器
通訊協定(routing protocol);內部網路的主機使用private IP位址,增加收集網路情資的困難
度。
國立雲林科技大學 自由軟體研發中心
34
第四章 交換器/路由器之安全特性




















參考資料
「Securing Network Switches.ppt」
「Mitigating Network Attacks.ppt」
「Mitigating Layer 2 Attacks.pdf」
「Network Attacks and Mitigation.ppt」
「Preventing STP Forwarding Loops.ppt」
「Protecting Against VLAN Attacks.ppt」
「Protecting Against Spoof Attacks.ppt」
「Configuring AAA on Cisco Routers.ppt」
「Describing STP Security Mechanisms.ppt」
「Securing Management and Reporting Features.ppt」
「Mitigating Threats and Attacks with Access Lists.ppt」
「Securing Cisco Router Installations and Administrative Access.ppt」
「Disabling Unused Cisco Router Network Services and Interfaces.ppt」
「http://www.ciac.org/ciac/bulletins/l-071.shtml/」
「http://www.cisco.com/warp/public/707/cisco-sa-20020508-ntp-vulnerability.shtml/」
「http://www.nsa.gov/snac/downloads_all.cfm」Security Configuration Guides
「http://www.isecutech.com.tw/feature/view.asp?fid=571」不可埋沒的資安寶藏-路由器紀錄
「WHITE PAPER: IRONSHIELD BEST PRACTICES HARDENING FOUNDRY ROUTERS & SWITCHES」,
Philip Kwan
「http://www.cisco.com/en/US/docs/ios/12_3t/12_3t4/feature/guide/gt_login.html」Cisco IOS Login Enhancements
「
http://www.cisco.com/en/US/products/hw/switches/ps708/products_white_paper09186a008013159f.shtml#wp39054
」VLAN Security White Paper
國立雲林科技大學 自由軟體研發中心
35
Download