1.87k likes | 2k Views
第 10 章. 安全. 本章重點. 10 - 1 外圍、防火牆、和內部路由器 10 - 2 辨識安全性威脅 10 - 3 減輕安全性威脅 10 - 4 存取清單簡介 10 - 5 標準式存取清單 10 - 6 延伸式存取清單 10 - 7 進階的存取清單. 本章重點. 10 - 8 監視存取清單 10 - 9 使用 SDM 來設定存取清單 10 - 10 摘要. 安全. 如果您是系統管理員 , 我猜您最優先的工作就是保護敏感關鍵的資料和網路資源 , 不要被人惡意的利用。
E N D
第 10 章 安全
本章重點 • 10 - 1 外圍、防火牆、和內部路由器 • 10 - 2 辨識安全性威脅 • 10 - 3 減輕安全性威脅 • 10 - 4 存取清單簡介 • 10 - 5 標準式存取清單 • 10 - 6 延伸式存取清單 • 10 - 7 進階的存取清單
本章重點 • 10 - 8 監視存取清單 • 10 - 9 使用 SDM 來設定存取清單 • 10 - 10 摘要
安全 • 如果您是系統管理員, 我猜您最優先的工作就是保護敏感關鍵的資料和網路資源, 不要被人惡意的利用。 • 恭喜您 - Cisco 有一些真的很有效的安全方案, 能夠提供您所需的工具。 • 基本上, 掩護您和您網路的後方領土是本章的重點。
安全 • 您會學到如何遏阻對網路安全最常見的威脅, 而 Cisco 路由器和 IOS 防火牆共同提供了強而有力的整合式偵測套裝方案, 可以防禦許多類型的入侵。 • 我們會說明 Cisco IOS 防火牆如何針對您內部和外部的網路需求, 提供真正的安全性, 並強制實施安全政策。 • 我們還會說明如何對位於外圍的遠端位置建立安全的連線。
安全 • 存取控制清單 (Access Control List, ACL) 是 Cisco 安全性方案的一部份。 • 我們會說明簡單和進階存取清單的重點, 讓您有能力確保互連網路的安全, 並且能夠減緩大多數安全導向的網路威脅。 • 正確地使用與設定存取清單是路由器設定的重要部份, 因為存取清單是用途非常廣的附加功能。 • 存取清單讓網管人員能大幅地控制遍及企業的交通流, 促進網路的效率與運作。
安全 • 藉由存取清單, 管理員可以收集封包流量的基本統計, 可以實作安全政策, 也可以保護敏感的裝置, 免於遭到非授權的存取。 • 本章將討論 TCP / IP 的存取清單與第 2 層交換器上的 MAC 存取清單, 並涵蓋一些工具, 用來測試與監視存取清單的應用功效。
安全 • 在討論過 Cisco IOS 防火牆, 以及使用 CLI 設定存取清單組態之後, 我們要展示如何使用 Cisco 的安全裝置管理員 (Security Device Manager, SDM) 來做這件事, 您會發現它是多麼得容易。 • 虛擬私密網路 (Virtual Private Network, VPN) 可能是您企業安全的重要一環, 不過我們會將它留待第 14 章中討論。
10 - 1 外圍、防火牆、和內部路由器 • 在中到大型網路中, 安全性的各種策略取決於內部和外圍路由器, 再加上防火牆設備的組合方式。 • 內部路由器藉由過濾通往受保護企業網路各個部份的交通, 以提供額外的安全性 - 它們透過存取清單來達成這個目的。 • 從圖 10.1 可以看到這些裝置的位置。
外圍、防火牆、和內部路由器 • 本章跟第 11 章都會使用到受信任網路 (trusted network) 和不受信任網路 (untrusted network) 這兩個術語, 所以您必須瞭解在典型受安全保護的網路 (secured network) 中, 它們會在哪裡。 • 非軍事區 (DeMilitarized Zone, DMZ) 可能是全域 (真實) 網際網路位址或私有位址, 取決於您如何設定防火牆。 • 但是通常您可以在這個區域看到 HTTP、DNS、電子郵件、和其他網際網路相關的企業伺服器。
外圍、防火牆、和內部路由器 • 除了路由器之外, 我們也可能會在內部受信任網路中使用虛擬區域網路 (VLAN)。 • 多層式交換器包含有自己的安全性功能, 有時候也會取代內部 (LAN) 路由器, 在 VLAN 架構中提供較高的效能。 • 現在讓我們來討論在典型受安全保護的互連網路中所面對的安全性威脅。 • 接著, 提供一些使用 Cisco IOS 防火牆功能集和存取清單來保護互連網路的方法。
10 - 2 辨識安全性威脅 • 各式安全性攻擊的複雜度和威脅程度差異非常大, 有些甚至是因為使用者的無知 (WUI, witless user ignorance) 而發生的。 • (這個術語並不是考試目標之一, 但是它發生的次數遠大於您的想像)。 • 您知道的, 問題都是出在規劃, 或者說, 出在沒有規劃。 • 基本上, 今日的網際網路會成為這麼重要的工具, 完全不在當初那些創立者的想像之中。
辨識安全性威脅 • 這是為什麼現在安全性會成為這麼一個大問題的主要原因 - 大多數 IP 的實作在本質上就是不安全的。 • 不過不要擔心, 因為 Cisco 的袖裡乾坤可以協助我門處理這些問題。 • 但首先, 讓我們先檢視一些常見的攻擊概況: • 應用層攻擊這些攻擊通常鎖定在伺服器上執行之軟體的已知漏洞。 • 最受歡迎的目標包括 FTP、sendmail、和 HTTP。
辨識安全性威脅 • 因為授與這些帳號的權限通常都比較高, 所以壞傢伙就會存取並利用執行這些應用的機器。 • Autorooter 您可以把它視為是某種駭客的自動化。 • 壞傢伙使用稱為工具組 (toolkit) 的某些東西來探測、掃描、然後捕捉在具有策略性位置之電腦上的資料 - 這種電腦讓他們得以觀察整個系統 - 完全自動! • 後門這些只是通往電腦或網路的路徑。
辨識安全性威脅 • 透過簡單的入侵或更精巧的「特洛伊木馬」程式碼, 壞傢伙就可以在任何時間使用他們植入的路徑來入侵特定的主機或網路 - 直到您偵測到並阻止他們為止。 • 服務阻絕 (Denial of Service, DoS) 和分散式服務阻絕 (Distributed Denial of Service, DDoS) 攻擊這些攻擊不但壞, 而且很難擺脫! • 但即使是駭客也不尊敬那些執行這種攻擊的駭客, 因為它們雖然討厭, 但是很容易做到 (這表示十來歲的孩子就可以讓您頭痛, 而這真的很不對)。
辨識安全性威脅 • 基本上, 它是藉由將提供正常服務的系統塞爆, 而讓其他人無法取得服務。 • 它有幾種不同的做法: • TCP SYN flood始於客戶端要開啟一個看似平常的 TCP 連線, 並且傳送 SYN 訊息給伺服器。 • 伺服器會回覆 SYN-ACK 訊息給客戶端主機, 並且等它傳回 ACK 訊息以建立連線。 • 聽起來不錯, 但是它就停在這個過程的中間 - 在連線只開啟一半的時候 - 讓受害者的主機被大量開啟一半的連線塞爆而癱瘓。
辨識安全性威脅 • 「Ping of death」攻擊您可能知道 TCP / IP 的最大封包長度為 65, 536 個位元組。 • 如果您不知道也沒關係 - 只要瞭解這個攻擊就是透過使用超出長度的封包來執行 ping, 造成設備不斷地重新開機、暫停、或是完全當掉。 • TFN (Tribe Flood Network) 和 TFN2K (Tribe Flood Network 2000)這些討厭的小數字更為複雜。 • 它們會從多個來源同步開啟 DoS 攻擊, 而且可以針對多個設備。這種攻擊部分是靠所謂的「IP 仿冒」(IP spoofing) 來達成, 稍後就會討論。
辨識安全性威脅 • Stacheldraht 這種攻擊其實是各種方法的混合, 並且是從德文中的有刺鐵絲網得名。它基本上包含 TFN, 並且加上少量的加密。 • 它的攻擊分好幾層, 從最原始的起點層開始大量的入侵, 最後再以 DoS 攻擊收場。 • IP 仿冒 (IP spoofing)這種攻擊就像它的名稱一樣, 壞傢伙從網路內部或外部偽裝成受信任的主機。 • 透過兩種方式的其中一種進行:利用內部受信任網路位址範圍內的 IP 位址, 或是使用經過審核、受信任的外部 IP 位址。
辨識安全性威脅 • 因為駭客的真實身分是掩護在偽造的位址之後, 所以通常這只是問題的開端。 • 中間人式攻擊 (Man-in-the-middle attack)攔截!但這可不是足球, 而是您網路的封包 - 珍貴的資料!嫌疑犯常常是您的 ISP 的某個員工。 • 這是使用稱為網路分析器 (sniffer) 的工具, 再搭配遶送和傳輸協定來做的。 • 網路偵查 (network reconnaissance)在入侵網路時, 駭客通常會蒐集所有可能的資訊, 因為他們對網路知道的越多, 就越能破解它。
辨識安全性威脅 • 他們會透過像埠號掃描、DNS 查詢、和 ping 掃射 (ping sweep) 等方法來達成這個目的。 • 封包分析器 (packet sniffer)這是前面所提到的工具, 您可能會很驚訝, 它其實是個軟體。 • 它的運作方式如下 - 將網路界面卡設為無目的模式 (promiscuous mode), 讓它把所有經過網路實體層的封包都傳送給一個特殊應用來檢視和挑選。 • 封包分析器可以抓到一些很有價值的敏感資料, 包括密碼和使用者名稱等等, 使得它們成為身分竊盜的最愛。
辨識安全性威脅 • 密碼攻擊這有許多做法, 而雖然它們可以透過像 IP 偽造、封包分析、和特洛伊木馬等更複雜的攻擊達成。 • 但是它們的唯一目標就是 - 找到使用者的密碼, 以便偽裝成有效的使用者, 然後取得使用者的權限和資源。 • 暴力法攻擊 (brute force attack)這是另一種軟體導向的攻擊, 利用在目標網路上執行的程式, 嘗試登入到某些共享的網路資源 (例如伺服器)。
辨識安全性威脅 • 對駭客而言, 最理想的狀況是存取到擁有很多權限的帳號, 因為這樣他就可以建立後門以便稍後可以再度去光臨, 並且完全不需要密碼。 • 通訊埠重導攻擊 (port redirection attack)這個方法需要駭客先入侵一台主機, 以取得穿越防火牆的錯誤交通 (正常情況下應該不能通過)。 • 特洛伊木馬攻擊和病毒這兩種其實很相似 - 特洛伊木馬和病毒都會使用惡意程式碼來感染使用者的機器, 並且造成不同程度的癱瘓、損害、甚至掛掉!
辨識安全性威脅 • 但是它們的確有所不同 - 病毒其實只是附加到 command.com 的惡意程式, 而 command.com 又剛好是所有 Windows 系統的主要解譯程式。 • 然後病毒就會瘋狂地執行, 刪除檔案, 並且感染它在已經生病的機器上找到的所有執行中檔案。 • 但特洛伊木馬則是包裝在程式碼中的完整應用 - 藉由那些程式碼讓它看起來像是完全不同的東西, 例如看似簡單無辜的遊戲 - 然後內藏惡劣的破壞性實作。
辨識安全性威脅 • 利用信任攻擊 (trust exploitation attack)發生在有人利用網路內的信任關係的時候。 • 例如企業的外圍網路連線通常會掩護重要的東西, 例如 SMTP、DNS、和 HTTP 伺服器, 因為這些伺服器都在相同的網段上, 所以其實非常脆弱。 • 老實說, 我們並不打算詳細說明如何降低這些安全威脅。 • 一方面是這些不是本書的範圍, 另一方面, 後面所要介紹的方法通常可以對這些攻擊提供真正的防護。
辨識安全性威脅 • 您會學到足夠的技巧可以讓絕大多數的壞傢伙知難而退, 並且尋找其他更容易下手的對象。 • 因此, 基本上本章是要討論如何實施「安全的網路」。
10 - 3 減輕安全性威脅 • 嗯 ~ 我們應該用甚麼解決方案來減輕安全性威脅呢?來自 Juniper、McAfee、或是其他的防火牆產品嗎? • 其實, 或許我們應該使用來自 Cisco 的東西。 • Cisco 有一項非常酷的產品叫做 ASA (Adaptive Security Appliance)。 • 但是這裡面有一兩個小問題 - 首先, 它是個相當貴的小寶貝, 且其成本取決於您所選擇的模組 (例如入侵防護)。
減輕安全性威脅 • 其次, ASA 其實不在本書的範圍之內。只是筆者個人認為這是目前市面上的最佳產品 - 它真的很棒! • Cisco IOS 軟體大約運行在超過 80% 的網際網路骨幹路由器之上;它可能是網路基礎建設中最關鍵的部分。 • 所以讓我們使用 Cisco IOS 以軟體為基礎的安全性功能, 稱為 Cisco IOS 防火牆功能集, 來做為端點對端點網際網路、企業內網路、和遠端存取網路的安全性方案。
減輕安全性威脅 • 這是個很好的想法, 因為 Cisco ACL 在減輕許多常見威脅方面, 是相當有效率的工具。 • 如果您剛好開始要研讀 CCNA 認證, 就必須比本章其他主題更紮實地瞭解 ACL 的運作方式!
Cisco 的 IOS 防火牆 • 下面我們要找出如何使用 Cisco IOS 防火牆功能, 來減輕前面列出的一些常見的威脅: • 狀態式 (stateful) IOS 防火牆檢查引擎這是外圍防護功能, 因為它是以個別應用為基礎, 提供內部使用者安全的存取控制。 • 人們通常稱之為情境式存取控制 (Context-Based Access Control, CBAC)。 • 入侵偵測封包的深層檢查工具, 可以參考 102 種最常見的攻擊和入侵偵測特徵, 以即時監督、攔截、和回應濫用的情況。
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, 在想要存取網路資源的時候進行驗證。
Cisco 的 IOS 防火牆 • 它能自動地從 RADIUS 或 TRACACS + 伺服器上取得使用者的個人網路存取明細, 並根據它來驗證。 • 目的 URL 的政策管理功能自助餐, 通常稱為 URL 過濾。 • 個別使用者防火牆這些基本上是個人化、可下載的特定使用者防火牆 - 可以透過服務供應商取得。 • 您也可以透過 AAA 伺服器的資料檔儲存庫 (profile storage) 來取得個人化的 ACL 和其他設定。
Cisco 的 IOS 防火牆 • Cisco IOS 路由器和防火牆配置 (provisioning)可以進行零接觸 (no-touch) 的路由器配置、版本更新、和安全政策。 • 服務阻絕的偵測和預防檢查封包標頭, 並且丟棄所有可疑的封包。 • 動態埠號對應一種轉接功能, 讓防火牆所支援的應用可以在非標準埠號上運作。 • Java applet 阻擋功能防止任何陌生而無法辨識的 Java applet。
基本和進階的交通過濾 • 您可以在 Cisco 的 IOS 防火牆中使用標準的和延伸的 ACL, 甚至像鎖鑰式 (Lock-and-Key) 交通過濾等動態的 ACL。 • 而且您可以將存取控制應用在任何的網段。 • 此外, 您還可以指定可通過任意網段的交通類型。 • 以政策為基礎、多界面的支援讓您能根據安全政策, 透過 IP 位址和界面來控制使用者的存取。
基本和進階的交通過濾 • 網路位址轉換 (Network Address Translation, NAT)對外界隱藏內部網路以增加安全性。 • 以時間為基礎的存取清單根據每天的特定時段和每週的特定日子來決定安全政策。 • 對等路由器的驗證保證路由器能從受信任的真正來源取得可靠的遶送資訊 (要這樣做, 您需要有支援驗證的遶送協定, 例如 RIPv2、EIGRP 或 OSPF)。
基本和進階的交通過濾 • 在簡短說明安全性威脅、Cisco IOS 防火牆相關功能、和如何使用這個軟體來取得效益之後, 現在讓我們更深入瞭解存取清單的世界, 以及 ACL 如何減輕安全性威脅。 • 它們真的是威力強大的工具, 所以一定要用心喔!
10 - 4 存取清單簡介 • 存取清單 (access list) 其實就是一個對封包進行分類的條件清單, 當您需要控制網路交通時, 他們可能非常有幫助。 • 存取清單將會是供您選擇用來進行決策的工具。 • 存取清單最常見、也最容易瞭解的用途之一就是用來實作安全政策時, 過濾不想要的封包。 • 例如, 您可以設置清單來管控交通模式, 使得只有特定主機可以存取網際網路的 WWW 資源, 而其他的主機則受到限制。
存取清單簡介 • 藉由正確地組合存取清單, 網管人員有足夠的武器可以強制大部分他們所能想到的安全政策。 • 存取清單甚至可用在其他不須牽涉到阻絕封包的情況。 • 例如, 您可利用他們來控制動態遶送協定會宣傳那些網路, 而設定存取清單的方式是一樣的, 不一樣的地方只是這些清單要應用在何處 - 應用到遶送協定, 而非界面上。
存取清單簡介 • 當您以這種方法應用存取清單時, 它就稱為分送清單 (distribute list), 它不會停止遶送宣傳, 只是會控制他們的內容罷了。 • 您也可以用存取清單對封包分類, 以進行排隊 (queuing) 或 QOS 之類的服務, 或者控制那些類的交通可啟動昂貴的 ISDN 鏈路。 • 產生存取清單真的非常像程式設計中一連串的 if-then 敘述 - 如果符合給定的條件, 就採取特定的動作。
存取清單簡介 • 如果不符合特定的條件, 任何事都不會發生, 而是繼續評估下個敘述。 • 存取清單敘述基本上是封包過濾器, 根據它來對封包進行比對、分類, 然後做動作。 • 一旦建好清單, 可應用在任何界面上進入或離開方向的交通。 • 應用存取清單會使路由器分析以特定方向通過界面的每個封包, 並採取適當的動作。 • 比對封包與存取清單時, 必須遵循幾個重要的規則。
存取清單簡介 • 總是循序地比對存取清單的每一列 - 也就是說總是從存取清單的第 1 列開始, 然後比對第 2 列, 然後第 3 列, 依此類推。 • 不斷地比對存取清單, 直到符合為止。一旦封包符合存取清單上某列的條件, 就會對封包起作用, 並且不再進行任何比對。 • 每個存取清單的結尾都會有一列隱含的 "拒絕" - 這表示如果封包無法符合存取清單中任何一列的條件, 則會被丟掉。 • 以存取清單過濾 IP 封包時, 這些規則的每一條都蘊含很強的意義。
存取清單簡介 • 所以記住, 若要建立有效的存取清單, 真的要不斷地練習。 • 存取清單主要有 2 種: • 標準式存取清單 (standard access list)這些只使用 IP 封包中的來源 IP 位址當作檢驗條件, 所有決定都是根據來源 IP 位址進行的。 • 這表示標準式存取清單基本上允許或拒絕整組的協定, 他們無法分辨 IP 交通的類型, 例如 WWW、Telnet、UDP 等等。
存取清單簡介 • 延伸式存取清單 (extended access list)延伸式存取清單可以比對 IP 封包之第 3 層與第 4 層標頭中的許多其他欄位。 • 他們可以比對網路層標頭中的來源與目的 IP 位址與協定欄位, 以及傳輸層標頭中的埠號。 • 這使得延伸式存取清單有能力在控制交通時進行更細緻的決策。 • 名稱式存取清單 (named access list)嘿!等一下 - 我們剛才不是說存取清單的種類有 2 種嗎, 怎麼跑出第 3 種!
存取清單簡介 • 是的, 技術上其實只有 2 種, 因為名稱式存取清單可以是標準式或延伸式的, 並不真的是新類型。 • 只因為他們的產生與參考方式與標準或延伸式存取清單不同, 所以我們就加以區別。但其實他們的功能是一樣的。 • 一旦產生存取清單之後, 除非加以應用, 否則不會有任何作用。 • 是的, 他們是在路由器上, 但除非您告訴路由器要利用他們來作什麼, 否則他們是沒有作用的。
存取清單簡介 • 若要利用存取清單來當交通過濾器, 必須將存取清單應用在路由器的界面上, 也就是想要過濾交通的地方, 而且必須明確指定出存取清單要應用在那個方向的交通。 • 有個很好的理由要如此做 - 您可能希望對於從您的企業往網際網路的交通, 以及從網際網路進入您企業的交通,進行不一樣的控制。 • 因此, 藉由設定交通的方向, 您可能 - 而且經常會如此需要 - 得為一個界面上的進入與離開方向的交通分別使用不同的存取清單。
存取清單簡介 • 進入的存取清單 (Inbound access list)當存取清單應用在界面上的進入封包時, 那些封包在遶送給離開界面之前, 要先經過存取清單的處理。 • 任何被拒絕的封包就不會被遶送, 因為他們在呼叫遶送程序之前就被丟掉了。 • 離開的存取清單 (outbound access list)當存取清單應用在界面上的離開封包時, 那些封包要先遶送到離開界面, 然後在儲存於佇列之前得先經過存取清單的處理。
存取清單簡介 • 在路由器上產生與實作存取清單時, 應該要遵循一些通用的存取清單指引: • 每個界面的每個協定的每個方向只能指定一個存取清單。 • 這表示在產生 IP 存取清單時, 每個界面只能有一個進入的存取清單與一個離開的存取清單。 • 安排您的存取清單, 使得比較明確的核對會出現在存取清單的頂端。 • 任何時候規則被新增到存取清單時, 會被放在清單的底部。
存取清單簡介 • 強烈建議您使用文字編輯器來編輯存取清單。 • 您無法從存取清單中移除一列, 如果您試著如此做, 就會移除整個清單。 • 所以最好是在編輯清單之前, 先將存取清單拷貝到文字編輯器中。唯一的例外是使用名稱式存取清單。 • 除非您的存取清單以 permit any命令當結尾, 否則封包如果沒有符合清單的任何條件, 就會被丟棄。
存取清單簡介 • 每個清單至少應該有一個 permit敘述, 否則會拒絕所有的交通。 • 產生存取清單, 然後應用至界面上。存取清單如果沒有應用在任何界面上, 根本就不會起作用。 • 存取清單的設計是要過濾經過路由器的交通, 他們不會過濾那些從路由器發起的交通。 • 儘可能地將 IP 標準式存取清單配置在靠近目的地的地方, 這就是我們真的不是很想要在網路中使用標準式存取清單的原因。
存取清單簡介 • 您不能將標準式存取清單放在靠近來源主機或網路的地方, 因為您只能根據來源位址去過濾, 這樣就沒有任何封包會被轉送。 • 儘可能地將 IP 延伸式存取清單配置在靠近來源的地方。 • 因為延伸式存取清單可過濾每個特定的位址與協定, 您並不想要讓您的交通流經整個網路, 然後再被拒絕。