第六章: 架設防火牆監控與管理封包

Download Report

Transcript 第六章: 架設防火牆監控與管理封包

教育部資通訊人才培育先導型計畫
寬頻有線教學推動聯盟中心
第六章 架設防火牆監控與管理網路封包
國立雲林科技大學
自由軟體研發中心
第六章 架設防火牆監控與管理網路封包
6.1 Firewall Technology
6.2 Filtering Technology
6.3 Configure Filtering on a Switch
前言

保衛企業網路安全,不可缺少的
成員—防火牆。

在字典上”防火牆”被解釋為可
阻止火勢漫延的耐火牆,在網際
網路上防火牆被定義為可遏止網
路駭客任意入侵電腦系統的網路
裝置。防火牆藉著過濾掉某些不
可靠的資料封包來增加企業網路
的安全性。
6.4 Configure Filtering on a Firewall  本章先簡述防火牆的觀念及基本
6.5 Configure Filtering on a Router
型態分類,接著介紹封包過濾技
術,最後分別說明在不同的網路
裝置(如交換器、防火牆、路由器
等)如何設定過濾政策,以執行保
衛企業網路安全的工作。
國立雲林科技大學 自由軟體研發中心
2
第六章 架設防火牆監控與管理網路封包
6.1 Firewall Technology

防火牆(Firewall)
Firewall一詞原是用來阻隔火災蔓延的那一道界線;在
網路上的解釋,防火牆可以阻隔在網路上一些不安全或
是有危脅性的連線/資料封包。
防火牆是安裝在兩個網路之間的一網路裝置,用來過濾
某些不可靠的資料封包、阻止網路駭客(Hacker)的入侵,
並提供稽核及控制存取網路資源等服務。防火牆可以是
一單純軟體、單純硬體或軟硬體結合的網路裝置,左圖
顯示系統架設防火牆之後將網路一分為二:

內部網路(Internal Network): 可信任的網路,
如受保護的公司或企業網路。

外部網路(External Network): 不可信任的網路,
如開放式的網際網路。

管理者架設好防火牆之後,在正常情況下所有的封包(
無論封包是從外部網路要進到內部網路,或是從內部網
路要到外部網路)都應先經過防火牆的檢查,確認封
包的安全性後,再予以放行,以防止內部網路受到攻擊
。
防火牆的基本功能
1. 正常情況下,所有的封包由防火牆進出,方便管
理者對企業網路安全做集中式的管理。
2. 過濾企業安全政策所禁止的網路服務。
3. 內部網路(或系統內)有些資料需要高度安全的防
護,當有外部連線存取高防護性資料時,防火牆
可以加以記錄,必要時警告管理者可能有入侵的
行為發生。
4. 功能較強的防火牆甚至可以記錄所有進出的封包
並且加以分析,以便及時警告管理者所有可能的
入侵行為:除此之外,並能提供相關的統計資料,
供日後稽核、追蹤之用。
Internet
防火牆
內部網路
防火牆架構

國立雲林科技大學 自由軟體研發中心
3
第六章 架設防火牆監控與管理網路封包
6.1 Firewall Technology


封包
Internet
防火牆
內部網路
當Internet傳送封包到內部網路,防火牆會檢查此封包
的標頭欄位是從哪裡來的、要去哪裡、要做些什麼事
情;同時會去檢查此封包是否符合管理者所制定的過
濾規則,根據規則讓封包通過或丟棄封包。
防火牆的型態分類
理論上防火牆的型態可以分為過濾型防火
牆及代理型防火牆,目前市面上的防火牆
大多混合這兩種基本型態。
靜態過濾型防火牆
此類的防火牆是屬於網路層的防火牆,它
會針對封包的標頭加以檢查,藉以過濾掉
非法的封包;通常此類的防火牆會檢查每
個封包標頭內的四項欄位:
 來源端的IP位址(Source IP Address)
 目 的 端 的 IP 位 址 (Destination IP
Address)
 來源端的TCP/UDP埠(Source TCP/IP
Port)
 目 的 端 的 TCP/UDP 埠 (Destination
TCP/IP Port)
此類防火牆在管理者制定封包過濾規則之
後,利用上述的四項欄位來判別封包的審
查是否可以通過。
國立雲林科技大學 自由軟體研發中心
4
第六章 架設防火牆監控與管理網路封包
6.1 Firewall Technology

代理型防火牆
代理型防火牆是屬於應用層的防火牆。在網路
上有各式各樣的應用服務,我們稱提供服務的
主機為伺服端(server),而要求服務的主機為顧
客端(client);當系統安裝了代理型防火牆(就如
同你請了一位代理經紀人幫你處理所有對外的
事務),它將負責處理及轉送網路上所提供的應
用服務。
Internet
內部網路
WWW
代理伺服端
WWW
代理客戶端
SMTP
代理客戶端
SMTP
代理伺服端
網路介面

左圖說明代理型防火牆如何控制屬於應用服務
的封包,在代理型防火牆必須要安裝代理伺服
端及代理顧客端兩個代理軟體,其中代理伺服
端軟體是用來模擬遠端真正伺服端的行為,代
理顧客端軟體則是用來模擬真正顧客端的行為。
當顧客端送出請求服務的要求,代理伺服端軟
體將檢查該要求是否合法,若是合法的要求將
轉由代理顧客端軟體送出該服務要求;同樣地
當伺服端送回服務的結果,代理顧客端軟體將
檢查該結果是否合法,若是則轉由代理伺服端
軟體送回該服務結果給顧客端。

代理型防火牆必須針對每一種網路應用服務設
計其特定的代理伺服端及代理顧客端軟體,如
左圖顯示當系統允許郵件服務(SMTP)及全球資
訊網服(WWW)務存在時,在其代理伺服器上必
須安裝相對應的郵件及全球資訊網的代理軟體。
網路介面
代理型防火牆
不同的網路應用服務有其特定的代理軟體
國立雲林科技大學 自由軟體研發中心
5
第六章 架設防火牆監控與管理網路封包
6.1 Firewall Technology
靜態過濾型防火牆

優點
其過濾流程簡單,可用軟體、硬體或兩者混合來達到過濾封包的
功能,一般的路由器或Windows作業系統都有提供封包過濾的功
能。簡而言之,具備了低成本、安裝簡易、使用透明化
(Transparency)。
缺點
適用小型網路,且無法阻止某些攻擊者假冒合法的IP位址。
難以管理複雜的過濾規則,造成某些通訊協定的防護能力較差。
無法分辨同一主機上的不同使用者,且無法限制哪些檔案可
以傳送,哪些檔案不可以傳送。
系統管理者在設定過濾規則時,需要對TCP/UDP通訊協定上的
埠值使用設定有所了解(如TCP的埠值25保留給郵件服務使用)。
不容易處理被分割過的IP封包,且對某些不使用固定埠值的通
訊協定無法達到有效的過濾功能。
一般封包型的過濾器不具封包紀錄與稽核的功能。
左表為靜態過濾型防火牆與代理型防
火牆之優缺點比較,不難發現,無論
管理者是架設哪一類型的防火牆,首
先必須規劃安全政策,依據安全政策
來設定防火牆上的過濾規則,同時應
該注意如何在安全性以及網路服務品
質兩者來取得平衡。
代理型防火牆
優點
由於代理型防火牆是對各種不同的網路應用服務來作封包過濾,
管理者可以針對其系統的安全政策作較細部且複雜的設定,因此
安全防衛能力比過濾型的防火牆來得高。
缺點
需要大容量的儲存設備,以記錄事件。
需要為每一個網路應用服務設計其特定的代理伺服端及代理顧客
端軟體。
國立雲林科技大學 自由軟體研發中心
6
第六章 架設防火牆監控與管理網路封包
6.1 Firewall Technology
防火牆基本存取控制政策

管理者在安裝防火牆時,必須依據公司對企業網路安全度的需求,設
定防火牆的基本存取控制政策(Access Control Policy),一般分為全面管
制及開放架構兩種基本存取控制政策:

全面管制:
只允許有存取權限的封包進出,其它封包一律過濾並禁止進出,此種政
策適用在需高度安全的系統,如公司網路只允許該公司員工使用。

開放架構:
過濾且禁止某些來源可疑的封包進出網路,其它封包則可正常進出,
此種政策安全度低,適用在校園網路。
國立雲林科技大學 自由軟體研發中心
7
第六章 架設防火牆監控與管理網路封包
6.1 Firewall Technology
防火牆的缺點

在正常情況下,所有的封包都需經過防火牆的檢查,易形成網路上的交通瓶頸。尤其
當有拒絕服務性的攻擊(Denial-Of-Service attack)出現時,可能造成合法的封包無法進
出的現象;如網路駭客不停地送出封包來轟炸防火牆,讓防火牆浪費許多時間在過濾
該類封包,影響了合法封包的進出。

防火牆一旦被攻破,入侵者將可肆無忌憚地為所欲為;比較安全的作法是在架設防火
牆應儘量隱藏內部網路主機的IP位址及名稱(Domain Name) 。

“家賊難防”這句名言同樣適用在設置有防火牆的系統上,防火牆可以阻止外部網路不
明主機的入侵行為,但無法防止內部網路的使用者利用其合法的身份作破壞系統的行
為。

無法有效阻止開後門的行為,如有人不經防火牆進出封包,直接利用數據機與外界溝
通,提供網路駭客另一個入侵管道。

防火牆無法有效防止病毒(Viruses)的傳播,尤其是那些潛伏在資料檔的病毒(data
attack)。
國立雲林科技大學 自由軟體研發中心
8
第六章 架設防火牆監控與管理網路封包
6.2 Filtering Technology

主機A
200.100.5.5
此種過濾方式是靜態過濾型防火牆用來針
對封包標頭的下列欄位加以檢查,藉以過
濾掉非法封包:
 來源端的IP位址(Source IP Address)
 目的端的IP位址(Destination IP Address)
 來 源 端 的 TCP/UDP 埠 (Source TCP/IP
Port)
 目 的 端 的 TCP/UDP 埠 (Destination
TCP/IP Port)
Internet
內部網路主機
外部網路
Static packet filtering

主機B
140.125.3.8
封包過濾規則
編號
動作
來源端IP
埠值
目的端IP
埠值
1
允許
140.125.3.8
*
*
*
2
禁止
200.100.5.5
*
*
*
Static packet filtering
Static packet filtering除了檢查封包所攜帶的
IP位址及埠值,並考慮到封包的流向(如封
包是從外部網路要進到內部網路,或是從
內部網路要到外部網路)來控制資訊的傳播。
左表為一範例,管理者在其上設定二個過
濾規則,表格內”*”符號表示任意值。過
濾規則1允許外部網路主機140.125.3.8的任
何封包進入。過濾規則2禁止外部網路主機
200.100.5.5的任何封包進入。
國立雲林科技大學 自由軟體研發中心
9
第六章 架設防火牆監控與管理網路封包
6.2 Filtering Technology
系統管理者輸入過濾規則

封包過濾器擷取封包
來源端及目的端
IP位址及埠值
Static packet filtering執行過濾封包動
作的時機可以在


從過濾表格讀取
第一條過濾規則

封包過濾器封包剛進入防火牆的時候(Input
time),或是在
封包要離開防火牆的時候(Output time),或
是
上述兩種時候(Input/Output)均作過濾動作。
進行過濾動作

此條過濾規則
允許該封包通過?
是
接受該封包通過
否
此條過濾規則
禁止該封包通過?
是
Static packet filtering執行過濾動作時需要
參考系統管理者所設定的過濾規則表,表
上有許多條的過濾規則,封包過濾器將依
序從過濾規則1,過濾規則2,…一條一條
檢查封包是否滿足過濾規則的條件,左圖
詳細描述封包過濾器的運作流程。 。
捨棄該封包
否
從過濾表格讀取
下一條過濾規則
否
是否為最後一條
過濾規則?
是
全面
管制
捨棄該封包
基本政策為開放
架構或全面管制?
封包過濾器的運作流程
開
放
架
構
接受該封包通過
國立雲林科技大學 自由軟體研發中心
10
第六章 架設防火牆監控與管理網路封包
6.2 Filtering Technology

3
TCP ACK
1
TCP SYN
Internet
外部網路主機
2
狀態型過濾式
防火牆
內部網路主機

TCP ACK+SYN
以TCP建立連線為例,Stateful packet filtering追蹤
連線是否滿足three-way handshaking的狀態轉換。
Stateful packet filtering
稱為狀態型過濾式防火牆,與傳統
Static packet filtering式防火牆不同的
是Stateful packet filtering會持續追蹤
通過防火牆封包的連線狀態;
Stateful packet filtering提供了較高的
安全性,與代理型防火牆相比則有較
大的管理彈性(無須針對各別網路應
用服務安裝其特定的代理伺服端及代
理顧客端軟體)。
Stateful packet filtering的方式會監控
經過防火牆的每一個連線的狀態轉換,
直到此連線正常關閉為止;Cisco的
CBAC機制及Linux的iptables都是執
行Stateful packet filtering。
國立雲林科技大學 自由軟體研發中心
11
第六章 架設防火牆監控與管理網路封包
6.2 Filtering Technology

URL filtering及網頁內容過濾
URL filtering可以限制員工只能瀏覽
哪些網站,即執行網址過濾。目前
URL filtering產品不僅可以管理員工
的瀏覽行為防止其誤上惡意網站,還
可以阻擋P2P、間諜程式等。

左圖為Websense公司的URL filtering
及網頁內容過濾產品,它可以單獨運
作也可以和防火牆、快取伺服器、路
由器整合在一起,目前總共支援
3Com、Blue Coat、Check Point等25
家廠商的產品。
資料來源: www.websense.com
國立雲林科技大學 自由軟體研發中心
12
第六章 架設防火牆監控與管理網路封包
6.3 Configure Filtering on a Switch

一般來說管理員都會在網路層以上的
設備(如路由器)設定過濾且禁止來源
可疑的封包進出,以保護企業網路;
然而管理員往往忽略設定保護第二層
設備(如交換器)的安全,本節將介紹
如何在交換器啟動過濾機制來防止針
對交換器的攻擊。
交換器常見的五種攻擊
CAM table overflow
Media Access Control (MAC) address spoofing
DHCP starvation
VLAN hopping
Spanning-Tree Protocol (STP) manipulation
Configure Filtering on Switch

左圖為交換器上常見的五種攻擊,攻
擊手法請參閱第四章。
國立雲林科技大學 自由軟體研發中心
13
第六章 架設防火牆監控與管理網路封包
主機B
MAC 77:88:99:AA:BB:CC
6.3 Configure Filtering on a Switch

Port security

Port security是交換器上經常使用的安全措施之一,可
以用來防範CAM Table overflow,也可以用來管理使用
者的行為。
Port security藉由設定來限制交換器上實體的Port最多可
以容納多少個MAC或是設定MAC位址對Port的存取權
限,以下分別列出如何做設定:
Port mapped MAC:
switchport port-security mac-address
限制實體的Port只允許讓擁有指令上MAC位址的主機封
包通過交換器。
switchport port-security maximum 數量(1~132)
限制交換器上實體的Port最多只允許多少個MAC位址的
主機封包通過交換器。
Port security對於超過可允許的MAC位址數量有三種措
施:
假設port-security maximum 為12,以下三種措施是對
於Port上的MAC到達12時所實施的動作:
Protect:
在此模式下,交換器會持續監控這12筆的MAC位址有
無在使用中,直到此port的MAC位址少於12,才能接受
新的MAC位址。
Restrict:
此模式與Protect大致上相同,唯一不同的作法是此模式
會紀錄相關的資訊(Port上MAC位址更動)在syslog中。
Shutdown:
當Port上的MAC位址到達上限時,這個Port會暫時關閉
,並記錄在syslog中。
Ethernet 0/1
主機A
MAC 11:22:33:44:55:66
設定Port Security範例1
Switch(config)#interface ethernet 0/1
Switch(config-if)#switchport mode access
Switch(config-if)#switchport port-security
Switch(config-if)#switchport port-security 1122.3344.5566
指令說明:
交換器上的實體Port ethernet 0/1只可以讓擁有
11:22:33:44:55:66這個MAC位址的主機使用。
國立雲林科技大學 自由軟體研發中心
14
第六章 架設防火牆監控與管理網路封包
6.3 Configure Filtering on a Switch

DHCP Snooping
DHCP Snooping 透 過 建 立 DHCP Snooping
Binding 資料庫來過濾掉非法使用者的封包。
DHCP Snooping啟動之後會監聽DHCP的封包,
利用使用者要與DHCP Server取得位址時所發送
的DHCP Request與DHCP Ack記錄此使用者的
資訊將之儲存於DHCP Snooping binding table。
DHCP Snooping會設定交換器中哪些Port或是哪
些vlan為信任的介面,只有信任的介面才可以
收送DHCP Offer封包。
設定DHCP Snooping範例
Switch(config)#ip dhcp snooping
Switch(config)#ip dhcp snooping vlan 34

Switch(config)#interface ethernet 0/1
DHCP Snooping binding 資料庫:此資料庫會紀錄
使用者主機的MAC位址、IP位址、租用時間、
vlan編號等等的資訊。
Switch(config-if)#ip dhcp snooping trust

DHCP Snooping 可 以利用binding 資 料 庫阻擋
MAC 位 址 的 假 造 因 為 當 使 用 者 在 與 DHCP
Server取得位址時,會建立使用者主機的IP與所
對應的MAC位址,往後使用者主機每送出封包
,交換器會去比對binding 資料庫中此使用者主
機所記錄的MAC位址有無相同,若是不同則交
換器會刪除此封包。

DHCP Snooping 藉由設定Port信任與非信任來
阻擋DHCP starvation的攻擊,因為只有信任的
Port才可以發送DHCP Offer,藉此阻隔不合法
的DHCP Server分配IP位址給網路上的主機,防
範man-in-the-middle attack。
Switch(config-if)#ip dhcp snooping limit rate 70
指令說明:
vlan34啟動DHCP Snooping功能,將ethernet 0/1設為
信任的Port,限制ethernet 0/1 每秒只可以接收70個
DHCP封包。
國立雲林科技大學 自由軟體研發中心
15
第六章 架設防火牆監控與管理網路封包
6.3 Configure Filtering on a Switch

STP Root Guard範例
Switch(config)#spanning-tree portfast bpduguard
Switch(config)#interface ethernet 0/0
Switch(config-if)#spanning-tree guard root
指令說明:
啟用 BPDU Guard來監控交換器上Portfast類型的
Ports是否遭受攻擊,並將交換器上ethernet 0/0設為
spanning tree的root。
防範STP manipulation攻擊
阻擋STP manipulation攻擊的方式主要的就是要確保無
論發生什麼樣的情況,所有交換器合作產生的spanning
tree上的root不會被改變;可以藉由下列方式達到上述
功能:

使用STP Root Guard
STP Root Guard有三種運作模式,分別為none、
root guard、loop guard,每次只能啟用其中的一
種。
none: 關閉root guard和loop guard運作模式。
root guard: 設定交換器上所指定的port為spanning
tree上的root。
loop guard: 用來防止當交換器上的port在max-age
時間內沒有收到BPDU的封包時,port的狀態會自
動轉變為forward。

使用STP BPDU Guard
一般交換器上的Port 若直接與使用者主機或是
Server相連,其運作模式可以設定為Portfast,由
於Portfast的特性就是不參予建立Spanning Tree,
因此Portfast的啟用速度比一般類型的Port快上許
多。Portfast Port正常情況不會接收BPDU的訊息
,一旦收到BPDU即有可能遭受到攻擊,在交換
器啟動STP BPDU Guard,之後當Portfast port收到
BPDU的訊息時,port的狀態將改為error-disable。
國立雲林科技大學 自由軟體研發中心
16
第六章 架設防火牆監控與管理網路封包
6.4 Configure Firewall

防火牆的架設
防火牆的目的是要將外部網路與內部網路做一
個阻隔,不要讓有心人士自由進出內部網路;
不同的企業網路可以針對不同的安全需求架設
防火牆,以下介紹兩種常見的防火牆架設方式:
DMZ
Internet

外部網路
防火牆
如左上圖所示,使用一台防火牆當作內部網路
的閘道,每當有封包要進出內部網路時,都要
先經由防火牆過濾。如果有提供對外服務的需
求(如WebServer、FTP Server),則將對外服務
的主機架設在DMZ的區域;防火牆可對內部網
路的主機實施NAT的機制。
交換器
內部網路
使用單一防火牆

Internet
防火牆1
防火牆2
使用雙防火牆
使用雙防火牆
如左下圖所示, 所有可以對外公開的應用伺服
主機均需架設在DMZ區域內,並用一個防火牆
隔開外部網路與DMZ區域,另一個防火牆則隔
開內部網路與DMZ區域;如此的架構除了可抵
擋網路駭客的直接攻擊之外,若不幸DMZ區域
的伺服主機遭到入侵,由於內部網路是不對外
公開的,因此內部網路的主機才不會受到池魚
之殃。
DMZ
外部網路
使用單一防火牆
交換器
內部網路
國立雲林科技大學 自由軟體研發中心
17
第六章 架設防火牆監控與管理網路封包
6.4 Configure Firewall

通用型的閘道防火牆
過濾式防火牆只能讓管理者設定封包來源
端/目的端位址、TCP/UDP埠號之過濾規
則來限制外部網路或內部網路的封包流通;
這樣的過濾規則存在著一些漏洞。目前一
通用型的閘道防火牆需要具備以下之功能:
 提 供 Network Address Translation
(NAT)服務,讓內部網路的主機使用
private IP位址,增加攻擊者收集內部
網路主機情資的困難度。
 提供完備的警示系統。
 封包過濾規則可以實現安全政策
(Policy) 。
 可以抵擋以下之網路攻擊:
 SYN Flood攻擊
 IP fragmentation攻擊
 連線管控,偵測並記錄連線的狀態。
 管控ICMP封包。
資料來源:
http://firewalladmin.sourceforge.net/
http://www.fs-security.com/
國立雲林科技大學 自由軟體研發中心
18
第六章 架設防火牆監控與管理網路封包
6.4 Configure Firewall


防火牆的警示系統
防火牆的警示系統包括記錄被丟棄封
包的來源IP位址、目的端的IP位址、
丟棄此封包的時間等的相關資訊。管
理者可以根據這些資訊來做事件追蹤
。
當有資安事件發生時,防火牆可以用
下列方式警示管理員:
 Console
 E-Mail
 Pager
 SNMP Trap
 User Defined Program
資料來源: http://www.fs-security.com/
國立雲林科技大學 自由軟體研發中心
19
第六章 架設防火牆監控與管理網路封包
6.4 Configure Firewall

Client
Server
1
SYN
Half-open
2
3
SYN Flood攻擊
在介紹SYN Flood攻擊前,我們先簡述TCP建立
連線的過程:
 TCP 連線
我們稱請求建立TCP連線的一方為Client,
接收連線請求的為Server。TCP為一個可
信賴式的協定,建立連線的過程稱為三向
交握(three-way handshake)。
1.Client發送TCP 旗標SYN=1 的封包
2.Server收到之後回送TCP旗標SYN=1 +
ACK=1的封包給Client
3.Client收到TCP 旗標 SYN=1 + ACK=1的
封包之後,回送TCP 旗標ACK=1的封包之
後即完成TCP建立連線。
 TCP half-open
對Server而言,TCP half-open的連線就是
在發送完SYN+ACK封包之後等待Client回
送ACK訊息期間,TCP協定有規定此halfopen的存活時間(一般為30秒~2分鐘),在
此 存 活 時 間 中 , Server 會 等 待 與 重 送
SYN+ACK的封包,TCP half-open的連線
量,會消耗Server的資源。
TCP three-way handshake連線示意圖
國立雲林科技大學 自由軟體研發中心
20
第六章 架設防火牆監控與管理網路封包
6.4 Configure Firewall

SYN Flood攻擊

對 Server 而 言 , 當 TCP 的 連 線 進 入
half-open狀態時, Server會配置記憶
體來記錄該連線的資訊,攻擊者通常
利用這個弱點,在短時間內發出大量
的 SYN 連 線 要 求 給 Server , 使 得
Server的記憶體不足而無法再接受新
的連線要求。

如左圖所示,攻擊者在短時間內不斷
地送出連線要求(SYN封包)給受害者
主機,而當受害者主機認可該連線要
求,並回應SYN+ACK封包,攻擊者
並不理會該封包(即攻擊者不送出
three-way handshake最後的ACK封包)
,這將造成受害者主機在 half-open
的存活時間到達之前必須不斷的保留
攻擊者所發出的連線資訊。當受害者
主機所允許的半連線狀態達到最大值
時,受害者主機便無法再接受新的連
線要求,並進入拒絕服務的狀態,此
時即達到攻擊者的目的。
攻擊者
…
SYN
SYN
受害者
…
TCP SYN flooding攻擊範例
國立雲林科技大學 自由軟體研發中心
21
第六章 架設防火牆監控與管理網路封包
6.4 Configure Firewall

TCP Intercept
防火牆用來防範SYN Flood攻擊之方式:

SYN
啟動管控TCP連線功能,並設定TCP halfopen存活時間。
TCP half-open存活時間預設值為30秒到2分鐘,管
理員可以在防火牆上設定此時間,建議為20秒以下
,但是也不要設定過小;並啟動防火牆執行管控
TCP 連線工作 。 通常防火牆偵測到有 TCP連 線 其
half-open到達管理者所設定的存活時間,防火牆會
發送TCP reset封包給來源端與目的端,中斷連線,
保護Server的資源。但是這樣的方式無法阻止攻擊
者瞬間發送大量的SYN封包。
SYN+ACK(cookie)
Client

SYN
如左圖所示,使用SYN Cookies技術,防火牆必須
要執行TCP intercept,攔截SYN封包,並代替Server
回傳SYN+ACK封包(此封包會夾帶一個Cookies,例
如將封包來源端/目的端位址、TCP/UDP埠號及一私
密值計算的結果放在ACK sequence number欄位作為
Cookies),當收到Client回應的ACK封包,防火牆可
利用Cookies快速驗證此ACK封包是否為一合法連線
,如果是合法的,防火牆會將此連線導向真正的
Server 。
SYN+ACK
Server

防火牆
使用SYN Cookies技術。

限制固定時間內可以通過防火牆half-open連
線數量。
限制每秒可以通過防火牆的SYN封包數量。
防火牆利用SYN Cookies以防範SYN Flood攻擊
國立雲林科技大學 自由軟體研發中心
22
第六章 架設防火牆監控與管理網路封包
6.4 Configure Firewall

IP fragmentation攻擊

Original
Packet
…
Reassemble

Fragmentation

Internet
來源端
目的端
IP fragmentation示意圖

如左圖所示,當封包size超過網路實體層
所 定 義 的 最 大 傳 輸 單 位 (Maximum
Transmission Unit)時,封包會被切割成數
個碎片傳送,稱為IP fragmentation;目的
端主機收到這些碎片,必須執行重組動作
(Reassemble)以還原封包。
IP fragmentation攻擊方式相當多種,主要
的方式是讓目的端主機執行碎片重組時發
生問題,嚴重時甚至造成當機。
ping of death的攻擊方式: 攻擊者主機產生
一 超 大 size 的 ping request (ICMP echo
request)封包;經過 IP Fragmentation來傳送
,當這個封包被受害者主機重新組合時會
超出緩衝區 (Buffer) 限制的大小而造成被
攻擊的電腦有不正常的動作甚至當機的情
況發生。
Tiny fragment的攻擊方式: 早期的防火牆只
會針對封包的第一塊碎片檢查是否符合過
濾原則,若第一塊碎片允許通過,防火牆
就不會檢查之後的碎片,此攻擊方式就是
利 用 此 點 漏 洞 , 將 攻 擊 封 包 利 用 IP
fragmentation切割成數個小碎片,藉此通
過防火牆的檢測。
國立雲林科技大學 自由軟體研發中心
23
第六章 架設防火牆監控與管理網路封包
常見的IP fragmentation攻擊方式:

IP fragment overlapped

IP Fragmentation Buffer Full

IP Fragment Overrun - Datagram Too Long

IP Fragment Overwrite - Data is Overwritten

IP Fragment Too Many Datagrams

IP Fragment Incomplete Datagram

6.4 Configure Firewall

防火牆用來防範IP fragmentation攻擊
之方式:

設定防火牆對ICMP封包的碎片要執行重
組,確定重組後封包的正確性後才傳送到
內部網路;至於其它格式封包的碎片則可
以執行Virtual reassembly以節省防火牆資
源。

限制固定時間內防火牆的fragment database
可以儲存IP 碎片的數量。

限制固定時間內允許多少個封包可以被切
割成IP 碎片。

設定防火牆收到某封包的第一塊碎片到可
以執行重組的等待時間,當超過等待時間
,防火牆將丟棄存在fragment database內屬
於該封包的碎片。

啟動防火牆SYSLOG功能,記錄如左圖所
示 之 fragment overlapled 、 small fragment
offset等異常事件。
IP Fragment Too Small
資料來源:
http://en.wikipedia.org/wiki/IP_Fragmentation_Attackes
國立雲林科技大學 自由軟體研發中心
24
第六章 架設防火牆監控與管理網路封包
6.4 Configure Firewall

管控ICMP封包

3
受害者


2
有心人士常會利用ICMP通訊協定的漏洞對企業
網路進行攻擊,例如Smurf攻擊結合ICMP與IP位
址假冒的方式來癱瘓受害者的主機,左圖所示為
Smurf的攻擊流程:
1.攻擊者的主機產生ICMP echo request封包,封
包上的來源端位址(Source IP address)設定為受害
者 的 IP 位 址 (140.113.92.22) , 目 的 端 位 址
(Destination IP address)則設定為某網段的廣播位
址(140.125.30.255)。
2.將此封包傳送出去,封包目的端位址所指定的
網段上所有的主機都會收到此封包。
3.網段上所有收到此封包的主機將會回應 ICMP
echo reply給受害者。
Smurf攻擊只需要傳送少量的ICMP echo request封
包,就可以製造大量ICMP echo reply封包傳送給
受害者,被歸類為Denial of Service攻擊。
管理者可以設定防火牆的過濾規則,有效
控管要讓哪些種類的ICMP封包可以進出
企業網路。
1 攻擊者
Smurf攻擊示意圖
國立雲林科技大學 自由軟體研發中心
25
第六章 架設防火牆監控與管理網路封包
6.5 Configure Filtering on a Router

Configure Filtering on a Router

路由器在網路上最重要的任務就是執行封
包轉送的工作,當然也可以設定路由器執
行其它的工作,例如:NAT(位址轉譯)、
封包流量統計、或者封包過濾等等。
路由器通常都會提供Static packet filtering
的功能,讓管理員可以設定簡單型的封包
過 濾 規 則 ( 在 某 些 路 由 器 稱 為 Access
Control List),提供企業網路基本的保護
; 功能較強的路由器還可以提供Stateful
packet filtering、URL filtering、Contextbased filtering的功能,管理員在啟動路由
器執行複雜型的過濾功能之前,應該詳細
評估是否會造成路由器的負荷過重
(overload),建議管理員可以考慮使用其
它設備(如防火牆、URL filtering Server)執
行複雜型的封包過濾功能。
左 圖 所 示 為 路 由 器 整 合 URL filtering
Server的網路架構,因為有專屬的設備,
管理員可以依據公司的安全政策,設定員
工只能瀏覽的網址,執行封包內容的檢查
以阻擋惡意程式、間諜程式等入侵企業網
路。
企業內部網路的主機
6. HTTP Response

1. HTTP Request
2. Look-up Request
3. HTTP Response
路由器
URL-filtering
Server
4. HTTP Request
Internet
5. HTTP Response

Web Server
URL filtering Server執行網址過濾流程
國立雲林科技大學 自由軟體研發中心
26
第六章 架設防火牆監控與管理網路封包
6.5 Configure Filtering on Router

分 散 式 阻 斷 攻 擊 (Distributed Denial of
Service,DDoS)



WWW Security (http://www.w3.org/Security/Faq)對
於分散式阻斷攻擊(DDoS)之定義如下:分散式阻
斷攻擊(DDoS)為多台攻擊主機(Agent)同時對一台
或多台受害主機(Victim)進行阻斷式攻擊(DoS)。
阻斷式攻擊(DoS)並不以篡改或竊取資料為目的
,而是癱瘓企業伺服主機之資源或企業網路頻寛
,讓企業主機無法提供服務給它的用戶。如:攻
擊者在短時間內送出大量的網頁連線請求,造成
網頁伺服主機當機,導致其它使用者無法正常瀏
覽網頁伺服主機之資料。
如左圖所示,DDoS攻擊架構主要有四個成員:
真實攻擊者(Attacker)、攻擊發起機器(Handler)、
攻擊主機(Agent)及受害者(Victim)。真實攻擊者
(Attacker)首先在攻擊發起機器(Handler)及攻擊主
機(Agent)上安裝並執行特定攻擊程式。當真實攻
擊者(Attacker)發動DDoS攻擊受害者(Victim)時,
首先真實攻擊者(Attacker)會發送攻擊的控制命令
(Control Command)給攻擊發起機器(Handler),攻
擊 發 起 機 器 (Handler) 再 將 控 制 命 令 (Control
Command)傳給攻擊主機(Agent),再由攻擊主機
(Agent) 發 送 攻 擊 流 量 (Attack Traffic) 至 受 害 者
(Victim) 。 真 實 攻 擊 者 (Attacker) 利 用 主 從 式
(Client/Server) 技 術 , 來 控 制 攻 擊 發 起 機 器
(Handler) 與 攻 擊 主 機 (Agent) , 以 增 加 受 害 者
(Victim)在追查真實攻擊者(Attacker)的困難度。
DDoS攻擊架構圖
國立雲林科技大學 自由軟體研發中心
27
第六章 架設防火牆監控與管理網路封包

6.5 Configure Filtering on Router
分散式阻斷攻擊(DDoS)之分類

洪流攻擊(Flood Attack):利用攻擊主機(Agent)發送大量封包,導致受害者(Victim)網路頻寛擁塞,
使受害者(Victim)無法提供服務給其它使用者。目前已知洪流攻擊(Flood Attack)有二種方式:
UDP洪流攻擊或ICMP洪流攻擊。由於UDP及ICMP協定在傳送時,不必如TCP協定需建立一連線
(Connection),使得受害者(Victim)不管願意或不願意都需接受封包。因此,使用洪流攻擊可輕易
達到癱瘓受害者(Victim)網路頻寛之目的。

利用協定攻擊(Protocol Exploit Attack):藉由協定上的缺陷而達成攻擊之方式,如之前所介紹的
TCP SYN攻擊。

擴展攻擊(Amplification Attack):利用IP廣播位址(Broadcast Address)來完成攻擊的目的。如之前所
介紹的Smurf攻擊,攻擊者偽造一封包(來源位置為受害者IP位址,目地位置為某一特定網路之廣
播位址),傳送至該特定網路(Intranet),該網路之主機收到此封包後,將依封包上之來源位置,
回應至受害者(Victim),使受害者(Victim)的網路頻寛或系統資源遭受到癱瘓。

畸型封包攻擊(Malformed Packet Attack):利用不正確的封包格式送至目地端,導致目地端花費
時間處理此類封包,而達成攻擊目的。比較常見的畸型封包如:封包上來源IP位址與目地IP位址
相同,或是在封包上之品質服務(Quality of Service)欄位設定為1,導致受害者要花費額外時間去
處理此類的封包。
國立雲林科技大學 自由軟體研發中心
28
第六章 架設防火牆監控與管理網路封包

6.5 Configure Filtering on Router
路由器用來抵擋分散式阻斷攻擊(DDoS)之方式:







設定Session Layer審查規則,例如限制TCP half-open連線的數量並設定TCP half-open
連線的存活時間,以抵擋TCP SYN Flood攻擊。設定Session的閒置時間防止攻擊者
耗盡系統資源。
設 定路由 器上每 個介面 單位時 間內所允 許通 過的流量 ,以 抵擋洪流 攻擊 (Flood
Attack)。
設定IP fragmentation審查規則,防止攻擊者持續不斷發送碎片的Dos攻擊。
設定ICMP封包審查規則,防止有心人士利用ICMP通訊協定的漏洞進行攻擊。
設定路由器將目地位址為廣播位址之封包丟棄,避免內部主機成為擴展攻擊
(Amplification Attack)之幫凶。
設定路由器將畸型封包丟棄,可減輕擴展畸型封包攻擊(Malformed Packet Attack)所
造成的影響。
在路由器上設定那些IP位址是屬於合法或不合法的來源IP位址,避免內部主機成為
DDoS攻擊之幫凶。例如:內部網路合法的IP位址為192.168.1.1至192.168.1.254,若
路由器收到由內部網路傳送的封包其來源IP位址為10.0.0.1時,則將該封包丟棄,因
為該IP位址並不屬於內部網路合法的IP位址。
國立雲林科技大學 自由軟體研發中心
29
第六章 架設防火牆監控與管理網路封包
總結

本章介紹防火牆的種類以及封包過濾的相關技術,例如Static與
Stateful的過濾方式、URL過濾方式。

本章還介紹如何在不同層次的網路裝置(如交換器、防火牆、路由器
等)設定過濾政策,以執行保衛企業網路安全的工作。通常封包過濾
的功能可以用專屬的設備(防火牆)來實現,或者與其它的網路設備
整合(如URL filtering Server);管理者需要評估架設防火牆之後對網路
封包傳送效能的影響,封包過濾主要是利用比對的方式來過濾掉不
合法的封包,因此若實現在路由器上,管理者要注意是否會造成路
由器設備負載過大的問題。
國立雲林科技大學 自由軟體研發中心
30
第六章 架設防火牆監控與管理網路封包








參考資料
網路安全與管理,作者:伍麗樵、陳世仁。
Linux系統安全與防火牆,作者:酆士昌。
Linux iptables技術實務,作者:施威銘研究室作。
防火牆完全指南,作者:Marcus Goncalves著/劉良棟,錢盈秀,吳曜呈譯。
Cisco (http://www.cisco.com/) 。
http://firewalladmin.sourceforge.net/ 。
http://www.fs-security.com/ 。
http://www.w3.org/Security/Faq / 。
國立雲林科技大學 自由軟體研發中心
31