利用 Firewall Insights 確保您的防火牆規則安全、嚴謹又有效率!

企業防火牆通常包含大量的規則設定,這些規則會隨著時間推移、工作負載的增加而逐漸積。當規則像這樣零零碎碎地堆積在一起時,久了就會出現配置錯誤的問題,為安全管理員帶來麻煩,更糟的情況下,甚至會導致安全漏洞。

為解決此問題,Google Cloud 的 Network Intelligence Center 就推出了 Firewall Insights 模組,它提供了控制台讓用戶管理 Google Cloud 。閱讀全文了解更多。

簡介 Firewall Insights 與兩大報表

一直以來,IT 維運人員都缺乏簡單的方法處理複雜的防火牆規則。Google Cloud 的 Firewall Insights 就有效解決此一問題!Firewall Insights 是 Network Intelligence Center 中的核心元件之一,該工具提供指標報告 (metrics reports) 以及洞察報告 (insight reports) 。這 2 個報告會涵蓋有關防火牆使用情況以及各種防火牆規則對 VPC 網路的影響的資訊。更好的是,這些見解和指標已整合至您在 GCP Console 的 VPC 防火牆中,也提供了 API 形式供用戶取用。

您可以使用 metrics reports 來驗證防火牆規則是否已正確並按預期使用。該報告可以發現過去創建但未被積極使用的規則,檢查防火牆規則是否允許或拒絕預期的意圖,對斷開的連接進行即時偵錯,並利用Cloud Monitoring偵測惡意嘗試訪問您的網路。

Insight reports 則是用來識別防火牆配置錯誤、檢測安全攻擊,並優化加強安全規則。

下文將針對這 2 個報告做更深入的說明。

如何防範潛在的惡意流量攻擊?點此免費下載 DDoS 攻防白皮書

一、深入探討:Metrics Report

Metrics Report 會追蹤像是:防火牆的 hit count 次數、上次使用等指標,藉此分析您的 VPC 防火牆使用情況。讓我們舉一個例子介紹:

點選 VPC 網路並點擊 Firewall 時,請確保在篩選器勾選 Logs、Hit count、Last hit:

圖 1:VPC Firewall 篩選器勾選選項 (Source: Google Cloud)
圖 1:VPC Firewall 篩選器勾選選項 (Source: Google Cloud)

啟用此功能後,現在您應該能夠看到有 hit count 和 last hit 指標的 VPC 防火牆規則。如下圖,您可以看到,如果未為規則啟用記錄,則不會收集 hit count 和 last hit。啟用記錄後,則開始收集這些詳細訊息,並顯示在 VPC firewalls 控制台中。

圖 2:有 hit count、last hit 和 logs 的 VPC 防火牆規則  (Source: Google Cloud)
圖 2:有 hit count、last hit 和 logs 的 VPC 防火牆規則 (Source: Google Cloud)

如上圖 2 所示,每個啟用了 log 的防火牆規則都將顯示 hit count,因此根據以上的範例,規則 “uc1-db4-deny-http” 被紀錄 109,154 次,最後一次是 2021-03-10 (13:10:00)。如果您想進一步深入,可以點擊 hit count,就能前往 Logs Viewer 頁面,您可以在其中展開這些 log 並分析所有詳細訊息:

圖 3:Logs viewer 頁面  (Source: Google Cloud)
圖 3:Logs viewer 頁面 (Source: Google Cloud)

為了啟用特定防火牆規則的 log,您可以對其進行編輯並將 log 打開。預設情況下,metadata 會被加到 firewall log 中。 如果要減少記錄大小,可以通過排除 additional fields 來實現(如圖 4)。排除這些 metadata 不會影響防火牆洞察的功能。

圖 4:為 VPC 防火牆規則啟用 logs 和寫入 metadata (Source: Google Cloud)
圖 4:為 VPC 防火牆規則啟用 logs 和寫入 metadata (Source: Google Cloud)

在 Firewall 頁面上,您還可以選取防火牆規則,然後一次啟用所有 log。

防火牆規則的使用指標,僅在啟用防火牆規則 log 的時間段內是正確的。

二、深入探討:Insights Report

Insights Report 提供了對防火牆配置的智能分析。一份報告可以包含一個或多個 insights。

我們來看幾個不同洞察報告的範例,其中包括:

  • 被覆蓋的防火牆規則
  • 在過去六週內,沒有命中的允許規則 (allow rules with no hit)
  • 在過去 24 小時內,有命中的拒絕規則 (deny rules with hits)

以下,我們將一一講解這三項洞察與其用途。

1. 被覆蓋的防火牆規則

根據定義,「被覆蓋規則 (shadowed rule)」會完全被一個或多個優先級更高或相等的防火牆規則(稱其為「覆蓋規則 (shadowing rule)」)所覆蓋。我們來看一個有關如何找到被覆蓋規則的範例。

假設您嘗試在兩個 VM 之間使用 ping,但操作失敗了。 讓我們看一下應用於 VM 的防火牆規則:

圖 5:在 VM 上強制執行的防火牆規則 (Source: Google Cloud)
圖 5:在 VM 上強制執行的防火牆規則 (Source: Google Cloud)

如果我們仔細觀察,我們會發現有 2 個具有相同 target tag 的規則,除了來源 IP 範圍外,它們幾乎相同。「拒絕規則 “uc1-app2-deny-all”」的 IP 範圍包含了「允許規則 “uc1-app2-allow-app1”」的 IP 範圍。因此,我們可以看到 “uc1-app2-allow-app1” 被 “uc1-app2-deny-all” 覆蓋,導致這些 VM 之間的 ping 失敗。

為避免將來發生此類事件,Firewall Insights 為您提供了一個方便的規則列表,查看防火牆的覆蓋 / 被覆蓋規則。

要查看覆蓋 / 被覆蓋規則,您可以點欄位篩選器,將 “Insights” 加到防火牆和路由詳細訊息(如圖 6):

圖 6:為此 VM 防火牆規則增加 Insights (Source: Google Cloud)
圖 6:為此 VM 防火牆規則增加 Insights (Source: Google Cloud)

套用此選項後,您將能夠在此處看到被覆蓋的規則(如圖 7):

圖 7:此 VM 防火牆規則的 Insights (Source: Google Cloud)
圖 7:此 VM 防火牆規則的 Insights (Source: Google Cloud)

或者,您可以到 Network Intelligence > Firewall Insights,就能看到被覆蓋規則的報表(如圖 8):

圖 8 - 被覆蓋規則 (Source: Google Cloud)
圖 8 – 被覆蓋規則 (Source: Google Cloud)

點擊就能獲得更多詳細資訊(如圖 9):

圖 9:被覆蓋規則的詳細訊息 (Source: Google Cloud)
圖 9:被覆蓋規則的詳細訊息 (Source: Google Cloud)

回到 Firewall Insights 頁面(圖 8),我們還可以發現 “uc1-db4-allow-app3” 被兩個規則的組合所覆蓋,如果我們點 insight,這邊就會提供所有詳細資訊。

2. 沒有命中的允許規則 (allow rules with no hit)

在 Firewall Insights 儀表板中,我們接著來看「沒有命中的允許規則 (allow rules with no hit)」我們可以看到過去 6 週內沒有記錄到任何 hit 的防火牆規則。此類規則可能是由於配置錯誤或在早期的部署中遺留的規則造成的。您可以藉由識別並刪除此類規則,來更精確您的安全範圍。如果我們返回 Network Intelligence > Firewall Insights,我們可以看到 allow rules with no hit(如圖 10):

圖 10 - 在 Firewall Insights 查看 Allow rules with no hit (Source: Google Cloud)
圖 10 – 在 Firewall Insights 查看 Allow rules with no hit (Source: Google Cloud)

我們可以深入查看未命中的完整規則列表。例如,我們可以看到其中一個規則,底部的 “uc2-app1-allow-internet”,可能是過去的部署中允許訪問網際網路的剩餘規則,這意味著它在未來可能被存取。因此,您可能需要考慮將其從規則中刪除:

圖 11:Allow rules with no hit 詳細資訊 (Source: Google Cloud)
圖 11:Allow rules with no hit 詳細資訊 (Source: Google Cloud)

點擊防火牆規則以查看所有詳細訊息,並查看這邊做出的預測。

圖 12:Allow rules with no hit 詳細資訊 (Source: Google Cloud)
圖 12:Allow rules with no hit 詳細資訊 (Source: Google Cloud)

3. 有命中的拒絕規則 (deny rules with hits)

讓我們回到 Firewall Insights 儀表板並看到最後一個類別「在過去 24 小時內,有命中的拒絕規則 (deny rules with hits)」,它可以幫助您抓到那些因為規則而被擋掉的流量。這些流量類型可能表示對您的 VPC 網路的外部攻擊,或已遭攻擊的 VM 試圖將流量發送出您的網路。我們來檢查防火牆規則的未來命中預測。前往 Network Intelligence > Firewall Insights 並查看 deny rules with hits:

圖 13:在 Firewall Insights 查看 Deny rules with hits (Source: Google Cloud)
圖 13:在 Firewall Insights 查看 Deny rules with hits (Source: Google Cloud)

如果您點擊 “uc4-web-deny-web” 規則,就可以看到命中數監控,如果您點擊 hit 數,我們可以更深入地查看 log:

圖 14:Deny rules with hits 詳細資訊 (Source: Google Cloud)
圖 14:Deny rules with hits 詳細資訊 (Source: Google Cloud)
圖 15:查看 Logs viewer 中的 Deny rules with hits (Source: Google Cloud)
圖 15:查看 Logs viewer 中的 Deny rules with hits (Source: Google Cloud)

以上這些範例,應該能幫助您有效地利用 Firewall Insights 更有效控制大量防火牆規則集。自動檢測被覆蓋的防火牆規則、快速排除錯誤配置的規則、輕鬆查明隱藏在規則集中的過度授權規則,並檢視被防火牆規則拒絕的流量。

想了解有關 Firewall Insights 的更多訊息,請參閱這份 Google 文件。也歡迎聯繫 iKala Cloud 了解如何強化您的網路安全機制!

 

(本文翻譯改編自 Google Cloud。)


連絡「GCP 專門家」