第六章: 架設防火牆監控與管理封包
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