Transcript Document
第 10 章
安全
本著作僅授權老師於課堂使用, 切勿置放在網路上
播放或供人下載, 除此之外, 未經授權不得將全部
或局部內容以任何形式重製、轉載、變更、散佈或
以其他任何形式、基於任何目的加以利用。
著作權所有 © 旗標出版股份有限公司
外圍、防火牆、和內部路由器
2
辨識安全性威脅
應用層攻擊這些攻擊通常鎖定在伺服器上執行
之軟體的已知漏洞。因為授與這些帳號的權限
通常都比較高, 所以壞傢伙就會存取並利用執行
這些應用的機器
Autorooter 駭客自動化。壞傢伙使用稱為
toolkit的某些東西來探測、掃描、然後捕捉在具
有策略性位置之電腦上的資料
後門這些只是通往電腦或網路的路徑。透過簡
單的入侵或更精巧的「特洛伊木馬」程式碼, 壞
傢伙就可以在任何時間使用他們植入的路徑來
入侵特定的主機或網路
3
辨識安全性威脅- DoS與DDoS攻擊
DoS與DDoS攻擊藉由將提供正常服務的系統
塞爆, 而讓其他人無法取得服務
TCP SYN flood
Ping of death攻擊
TFN (Tribe Flood Network) 和 TFN2K (Tribe
Flood Network 2000)
Stacheldraht
4
辨識安全性威脅(續)
IP 仿冒 (IP spoofing) 這種攻擊利用內部受信任網路位址範圍
內的 IP 位址, 或是使用經過審核、受信任的外部 IP 位址
中間人式攻擊 (Man-in-the-middle attack) 使用sniffer工具, 再
搭配遶送和傳輸協定來攔截與操弄網路的封包
網路偵查 (network reconnaissance)透過像埠號掃描、DNS
查詢、和 ping 掃射 (ping sweep) 等方法來蒐集所有可能的資
訊, 因為他們對網路知道的越多, 就越能破解它
封包分析器 (packet sniffer) 將網路界面卡設為promiscuous
mode, 讓它把所有經過網路實體層的封包都傳送給一個特殊應
用來檢視和挑選
密碼攻擊透過像 IP 偽造、封包分析、和特洛伊木馬等更複雜的
攻擊﹐找到使用者的密碼, 以便偽裝成有效的使用者, 然後取得
使用者的權限和資源
5
辨識安全性威脅(續)
暴力法攻擊 (brute force attack) 另一種軟體導向的攻
擊, 利用在目標網路上執行的程式, 嘗試登入到某些共
享的網路資源
通訊埠重導攻擊 (port redirection attack) 這個方法
需要駭客先入侵一台主機, 以取得穿越防火牆的錯誤交
通 (正常情況下應該不能通過)
特洛伊木馬攻擊和病毒 使用惡意程式碼來感染並危害
使用者的機器。不過病毒只是附加在其他檔案中的片
段指令﹐而木馬則是包藏禍心的完整程式
利用信任攻擊 (trust exploitation attack) 發生在有人
利用網路內的信任關係的時候。例如企業的外圍網路
連線通常會掩護重要的東西, 如 SMTP、DNS、和
HTTP 伺服器
6
Cisco 的 IOS 防火牆
狀態式 (stateful) IOS 防火牆檢查引擎這是外圍防護
功能, 因為它是以個別應用為基礎, 提供內部使用者安
全的存取控制。人們通常稱之為情境式存取控制
(Context-Based Access Control, CBAC)
入侵偵測封包的深層檢查工具, 可以參考 102 種最常
見的攻擊和入侵偵測特徵, 以即時監督、攔截、和回應
濫用的情況
防火牆語音穿越 (firewall voice traversal) 應用層的
功能, 根據協定對呼叫流 (call flow) 及相關開放通道
(open channel) 的瞭解。支援 H.323v2 和 SIP
(Session Initiation Protocol) 語音協定
7
Cisco 的 IOS 防火牆(續)
ICMP 檢查基本上只允許回應來自防火牆內部
的 ping 和 traceroute 等 ICMP 封包, 但拒絕其
他的 ICMP 交通
驗證代理者 (authentication proxy) 讓使用者
可以透過 HTTP、HTTPS、FTP 和 Telnet, 在
想要存取網路資源的時候進行驗證。它能自動
地從 RADIUS 或 TRACACS + 伺服器上取得使
用者的個人網路存取明細, 並根據它來驗證
目的 URL 的政策管理功能自助餐, 通常稱為
URL 過濾
8
Cisco 的 IOS 防火牆(續)
個別使用者防火牆這些基本上是個人化、可下載的特
定使用者防火牆 - 可以透過服務供應商取得。您也可
以透過 AAA 伺服器的資料檔儲存庫 (profile storage)
來取得個人化的 ACL 和其他設定
Cisco IOS 路由器和防火牆配置 (provisioning) 可以
進行零接觸 (no-touch) 的路由器配置、版本更新、和
安全政策
服務阻絕的偵測和預防檢查封包標頭, 並且丟棄所有可
疑的封包
動態埠號對應一種轉接功能, 讓防火牆所支援的應用可
以在非標準埠號上運作
Java applet 阻擋功能防止任何陌生而無法辨識的
Java applet
9
基本和進階的交通過濾
以政策為基礎、多界面的支援讓您能根據安全
政策, 透過 IP 位址和界面來控制使用者的存取
網路位址轉換 (Network Address Translation,
NAT) 對外界隱藏內部網路以增加安全性
以時間為基礎的存取清單根據每天的特定時段
和每週的特定日子來決定安全政策
對等路由器的驗證保證路由器能從受信任的真
正來源取得可靠的遶送資訊 (這需要有支援驗證
的遶送協定, 例如 RIPv2、EIGRP 或 OSPF)
10
存取清單簡介
存取清單就是一個對封包進行分類的條件清
單﹐可當作用來進行決策的工具
存取清單的可能應用
實作安全政策, 過濾不想要的封包
控制動態遶送協定會宣傳那些網路-將分送清單
應用到遶送協定
用存取清單對封包分類, 以進行排隊 (queuing)
或 QOS 之類的服務, 或者控制那些類的交通可
啟動昂貴的 ISDN 鏈路
11
存取清單的比對規則
循序地比對存取清單的每一列 - 從存取清單的
第 1 列開始, 然後比對第 2 列, 然後第 3 列, 依
此類推
不斷地比對存取清單, 直到符合為止。一旦封包
符合存取清單上某列的條件, 就會對封包起作用,
並且不再進行任何比對
每個存取清單的結尾都會有一列隱含的 "拒絕"
- 這表示如果封包無法符合存取清單中任何一
列的條件, 則會被丟掉
12
存取清單類型
標準式存取清單 (standard access list) 只
使用 IP 封包中的來源 IP 位址當作檢驗條件
延伸式存取清單 (extended access list) 可
以比對 IP 封包之網路層標頭中的來源與目的
IP 位址與協定欄位, 以及傳輸層標頭中的埠
號
名稱式存取清單 (named access list) 名稱
式存取清單可以是標準式或延伸式的, 並不真
的是新類型。只因為他們的產生與參考方式
與標準或延伸式存取清單不同, 所以我們就加
以區別。但其實他們的功能是一樣的
13
應用存取清單
一旦產生存取清單之後, 除非加以應用, 否則不會有任
何作用
若要利用存取清單來當交通過濾器, 必須將存取清單應
用在路由器的界面上, 也就是想要過濾交通的地方, 而
且必須明確指定出存取清單要應用在那個方向的交通
進入的存取清單 (Inbound access list) 當存取清單應
用在界面上的進入封包時, 那些封包在遶送給離開界面
之前, 要先經過存取清單的處理。
離開的存取清單 (outbound access list) 當存取清單應
用在界面上的離開封包時, 那些封包要先遶送到離開界
面, 然後在儲存於佇列之前得先經過存取清單的處理
14
存取清單實作指引
每個界面的每個協定的每個方向只能指定一個存取清單
安排您的存取清單, 使得比較明確的核對會出現在存取
清單的頂端
任何時候規則被新增到存取清單時, 會被放在清單的底
部。強烈建議您使用文字編輯器來編輯存取清單
您無法從存取清單中移除一列, 如果您試著如此做, 就會
移除整個清單。所以最好是在編輯清單之前, 先將存取
清單拷貝到文字編輯器中。唯一的例外是使用名稱式存
取清單
除非您的存取清單以 permit any 命令當結尾, 否則封包
如果沒有符合清單的任何條件, 就會被丟棄
15
存取清單實作指引(續)
產生存取清單, 然後應用至界面上。存取清單如果沒有
應用在任何界面上, 根本就不會起作用
存取清單的設計是要過濾經過路由器的交通, 他們不會
過濾那些從路由器發起的交通
儘可能地將 IP 標準式存取清單配置在靠近目的地的地
方, 這就是我們真的不是很想要在網路中使用標準式存
取清單的原因。您不能將標準式存取清單放在靠近來源
主機或網路的地方, 因為您只能根據來源位址去過濾, 這
樣就沒有任何封包會被轉送
儘可能地將 IP 延伸式存取清單配置在靠近來源的地方。
為延伸式存取清單可過濾每個特定的位址與協定, 您並
不想要讓您的交通流經整個網路, 然後再被拒絕。如果
將這種清單配置在儘可能靠近來源位址的地方, 就可在
交通消耗您寶貴的頻寬之前先加以過濾
16
使用 ACL 減輕安全性問題
下面是 ACL 可以用來減輕的安全性威脅:
進入方向的 IP 位址偽造
離開方向的 IP 位址偽造
服務阻絕的 TCP SYN 攻擊, 阻隔外部的攻擊
DoS TCP SYN 攻擊, 使用 TCP 攔截 (Intercept)
DoS smurf 攻擊
進入方向的 ICMP 訊息過濾
離開方向的 ICMP 訊息過濾
traceroute 過濾
17
如何減輕IP Spoofing的威脅
不要讓任何來源位址是內部主機或內部網路的
IP 封包進入您的私有網路:
內部網路位址
本地主機位址 (127.0.0.0 / 8)
保留的私有位址
任何落在 IP 多點傳播位址範圍內的位址
18
標準式存取清單
藉由檢查封包的來源 IP 位址來過濾網路交通
利用 1 - 99 或 1300 - 1999 的號碼, 告訴路由器您想要
產生的是標準式 IP 存取清單
清單編號
標準式存取清單語法範例:
19
存取清單編號範圍
各種存取清單的編號範圍:
20
通配遮罩
通配遮罩是要與主機或網路位址合用, 以告訴路
由器您所要過濾的是一個範圍的可用位址
通配遮罩中的0表示對應的位元必須符合﹐1表
示對應的位元可為任意值
設定一個範圍的位址時, 得選擇所需之次個最大
的區塊大小,例如設定 18 部主機, 則需要的區塊
大小是 32
21
通配遮罩範例
172.16.30.5 0.0.0.0 - 4個位元組都要符合﹐這表示
它是一部主機
172.16.30.0 0.0.0.255 - 前3個位元組都要符合﹐但
第4個位元組可為任意值
172.16.8.0 0.0.7.255 -區塊大小是7 +1 = 8(通配
遮罩總是比區快大小少1)﹐所以這個位址範圍就是從
172.16.8.0開始﹐往上 8 個區塊大小的位址, 到
172.16.15.0為止
要符合前 3 個位元組, 但第 4 個位元組可為任何值:
要符合前 2 個位元組, 而後 2 個位元組可為任何值:
22
通配遮罩範例(續)
利用區塊大小 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:
從 172.16.64.0 開始, 經過區塊大小 64, 直到 172.16.127.0:
從 192.168.160.0 開始, 經過區塊大小 32, 直到 192.168.191.0:
23
運用通配遮罩時的小技巧
每個區塊大小必須從 0 或區塊大小的倍數開
始﹐例如, 不可以說您想要區塊大小 8, 然後卻
從 12 開始, 您必須使用 0 - 7, 8 - 15, 16 - 23 等。
又例如對於區塊大小 32, 則範圍會是 0 - 31, 32
- 63, 64 - 95 等
any 命令等同於通配遮罩
0.0.0.0 255.255.255.255
24
標準式存取清單範例1
•業務部區域網路上的使用者不應該存
取財務部區域網路, 但應該要能存取
網際網路與行銷部區域網路
•行銷部區域網路需要存取財務部區域
網路的應用服務
25
標準式存取清單範例2
•阻止會計部門的使用者去存
取與 Lab_B 路由器相連的人力
資源伺服器, 但允許所有其他
的使用者存取該區域網路:
•應該要產生什麼樣的標
準式存取清單, 而且要配
置在哪裡呢?
•其實真正的答案應該是利用
延伸式存取清單, 並且配置在
最靠近來源端;但題目指定要
使用標準式存取清單
根據基本法則, 標準式存取清單的配置應該要靠近目的地 - 這個例子就是在 Lab_B 路由器
之乙太網路界面 0 的離開方向:
26
標準式存取清單範例3
阻止圖中的 4 個區域網路存取網際網路:
E0
E1
E2
E3
27
控制 VTY (telnet) 存取
阻止使用者 telnet 到大型路由器:
產生一個延伸式 IP 存取清單, 限制對這部路由
器之每個 IP 位址的 Telnet 存取, 但如果如此做,
必須將它應用在每個界面的進入方向-不好擴充
利用標準式存取清單來控制對 VTY 連線本身的
存取
只需要控制使用者來自何處即可 -他們的來源
IP 位址
28
控制 VTY (telnet) 存取(續)
執行步驟:
1.
2.
產生一個標準式存取清單, 只允許您想要讓他
們能夠 telnet 至路由器的主機
以 access-class 命令應用這份存取清單至
VTY 連線上
以下的範例只允許 172.16.10.3 主機可以
telnet 至路由器:
29
延伸式存取清單-編號
30
延伸式存取清單-動作
31
延伸式存取清單-協定
32
延伸式存取清單-來源位址
33
延伸式存取清單-目的位址
34
延伸式存取清單-其他選項
35
延伸式存取清單-根據特殊應用協定來過濾
36
延伸式存取清單-根據特殊應用協定來過濾
37
延伸式存取清單範例 1
利用前一個 IP 標準式存取清單範例的圖 10.2 的網路, 拒絕對財務部區域網
路上的 172.16.30.5 主機存取 Telnet 與 FTP 服務。而所有這部主機的其他
服務與所有其他主機都可讓業務部與行銷部存取:
如果這裡沒有指定 tcp, 後面就不能指定要過濾埠號 21 與 23
如果這份清單只是要阻擋來自業務部區域網路的存取, 就得在儘量靠近來源處或 E0 界
面配置這份清單,但我們產生的規則要應用到所有主機上,所以我們將它應用在 E1 界
面的離開方向
38
延伸式存取清單範例 2
這個範例用到圖 10.4,這次我們想要做的是阻止 Telnet 存取到
連結 E1 界面的區域網路與連結 E2 界面的區域網路
如果我們只用到一份存取清單, 效率並不會很好, 因為如此一來
每個從這些界面出去的封包都要被檢查。但如果我們利用 2 份
存取清單, 而且設定無誤的話, 則每個界面上的延遲都會變少
39
名稱式存取清單
名稱式存取清單只是讓您用名稱來產生標準式
或延伸式存取清單的另一種方法
名稱式存取清單有利於存取清單的維護工作
除了讓我們以有意義的方式來參考它們之外,名
稱式存取清單沒有任何新的或不同的意義, 但在
語法上則有微妙的變化
40
名稱式存取清單的設定
進入名稱式存取清單的設定模式
離開名稱式存取清單的設定模式
41
名稱式存取清單的設定(續)
確認存取清單已經存在
將存取清單應用在界面上
42
交換埠 ACL
交換埠 ACL只能應用在交換器第 2 層的界面上
交換埠 ACL只能應用在進入界面的清單中, 而
且只能使用名稱式清單
MAC 延伸式存取清單也使用來源和目的 MAC
位址, 以及選擇性地使用協定種類資訊
只要將交換埠 ACL 用在主幹埠上,就可以用來
控制 VLAN 上的交通
43
交換埠 ACL的設定
44
交換埠 ACL的設定(續)
45
交換埠 ACL的設定(續)
將清單應用在交換埠上
其他命令選項,可根據乙太網路訊框標頭中的 ether-type 欄位來過濾
如果您擋住 0x800, 就會擋住所有 IP。未來如果您決定要強迫所有人都執行 IPv6, 這會
很方便
46
lock and key ACL (動態 ACL)
遠端或本地 Telnet 驗證與延伸式 ACL 的組合
設定動態 ACL 組態之前, 必須先在路由器上應
用延伸式 ACL 來停止經過的交通,要通過路障
的唯一方式就是 telnet 到路由器並且取得驗證
運作方式:使用者啟動的 Telnet 連線會被丟棄,
取而代之的是附加到原本延伸式 ACL 上、只有
單一項目的動態 ACL。它會讓交通在特定一段
時間內通過, 時間截止後就失效
47
反射式 ACL
根據上層會談的資訊來過濾 IP 封包, 並且通常
會允許離開的交通通過, 但是限制進入的交通
不能使用編號式或標準的 IP ACL、或是任何其
他協定的 ACL, 來定義反射式 ACL。它們可以
與其他標準或靜態的延伸式 ACL 一起使用, 但
是它們只能用延伸的名稱式 IP ACL 來定義
48
以時間為基礎的 ACL
49
以時間為基礎的 ACL(續)
50
Remark 命令
在 show access-list 命令的輸出中看不到這些註解, 而只能在運行組
態中看到
51
情境式存取控制 (Cisco IOS 防火牆)
1. 首先, 如果內部 ACL 核准, 路
由器會取得所有送給它的內部
封包
2. 接著, 核准的交通會接受防
火牆的 IP 檢查流程, 把被核准
的連線的狀態資訊加入狀態表
中
3. 最後, 交通通過 IP 檢查流程,
建立對應的動態 ACL 項目, 並
且放入外部 ACL 之中, 以便讓
回傳的交通能通過路由器
4. 讓回傳的交通能通過路由器
52
驗證代理者 (Authentication Proxy)
這一項必須開啟 Cisco IOS 防火牆的功能
驗證代理者能驗證進入的使用者、離開的使用
者、或是兩者
通常會被 ACL 阻擋的那些人, 可以啟動瀏覽器
來通過防火牆, 並且在 TACACS+ 或 RADIUS
伺服器上進行驗證
53
監視存取清單
54
show access-list 命令
55
show ip interface 命令
56
show mac access-group命令
可以使用 interface 命令來檢視個別界面:
57
使用 SDM 建立 ACL(一)
SDM只能建立名稱式存取清單
開啟SDM 。接著點選『Configure / Firewall
and ACL』
58
使用 SDM 建立 ACL(二)
接著點選 Edit firewall Policy / ACL 頁籤
59
使用 SDM 建立 ACL(三)
在畫面上方, 從下拉式選單中選擇 From 和 To
界面。這裡選擇 s0 / 0 / 0 做為 From 界面, 選
擇 s0 / 2 / 0 做為 To 界面
接著在畫面中間點選 +Add, 它也會提供下拉式
選單。選擇 Add New 則會出現下面的畫面
60
使用 SDM 建立 ACL(四)
拒絕來自 s0 / 0 / 0 界面、任何主機對 C 無線主
機 (WHC) 的 telnet (23), 並且記錄比對成功的
資訊
點選 OK 並且建立許可敘述, 以免相當於關閉了
路由器的界面
61
使用 SDM 建立 ACL(五)
透過 SDM 來建立清單的好處之一, 是 +Add 選
單會詢問您是否想要建立新的審核敘述, 並且加
入現有內容的前面或後面。這可以讓您快速有
效地編輯您的 ACL
62
使用 SDM 建立 ACL(六)
接著建立簡單的 permit ip any 敘述
63
使用 SDM 建立 ACL(七)
•在點選 OK 之後, 又會回到主畫面, 並且看到剛才設定的清單
64
使用 SDM 建立 ACL -檢視
檢視路由器的運行組態:
65
使用 SDM 建立 ACL -測試
嘗試 telnet 到主機 10.1.12.2
telnet 到主機 10.1.12.1:
66
使用 SDM 來建立防火牆(一)
點選『Configure / Firewall and ACL』, 就會
有精靈引導您建立防火牆規則
首先是 Create Firewall 畫面
67
使用 SDM 來建立防火牆(二)
基本防火牆 如果單純由主機構成的網路, 網路
中不包含伺服器, 或是伺服器不需要與外界通訊,
則使用這個精靈
進階防火牆 當網路中包含主機和伺服器, 且伺
服器必須存取外界主機的時候, 就要使用這個精
靈。基本上, 任何網路只要包含網站、電子郵件、
或是其他必須透過網際網路通訊的伺服器, 就要
選擇 Advanced Firewall
68
使用 SDM 來建立防火牆(三)
選擇連接並建立基本防火牆, 然後點選 Launch
the selected task 按鈕
以下畫面說明基本防火牆的組態設定精靈會做
哪些事情
69
使用 SDM 來建立防火牆(四)
之後只要點選 Next, 就可以從下個畫面選擇我
們的內部和外部位址 - 受信任和未受信任界面
70
使用 SDM 來建立防火牆(五)
一旦選好內部和外部界面之後, 點選 Next 就會
有一堆存取清單的審核敘述被應用在路由器上
71
使用 SDM 來建立防火牆(六)
接著點選 Finish, 它會詢問我們是否要設定外
部界面的遶送協定
72
使用 SDM 來建立防火牆(七)
點選 OK 。接著會出現「您已經成功在路由器
上設定防火牆了」的畫面
在點選 OK 之後, 會得到下面的畫面
73
使用 SDM 來建立防火牆-檢視(一)
看看以上的設定在運行組態中加入了甚麼:
這些CBAC,也就是IOS防火牆
ip inspect命令會開啟基本應用的檢查動作, 以降低對個別應用的攻擊
74
使用 SDM 來建立防火牆-檢視(二)
75
使用 SDM 來建立防火牆-檢視(三)
基本防火牆的組態設定精靈會將您限制在兩個
界面。以下是它所應用的界面:
這就是檢查流程所應用的地方
76
使用 SDM 來建立防火牆-檢視(四)
SDM 所設定的其餘組態:
ACL 100-102是內部界面的進入清單。這些 ACL 定義可以出去、以及可以通過防火牆
的交通。它們會拒絕路由器認識的所有網路和回繞位址, 只剩下連結該界面的區域網
路位址能夠當作來源位址而進入該界面
77
使用 SDM 來建立防火牆-檢視(五)
78
使用 SDM 來建立防火牆-檢視(六)
這是從外部進入的存取清單,所以拒絕了較多的東西
79
使用 SDM 來建立進階防火牆
回到 Firewall and ACL 的設定按鈕, 並且點選
Advanced firewall
80
進階防火牆精靈和基本防火牆精靈的差異
進階防火牆精靈會將存取規則應用在內部、外
部、和 DMZ 界面, 但基本防火牆精靈只會將存
取規則應用在內部和外部界面
進階防火牆精靈會將檢查規則應用在所有內部、
外部、和 DMZ 界面上, 而基本精靈只會在外部
界面上應用檢查規則
81
使用 SDM 來建立進階防火牆(續)
下個畫面可以選擇內部、外部、和 DMZ 界面
其餘部份就跟基本防火牆精靈的設定很類似…
82