1.3k likes | 1.69k Views
Module 7 : 防火牆實習. 學習目的. 近年來網路世界常遭受駭客的入侵,因此網路安全為現在相當重要的課題,假如要依據自己的環境來訂定防護的機制,那一定得先認識 『 防火牆 』 本模組共有四個小節包括 (1) 防火牆簡介 (2) 防火牆 工具介紹 (3) 防火牆 的實務 (4) 防火牆的 專案實作 共需三個鐘點. Module 7 :防火牆實習. Module 7-1 : 防火牆簡介 (*) Module 7-2 :防火牆工具介紹 (**) Module 7-3 : 防火牆的 實務 (**)
E N D
學習目的 近年來網路世界常遭受駭客的入侵,因此網路安全為現在相當重要的課題,假如要依據自己的環境來訂定防護的機制,那一定得先認識『防火牆』 本模組共有四個小節包括 (1)防火牆簡介 (2)防火牆工具介紹 (3)防火牆的實務 (4)防火牆的專案實作 共需三個鐘點
Module 7:防火牆實習 • Module 7-1:防火牆簡介(*) • Module 7-2:防火牆工具介紹(**) • Module 7-3:防火牆的實務(**) • Module 7-4:防火牆的專案實作(**) * 初級(basic):基礎性教材內容 **中級(moderate):教師依據學生的吸收情況,選擇性介紹本節的內容 ***高級(advanced):適用於深入研究的內容
防火牆的定義 • 在電腦網路中,防火牆透過對資料封包的篩選和屏蔽,防止非法的存取進入內部或外部電腦網路 • 防火牆隔開內部網路與外部網路,從外部網路要使用內部網路的機器,必須經過防火牆,為一種保護作用
軟體防火牆 V.S. 硬體防火牆 • 軟體防火牆 • 安裝在隔離內外部的主機上 • 例:PC Tool 、Checkpoint firewall及Firestarter • 硬體防火牆 • 採用純硬體設計與固化電腦 • 例:Cisco ASA 與Juniper Firewall
防火牆的優點 • 服務控制 • 哪些網路服務可以進或出防火牆 • 方向控制 • 某個特定服務的進出方向 • 使用者控制 • 哪些使用者可以取用 • 協定控制 • 控制如何使用某項服務 • 審計 • 流入流出量的控管
防火牆的缺點 • 無法防止防火牆自己內部的不法行為 • 無法管理不經過防火牆的連線 • 無法防範全新的威脅 • 無法防範病毒 • 自身可以被攻破 • 無法阻擋合法服務的連結
防火牆的功能 • 防火牆主要有三種功能 • 封包過濾(Packet Filtering) • 狀態檢視(Stateful Inspection) • 應用程式閘道(Application Layer Gateway)與代理伺服器(Proxy Server)
封包過濾(Packet Filtering) • 為最簡單與最常被使用的一種防火牆 • 利用過濾封包的方式來判定封包是否可以進入內部網路 • 判定準則為依據制定的安全策略,逐一檢查網路封包標頭資訊內容,被獲准者才可進入內部網路
狀態檢視(Stateful Inspection) • 又稱動態封包檢視防火牆(Dynamic Packet Filter) • 檢查封包的標頭資訊內容與檢查封包傳送前後關連性 • 防止駭客將一個攻擊行為分散到好幾個不同封包來傳送,以躲過防火牆偵測 紀錄封包之標頭內容(例:來源及目標之IP與port)及關聯狀態(例:established)
應用程式閘道(Application Layer Gateway)與代理伺服器(Proxy Server) • 應用通訊服務 • HTTP、Telnet、SMTP及FTP • 提供網路上彼此溝通的協定,但亦成為駭客攻擊的管道 • 主要目的用於防止此類駭客攻擊 • 針對不同的網路協定均利用代理程式(Proxy)來模擬網路連結的來源和目的兩端 • 實際的交換是透過代理程式完成
應用程式閘道示意圖 應用程式閘道與代理伺服器 (續)
應用程式閘道與代理伺服器 (續) • 代理伺服器之應用:網路位址轉譯(Network Address Translation, NAT) • 根據RFC-1631定義,NAT是在router中進行更換IP header 的動作,使多台電腦能共用一個IP 連接Internet 的技術 • 每個進出的封包NAT防火牆會根據轉譯表,修改其目的位址或來源位址
應用程式閘道與代理伺服器 (續) • 優點 • 少數public address就能讓內部所有電腦都連上Internet • 只使用public address的電腦會被外部網路直接存取,使用private address的電腦則無法直接被存取,較安全 • 隱藏內部網路之主機IP及網路架構
網路位址轉譯示意圖 應用程式閘道與代理伺服器 (續) 內部使用Private Address 對外可使用較少量之Public Address,節省IP
防火牆的架構 • 基本防火牆架構 • 單屏蔽路由器/單防火牆架構 • Screening Router/Basic Border Firewall Structure • 單介面屏蔽主機架構 • Screened Host Firewall, Single-Homed Bastion Host Structure • 雙介面屏蔽主機架構 • Screened Host Firewall, Dual-Homed Bastion Host Structure • 屏蔽子網路架構 • Screened Subnet Structure
單屏蔽路由器/單防火牆架構 • 架構最簡單,也最單調薄弱
單介面屏蔽主機架構(連接內外網路之IP位址相同)單介面屏蔽主機架構(連接內外網路之IP位址相同)
雙介面屏蔽主機架構(連接內外網路之IP位址不同)雙介面屏蔽主機架構(連接內外網路之IP位址不同)
不論進入或是外出的封包都必須經防火牆的檢驗不論進入或是外出的封包都必須經防火牆的檢驗 Inbound 從外部網路進入到受保護的內部網路的封包 Outbound 從內部網路送到外部網路的封包 防火牆的安全策略需考慮之因素 What:是否針對特定服務與特定行為 Why:為何需要開啟特定服務或行為 Who:允許哪些使用者或封包通過 防火牆的安全策略
防火牆的規則 • 防火牆安全規則 • 匹配條件 • 對於通信流量是否合法作出判斷的一些邏輯表達式 • 過程中符合某條規則,處理動作 • 接受(Accept):允許訊息通過 • 拒絕(Reject):拒絕訊息,通知發送訊息的來源地 • 丟棄(Drop):直接丟掉,不通知
Unified Threat Management (UTM) Firewalls • 解決防火牆無法直接過濾病毒或木馬程式 • 提供的功能有 • SPI(Stateful Packet Inspection) • Antivirus Filtering • VPNs • DoS Protection • NAT
防火牆工具 - Windows Firewall • Windows Firewall是一道提供保護的邊界線,它監控和限制在電腦和網路之間傳輸的資料 • 抵禦試圖未經許可從Windows Firewall 外部訪問您的電腦的連線 • 若運行中之作業系統為Windows XP Service Pack 2(SP2) 以上之版本 ,其預設Windows Firewall為啟用
Windows Firewall啟用 • 1. 「Start」→「Control Panel」 • 2. 「Security」→「Windows Security Center」 • 3. 「Firewall」
Windows Firewall功能 • 幫助阻止電腦病毒和蠕蟲進入 • 會檢測每個進入的封包,能阻止非法的封包進入(前提示已設定好規則) • 如果病毒或蠕蟲已存在電腦上,它並沒辨法檢測出來 • 確認連線的正當性 • 當有新的連結請求時,它會跳出核准視窗請您同意(Accept)或拒絕(Reject) • 安全日誌:可作為故障診斷工具
Windows Firewall工作方式 • 若Internet上某台主機試圖連線到您的電腦時,Windows Firewall將詢問您是否要阻止或允許連線,並以此建立規則
防火牆工具 - Firestarter • 基於iptables核心架構,提供GUI圖形化操作介面 • 主要特色為使用簡單但功能強大 • 安裝十分容易,有支援精靈的設定 • 即使是Linux軟體不熟悉的使用者也能輕鬆完成防火牆的安裝與設置 • Firestarter的README檔內註釋非常詳盡,方便用戶的修改與重新定義某些參數 • Firestarter網站:http://www.fs-security.com/
防火牆工具 - PC Tools Firewall • PC Tools Firewall 是一套免費的Windows個人版防火牆軟體,可保護電腦避免未經授權使用者透過網路存取您的電腦 • 可自行創建高級過濾規則,包括支援IPv6 • 具一般的智慧型更新、即時防護及完整的網路隔離功能 • PC Tools Firewall Plus網站:http://www.pctools.com
Linux的封包過濾機制 封包過濾防火牆或稱為網路過濾器(NetFilter) 分析封包的表頭資料,根據表頭資料與定義的『規則』來決定該封包是否可以進入主機或者是被丟棄 iptables為Linux預設的防火牆軟體 資料進行分析 網路封包的IP、port及MAC 連線狀態,例:SYN與ACK等 過濾不受歡迎的網路封包 防火牆工具 - iptables
根據封包的分析資料比對預先定義的規則內容, 若封包資料與規則內容相同則進行動作,否則就繼續下一條規則的比對 iptables的封包進入流程 Rule 1 Rule 6 封包 Rule 2 Rule 7 … … Rule 5 Rule 10 Policy
iptables有多個表格(table),每個表格都各自定義其預設政策與規則,且用途皆不相同iptables有多個表格(table),每個表格都各自定義其預設政策與規則,且用途皆不相同 封包的來源決定它應該由那一個table來處理 主要要素: Table:不同的封包處理 Chain:決定封包是否可以穿越 Rule:決定是否送往下一條Chain或其它動作 iptables的表格與鏈(Chain)
iptables的表格與鏈(Chain) (續) 預設iptables的表格 Filter:管理本機進出 Nat:管理後端主機(防火牆內部的其他電腦) Mangle:管理特殊旗標使用(較少使用) 可自行定義表格 Filter (Table) Chain: INPUT Policy Rule 1 … Chain: OUTPUT Policy Rule 1 …
iptables的表格與鏈(Chain) (續) • iptables經常用到的內建表格(build-in table) Filter:主要和Linux主機有關,為預設的table NAT:主要和NAT主機設定有關
iptables的表格與鏈(Chain) (續) filter nat Linux 本機的資源 封包進入 封包傳出 INPUT OUTPUT A filter OUTPUT Forward 封包傳遞 filter nat B FORWARD POSTROUTINH nat 封包傳出 PREROUTING 鳥哥的linux私房菜 資料來源: http://linux.vbird.org/ 封包進入
iptables的處理模式 • 過程中符合某條規則時,主要會有以下動作 • 接受(Accept):接受該封包,並進行相對的處理 • 拒絕(Reject):攔阻該封包,並通知對方 • 丟棄(Drop):直接丟棄封包,不做任何處理 • 重定向(Redirect):將封包導向其它端口 • 偽裝(Masquerade):改寫封包來源IP
iptables語法 • 語法架構 • iptables [-t table] command [match] [-j target/jump] • 參數說明 • t:table ,例 :nat 、 filter ,若省略則預設為 filter • command:命令列,例:-A、-D、-R…等 • match:封包比對參數,例:-p、-s、-d…等 • j:處理動作,例:ACCEPT、REJECT、DROP…等 7-40
iptables語法 - 觀察規則 • 語法架構 • iptables [-t table] [-L] [-nv] • 參數說明 • t: table ,例 :nat 、 filter ,若省略則預設為 filter • L:列出目前的 table 的規則 • n:不進行 IP 與 HOSTNAME 的反查,可增加顯示速度 • v:列出更多的資訊,包括通過該規則的封包總位元數、相關的網路介面等
iptables語法 - 觀察規則 (續) • #iptables -L 範例
iptables語法 - 清除規則 • 語法架構 • iptables [-FXZ] 7-43
iptables語法 - 定義預設政策 • 語法架構 • iptables [-t ] -P [INPUT,OUTPUT,FORWARD] [ACCEPT,DROP] • 參數說明 • t: table ,例 :nat 、 filter ,若省略則預設為 filter • P:定義政策( Policy ) • ACCEPT :該封包可接受DROP :該封包直接丟棄 7-44
iptables語法 - 定義預設政策(續) • 當封包不在設定的規則之內,則該封包的通過與否以policy的設定為準 7-45
iptables語法 - 增加與插入規則 • 語法架構 • iptables [-AI 鏈] [-io 網路介面] [-p 協定] \ > [-s 來源IP/網域] [-d 目標IP/網域] -j [ACCEPT|DROP] • 參數說明 • AI 鏈:針對某的鏈進行規則的 "插入" 或 "累加" • io 網路介面:設定封包進出的介面規範 • p 協定:設定此規則適用於哪種封包格式 • s 來源 IP/網域:設定此規則之封包的來源項目,可指定單純的 IP 或包括網域 • d:目標 IP/網域 7-46
iptables語法 - 增加與插入規則(續) 用來比對封包的來源IP 用來比對封包由哪張網卡進入 用來比對封包的來源埠號 攔阻該封包,並傳送封包通知對方,可以傳送的封包tcp-reset(要求對方關閉連線),處理此動作後,將不在比對其他規則,直接中斷過濾程序
iptables的紀錄儲存與回復 • 儲存防火牆機制 • #iptables-save >filename • 回復防火牆機制 • #iptables-restore < filename 7-49
結論 • 防外不防內 • 一般防火牆設定的通則,限制外部的連線,而不阻擋由內部向外部的連線請求 • 為了確保本身的安全性 • 當要設定網路規則前,必須先確認被限制或允許的目標,如此才能夠制定出符合需求的規則