1. 程式人生 > >教程篇(6.0) 10. 入侵防禦和拒絕服務攻擊 ❀ 飛塔 (Fortinet) 網路安全專家 NSE4

教程篇(6.0) 10. 入侵防禦和拒絕服務攻擊 ❀ 飛塔 (Fortinet) 網路安全專家 NSE4

在這節課中,你將學習如何使用FortiGate來保護你的網路免受入侵和拒絕服務攻擊。

在本次課程中,你將探討以下主題:

  • 入侵防禦系統
  • 拒絕服務攻擊
  • Web應用防火牆
  • 最佳實踐
  • 故障排查

在完成本節之後,你應該能夠:

  • 區分漏洞利用和異常
  • 識別一個IPS包的不同元件
  • 管理FortiGuard IPS 更新
  • 選擇一個適當的IPS簽名資料庫
  • 配置一個IPS感測器
  • 識別IPS感測器檢測序列
  • 將IPS應用到網路流量

  通過演示IPS的能力,你應該能夠實現一個有效的IPS解決方案來保護你的網路不受入侵。

組織受到持續的攻擊。網路犯罪分子,由於之前成功的高調黑客攻擊和利潤豐厚的竊取資料的黑市,繼續增加他們對組織的攻擊的數量和複雜性。許多組織鼓勵BYOD和靈活的工作環境,這導致了任何時間、任何地方的資料消耗的爆炸式增長。這種消費增加了敏感資料將暴露在公司邊界之外的未經授權的訪問的風險。

  今天的威脅環境要求IPS能夠阻止更廣泛的威脅,同時儘量減少誤報。

理解異常和利用之間的區別是很重要的。同樣重要的是要知道哪些FortiGate可以保護這些型別的威脅。

  漏洞是已知的攻擊,已知的模式可以通過IPS、WAF或反病毒簽名來匹配。

  異常是網路中的異常行為,例如高於通常的CPU使用率或網路流量。異常必須被檢測和監測(在某些情況下,被阻斷或減輕),因為它們可能是一種新的、從未發生過的攻擊的症狀。異常通常通過行為分析得到更好的檢測,例如基於率的IPS簽名、DoS策略和協議約束檢查。

在FortiGate上的IPS使用簽名資料庫來檢測已知的攻擊。協議解碼器也可以檢測網路錯誤和協議異常。

  IPS引擎負責本課程中所展示的大部分特性:IPS和協議解碼器。它還負責應用控制、基於流的反病毒保護、網路過濾、電子郵件過濾和在單臂嗅探模式中基於流的DLP。

IPS引擎如何確定一個數據包是否包含攻擊或異常?

  協議解碼器根據協議規範對每個包進行解析。一些協議解碼器需要一個規範埠號(在CLI中配置),但是通常,協議是自動檢測到的。如果流量不符合規範——例如,如果它向您的伺服器傳送畸形或無效的命令——那麼協議解碼器就會檢測到錯誤。

預設情況下,在每個FortiGate的韌體版本中都包含了一組初始的IPS簽名。FortiGuard用新的簽名更新IPS簽名資料庫。這樣,IPS仍然可以有效地防止新的攻擊。除非協議規範或RFC更改(通常不會經常發生),否則協議解碼器很少更新。IPS引擎本身的變化更頻繁,但仍然不經常。

  FortiGuard IPS服務最常更新IPS簽名。FortiGuard研究小組確認並建立新的簽名,就像反病毒簽名一樣。所以,如果你的防禦服務合同到期,你仍然可以使用IPS。然而,就像反病毒掃描一樣,IPS掃描在你的簽名未更新的時間越長,就會變得越來越無效——舊的簽名不會防禦新的攻擊。

IPS簽名資料庫被劃分為常規和擴充套件的資料庫。常規的簽名資料庫包含用於常見攻擊的簽名,其簽名會導致罕見的或沒有假陽性。它是一個更小的資料庫,它的預設操作是阻止檢測到的攻擊。 

  擴充套件的簽名資料庫包含額外的簽名,用於攻擊,這些攻擊會造成顯著的效能影響,或者由於其性質而不支援阻 止。事實上,由於它的大小,擴充套件的資料庫對於帶有較小磁碟或RAM的FortiGate型號來說是不可用的。但是,對於高安全性的網路,你可能需要啟用擴充套件簽名資料庫。

在FortiGate下載了一個FortiGuard的IPS包之後,新的簽名出現在簽名列表中。在配置FortiGate時,您可以為使用簽名的每個感測器更改Action設定。

  預設的動作設定通常是正確的,除了以下情況:

  • 你的軟體供應商將釋出一個安全補丁。繼續掃描漏洞將會浪費FortiGate的資源。
  • 你的網路有一個帶有流量的自定義應用程式,無意中觸發IPS簽名。您可以禁用設定,直到您通知Fortinet,以便FortiGuard團隊可以修改簽名以避免誤報。

有兩種方法可以將預定義的簽名新增到IPS感測器中。一種方法是單獨選擇簽名。當你在列表中選擇一個簽名之後,該簽名將被新增到感測器中,並帶有預設動作。然後,你可以右鍵單擊簽名並改變動作。

  在感測器中添加簽名的第二種方法是使用過濾器。FortiGate將新增與過濾器匹配的所有簽名。

當在配置的時間段內超過閾值時,你還可以新增基於率的簽名來阻止特定的流量。你應該只對實際使用的協議應用基於率的簽名。然後,配置Block Duration ,以阻止惡意客戶的擴充套件。這樣可以節省系統資源,並且可以阻止重複攻擊。在臨時封鎖的時候,FortiGate不會跟蹤那個客戶的統計資料。

當IPS引擎將流量與每個過濾器中的簽名進行比較時,順序很重要。這些規則類似於防火牆策略匹配:引擎首 先對列表頂部的過濾器進行評估,並應用第一個匹配。引擎跳過後續的過濾器。

  因此,在列表的頂部放置最可能匹配的過濾器或簽名。避免使用太多的過濾器,因為這增加了評估和CPU的使 用。另外,避免在每個過濾器中建立非常大的簽名組,從而增加RAM的使用。

  如果出現假陽性的爆發,你可以將觸發的簽名新增為單獨的簽名,並設定動作為Monitor。這將允許你使用IPS日誌監視簽名事件,同時調查假陽性問題。

有時,有必要從特定的簽名中豁免特定的源或目地IP地址。該特性在假陽性暴發期間是有用的。你可以暫時繞過受影響的端點,直到您調查並糾正假陽性問題。

  你僅可以對單個簽名配置IP豁免權。每個簽名都可以有多個豁免。

在你選擇要新增的過濾器或簽名之後,右鍵單擊過濾器或簽名,然後選擇動作。

  選擇Pass以允許流量繼續到達它的目的地。選擇Monitor,以允許流量繼續到其目的地並記錄活動。選擇 Block以靜默地刪除與過濾器中包含的任何簽名相匹配的流量。每當觸發簽名時,選擇Reset來生成TCP RST 資料包。

  Quarantine允許你在一個固定的時間內隔離攻擊者的IP地址。你可以將隔離時間設定為任何天數、小時或分鐘。

  如果您選擇了Packet Logging,FortiGate儲存與簽名相匹配的資料包的副本。

要應用一個IPS感測器,你必須啟用IPS,然後在防火牆策略中選擇感測器。預設情況下,FortiGate會記錄所有安全事件。這意味著您可以看到任何被IPS阻止的流量。

  如果你認為某些流量應該被阻止,但是正在通過策略,你應該將Log Allowed Traffic 更改為All Sessions。 這將記錄由防火牆策略處理的所有流量,而不只是安全配置檔案阻止的流量。這可以幫助你識別錯誤的負面事件。

如果你允許安全事件在應用IPS的防火牆策略中記錄,那麼你可以通過單擊Log & Report > Intrusion Prevention來檢視IPS事件,防止入侵。Intrusion Prevention 日誌菜單隻有在FortiGate與IPS簽名相匹配時才會出現。

  你應該經常檢查IPS日誌。日誌是關於你的網路中攻擊的攻擊型別的寶貴資訊來源。這將幫助你制定行動計劃並關注特定的事件,例如,修補一個關鍵的漏洞。

 小測驗。

現在你已經瞭解了在FortiGate上的IPS。接下來,你將瞭解拒絕服務。

在完成本節之後,你應該能夠:

  • 確定DoS攻擊
  • 配置DoS策略

  通過演示在DoS中的能力,你應該能夠保護你的網路免受常見的DoS攻擊。

到目前為止,你已經瞭解了與非法命令和無效協議實現相匹配的簽名。這些都很容易被證實為攻擊。

  在客戶端和伺服器之間利用非對稱處理或頻寬的攻擊,又如何呢?

  DoS攻擊的目標是壓倒目標——消耗資源,直到目標無法響應合法的流量。有很多方法可以做到這一點。高頻寬使用只是DoS攻擊的一種型別。許多複雜的DoS攻擊,比如慢速,不需要高頻寬。

要阻止DoS攻擊,請在攻擊者和你想要保護的所有資源之間的FortiGate裝置上應用一個DoS策略。

  DoS過濾是在包處理過程的早期完成的,它是由核心處理的。

在TCP中,客戶端傳送一個SYN包來啟動連線。伺服器必須響應一個SYN/ACK資料包,並在RAM中儲存連線資訊,同時等待客戶端用ACK資料包進行確認。正常的客戶端會快速地傳送,並開始傳輸資料。但是惡意客戶 端繼續傳送更多的SYN包,半開啟更多的連線,直到伺服器的連線表變得滿為止。一旦伺服器的表滿了,它就不能接受更多的連線,並開始忽略所有的新客戶端。

  在故障排查過程中使用ICMP:裝置響應成功或錯誤訊息。然而,攻擊者可以使用ICMP來探測網路,以獲得有 效的路由和響應性的主機。通過執行ICMP掃描,攻擊者可以在製作更嚴重的攻擊之前獲得關於你的網路的資訊。

  攻擊者使用埠掃描來確定系統上哪個埠是活動的。攻擊者將TCP SYN請求傳送到不同的目的地埠。根據這些回覆,攻擊者可以映射出系統上執行的哪些服務,然後繼續利用這些服務。

DoS攻擊是來自單個地址的大量流量。它可以來自網際網路,甚至來自你的內部網路。通常,單個裝置可以進行許多連線或會話,並且可能使用大量的頻寬來連線到單個位置。這種情況的一個變體是分散式拒絕服務攻擊或DDoS攻擊。它有許多與DoS攻擊相同的特徵,但主要的區別在於,多個裝置都在同時攻擊一個目的地。

你可以將DoS保護應用到四種協議:TCP、UDP、ICMP和SCTP。而且,你可以應用四種不同型別的異常檢測協議:

  • 洪水感測器檢測到該特定協議的大量內容,或協議中的訊號。
  • 打掃/掃描檢測到探測主機的埠響應的探測嘗試,因此可能是脆弱的。
  • 源簽名尋找來自單個IP的大量流量。
  • 目的簽名尋找為單個IP傳送的大量流量。

  當你第一次實現DoS時,如果您的網路沒有一個準確的基線,請注意不要完全阻止網路服務。為了防止這種情 況發生,首先配置DoS策略來記錄日誌,而不是阻止。使用日誌,您可以分析和識別每個協議的正常和峰值級 別。然後,在應用適當的過濾時,調整閾值以允許正常的峰值。

  洪水、清掃和掃描感測器的閾值被定義為每秒會話或資料包的最大數量。源和目標感測器的閾值被定義為併發 會話。在DoS策略觸發之前,過高的閾值會耗盡您的資源。太低的閾值將導致FortiGate丟掉正常的流量。

 小測驗。

現在你已經瞭解瞭如何保護您的網路免受DoS攻擊。接下來,你將瞭解web應用程式防火牆。

在完成本節之後,你應該能夠:

  • 確定在FortiGate上的WAF的目的
  • 識別常見的web攻擊
  • 配置一個WAF配置檔案

  通過演示WAF的能力,你應該能夠應用正確的WAF檢查來保護你的網路中的伺服器。

什麼是WAF,為什麼你需要它?

  一些FortiGate的功能是為了保護客戶,而不是伺服器。例如,FortiGuard web過濾會根據伺服器的web頁面的 類別來遮蔽請求。反病毒防止客戶意外下載間諜軟體和蠕蟲。這兩種方法都不能保護伺服器免受(它不會發送 請求——它接收它們)來自惡意指令碼或SQL注入攻擊。保護web伺服器需要一種不同的方法,因為它們受到其 他型別的攻擊。這就是WAF所應用的地方。

  WAF特性僅在代理檢查模式下可用。

讓我們看一些針對web應用程式的攻擊示例。

  一種型別的攻擊稱為跨站點指令碼(XSS)。如果web應用程式沒有對其輸入進行消毒,並拒絕JavaScript,那 麼它最終會將XSS攻擊儲存在其資料庫中。然後,當其他客戶端請求重新使用該資料的頁面時,JavaScript就 會嵌入到頁面中。

  JavaScript可以用一個頁面做很多事情,包括重寫整個頁面併發出自己的請求。這是非同步JavaScript和XML (AJAX)應用程式的基本機制。在這種情況下,XSS會導致無辜的客戶端傳送到由攻擊者控制的另一臺服務 器。例如,這可以將信用卡資訊或密碼從HTTP表單傳送給攻擊者。

另一個常見的web攻擊是SQL注入。就像XSS攻擊一樣,SQL注入的根本原因是web應用程式沒有對輸入進行 消毒。如果攻擊者將SQL查詢輸入到諸如HTML表單之類的輸入中,web應用程式就會接受它,並將其傳遞給 資料庫引擎,後者會意外地執行查詢。

  SQL語言可以對資料做任何事情。例如,它可以下載使用者的表,這樣攻擊者就可以執行一個密碼破壞者。查詢可以在嘗試中為新的管理員日誌新增新的條目,或者在嘗試中修改日誌,阻止管理員登入。

WAF特徵的一個組成部分是WAF簽名。WAF簽名的工作方式與IPS簽名相同。FortiGate可以在與他們任何一 種相匹配的流量上採取行動。一些WAF簽名被歸類為擴充套件。它們更有可能導致誤報,但有時在高安全性環境中是必需的。

  HTTP約束可以監視和控制許多HTTP頭的數量、型別和長度,這也是輸入。這可以防止惡意客戶端故意的輸入, 從而破壞您的伺服器。這些限制可能因伺服器的軟體而異,但也會因其硬體而異。例如,如果一臺伺服器的 RAM有限,那麼它可能更容易超載或崩潰,因為過多的頭資訊會導致超載,因為解析標頭檔案並將它們儲存在緩 衝區中需要RAM。

  在配置WAF配置檔案之後,它將被分配給一個或多個防火牆策略。

 FortiWeb是一種特殊的WAF裝置。對於那些保護web服務至關重要的環境,你可以使用一個FortiWeb裝置來補充一FortiGate。

  FortiWeb提供了更完整的HTTP協議理解和狀態攻擊保護。它可以執行漏洞掃描和滲透測試。它還可以重寫 HTTP資料包,並基於HTTP內容路由流量。

在大多數情況下,FortiWeb都是作為獨立的裝置安裝的,通常位於FortiGate和受保護的web伺服器之間。可以在線上安裝FortiWeb(網路流量通過裝置)或離線(裝置被連線為單臂嗅探器)。

  或者,您可以配置FortiGate,將web流量轉發到外部的FortiWeb,在那裡發生WAF檢查。這是很有用的,例如, 當您需要保護位於多個站點的伺服器時,僅使用一個單獨的FortiWeb。有了這個設定,FortiGate將把所有的 web流量轉發到FortiWeb,如果流量匹配一個防火牆策略,它配置了一個WAF配置檔案,可以進行外部檢查。

  關於FortiWeb的詳細資訊,請參閱NSE 6 FortiWeb 培訓材料

 小測驗。

現在你已經瞭解瞭如何在FortiGate上使用WAF來保護你的伺服器。接下來,您將瞭解IPS最佳實踐。

在完成本節之後,你應該能夠:

  • 確定IPS實施方法
  • 為IPS檢查的流量啟用全SSL檢查
  • 識別IPS的硬體加速元件

  通過展示識別IPS實現最佳實踐的能力,你應該能夠在FortiGate上部署一個IPS解決方案,這將是高效和有效的。你還應該能夠對被檢查的流量進行全面的SSL檢查,並確定IPS的硬體加速元件。

在實現IPS之前,您必須分析您的網路的需求。在所有策略中啟用預設配置檔案將很快導致問題,其中最不重 要的是誤報。對所有網路流量進行不必要的檢查會導致資源利用率高,這可能會妨礙FortiGate處理常規流量的能力。

  你還必須評估適用的威脅。如果你的組織只執行Windows,那麼就不需要掃描Mac OS的漏洞。同樣重要的是要考慮到流量的方向。有許多IPS簽名只適用於客戶端,以及許多隻適用於伺服器的簽名。建立特定於你想要保護的資源的IPS感測器。這將確保FortiGate不會用無關的簽名掃描流量。

  最後,IPS並不是一個設定-遺忘的實施。你必須定期監視異常的流量模式,並根據你的觀察調整你的IPS配置檔案配置。你還應該定期審計你的內部資源,以確定某些漏洞是否仍然適用於你的組織。

某些漏洞只適用於加密連線。在某些情況下,如果無法解析有效負載,FortiGate無法可靠地識別威脅。出於這 個原因,如果您想從IPS和WAF特性中獲得最大的好處,你必須使用SSL檢查配置檔案。

  這張幻燈片上的示例展示了為保護伺服器的SSL檢查配置檔案的配置。當應用於入站通訊時,該策略將能夠可 靠地對加密通訊進行IPS和WAF檢查,因為FortiGate將能夠解密加密的會話並檢查資料包的所有部分。

  需要注意的是,DoS策略沒有能力分配SSL檢查配置檔案。這是因為DoS不需要SSL檢查來最大化它的探測能 力,因為它不檢查資料包的負載。DoS只檢查某些會話型別及其相關卷。

  通常情況下,需要檢查的流量,如反病毒或IPS,都是由位於FortiGate的CPU處理的。然而,在特定的 FortiGate型號上有專門的晶片可以解除安裝這些檢查任務。這釋放了CPU週期來管理其他任務,並且加速了需要安 全檢查的會話。

  支援一種名為NTurbo的功能的FortiGate型號可以將IPS處理解除安裝到NP4、NP6或SoC3處理器。如果在配置系 統全域性下可以使用命令np-accel-mode,那麼FortiGate型號就支援NTurbo。

  一些FortiGate型號也支援將IPS模式匹配解除安裝到CP8或CP9的內容處理器。如果命令cp-accel-mode在配置IPS global下可用,那麼FortiGate型號支援IPS模式匹配加速到它的CP8或CP9處理器。

​  小測驗。

​  現在你已經瞭解了在FortiGate上實現IPS的一些最佳實踐。接下來,你將瞭解IPS故障排查。

​  在完成本節之後,你應該能夠:

  • 排除FortiGuard IPS 更新故障
  • 解決IPS高CPU使用問題
  • 管理IPS開啟故障事件
  • 調查假陽性檢測

  通過演示故障排查能力,你應該能夠識別、調查和管理在FortiGate上的IPS部署的一些常見問題。

​ 在TCP埠443上,FortiGate傳送更新請求到update.fortiguard.net。您還可以配置FortiGate通過web代 理連線以進行更新。通常,連線到web代理的客戶端不會聯絡DNS伺服器來解析名稱,因為它是執行該操作的 web代理。但是,在FortiGuard的情況下,FortiGate總是需要DNS訪問,即使是通過Web代理連線。

  你應該定期檢查最新的更新時間戳。你可以在GUI中驗證它。如果有任何跡象表明IPS定義沒有更新,您應該進 行調查。一定要確保FortiGate有正確的DNS解析連線到update.fortiguard.net。如果有機會,在 FortiGate和網際網路之間有任何中間裝置,確保正確的防火牆規則允許在443埠上進行通訊。任何對這種流量 進行SSL檢查的中間裝置也會導致更新的問題。

  最後,你可以使用FortiGuard更新除錯來實時監控更新事件。

​ IPS程序的CPU使用量的短期峰值可能是由防火牆策略或配置檔案更改引起的。這些峰值通常是正常的。當 FortiGate有數百個策略和配置檔案,或者許多虛擬域時,可能會出現峰值。IPS引擎的連續高CPU使用是不正 常的,您應該對此進行調查。這裡顯示的命令,以及顯示選項可用於解決這些問題。

  如果由IPS引起的高CPU使用問題,您可以使用診斷測試應用程式IPSmonitor命令和選項5來隔離問題可能在哪 裡。選項5支援IPS旁路模式。在這種模式下,IPS引擎仍在執行,但它並沒有檢查流量。如果CPU使用率在此 之後有所下降,那麼它通常表明被檢查的流量對於該FortiGate型號來說太高了。

  如果在啟用了IPS旁路模式之後,CPU使用率仍然很高,那麼它通常會在IPS引擎中顯示出一個問題,您必須向 Fortinet的支援團隊報告。您可以使用選項2完全禁用IPS引擎。如果您希望在您完成故障排查後恢復IPS檢查, 請再次使用選項5。

  另一個需要記住的建議是:如果您需要重新啟動IPS,請使用選項99,如這張幻燈片所示。這保證了所有與IPS 相關的程序都能正確地重新啟動。

​  當IPS套接字緩衝區中沒有足夠的可用記憶體用於新資料包時,IPS就會進入失敗的開啟模式。在那個狀態下會發 生什麼取決於IPS配置。如果啟用了故障開啟設定,一些新的資料包(取決於系統負載)將在不被檢查的情況 下通過。如果它被禁用,新的資料包將被丟棄。

  經常的IPS開啟故障事件通常表明IPS無法滿足流量需求。所以,試著識別模式。最近的流量增加了嗎?吞吐量 需求增加了嗎?在白天的特定時間,是否會開啟fail open觸發器?

  調和和優化你的IPS配置。為被檢查的流量型別建立專門的IPS配置檔案,並在不需要IPS保護的策略上禁用IPS 配置檔案。

​  如果出現假陽性檢測,首先要確定是哪個簽名產生了它們。您還應該驗證流量是否達到了正確的策略和IPS傳 感器。在您驗證了這些因素之後,您應該收集流量的樣本。在簽名上使用Packet Logging操作。為FortiGuard 團隊進一步的調查提供流量樣本和匹配的IPS日誌。

​  小測驗。

​  你已經完成了這一課。現在你將回顧你在這節課所講的目標。

​  這一課涉及以下主題:

  • 管理FortiGuard IPS 更新
  • 配置一個IPS感測器
  • 將iIPS應用於網路流量
  • 確定DoS攻擊
  • 配置DoS策略
  • 識別常見的web攻擊
  • 配置一個WAF配置檔案
  • 確定IPS實施方法
  • 解決常見的IPS問題

  通過掌握本課程所涵蓋的目標,你已經獲得了配置、維護和排除你的FortiGate的IPS解決方案所需的技能和知識。