Transcript CH 10

第 10 章
安全
本著作僅授權老師於課堂使用, 切勿置放在網路上
播放或供人下載, 除此之外, 未經授權不得將全部
或局部內容以任何形式重製、轉載、變更、散佈或
以其他任何形式、基於任何目的加以利用。
著作權所有 © 旗標出版股份有限公司
本章重點







10 - 1 外圍、防火牆、和內部路由器
10 - 2 辨識安全性威脅
10 - 3 減輕安全性威脅
10 - 4 存取清單簡介
10 - 5 標準式存取清單
10 - 6 延伸式存取清單
10 - 7 進階的存取清單
2
本章重點



10 - 8 監視存取清單
10 - 9 使用 SDM 來設定存取清單
10 - 10 摘要
3
安全



如果您是系統管理員, 我猜您最優先的工作就是
保護敏感關鍵的資料和網路資源, 不要被人惡意
的利用。
恭喜您 - Cisco 有一些真的很有效的安全方案,
能夠提供您所需的工具。
基本上, 掩護您和您網路的後方領土是本章的重
點。
4
安全



您會學到如何遏阻對網路安全最常見的威脅, 而
Cisco 路由器和 IOS 防火牆共同提供了強而有
力的整合式偵測套裝方案, 可以防禦許多類型的
入侵。
我們會說明 Cisco IOS 防火牆如何針對您內部
和外部的網路需求, 提供真正的安全性, 並強制
實施安全政策。
我們還會說明如何對位於外圍的遠端位置建立
安全的連線。
5
安全




存取控制清單 (Access Control List, ACL) 是
Cisco 安全性方案的一部份。
我們會說明簡單和進階存取清單的重點, 讓您有
能力確保互連網路的安全, 並且能夠減緩大多數
安全導向的網路威脅。
正確地使用與設定存取清單是路由器設定的重
要部份, 因為存取清單是用途非常廣的附加功能。
存取清單讓網管人員能大幅地控制遍及企業的
交通流, 促進網路的效率與運作。
6
安全


藉由存取清單, 管理員可以收集封包流量的基本
統計, 可以實作安全政策, 也可以保護敏感的裝
置, 免於遭到非授權的存取。
本章將討論 TCP / IP 的存取清單與第 2 層交換
器上的 MAC 存取清單, 並涵蓋一些工具, 用來
測試與監視存取清單的應用功效。
7
安全


在討論過 Cisco IOS 防火牆, 以及使用 CLI 設
定存取清單組態之後, 我們要展示如何使用
Cisco 的安全裝置管理員 (Security Device
Manager, SDM) 來做這件事, 您會發現它是多
麼得容易。
虛擬私密網路 (Virtual Private Network, VPN)
可能是您企業安全的重要一環, 不過我們會將它
留待第 14 章中討論。
8
10 - 1 外圍、防火牆、和內部路由器



在中到大型網路中, 安全性的各種策略取決於內
部和外圍路由器, 再加上防火牆設備的組合方式。
內部路由器藉由過濾通往受保護企業網路各個
部份的交通, 以提供額外的安全性 - 它們透過
存取清單來達成這個目的。
從圖 10.1 可以看到這些裝置的位置。
9
外圍、防火牆、和內部路由器
10
外圍、防火牆、和內部路由器



本章跟第 11 章都會使用到受信任網路 (trusted
network) 和不受信任網路 (untrusted network)
這兩個術語, 所以您必須瞭解在典型受安全保護
的網路 (secured network) 中, 它們會在哪裡。
非軍事區 (DeMilitarized Zone, DMZ) 可能是全
域 (真實) 網際網路位址或私有位址, 取決於您
如何設定防火牆。
但是通常您可以在這個區域看到 HTTP、DNS、
電子郵件、和其他網際網路相關的企業伺服器。
11
外圍、防火牆、和內部路由器




除了路由器之外, 我們也可能會在內部受信任網
路中使用虛擬區域網路 (VLAN)。
多層式交換器包含有自己的安全性功能, 有時候
也會取代內部 (LAN) 路由器, 在 VLAN 架構中
提供較高的效能。
現在讓我們來討論在典型受安全保護的互連網
路中所面對的安全性威脅。
接著, 提供一些使用 Cisco IOS 防火牆功能集和
存取清單來保護互連網路的方法。
12
10 - 2 辨識安全性威脅




各式安全性攻擊的複雜度和威脅程度差異非常
大, 有些甚至是因為使用者的無知 (WUI, witless
user ignorance) 而發生的。
(這個術語並不是考試目標之一, 但是它發生的
次數遠大於您的想像)。
您知道的, 問題都是出在規劃, 或者說, 出在沒有
規劃。
基本上, 今日的網際網路會成為這麼重要的工具,
完全不在當初那些創立者的想像之中。
13
辨識安全性威脅



這是為什麼現在安全性會成為這麼一個大問題
的主要原因 - 大多數 IP 的實作在本質上就是
不安全的。
不過不要擔心, 因為 Cisco 的袖裡乾坤可以協助
我門處理這些問題。
但首先, 讓我們先檢視一些常見的攻擊概況:


應用層攻擊這些攻擊通常鎖定在伺服器上執行之
軟體的已知漏洞。
最受歡迎的目標包括 FTP、sendmail、和
HTTP。
14
辨識安全性威脅




因為授與這些帳號的權限通常都比較高, 所以壞
傢伙就會存取並利用執行這些應用的機器。
Autorooter 您可以把它視為是某種駭客的自動
化。
壞傢伙使用稱為工具組 (toolkit) 的某些東西來探
測、掃描、然後捕捉在具有策略性位置之電腦上
的資料 - 這種電腦讓他們得以觀察整個系統 -
完全自動!
後門這些只是通往電腦或網路的路徑。
15
辨識安全性威脅



透過簡單的入侵或更精巧的「特洛伊木馬」程式
碼, 壞傢伙就可以在任何時間使用他們植入的路
徑來入侵特定的主機或網路 - 直到您偵測到並
阻止他們為止。
服務阻絕 (Denial of Service, DoS) 和分散式服
務阻絕 (Distributed Denial of Service, DDoS)
攻擊這些攻擊不但壞, 而且很難擺脫!
但即使是駭客也不尊敬那些執行這種攻擊的駭客,
因為它們雖然討厭, 但是很容易做到 (這表示十
來歲的孩子就可以讓您頭痛, 而這真的很不對)。
16
辨識安全性威脅


基本上, 它是藉由將提供正常服務的系統塞爆,
而讓其他人無法取得服務。
它有幾種不同的做法:



TCP SYN flood 始於客戶端要開啟一個看似平常
的 TCP 連線, 並且傳送 SYN 訊息給伺服器。
伺服器會回覆 SYN-ACK 訊息給客戶端主機, 並
且等它傳回 ACK 訊息以建立連線。
聽起來不錯, 但是它就停在這個過程的中間 - 在
連線只開啟一半的時候 - 讓受害者的主機被大
量開啟一半的連線塞爆而癱瘓。
17
辨識安全性威脅




「Ping of death」攻擊您可能知道 TCP / IP 的
最大封包長度為 65, 536 個位元組。
如果您不知道也沒關係 - 只要瞭解這個攻擊就
是透過使用超出長度的封包來執行 ping, 造成設
備不斷地重新開機、暫停、或是完全當掉。
TFN (Tribe Flood Network) 和 TFN2K (Tribe
Flood Network 2000) 這些討厭的小數字更為複
雜。
它們會從多個來源同步開啟 DoS 攻擊, 而且可以
針對多個設備。這種攻擊部分是靠所謂的「IP 仿
冒」(IP spoofing) 來達成, 稍後就會討論。
18
辨識安全性威脅




Stacheldraht 這種攻擊其實是各種方法的混合,
並且是從德文中的有刺鐵絲網得名。它基本上包
含 TFN, 並且加上少量的加密。
它的攻擊分好幾層, 從最原始的起點層開始大量
的入侵, 最後再以 DoS 攻擊收場。
IP 仿冒 (IP spoofing) 這種攻擊就像它的名稱一
樣, 壞傢伙從網路內部或外部偽裝成受信任的主
機。
透過兩種方式的其中一種進行:利用內部受信任
網路位址範圍內的 IP 位址, 或是使用經過審核、
受信任的外部 IP 位址。
19
辨識安全性威脅




因為駭客的真實身分是掩護在偽造的位址之後,
所以通常這只是問題的開端。
中間人式攻擊 (Man-in-the-middle attack) 攔截!
但這可不是足球, 而是您網路的封包 - 珍貴的
資料!嫌疑犯常常是您的 ISP 的某個員工。
這是使用稱為網路分析器 (sniffer) 的工具, 再搭
配遶送和傳輸協定來做的。
網路偵查 (network reconnaissance) 在入侵網
路時, 駭客通常會蒐集所有可能的資訊, 因為他
們對網路知道的越多, 就越能破解它。
20
辨識安全性威脅




他們會透過像埠號掃描、DNS 查詢、和 ping 掃
射 (ping sweep) 等方法來達成這個目的。
封包分析器 (packet sniffer) 這是前面所提到的
工具, 您可能會很驚訝, 它其實是個軟體。
它的運作方式如下 - 將網路界面卡設為無目的
模式 (promiscuous mode), 讓它把所有經過網路
實體層的封包都傳送給一個特殊應用來檢視和挑
選。
封包分析器可以抓到一些很有價值的敏感資料,
包括密碼和使用者名稱等等, 使得它們成為身分
竊盜的最愛。
21
辨識安全性威脅



密碼攻擊這有許多做法, 而雖然它們可以透過像
IP 偽造、封包分析、和特洛伊木馬等更複雜的
攻擊達成。
但是它們的唯一目標就是 - 找到使用者的密碼,
以便偽裝成有效的使用者, 然後取得使用者的權
限和資源。
暴力法攻擊 (brute force attack) 這是另一種軟
體導向的攻擊, 利用在目標網路上執行的程式,
嘗試登入到某些共享的網路資源 (例如伺服器)。
22
辨識安全性威脅



對駭客而言, 最理想的狀況是存取到擁有很多權
限的帳號, 因為這樣他就可以建立後門以便稍後
可以再度去光臨, 並且完全不需要密碼。
通訊埠重導攻擊 (port redirection attack) 這個
方法需要駭客先入侵一台主機, 以取得穿越防火
牆的錯誤交通 (正常情況下應該不能通過)。
特洛伊木馬攻擊和病毒這兩種其實很相似 - 特
洛伊木馬和病毒都會使用惡意程式碼來感染使用
者的機器, 並且造成不同程度的癱瘓、損害、甚
至掛掉!
23
辨識安全性威脅



但是它們的確有所不同 - 病毒其實只是附加到
command.com 的惡意程式, 而 command.com
又剛好是所有 Windows 系統的主要解譯程式。
然後病毒就會瘋狂地執行, 刪除檔案, 並且感染
它在已經生病的機器上找到的所有執行中檔案。
但特洛伊木馬則是包裝在程式碼中的完整應用
- 藉由那些程式碼讓它看起來像是完全不同的
東西, 例如看似簡單無辜的遊戲 - 然後內藏惡
劣的破壞性實作。
24
辨識安全性威脅




利用信任攻擊 (trust exploitation attack) 發生
在有人利用網路內的信任關係的時候。
例如企業的外圍網路連線通常會掩護重要的東西,
例如 SMTP、DNS、和 HTTP 伺服器, 因為這些
伺服器都在相同的網段上, 所以其實非常脆弱。
老實說, 我們並不打算詳細說明如何降低這些安
全威脅。
一方面是這些不是本書的範圍, 另一方面, 後面
所要介紹的方法通常可以對這些攻擊提供真正
的防護。
25
辨識安全性威脅


您會學到足夠的技巧可以讓絕大多數的壞傢伙
知難而退, 並且尋找其他更容易下手的對象。
因此, 基本上本章是要討論如何實施「安全的網
路」。
26
10 - 3 減輕安全性威脅




嗯 ~ 我們應該用甚麼解決方案來減輕安全性威
脅呢?來自 Juniper、McAfee、或是其他的防
火牆產品嗎?
其實, 或許我們應該使用來自 Cisco 的東西。
Cisco 有一項非常酷的產品叫做 ASA (Adaptive
Security Appliance)。
但是這裡面有一兩個小問題 - 首先, 它是個相
當貴的小寶貝, 且其成本取決於您所選擇的模組
(例如入侵防護)。
27
減輕安全性威脅



其次, ASA 其實不在本書的範圍之內。只是筆
者個人認為這是目前市面上的最佳產品 - 它真
的很棒!
Cisco IOS 軟體大約運行在超過 80% 的網際網
路骨幹路由器之上;它可能是網路基礎建設中
最關鍵的部分。
所以讓我們使用 Cisco IOS 以軟體為基礎的安
全性功能, 稱為 Cisco IOS 防火牆功能集, 來做
為端點對端點網際網路、企業內網路、和遠端
存取網路的安全性方案。
28
減輕安全性威脅


這是個很好的想法, 因為 Cisco ACL 在減輕許
多常見威脅方面, 是相當有效率的工具。
如果您剛好開始要研讀 CCNA 認證, 就必須比
本章其他主題更紮實地瞭解 ACL 的運作方式!
29
Cisco 的 IOS 防火牆

下面我們要找出如何使用 Cisco IOS 防火牆功
能, 來減輕前面列出的一些常見的威脅:



狀態式 (stateful) IOS 防火牆檢查引擎這是外圍
防護功能, 因為它是以個別應用為基礎, 提供內
部使用者安全的存取控制。
人們通常稱之為情境式存取控制 (ContextBased Access Control, CBAC)。
入侵偵測封包的深層檢查工具, 可以參考 102 種
最常見的攻擊和入侵偵測特徵, 以即時監督、攔
截、和回應濫用的情況。
30
Cisco 的 IOS 防火牆




防火牆語音穿越 (firewall voice traversal) 應用
層的功能, 根據協定對呼叫流 (call flow) 及相關
開放通道 (open channel) 的瞭解。
支援 H.323v2 和 SIP (Session Initiation
Protocol) 語音協定。
ICMP 檢查基本上只允許回應來自防火牆內部的
ping 和 traceroute 等 ICMP 封包, 但拒絕其他的
ICMP 交通。
驗證代理者 (authentication proxy) 讓使用者
可以透過 HTTP、HTTPS、FTP 和 Telnet, 在想
要存取網路資源的時候進行驗證。
31
Cisco 的 IOS 防火牆




它能自動地從 RADIUS 或 TRACACS + 伺服器
上取得使用者的個人網路存取明細, 並根據它來
驗證。
目的 URL 的政策管理功能自助餐, 通常稱為
URL 過濾。
個別使用者防火牆這些基本上是個人化、可下載
的特定使用者防火牆 - 可以透過服務供應商取
得。
您也可以透過 AAA 伺服器的資料檔儲存庫
(profile storage) 來取得個人化的 ACL 和其他設
定。
32
Cisco 的 IOS 防火牆




Cisco IOS 路由器和防火牆配置 (provisioning)
可以進行零接觸 (no-touch) 的路由器配置、版
本更新、和安全政策。
服務阻絕的偵測和預防檢查封包標頭, 並且丟棄
所有可疑的封包。
動態埠號對應一種轉接功能, 讓防火牆所支援的
應用可以在非標準埠號上運作。
Java applet 阻擋功能防止任何陌生而無法辨識
的 Java applet。
33
基本和進階的交通過濾



您可以在 Cisco 的 IOS 防火牆中使用標準的和
延伸的 ACL, 甚至像鎖鑰式 (Lock-and-Key) 交
通過濾等動態的 ACL。
而且您可以將存取控制應用在任何的網段。
此外, 您還可以指定可通過任意網段的交通類型。

以政策為基礎、多界面的支援讓您能根據安全政
策, 透過 IP 位址和界面來控制使用者的存取。
34
基本和進階的交通過濾



網路位址轉換 (Network Address Translation,
NAT) 對外界隱藏內部網路以增加安全性。
以時間為基礎的存取清單根據每天的特定時段和
每週的特定日子來決定安全政策。
對等路由器的驗證保證路由器能從受信任的真正
來源取得可靠的遶送資訊 (要這樣做, 您需要有
支援驗證的遶送協定, 例如 RIPv2、EIGRP 或
OSPF)。
35
基本和進階的交通過濾


在簡短說明安全性威脅、Cisco IOS 防火牆相
關功能、和如何使用這個軟體來取得效益之後,
現在讓我們更深入瞭解存取清單的世界, 以及
ACL 如何減輕安全性威脅。
它們真的是威力強大的工具, 所以一定要用心喔!
36
10 - 4 存取清單簡介




存取清單 (access list) 其實就是一個對封包進
行分類的條件清單, 當您需要控制網路交通時,
他們可能非常有幫助。
存取清單將會是供您選擇用來進行決策的工具。
存取清單最常見、也最容易瞭解的用途之一就
是用來實作安全政策時, 過濾不想要的封包。
例如, 您可以設置清單來管控交通模式, 使得只
有特定主機可以存取網際網路的 WWW 資源,
而其他的主機則受到限制。
37
存取清單簡介



藉由正確地組合存取清單, 網管人員有足夠的武
器可以強制大部分他們所能想到的安全政策。
存取清單甚至可用在其他不須牽涉到阻絕封包
的情況。
例如, 您可利用他們來控制動態遶送協定會宣傳
那些網路, 而設定存取清單的方式是一樣的, 不
一樣的地方只是這些清單要應用在何處 - 應用
到遶送協定, 而非界面上。
38
存取清單簡介



當您以這種方法應用存取清單時, 它就稱為分送
清單 (distribute list), 它不會停止遶送宣傳, 只是
會控制他們的內容罷了。
您也可以用存取清單對封包分類, 以進行排隊
(queuing) 或 QOS 之類的服務, 或者控制那些
類的交通可啟動昂貴的 ISDN 鏈路。
產生存取清單真的非常像程式設計中一連串的
if-then 敘述 - 如果符合給定的條件, 就採取特
定的動作。
39
存取清單簡介





如果不符合特定的條件, 任何事都不會發生, 而
是繼續評估下個敘述。
存取清單敘述基本上是封包過濾器, 根據它來對
封包進行比對、分類, 然後做動作。
一旦建好清單, 可應用在任何界面上進入或離開
方向的交通。
應用存取清單會使路由器分析以特定方向通過
界面的每個封包, 並採取適當的動作。
比對封包與存取清單時, 必須遵循幾個重要的規
則。
40
存取清單簡介




總是循序地比對存取清單的每一列 - 也就是說
總是從存取清單的第 1 列開始, 然後比對第 2 列,
然後第 3 列, 依此類推。
不斷地比對存取清單, 直到符合為止。一旦封包
符合存取清單上某列的條件, 就會對封包起作用,
並且不再進行任何比對。
每個存取清單的結尾都會有一列隱含的 "拒絕"
- 這表示如果封包無法符合存取清單中任何一
列的條件, 則會被丟掉。
以存取清單過濾 IP 封包時, 這些規則的每一條
都蘊含很強的意義。
41
存取清單簡介


所以記住, 若要建立有效的存取清單, 真的要不
斷地練習。
存取清單主要有 2 種:


標準式存取清單 (standard access list) 這些只
使用 IP 封包中的來源 IP 位址當作檢驗條件, 所
有決定都是根據來源 IP 位址進行的。
這表示標準式存取清單基本上允許或拒絕整組的
協定, 他們無法分辨 IP 交通的類型, 例如 WWW、
Telnet、UDP 等等。
42
存取清單簡介




延伸式存取清單 (extended access list) 延伸式
存取清單可以比對 IP 封包之第 3 層與第 4 層標
頭中的許多其他欄位。
他們可以比對網路層標頭中的來源與目的 IP 位
址與協定欄位, 以及傳輸層標頭中的埠號。
這使得延伸式存取清單有能力在控制交通時進行
更細緻的決策。
名稱式存取清單 (named access list) 嘿!等一
下 - 我們剛才不是說存取清單的種類有 2 種嗎,
怎麼跑出第 3 種!
43
存取清單簡介




是的, 技術上其實只有 2 種, 因為名稱式存取清
單可以是標準式或延伸式的, 並不真的是新類型。
只因為他們的產生與參考方式與標準或延伸式存
取清單不同, 所以我們就加以區別。但其實他們
的功能是一樣的。
一旦產生存取清單之後, 除非加以應用, 否則不
會有任何作用。
是的, 他們是在路由器上, 但除非您告訴路由器
要利用他們來作什麼, 否則他們是沒有作用的。
44
存取清單簡介



若要利用存取清單來當交通過濾器, 必須將存取
清單應用在路由器的界面上, 也就是想要過濾交
通的地方, 而且必須明確指定出存取清單要應用
在那個方向的交通。
有個很好的理由要如此做 - 您可能希望對於從
您的企業往網際網路的交通, 以及從網際網路進
入您企業的交通,進行不一樣的控制。
因此, 藉由設定交通的方向, 您可能 - 而且經常
會如此需要 - 得為一個界面上的進入與離開方
向的交通分別使用不同的存取清單。
45
存取清單簡介



進入的存取清單 (Inbound access list) 當存取
清單應用在界面上的進入封包時, 那些封包在遶
送給離開界面之前, 要先經過存取清單的處理。
任何被拒絕的封包就不會被遶送, 因為他們在呼
叫遶送程序之前就被丟掉了。
離開的存取清單 (outbound access list) 當存
取清單應用在界面上的離開封包時, 那些封包要
先遶送到離開界面, 然後在儲存於佇列之前得先
經過存取清單的處理。
46
存取清單簡介

在路由器上產生與實作存取清單時, 應該要遵循
一些通用的存取清單指引:




每個界面的每個協定的每個方向只能指定一個存
取清單。
這表示在產生 IP 存取清單時, 每個界面只能有
一個進入的存取清單與一個離開的存取清單。
安排您的存取清單, 使得比較明確的核對會出現
在存取清單的頂端。
任何時候規則被新增到存取清單時, 會被放在清
單的底部。
47
存取清單簡介




強烈建議您使用文字編輯器來編輯存取清單。
您無法從存取清單中移除一列, 如果您試著如此
做, 就會移除整個清單。
所以最好是在編輯清單之前, 先將存取清單拷貝
到文字編輯器中。唯一的例外是使用名稱式存取
清單。
除非您的存取清單以 permit any 命令當結尾,
否則封包如果沒有符合清單的任何條件, 就會被
丟棄。
48
存取清單簡介




每個清單至少應該有一個 permit 敘述, 否則會
拒絕所有的交通。
產生存取清單, 然後應用至界面上。存取清單如
果沒有應用在任何界面上, 根本就不會起作用。
存取清單的設計是要過濾經過路由器的交通, 他
們不會過濾那些從路由器發起的交通。
儘可能地將 IP 標準式存取清單配置在靠近目的
地的地方, 這就是我們真的不是很想要在網路中
使用標準式存取清單的原因。
49
存取清單簡介



您不能將標準式存取清單放在靠近來源主機或網
路的地方, 因為您只能根據來源位址去過濾, 這
樣就沒有任何封包會被轉送。
儘可能地將 IP 延伸式存取清單配置在靠近來源
的地方。
因為延伸式存取清單可過濾每個特定的位址與協
定, 您並不想要讓您的交通流經整個網路, 然後
再被拒絕。
50
存取清單簡介


如果將這種清單配置在儘可能靠近來源位址的地
方, 就可在交通消耗您寶貴的頻寬之前先加以過
濾。
在繼續討論如何設定基本和進階的存取清單之
前, 讓我們先討論一下 ACL 要如何用來減輕稍
早提到的那些安全威脅。
51
使用 ACL 減輕安全性問題

下面是 ACL 可以用來減輕的安全性威脅:








進入方向的 IP 位址偽造
離開方向的 IP 位址偽造
服務阻絕的 TCP SYN 攻擊, 阻隔外部的攻擊
DoS TCP SYN 攻擊, 使用 TCP 攔截 (Intercept)
DoS smurf 攻擊
進入方向的 ICMP 訊息過濾
離開方向的 ICMP 訊息過濾
traceroute 過濾
52
使用 ACL 減輕安全性問題


一般說來, 最好不要讓任何來源位址是內部主機
或內部網路的 IP 封包進入私有網路 - 就這麼
處理吧!
下面的規則是關於如何設定從網際網路連到您
營運網路之 ACL, 以減輕安全性問題:





拒絕內部網路的位址。
拒絕本地主機位址 (127.0.0.0 / 8)。
拒絕保留的私有位址。
拒絕任何落在 IP 多點傳播位址範圍內的位址。
上述位址都不應該被允許進入您的互連網路。
53
10 - 5 標準式存取清單




標準式存取清單藉由檢查封包的來源 IP 位址來
過濾網路交通。
您要利用存取清單編號 1 - 99 或 1300 - 1999
(延伸範圍) 來產生標準式 IP 存取清單。
存取清單的種類是靠編號來區別的, 路由器根據
清單產生時所用的編號, 就知道在輸入清單時它
應該預期到什麼樣的語法。
利用 1 - 99 或 1300 - 1999 的號碼, 告訴路由器
您想要產生的是標準式 IP 存取清單。
54
標準式存取清單


所以路由器就會預期清單的規則中只能指定來
源 IP 位址。
以下是可用來過濾網路交通的各種存取清單的
編號範圍 (您可以為哪一種協定設定存取清單,
取決於您的 IOS 版本):
55
標準式存取清單

以下是產生標準式存取清單所用的語法:

如方才所說的, 使用 1 - 99 或 1300 - 1999 之間
的號碼, 是要告訴路由器我們想要產生的是標準
式存取清單。
56
標準式存取清單

選好存取清單號碼之後, 就要決定是否要產生
permit 或 deny 敘述。
例如, 以下是要產生 deny 敘述:

接下來的步驟需要更詳細的說明。

57
標準式存取清單



我們有 3 個選項可用, 您可以使用 any 參數來
允許或拒絕任何主機或網路;可以使用一個 IP
位址來設定單機或一個範圍的主機;或者使用
host 命令來設定一部特定的主機。
any 命令是很明顯的 - 任何來源位址都會符合
該敘述, 所以每個與這道敘述比對的封包都會符
合。
相對地 host 敘述就很簡單, 以下是它的一個範
例:
58
標準式存取清單




這告訴清單要拒絕任何從 172.16.30.2 主機來
的封包。
預設的參數是 host, 換句話說, 如果您輸入
access-list 10 deny 172.16.30.2, 路由器就假
設您的意思是 172.16.30.2 主機。
但還有其他的方法可用來設定特定主機或某個
範圍的主機 - 利用通配遮罩 (wildcard mask)。
事實上, 要設定任何範圍的主機, 都得在存取清
單中利用通配遮罩。
59
標準式存取清單


通配遮罩到底為何物?
接下來您就可以藉由標準式存取清單的範例, 以
及如何控制對虛擬終端機的存取中, 學習到所有
與它相關的知識。
60
通配遮罩





在存取清單中可用通配遮罩來設定個別的主機、
一個網路、或特定範圍的一個網路或多個網路。
要瞭解通配遮罩, 必須瞭解區塊大小 (block size)
為何;他們是用來指定某範圍之位址的。
可用的區塊大小是 64、32、16、8、與 4。
當您需要設定一個範圍之位址時, 得選擇您所需
之次個最大的區塊大小。
例如, 如果您需要 34 個網路, 則要選擇的區塊
大小是 64。
61
通配遮罩




如果您想要設定 18 部主機, 則需要的區塊大小
是 32。如果您只要設定 2 個網路, 則要 4 的區
塊大小才能運作。
通配遮罩是要與主機或網路位址合用, 以告訴路
由器您所要過濾的是一個範圍的可用位址。
若要設定主機, 則位址看起來如下:
這 4 個 0 表示位址的每個位元組, 每當出現 0
時, 就表示位址中的該位元組必須完全符合。
62
通配遮罩




如果要設定成位址中該位元組可以為任何值, 則
要用 255。
例如, 以下利用通配遮罩來設定一個 / 24 子網
路:
這告訴路由器只要符合前 3 個位元組, 但第 4
個位元組可以為任何值。
那如何只設定一小範圍的子網路呢?這就需要
引入區塊大小的觀念了。
63
通配遮罩




您所設定的範圍必須落在區塊大小的值, 換句話
說, 您不能選擇只設定 20 個網路, 而只能設定
與區塊大小剛好一樣的值。
例如, 範圍可以是 16 或 32, 但就不可以是 20。
假設您想要擋住對於 172.16.8.0 到
172.16.15.0 之網路的存取, 這是區塊大小 8, 而
網路號碼是 172.16.8.0, 通配遮罩是 0.0.7.255。
哇!這是什麼?7.255 就是讓路由器用來決定
區塊大小的。
64
通配遮罩




這個網路與通配遮罩告訴路由器要從
172.16.8.0 開始, 往上 8 個區塊大小的位址, 到
172.16.15.0 網路為止。
其實比它看起來的樣子簡單多了, 對吧!
我們當然可以為您展示二進位的比對, 但應該沒
有人需要, 因為實際上您們只要記住通配遮罩總
是比區塊大小少 1 即可。
因此, 在我們的例子中, 因為區塊大小是 8, 所以
通配遮罩會是 7。如果區塊大小是 16, 則通配
遮罩會是 15。很簡單, 對吧?
65
通配遮罩


但我們還是要舉一些例子, 幫助您學會它。
以下的範例告訴路由器只要符合前 3 個位元組,
但第 4 個位元組可以為任何值:

下個例子告訴路由器要符合前 2 個位元組, 而後
2 個位元組可以為任何值:

接下來請試著理解下一列:
66
通配遮罩



這個例子告訴路由器從 172.16.16.0 網路開始,
利用區塊大小 4, 所以範圍將會是從
172.16.16.0 開始, 直到 172.16.19.0。
以下的例子顯示存取清單從 172.16.16.0 開始,
經過區塊大小 8, 直到 172.16.23.0:
以下的例子從 172.16.32.0 開始, 經過區塊大小
16, 直到 172.16.47.0:
67
通配遮罩

下一個例子從 172.16.64.0 開始, 經過區塊大小
64, 直到 172.16.127.0:

最後一個例子從 192.168.160.0 開始, 經過區塊
大小 32, 直到 192.168.191.0:

當您運用區塊大小與通配遮罩時, 還有 2 件事要
記住:

每個區塊大小必須從 0 或區塊大小的倍數開始。
68
通配遮罩



例如, 您不可以說您想要區塊大小 8, 然後卻從
12 開始, 您必須使用 0 - 7, 8 - 15, 16 - 23 等。
對於區塊大小 32, 則範圍會是 0 - 31, 32 - 63,
64 - 95 等。
any 命令等同於通配遮罩 0.0.0.0
255.255.255.255。
69
標準式存取清單範例




本節教您如何利用標準式存取清單, 阻止特定使
用者存取財務部門的區域網路。
在圖 10.2 中, 路由器有 3 條區域網路連線, 以
及一條通往網際網路的廣域網路連線。
業務部區域網路上的使用者不應該存取財務部
區域網路, 但應該要能存取網際網路與行銷部區
域網路。
行銷部區域網路需要存取財務部區域網路的應
用服務。
70
標準式存取清單範例
71
標準式存取清單範例

在圖中的路由器上, 設定以下的標準式存取清單:

很重要的是您要瞭解 any 命令與以下的通配遮
罩是一樣的:

因為通配遮罩說不需要評估任何位元組, 因此每
個位址都能符合這個測試條件, 所以這一列的作
用與 any 關鍵字是一樣的。
72
標準式存取清單範例




此時我們要將存取清單設定成拒絕來自業務部
區域網路的來源位址存取財務部區域網路, 並允
許所有其他的交通。
但請記住, 除非將存取清單應用在特定方向的特
定界面上, 否則不會有任何作用。
但這份存取清單應該要配置在哪裡呢?
如果您將它放在 E0 的進入方向, 就相當於關閉
該界面一樣, 因為所有業務部裝置對所有連結到
路由器之網路的存取都因此被拒絕。
73
標準式存取清單範例

最佳的位置應該是將這份存取清單應用在 E1
界面的離開方向上:

這完全阻止了來自 172.16.40.0、並且要從 E1
界面出去的交通。
這對於從業務部區域網路去存取行銷部區域網
路或網際網路的交通不會起任何作用, 因為要到
那些目的地的交通並不會經過 E1 界面。

74
標準式存取清單範例




任何嘗試要從 E1 界面離開的封包都要先經過
這份存取清單的過濾。
如果在 E0 界面上配置進入的存取清單, 則任何
嘗試要進入 E0 界面的封包, 在遶送給離開界面
之前都得先經過這份清單的過濾。
接下來讓我們研究另一個標準式存取清單的範
例。
圖 10.3 顯示一個有 2 部路由器、3 個區域網路、
以及 1 條序列 WAN 連線的互連網路。
75
標準式存取清單範例
76
標準式存取清單範例



假設您想要阻止會計部門的使用者去存取與
Lab_B 路由器相連的人力資源伺服器, 但允許
所有其他的使用者存取該區域網路。
那麼應該要產生什麼樣的標準式存取清單, 而且
要配置在哪裡呢?
其實真正的答案應該是利用延伸式存取清單, 並
且配置在最靠近來源端;但題目指定要使用標
準式存取清單。
77
標準式存取清單範例


根據基本法則, 標準式存取清單的配置應該要靠
近目的地 - 這個例子就是在 Lab_B 路由器之
乙太網路界面 0 的離開方向。
以下就是這個要放在 Lab_B 路由器的存取清單:
78
標準式存取清單範例


在我們往下討論如何限制路由器的 Telnet 存取
之前, 再來多研究一個標準式存取清單的例子,
不過這個例子可能需要多花一點心思。
圖 10.4 中有一部擁有 4 條 LAN 連線、與 1 條
連到網際網路之 WAN 連線的路由器。
79
標準式存取清單範例
80
標準式存取清單範例



假設您需要設計一個存取清單, 以阻止圖中的 4
個區域網路存取網際網路。
圖中的每個區域網路用 1 個主機的 IP 位址來代
表, 您必須從中找出子網路, 並且利用通配遮罩
來設定存取清單。
以下是這個範例的答案 (從 E0 的網路開始, 一
直到 E3 網路) :
81
標準式存取清單範例



好的, 產生這份清單的目的是什麼呢?
如果您真的把這份清單配置在路由器上, 效果相
當於關閉了對網際網路的存取, 那麼還要網際網
路的連線做什麼呢?
其實這個範例的目的只是要您練習如何使用區
塊大小來設計存取清單 - 若要能成功地通過
CCNA 的目標, 這是非常關鍵的。
82
控制 VTY (telnet) 存取



您可能曾經很難阻止使用者 telnet 到大型路由
器, 因為對於路由器上的運作界面而言, VTY 存
取是一視同仁的。
您可以試著產生一個延伸式 IP 存取清單, 限制
對這部路由器之每個 IP 位址的 Telnet 存取, 但
如果如此做, 必須將它應用在每個界面的進入方
向。
而這對於一部有數十、或甚至數百個界面的大
型路由器而言, 真的不好擴充, 不是嗎?
83
控制 VTY (telnet) 存取




這兒有個更好的解決方式:利用標準式存取清
單來控制對 VTY 連線本身的存取。
為什麼這樣行得通呢?因為當您應用存取清單
到 VTY 連線時, 您不需要設定 Telnet 協定, 因
為對 VTY 的存取就隱含著終端機存取。
您也不必設定目的位址, 因為到底使用者使用路
由器的那個界面的位址來當作 Telnet 會談的目
的地是無關緊要的。
您真的只需要控制使用者來自何處即可 -他們
的來源 IP 位址。
84
您何時應該要保護路由器上的 Telnet 連
線?



您正在監視您的網路, 並利用 show users 命令
注意到有人曾 telnet 到您的核心路由器。
於是您使用 disconnect 命令, 讓他們與路由器
斷線, 但卻發現他們幾分鐘之後又重新進入路由
器。
您考慮要在路由器界面上配置存取清單, 但不希
望大幅增加每個界面的延遲, 因為您的路由器已
經負荷了大量的封包。
85
您何時應該要保護路由器上的 Telnet 連
線?




您正考慮要在 VTY 連線本身配置存取清單, 但
在無法確定於每個界面上配置存取清單是否安
全之前, 不敢貿然行事。
在 VTY 連線上配置存取清單對於這個網路而言,
是不錯的想法嗎?
是的, 絕對是。而且 access-class 命令是進行
這項任務的最佳方式。
為什麼?
86
您何時應該要保護路由器上的 Telnet 連
線?


因為它並不使用那個坐在界面上檢視每個進出
封包的存取清單, 存取清單會對於被遶送的封包
產生額外的負擔。
藉由將 access-class 命令配置在 VTY 連線上,
只有嘗試進入路由器的封包會加以檢視與比對,
這為您的路由器提供了不錯且容易設定的安全
性。
87
控制 VTY (telnet) 存取

要執行這個功能, 請依循以下的步驟:



1. 產生一個標準式存取清單, 只允許您想要讓他
們能夠 telnet 至路由器的主機。
2. 以 access-class 命令應用這份存取清單至
VTY 連線上。
以下的範例只允許 172.16.10.3 主機可以 telnet
至路由器:
88
控制 VTY (telnet) 存取

因為清單的結尾隱含了一個 deny any 的敘述,
所以除了 172.16.10.3 主機以外, 這份清單阻止
了所有其他的主機 telnet 至路由器, 而不管他們
的目的地是這部路由器的那個 IP 位址。
89
10 - 6 延伸式存取清單



請注意一下在上述的標準式存取清單範例中, 您
是如何阻止所有從業務部區域網路到財務部區
域網路的。
但如果因為安全的理由, 您需要讓業務部能存取
財務部區域網路上的特定伺服器, 但不能存取其
他的網路服務, 怎麼辦呢?
若利用標準式存取清單, 您無法只讓使用者能得
到一種網路服務, 而又限制其他的服務。
90
延伸式存取清單



換個說法, 如果您需要同時根據來源與目的位址
來下決定, 標準式存取清單做不到, 因為它只能
讓您根據來源位址來作決定。
但延伸式存取清單則可以做到, 因為它可以讓您
設定來源與目的位址, 以及分辨上層的協定與埠
號。
藉由引進延伸式存取清單, 您可以有效地讓使用
者能存取某個實體的區域網路, 又限制他們只能
存取特定的主機 - 或甚至是那些主機上的特定
服務。
91
延伸式存取清單

以下是一個延伸式存取清單的範例:
92
延伸式存取清單


第一個命令顯示可用的存取清單編號, 延伸式存
取清單的編號範圍從 100 到 199, 不過範圍從
2000 到 2699 的編號也可以給延伸式存取清單
使用。
此時您要決定使用哪一種設定, 例如, 在清單中
放入一列 deny 敘述。
93
延伸式存取清單

一旦選了存取清單的類型, 然後需要選擇協定欄
位。
94
延伸式存取清單


因為您稍後想要過濾使用 TCP 的應用層協定,
所以這裡選擇 TCP 協定, 稍後就可以設定特定
的 TCP 埠。
接下來, 路由器會提示您設定主機或網路的來源
IP 位址 (您可以選擇 any 命令, 以允許任何來源
位址):
95
延伸式存取清單

選好來源位址之後, 請選擇目的位址:

以下的範例將拒絕目的 IP 位址為 172.16.30.2
的封包。
96
延伸式存取清單
97
延伸式存取清單



這裡可以只按下 Enter 鍵, 存取清單就設成這樣。
但如果這樣設, 所有要往 172.16.30.2 主機的
TCP 交通都會被拒絕, 而不管目的埠為何。
您可以設定的更明確:設定好主機位址之後, 就
設定您所要拒絕的服務類型。
以下的輔助畫面顯示可用的選項。
98
延伸式存取清單

您可以選擇一個埠號, 或使用應用協定的名稱:
99
延伸式存取清單
100
延伸式存取清單


此時, 讓我們只阻擋 Telnet (23 號埠) 至
172.16.30.2 主機。如果使用者想要使用 FTP,
沒問題, 這是允許的。
log 命令可用來記錄每次比對成功時的訊息, 對
於監視不當的存取意圖, 這是非常酷的方法。以
下就是這個範例:
101
延伸式存取清單



您要記住的是, 下一列是預設上隱含的 deny
any 敘述。
如果您將這份存取清單應用在界面上, 可能只是
相當於把界面關起來罷了, 因為每個存取清單的
結尾都預設有隱含的 deny any 敘述, 所以您必
須在清單後面再加上以下的命令:
記住, 0.0.0.0 255.255.255.255 相當於 any 命
令, 所以這個命令也可以像這樣:
102
延伸式存取清單

一旦產生好存取清單, 還需要將它應用至界面上
(與 IP 標準式存取清單一樣):

或

下一節讓我們來研究一個如何使用延伸式存取
清單的範例。
103
延伸式存取清單範例 1



現在讓我們利用前一個 IP 標準式存取清單範例
的圖 10.2 的網路, 拒絕對財務部區域網路上的
172.16.30.5 主機存取 Telnet 與 FTP 服務。
而所有這部主機的其他服務與所有其他主機都
可讓業務部與行銷部存取。
應該產生的存取清單如下:
104
延伸式存取清單範例 1




access-list 110 是要告訴路由器我們想要產生
的是延伸式存取清單。
tcp 是網路層標頭中的協定欄位, 如果這裡沒有
指定 tcp, 就不能指定要過濾埠號 21 與 23 (這
些是 FTP 與 Telnet, 他們都是使用 TCP 的連線
導向服務)。
any 命令是來源, 表示任何 IP 位址, 而 host 是
目的 IP 位址。
產生清單之後, 需要將它應用在 E1 界面的離開
方向。
105
延伸式存取清單範例 1



這將我們產生的規則應用到所有主機上, 而且有
效地擋住了所有從 172.16.30.5 主機所在之區
域網路之外對該主機存取 FTP 與 Telnet 服務。
如果這份清單只是要阻擋來自業務部區域網路
的存取, 就得在儘量靠近來源處或 E0 界面配置
這份清單。
而在這種情況下, 我們要將這份清單應用在進入
的交通。
106
延伸式存取清單範例 1

以下就讓我們將這份清單應用在 E1 界面, 以擋
住所有離開 E1 界面、對主機進行 FTP 與
Telnet 存取的交通。
107
延伸式存取清單範例 2




這個範例將再次用到圖 10.4 - 4 個區域網路與
1 條序列連線。
這次我們想要做的是阻止 Telnet 存取到連結
E1 界面的區域網路與連結 E2 界面的區域網路。
如果我們只用到一份存取清單, 效率並不會很好,
因為如此一來每個從這些界面出去的封包都要
被檢查。
但如果我們利用 2 份存取清單, 而且設定無誤的
話, 則每個界面上的延遲都會變少。
108
延伸式存取清單範例 2


不過因為現在我們的目的是為了學習 CCNA 要
求的目標, 因此以下就只用一個存取清單來研究
這個範例。
路由器上的設定如下 (雖然答案可以不一樣) :
109
延伸式存取清單範例 2





您必須從這份清單學習到的重點是:
首先, 您必須根據所要產生的存取清單類型, 確
認它的編號範圍是正確的 - 這個例子是延伸型
存取清單, 所以範圍應該是 100 - 199。
其次, 您必須確認協定欄位與上層的程序或應用
程式相符 - 這個例子是埠號 23 (Telnet)。
協定的參數值必須是 TCP, 因為 Telnet 使用
TCP。
如果題目要求使用 TFTP, 則協定的參數值必須
是 UDP, 因為 TFTP 使用 UDP。
110
延伸式存取清單範例 2


第三, 確認目的埠號與您所要過濾的應用程式相
符 - 這個例子是埠號 23, 也就是 Telnet 使用
的埠號。
最後, 清單結尾的 permit ip any any 敘述是非
常重要的, 這樣除了 telnet 封包以外, 要通往連
結 E1 界面的區域網路或連結 E2 界面的區域網
路的其他封包才能通過。
111
10 - 7 進階的存取清單



本節將說明存取清單更進階的使用方式。
大多數進階存取清單的主題都超出了本書的目
標, 所以我們只會進行簡短的討論;您可以在
Cisco 網站上找到更多的資訊。
不過, 有些重要的存取清單選項是您一定要知道
的, 首先就是名稱式存取清單。
112
名稱式存取清單




如之前所說的, 名稱式存取清單只是另一種產生
標準式或延伸式存取清單的方法。
在中型至大型的企業中, 管理清單的工作可能會
變得非常麻煩且耗時。
例如, 當您需要變更某個清單時, 實務上的做法
通常是拷貝存取清單到文字編輯器, 改變編號,
編輯清單, 然後將新的清單貼回路由器。
要完成這項工作, 您可能只要改變界面上的存取
清單號碼, 從舊的改成新的存取清單, 這樣網路
上就不會出現沒有配置存取清單的時候。
113
名稱式存取清單




這樣可能運作得不錯, 但問題是那些舊的存取清
單怎麼辦?加以刪除?或應該儲存起來, 以防萬
一新的存取清單有問題時可加以復原?
但經過一段時間後, 路由器上可能就會有一大堆
沒有在應用的存取清單。
這些清單的目的為何?重要嗎?還需要嗎?這
些都是好問題, 而名稱式存取清單可能就是我們
的解答。
這也可以應用在那些已經啟動且正在執行的存
取清單。
114
名稱式存取清單



假設您接管一個既存的網路, 且正檢視著路由器
上的存取清單, 並且發現有個 33 列長的 177 號
存取清單 (這是個延伸式存取清單), 這可能引發
您許多毋需存在的問題。
它的目的為何?它為什麼在這裡?舉例而言, 為
什麼我們不把存取清單稱為財務部區域網路, 這
比 177 要來得有描述性吧!
名稱式存取清單讓您用名稱來產生、並應用在
標準式或延伸式存取清單。
115
名稱式存取清單


除了讓我們以有意義的方式來參考它們之外, 這
些存取清單沒有任何新的或不同的意義, 但在語
法上則有微妙的變化。
因此, 讓我們以名稱式存取清單重新產生之前為
圖 10.2 之測試網路所產生的標準式存取清單:
116
名稱式存取清單



請注意我們開始輸入的是 ip access-list, 而非
access-list, 這讓我們能輸入名稱式存取清單。
接下來, 我們要將它設定為一個標準式存取清單:
我們已經指定了一個標準式存取清單, 然後加上
BlockSales 的名稱。
117
名稱式存取清單


請注意我們沒有使用標準式存取清單的編號, 而
是使用一個比較有說明性的名稱。而且在輸入
名稱之後, 按下 Enter 鍵, 路由器的提示訊息也
會改變。
現在我們處於名稱式存取清單的設定模式, 且進
入了名稱式存取清單:
118
名稱式存取清單

輸入存取清單, 然後離開設定模式。接下來檢視
一下運行組態, 以確認這份存取清單確實在路由
器中:
119
名稱式存取清單

BlockSales 存取清單真的已經產生, 並且在路
由器的運行組態中。接下來, 我們必須將這份存
取清單應用在界面上:

大功告成, 現在我們已經利用名稱式存取清單重
新產生了之前完成的工作。
120
交換埠 ACL



現在要記住:您只能將埠 ACL 應用在交換器第
2 層的界面上。為什麼呢?因為只有實體第 2
層的界面有支援它們。
另一項要記住的好消息是, 您只能將它們應用在
進入界面的清單中, 而且只能使用名稱式清單。
下面是所支援的存取清單:

如前所述, 標準式 IP 存取清單只使用來源位址
來過濾交通。
121
交換埠 ACL




另一方面, 延伸式 IP 存取清單則同時使用來源
和目的位址, 以及選擇性地使用協定資訊和埠號。
MAC 延伸式存取清單也使用來源和目的 MAC
位址, 以及選擇性地使用協定種類資訊。
交換器會詳細檢查應用在特定界面上的進入
ACL, 並且根據交通是否符合 ACL 來決定是否
要允許它通過。
也許您現在已經可以看出 ACL 對安全的重要性
- 他們是能夠許可或拒絕對網路特定網段進行
存取的守門員。
122
交換埠 ACL




ACL 也可以用來控制 VLAN 上的交通。您只要
將埠 ACL 用在主幹埠 (trunk port) 上, 就可以達
成這個目的。
不過要小心 - 如果您在有語音 VLAN 的埠上
這麼做, 這個 ACL 其實也是在過濾您的資料
VLAN。所以請務必小心。
埠 ACL 透過 IP 存取清單來控制 IP 交通。任何
非 IP 的交通則是使用 MAC 位址來進行過濾。
雖然您可以在單一界面上應用這兩種過濾, 但每
一種還是應該只應用一個。
123
交換埠 ACL


對於每一種清單, 如果您嘗試將額外的 ACL 放
在已經有 ACL 的界面上, 新的 ACL 會取代原本
的。因此, 這裡可要多加小心。
讓我們來檢視存取清單:
124
交換埠 ACL
125
交換埠 ACL




從上面可以看到您只能建立延伸的名稱式存取
清單, 而沒有其他的選擇。
不要忘了在最後加上 permit any any!
下面是將清單應用在交換埠的方法:
這跟 IP 清單的方法很像, 只是命令的開頭是
mac。
126
交換埠 ACL



但是您真的想要拒絕 MAC 位址嗎?
雖然在某些特殊的環境下真的需要如此, 但是其
實還有另一種選擇, 而且筆者認為它通常是比較
好的選擇:只要根據乙太網路訊框標頭中的
ether-type 欄位來拒絕存取就好了。
看看以下的命令選項:
127
交換埠 ACL
128
交換埠 ACL


這很酷!不過不要太過狂熱, 然後就開始拒絕所
有可用的 ether-type 編號, 否則最後總會發生讓
您很後悔的問題。
不過有誰真的在使用 DecNet 和 AppleTalk 嗎?
它們的確不應該被允許去存取您美好的網路, 不
是嗎?
129
交換埠 ACL


如果您已讀過第 1 章, 就應該知道如果您擋住 0
x 800, 就會擋住所有 IP。
未來如果您決定要強迫所有人都執行 IPv6, 這
會很方便。但目前, 千萬別這麼做吧!
130
鎖鑰式 (lock and key) ACL (動態 ACL)




這種 ACL 取決於遠端或本地 Telnet 驗證與延伸
式 ACL 的組合。
在您設定動態 ACL 組態之前, 必須先在路由器
上應用延伸式 ACL 來停止經過的交通。
要通過路障的唯一方式就是 telnet 到路由器並
且取得驗證。
它的運作方式如下:使用者啟動的 Telnet 連線
會被丟棄, 取而代之的是附加到原本延伸式
ACL 上、只有單一項目的動態 ACL。它會讓交
通在特定一段時間內通過, 時間截止後就失效。
131
反射式 ACL



這些 ACL 會根據上層會談的資訊來過濾 IP 封
包, 並且通常會允許離開的交通通過, 但是限制
進入的交通。
您無法使用編號式或標準的 IP ACL、或是任何
其他協定的 ACL, 來定義反射式 ACL。
它們可以與其他標準或靜態的延伸式 ACL 一起
使用, 但是它們只能用延伸的名稱式 IP ACL 來
定義。
132
以時間為基礎的 ACL




以時間為基礎的 ACL 運作方式很像延伸式 ACL,
但是它的存取控制是完全以時間為導向。
基本上, 您可以指定一天和一週內的特定時段,
並且賦予一個名稱供某個任務參照。
因此, 根據要求, 參考的函式會落在您所指定的
時間限制之下。
這些時段是根據路由器的時鐘而定, 但強烈建議
您搭配網路時間協定 (NTP, Network Time
Protocol) 的同步來使用。
133
以時間為基礎的 ACL

下面是個範例:
134
以時間為基礎的 ACL


time-range 命令很有彈性, 而且如果您在下班
時間拒絕使用者進行基本的網路存取或網際網
路存取, 一定會讓他們抓狂。
請小心使用前述命令 - 在您將清單實作在營運
網路之前, 請確定先在非營運網路上完成測試。
135
Remark 命令



remark 關鍵字這個工具非常重要, 因為不論您
在 IP 的標準式或延伸式 ACL 中建立什麼項目,
它都讓您加入註解或評論。
註解能夠很有效率地增進您檢視和瞭解 ACL 的
能力。
如果沒有這項工具, 您會陷入一堆無意義的數字,
而沒有任何東西能協助您回憶起這些數字代表
什麼。
136
Remark 命令



雖然您可以在 permit 或 deny 敘述的前面或後
面加上註解, 但還是建議您選擇一致的位置, 以
免搞混哪個註解是對應到哪個 permit 或 deny
敘述。
要在標準和延伸式 ACL 中使用註解, 只要在標
準和延伸式 ACL 中使用 access-list 存取清單
編號 remark 註解整體設定命令。
如果您希望移除某個註解, 只要使用這個命令的
no 形式即可。
137
Remark 命令

下面是如何使用 remark 命令的範例:
138
Remark 命令


我們可以在延伸式和名稱式存取清單中使用
remark, 但是您在 show access-list 命令的輸
出中看不到這些註解, 而只能在運行組態中看到。
在我們使用 SDM 的時候, 我們還會再看到這個
命令。
139
情境式存取控制 (Cisco IOS 防火牆)



在使用情境式存取控制 (Context-Based Access
Control, CBAC) 之前, 必須先設定 Cisco IOS
防火牆;有趣的是, 很少聽見有人 (甚至是
Cisco) 將這兩者加以區分。
人們通常就直接說 Cisco IOS 防火牆, 但是
CBAC 究竟是什麼?
CBAC 的任務是去詳細檢查所有嘗試通過防火
牆的交通, 以便找出並控制 TCP 和 UDP 會談
的狀態資訊。
140
情境式存取控制 (Cisco IOS 防火牆)




它使用這些蒐集到的資訊來判斷是否要在防火
牆的存取清單中建立臨時的通道。
要做到這個, 只要在交通流動的相同方向設定
ip inspect 清單。
如果您不這樣做, 任何傳回的交通就無法通過
- 這會對任何從內部網路發起的會談連線產生
很大的負面影響。
檢視圖 10.5, 這是 Cisco IOS 防火牆 (CBAC)
的簡單運作方式。
141
情境式存取控制 (Cisco IOS 防火牆)
142
情境式存取控制 (Cisco IOS 防火牆)

設定 Cisco IOS 防火牆的路由器會以下面的方
式來處理交通:




1. 首先, 如果內部 ACL 核准, 路由器會取得所有
送給它的內部封包。
2. 接著, 核准的交通會接受防火牆的 IP 檢查流
程, 把被核准的連線的狀態資訊加入狀態表中。
3. 最後, 交通通過 IP 檢查流程, 建立對應的動態
ACL 項目, 並且放入外部 ACL 之中, 以便讓回傳
的交通能通過路由器。
4. 在使用 SDM 建立防火牆時, 還會再略微說明
這個部分。
143
驗證代理者 (Authentication Proxy)



筆者的所有路由器上都有設定這一項, 但是要這
樣做, 您還必須開啟 Cisco IOS 防火牆的功能。
之所以會這樣設定是因為有驗證代理者的支援
是件好事情 - 因為它能驗證進入的使用者、離
開的使用者、或是兩者。
通常會被 ACL 阻擋的那些人, 可以啟動瀏覽器
來通過防火牆, 並且在 TACACS+ 或 RADIUS
伺服器上進行驗證。
144
10 - 8 監視存取清單

確認路由器上的設定是很重要的能力, 表 10.1
列出一些可用來確認設定的命令:
145
監視存取清單


我們已經用過 show running-config 命令來確
認路由器上的名稱式存取清單與第 2 層交換器
上的 MAC 存取清單, 現在就讓我們來看看其他
命令的輸出。
show access-list 命令列出路由器上的所有存
取清單:
146
監視存取清單


首先, 10 號存取清單與我們的名稱式存取清單
都在這份清單上。
其次, 即使我們當初在 110 號存取清單上輸入
的是實際的 TCP 埠號, 但 show 命令給我們協
定的名稱, 而非 TCP 埠號, 以增加可讀性 (嘿!
並非所有人都記得全部的服務埠號)。
147
監視存取清單

接下來是 show ip interface 命令的輸出:
148
監視存取清單
149
監視存取清單




請注意粗體那一列顯示界面上的離開清單是
BlockSales, 但進入的存取清單則沒有設置。
接著我們再看一個確認命令, 然後就要討論如何
利用 SDM 來設定防火牆的安全功能。
如前所述, 您可以使用 show running-config
命令來檢視存取清單。
不過, 在第 2 層交換器上, 您可以使用 show
mac access-group 命令來檢驗界面組態。
150
監視存取清單

根據您在多少個界面上設定 MAC 存取清單, 而
可以使用 interface 命令來檢視個別界面:
151
10 - 9 使用 SDM 來設定存取清單



本節將先說明如何使用 SDM 來建立存取清單,
接著再使用防火牆精靈來加入 Cisco IOS 防火
牆並建立 ACL。
使用精靈會簡單得多。
這兩種方法我們都會說明, 但是藉由使用精靈,
您只要點選幾次 Next 按鈕, 就可以建立有良好
安全性的路由器。
152
使用 SDM 建立 ACL


首先讓我們使用 SDM 來建立 ACL。您只能建
立名稱式存取清單。
顯然, 使用 SDM 的第一步是開啟它。接著, 點
選『Configure / Firewall and ACL』, 然後您
就進入 Create Firewall 畫面。
153
使用 SDM 建立 ACL

接著點選 Edit firewall Policy / ACL 頁籤。
154
使用 SDM 建立 ACL


在畫面上方, 從下拉式選單中選擇 From 和 To
界面。我已經選擇 s0 / 0 / 0 做為 From 界面,
選擇 s0 / 2 / 0 做為 To 界面。
接著在畫面中間點選 +Add, 它也會提供下拉式
選單。選擇 Add New 則會出現下面的畫面。
155
使用 SDM 建立 ACL


我們已經設定清單, 要拒絕來自 s0 / 0 / 0 界面、
任何主機對 C 無線主機 (WHC) 的 telnet (23),
並且記錄比對成功的資訊。
點選 OK 並且建立許可敘述, 以免相當於關閉了
路由器的界面。
156
使用 SDM 建立 ACL


透過 SDM 來建立清單的好處之一, 是 +Add 選
單會詢問您是否想要建立新的審核敘述, 並且加
入現有內容的前面或後面。
因此, 使用 SDM 可以讓您快速有效地編輯您的
ACL。
157
使用 SDM 建立 ACL

接著建立簡單的 permit ip any 敘述。

在點選 OK 之後, 又會回到主畫面, 並且看到剛
才設定的清單。
我們可以在此輕易地加入、刪除、和管理 ACL。
確實是非常體貼的設計!


158
使用 SDM 建立 ACL
159
使用 SDM 建立 ACL

現在來看看路由器的運行組態:
160
使用 SDM 建立 ACL

看起來還不錯 - 接著讓我們嘗試 telnet 到主機
10.1.12.2, 並且看看在 Corp 控制台會出現什麼:

現在, telnet 到主機 10.1.12.1:
161
使用 SDM 建立 ACL


很好!目的 IP 位址為 10.1.12.2 和埠號為 23
的封包進入 s0 / 0 / 0 就會被拒絕, 但請注意當
telent 到主機 10.1.12.1 時就會被允許。
瞭解這些之後, 接下來將說明使用 SDM 有多容
易, 並且在這過程中讓路由器更安全。
162
使用 SDM 來建立防火牆




本節說明如何使用基本和進階防火牆精靈來設
定 Cisco IOS 防火牆軟體。
在路由器上設定安全性時, 這真的是您的最佳選
擇。
點選『Configure / Firewall and ACL』, 就會
有精靈引導您建立防火牆規則。
如前所述, 一共有 2 個精靈可以選擇:

基本防火牆如果您的目標是要連結單純由主機構
成的網路, 網路中不包含伺服器, 或是伺服器不
需要與外界 (如網際網路) 通訊, 則使用這個精靈。
163
使用 SDM 來建立防火牆




在您選擇 Basic Firewall 之後, 右邊會出現一個
檢視用的小圖。
接著只要點選 Launch 就大功告成了。
進階防火牆當網路中包含主機和伺服器, 且伺服
器必須存取外界主機 (例如網際網路上的主機)
的時候, 就要使用這個精靈。
同樣地, 在您選擇這個精靈之後, 會看到右邊有
網路的小圖出現。
164
使用 SDM 來建立防火牆


基本上, 任何網路只要包含網站、電子郵件、或
是其他必須透過網際網路通訊的伺服器, 就要選
擇 Advanced Firewall, 然後點選 Launch。
首先是 Create Firewall 畫面。
165
使用 SDM 來建立防火牆


選擇連接並建立基本防火牆, 然後點選 Launch
the selected task 按鈕。
下個畫面說明基本防火牆的組態設定精靈會做
哪些事情。
166
使用 SDM 來建立防火牆


看起來它好像會做很多事, 而且確實如此!
之後只要點選 Next, 就可以從下個畫面選擇我
們的內部和外部位址 - 受信任和未受信任界面。
167
使用 SDM 來建立防火牆

一旦選好內部和外部界面之後, 點選 Next 就會
有一堆存取清單的審核敘述被應用在路由器上
- 很好!
168
使用 SDM 來建立防火牆

接著點選 Finish, 它會詢問我們是否要設定外
部界面的遶送協定。
169
使用 SDM 來建立防火牆


點選 OK (您絕對不會想要在營運網路上嘗試)。
接著會出現「您已經成功在路由器上設定防火
牆了」的畫面。
在點選 OK 之後, 會得到下面的畫面。
170
使用 SDM 來建立防火牆

哇!只要滑鼠點幾下, 就可以在路由器上設定防
火牆了!但筆者還想看看它在運行組態中加入
了甚麼。讓我們來檢查一下:
171
使用 SDM 來建立防火牆
172
使用 SDM 來建立防火牆




基本防火牆的組態設定精靈所加入的 IOS 防火
牆, 也稱為情境式存取控制 (Context-Based
Access Control, CBAC)。
如前所述, Cisco 就直接把它稱為 IOS 防火牆。
ip inspect 命令會開啟基本應用的檢查動作, 以
降低對個別應用的攻擊。
請注意每個 inspect 敘述都會在清單中加入個
別的協定。如果沒有精靈的協助, 您就必須手動
選擇想要處理的協定;但是使用 SDM 精靈會
讓它簡單得多。
173
使用 SDM 來建立防火牆

基本防火牆的組態設定精靈會將您限制在兩個
界面。讓我們來檢查它所應用的界面:
174
使用 SDM 來建立防火牆


ip inspect SDM_LOW out 是檢查的流程所應
用的地方。
接著看看 SDM 所設定的其餘組態:
175
使用 SDM 來建立防火牆

請注意 ACL 100 - 102 是內部界面的進入清單。
這些 ACL 定義可以出去、以及可以通過防火牆
的交通。
176
使用 SDM 來建立防火牆


每個 ACL 會拒絕路由器認識的所有網路和回繞
位址, 只剩下連結該界面的區域網路位址能夠當
作來源位址而進入該界面。
讓我們看看 SDM 建立的最後清單:
177
使用 SDM 來建立防火牆


您可以看到審核敘述 103 拒絕了較多東西。首
先, 請注意這是您的外部, 所以位於內部的所有
網路跟私有範圍的位址都不准進入。
清單 103 允許某些 ICMP 跟 OSPF 交通, 但僅
此為止。
178
使用 SDM 來建立防火牆



現在, 即使來自受信任界面的交通可以離開, 回
傳的交通也會被拒絕。
但這正是防火牆程序的目的 - 當受信任交通離
開時, 狀態資訊會被放入表格, 並且為這個 ACL
建立一項動態的 ACL 項目, 讓回傳的交通能夠
回來, 而不會被擋住。
看起來美夢的確成真 - 我們所做的只是按幾個
按鈕!嗯 ~ 看起來這章可以直接跳過去不理了。
179
使用 SDM 來建立防火牆



抱歉, 但您還是得瞭解存取清單的觀念, 也就是
本章的主要重點!
我們還是必須快速地檢視一下進階防火牆的組
態設定精靈。
現在讓我們再回到 Firewall and ACL 的設定按
鈕, 並且點選 Advanced firewall, 就可以看到
下面的畫面。
180
使用 SDM 來建立防火牆
181
使用 SDM 來建立防火牆



進階防火牆精靈和基本防火牆精靈間有幾項差
異。
進階防火牆精靈會將存取規則應用在內部、外
部、和 DMZ 界面, 但基本防火牆精靈只會將存
取規則應用在內部和外部界面 - DMZ 界面不
能使用基本精靈來設定。
另一項差異是進階防火牆精靈會將檢查規則應
用在所有內部、外部、和 DMZ 界面上, 而基本
精靈只會在外部界面上應用檢查規則。
182
使用 SDM 來建立防火牆

下個畫面可以選擇內部、外部、和 DMZ 界面。
183
使用 SDM 來建立防火牆




一旦這樣做之後, 您將無法透過路由器的任何外
部界面來存取 SDM。
剩餘部分跟基本精靈非常相似, 只是最終得到的
是較進階的路由器組態 - 而且超出本書的範圍。
強烈建議您下載一份 SDM, 讓您自己盡可能地
熟悉這些 GUI。
如前所述, SDM 對於像 ACL、NAT、和 VPN
等進階的組態設定非常有用。
184
使用 SDM 來建立防火牆

而之前的輸出也說明了只要知道哪些是網路的
內部界面, 哪些是網路的外部界面, 您就可以像
技巧熟練的專家一樣地設定 ACL 和防火牆的安
全功能。
185
10 - 10 摘要




本章討論了如何設定標準式存取清單, 以過濾
IP 交通。
它教您標準式存取清單是什麼, 以及如何應用到
Cisco 路由器上, 以增加網路的安全性。此外,
也教您如何設定延伸式存取清單以過濾 IP 交通。
我們也討論了標準式與延伸式存取清單的差異,
以及如何將這些清單應用至 Cisco 路由器上。
本章也討論如何設定名稱式存取清單, 並應用至
路由器上。
186
摘要




名稱式存取清單提供人們容易識別的好處, 比起
以既難懂又難記的編號來參考存取清單的做法,
這使得管理上更容易。
然後我們介紹了如何監視與確認特定存取清單
在路由器與交換器上的運作。
我們瀏覽了幾個基本的監視命令, 以確認 IP 與
MAC 存取清單。
最後, 我們展示了如何利用 SDM 來為路由器建
立 ACL 與防火牆政策, 讓您知道這有多簡單 -
這正是 SDM 一展長才之處。
187