访问 700 多个实验和课程

存取防火牆並建立規則

实验 1 小时 30 分钟 universal_currency_alt 5 积分 show_chart 入门级
info 此实验可能会提供 AI 工具来支持您学习。
访问 700 多个实验和课程
「重要提醒」圖示 重要提醒:

「桌機/筆電」圖示 請務必使用桌機/筆電完成這個實作實驗室。

「勾選」圖示 每個實驗室都只有 5 次嘗試機會。

「測驗目標」圖示 提醒:第一次嘗試時,不一定能全部答對,甚至可能需要重做,這是正常的過程。

「計時器」圖示 實驗室活動開始後,計時器無法暫停。實驗室會在 1 小時 30 分鐘後結束,如果您沒做完,就必須重新開始。

「提示」圖示 您可查看實驗室技術提示瞭解詳情。

活動總覽

雲端環境中的資產必須受到保護,避免未經授權的存取行為。為解決這個問題,資安專業人員會採用邊界防護,也就是實施安全措施,保護網路或系統邊界,防範未經授權的存取行為和網路威脅。邊界防護機制的一種做法是使用防火牆,管理及保護進出雲端環境的網路流量。防火牆可保護受信任的內部網路 (例如公司私有網路),避免受到不受信任的外部網路 (例如網際網路) 攻擊。防火牆會根據預先定義的規則,檢查連入和外送網路流量,以允許或封鎖特定資料封包。這對維持應用程式安全、流量控管、法規遵循和政策執行至關重要。

在本實驗室中,您將存取防火牆並建立規則,測試伺服器的安全性,並視需要進行修改。

情境

Cymbal Bank 在現有的虛擬私有雲 (VPC) 網路中佈建了示範網路伺服器。您的團隊主管小克擔心這個網路伺服器的安全性設定,因此希望您分析傳入網路伺服器的流量,並使用防火牆規則封鎖不必要的連接埠。您的任務是分析這個網頁伺服器的防火牆規則,並測試連線。如要完成這項工作,您需要建立多個防火牆規則、連線至網路伺服器,並分析與網路連線相關的記錄。

這項工作的步驟如下:首先,建立防火牆規則,允許網路流量傳送至示範網頁伺服器。接著,您會產生傳送至伺服器的 HTTP 網路流量,並分析網路記錄。接著,您將建立並測試新的防火牆規則,拒絕伺服器的 HTTP 流量。最後,您將分析防火牆記錄,確認新的防火牆規則是否如預期運作。

注意:在本實驗室中,您會使用自訂模式網路虛擬私有雲 vpc-net 和子網路 vpc-subnet,這些資源已在 區域中設定虛擬私有雲流量記錄。此外,您還會獲得一個 VM 執行個體 web-server,其中已安裝 Apache 網路伺服器,位於 vpc-subnet 內,並在 可用區中附加網路標記 http-server

設定

點選「Start Lab」之前

請詳閱下列操作說明。實驗室活動會計時,中途無法暫停。點選「Start Lab」後就會開始計時,顯示可使用 Google Cloud 資源的時間。

您會在實際雲端環境完成實驗室活動,而非模擬或示範環境。因此,我們會提供新的臨時憑證,讓您在實驗室活動期間登入及存取 Google Cloud。

如要順利完成這個實驗室活動,請先確認:

  • 可以使用標準的網路瀏覽器 (Chrome 瀏覽器為佳)。
注意:請使用無痕模式或私密瀏覽視窗執行此實驗室,防止個人帳戶和學生帳戶之間的衝突,避免個人帳戶產生額外費用。
  • 該來完成實驗室活動了!別忘了,活動開始後就無法暫停。
注意:如有個人 Google Cloud 帳戶或專案,請勿用於本實驗室,以免產生額外費用。

如何啟動實驗室環境及登入 Google Cloud 控制台

  1. 點選「Start Lab」按鈕。左側的「Lab Details」面板會顯示下列項目:

    • 剩餘時間
    • 「Open Google Cloud console」按鈕
    • 這個實驗室中應使用的暫時憑證
    • 完成這個實驗室所需的其他資訊 (如有)
    注意:如果實驗室會產生費用,畫面中會出現選擇付款方式的彈出式視窗。
  2. 點選「Open Google Cloud console」;如果使用 Chrome 瀏覽器,也可以按一下滑鼠右鍵,選取「在無痕視窗中開啟連結」。「登入」頁面會在新的瀏覽器分頁開啟。

    提示:為方便切換,可以將分頁安排在不同的視窗並排顯示。

    注意:如果顯示「選擇帳戶」對話方塊,請點選「使用其他帳戶」
  3. 如有需要,請複製下方的 Google Cloud 使用者名稱,然後貼到「登入」對話方塊。點選「下一步」

{{{user_0.username | "Google Cloud username"}}}

您也可以在「Lab Details」面板找到 Google Cloud 使用者名稱

  1. 複製下方的 Google Cloud 密碼,並貼到「歡迎使用」對話方塊。點選「下一步」
{{{user_0.password | "Google Cloud password"}}}

您也可以在「Lab Details」面板找到 Google Cloud 密碼

重要事項:請務必使用實驗室提供的憑證,而非自己的 Google Cloud 帳戶憑證。 注意:在這個實驗室中使用自己的 Google Cloud 帳戶,可能會產生額外費用。
  1. 繼續點選後續頁面:
    • 接受條款及細則。
    • 由於這是臨時帳戶,請勿新增救援選項或雙重驗證機制。
    • 請勿申請免費試用。

Cloud 控制台稍後會在這個分頁中開啟。

注意事項:點選畫面左上方的導覽選單,即可查看 Google Cloud 產品與服務清單。Google Cloud 控制台選單:展示導覽選單圖示

工作 1:建立防火牆規則

在這項工作中,您將建立防火牆規則,允許 HTTP 和 SSH 連線。您也會為新建立的防火牆規則指定目標標記。

在 Google Cloud 中,防火牆規則必須指定目標,才能定義規則套用至哪些 VM 執行個體。目標標記可用於將防火牆規則套用至特定 VM 群組,簡化防火牆規則的管理作業。您將使用目標標記,只對網路伺服器啟用這項防火牆規則。

  1. 在 Google Cloud 控制台中,點選「導覽選單」圖示 「導覽選單」圖示
  2. 依序選取「虛擬私有雲網路」>「防火牆」。系統會顯示「防火牆政策」頁面。
注意: 如果顯示訊息,指出您沒有必要權限,無法查看這項專案繼承的防火牆政策,請忽略該訊息並繼續執行後續步驟。
  1. 在工具列中,點按「+ 建立防火牆規則」。系統會顯示「建立防火牆規則」對話方塊。

  2. 指定下列屬性,其餘設定保持預設狀態:

欄位
姓名 allow-http-ssh
記錄 開啟
網路 vpc-net
目標 指定的目標標記
目標標記 http-server
來源篩選器 IPv4 範圍
來源 IPv4 範圍 0.0.0.0/0
在「通訊協定和通訊埠」部分
  • 選取「指定的通訊協定和通訊埠」
  • 勾選「TCP」核取方塊
  • 在「通訊埠」欄位中輸入 80, 22
  1. 點選「建立」
注意:請等到系統顯示「Successfully created firewall rule "allow-http-ssh"」訊息後再繼續。

點選「Check my progress」,確認您已正確完成這項工作。 建立防火牆規則

工作 2:產生 HTTP 網路流量

在這項工作中,您將造訪網路伺服器的外部 IP 位址,產生 HTTP 網路流量。您產生的網路流量會記錄為記錄檔,可在記錄檔探索工具中分析。

首先,您需要產生網路流量。

  1. 在 Google Cloud 控制台中,點選「導覽選單」圖示 「導覽選單」圖示

  2. 依序選取「Compute Engine」>「VM 執行個體」。「VM 執行個體」頁面隨即開啟。

  3. 點選 web-server 的「外部 IP」連結,即可存取伺服器。

(或者,您也可以在新的瀏覽器視窗或分頁中,將「外部 IP」值新增至 http://EXTERNAL_IP/。)畫面上應會顯示預設網頁。

接著,你需要找出所用電腦的 IP 位址。

  1. 請使用 whatismyip.com 連結存取您的 IP 位址,系統會直接回覆您的 IP。

瀏覽器顯示網站 www.whatismyip.com 的首頁

注意: 請確認 IP 位址只包含數字 (IPv4),且不是以十六進位表示 (IPv6)。
  1. 複製 IP 位址並儲存到記事本。您會在下一項工作中用到這個值。

點選「Check my progress」,確認您已正確完成這項工作。 產生 HTTP 網路流量

工作 3:分析網頁伺服器流程記錄檔

在這項工作中,您將使用記錄檔探索工具,存取及分析網頁伺服器的虛擬私有雲流量記錄。

  1. 前往 Google Cloud 控制台,在標題列的「搜尋」欄位輸入 Logs Explorer,然後在搜尋結果中點選「Logs Explorer」

  2. 點按「Observability Logging」旁邊的「固定」圖示。

  3. Logs Explorer 頁面左側會顯示「Fields」窗格。「嚴重性」和「資源類型」部分會顯示。在「資源類型」部分,選取「子網路」

子網路記錄檔的項目會顯示在「Fields」窗格右側的「Query results」窗格

  1. 在「欄位」窗格的「記錄名稱」部分,選取「compute.googleapis.com/vpc_flows」,即可存取網路的虛擬私有雲流量記錄。如果未顯示這個選項,請稍候幾分鐘,等待系統顯示這類記錄。

選取後,「查詢結果」窗格會顯示虛擬私有雲流量記錄的項目。

  1. 在頁面頂端的「查詢」建構工具中,於第 2 行末尾按下 Enter 鍵,建立新的一行。

  2. 在第 3 行輸入以下內容:

jsonPayload.connection.src_ip=YOUR_IP

查詢應如下所示:

resource.type="gce_subnetwork" log_name="projects/{{{project_0.project_id | PROJECT_ID}}}/logs/compute.googleapis.com%2Fvpc_flows" jsonPayload.connection.src_ip=YOUR_IP
  1. YOUR_IP 替換為您在工作 2 中儲存的 IP 位址。這項查詢會搜尋源自您 IP 位址的網路流量記錄,該 IP 位址是在前一項工作中所產生。

  2. 按一下「執行查詢」。查詢結果應會顯示在「查詢結果」窗格。

注意:如果沒有顯示 vpc_flows 篩選器選項,或是沒有記錄,請稍候幾分鐘後重新整理。如果幾分鐘後仍未顯示 vpc_flows 篩選器選項,請前往 Compute Engine 頁面,然後點按 web server 的「外部 IP」幾次,產生更多流量,再返回查看 vpc_flows 篩選器選項。
  1. 在「查詢結果」窗格中,展開其中一個記錄項目。

  2. 在項目中,點選展開箭頭 >,展開 jsonPayload。接著展開 connection 欄位。

您可以在這裡查看網路連線至網頁伺服器的詳細資料:

  • dest_ip:網路伺服器的目的地 IP 位址。
  • dest_port:網路伺服器的目的地通訊埠號碼,也就是 HTTP 通訊埠 80。
  • protocol:通訊協定為 6,這是 TCP 流量的 IANA 通訊協定。
  • src_ip:這是您電腦的來源 IP 位址。
  • src_port:這是指分配給電腦的來源通訊埠編號。根據網際網路號碼分配局 (IANA) 標準,這通常是介於 49152 至 65535 的隨機通訊埠編號。

分析這個記錄檔項目的詳細資料後,您應該會發現,由於先前建立的防火牆規則 allow-http-ssh,您產生的網路流量 (在 HTTP 通訊埠 80 上) 已獲准通過。這項規則允許通訊埠 80 和 22 的連入流量。

工作 4:建立防火牆規則,拒絕 HTTP 流量

在這項工作中,您將建立新的防火牆規則,拒絕通訊埠 80 的流量。

  1. 在 Google Cloud 控制台中,點選「導覽選單」圖示 「導覽選單」圖示

  2. 依序選取「虛擬私有雲網路」 >「防火牆」。「防火牆政策」頁面隨即顯示。

  3. 在工具列中,點按「+ 建立防火牆規則」

  4. 在「建立防火牆規則」對話方塊中,指定下列屬性,其餘設定請保持預設狀態:

欄位
姓名 deny-http
記錄 開啟
網路 vpc-net
相符時執行的動作 拒絕
目標 指定的目標標記
目標標記 http-server
來源篩選器 IPv4 範圍
來源 IPv4 範圍 0.0.0.0/0
在「通訊協定和通訊埠」部分
  • 選取「指定的通訊協定和通訊埠」
  • 勾選「TCP」核取方塊
  • 在「通訊埠」欄位中輸入 80
  1. 點選「建立」

點選「Check my progress」,確認您已正確完成這項工作。 建立防火牆來拒絕 HTTP 流量

工作 5:分析防火牆記錄檔

在這項工作中,您將測試在前一個工作中建立的 deny-http 防火牆規則。

首先,嘗試連線至網頁伺服器。

  1. 點按「導覽選單」圖示 「導覽選單」圖示
  2. 依序選取「Compute Engine」>「VM 執行個體」。「VM 執行個體」頁面隨即開啟。
  3. 點選 web-server 的「外部 IP」連結,即可存取伺服器。

頁面應顯示下列錯誤訊息:

 網路瀏覽器顯示網站連線錯誤

發生這個錯誤的原因是您在前一項工作建立的 deny-http 防火牆規則。如要確認,請前往 Logs Explorer 分析網路伺服器的防火牆記錄。

  1. 在 Google Cloud 控制台中,點選「導覽選單」圖示 「導覽選單」圖示

  2. 依序選取「Logging」>「Logs Explorer」。「Logs Explorer」頁面隨即開啟。

  3. 在「資源類型」部分,選取「子網路」

  4. 在「記錄檔欄位」窗格的「記錄檔名稱」部分,選取「compute.googleapis.com/firewall」,即可存取網路的防火牆記錄。

  5. 在頁面頂端的「查詢」建構工具中,於第 2 行末尾按下 Enter 鍵,建立新的一行。

  6. 在第 3 行輸入以下內容:

jsonPayload.connection.src_ip=YOUR_IP DENIED

YOUR_IP 替換為您在工作 2 中儲存的 IP 位址。這個查詢會搜尋防火牆記錄,找出拒絕您的 IP 位址連線至網頁伺服器的記錄。查詢應如下所示:

resource.type="gce_subnetwork" log_name="projects/{{{project_0.project_id | PROJECT_ID}}}/logs/compute.googleapis.com%2Ffirewall" jsonPayload.connection.src_ip=YOUR_IP DENIED
  1. 按一下「執行查詢」。查詢結果應會顯示在「查詢結果」窗格。

  2. 在「查詢結果」窗格中,展開其中一個記錄項目。

  3. 在記錄項目中,點按展開箭頭 >,展開 jsonPayload 欄位,然後展開 connection 欄位。您可以檢查網路連線至網頁伺服器的詳細資料,確認防火牆規則是否已成功觸發:

  • dest_ip:網頁伺服器的目的地 IP 位址,為 10.1.3.2
  • dest_port:這是網頁伺服器的目的地通訊埠號碼,也就是 HTTP 通訊埠 80
  • protocol:通訊協定為 6,這是 TCP 流量的 IANA 通訊協定。
  • src_ip:這是您電腦的來源 IP 位址。
  • src_port:這是指派給電腦的來源通訊埠編號。
  • disposition:這個欄位表示連線是否允許。這裡顯示「denied」,表示連線至伺服器遭到拒絕。
  1. 在記錄項目中,點選展開箭頭 >,展開 rule_details 欄位。您可以查看防火牆規則的詳細資料。此外,您也可以展開記錄檔項目中的下列欄位,擷取更多資訊:
  • action:規則採取的動作,在本例中為 DENY
  • direction:規則的流量方向可以是 ingress 或 egress,這裡為 INGRESS,表示動作將套用至傳入流量。
  • ip_port_info:這項規則控管的通訊協定和通訊埠。ip_protocolport_range 清單會列出 TCP 通訊埠 80
  • source_range:防火牆規則適用的流量來源。例如 0.0.0.0/0.
  • target_tag:列出防火牆規則適用的所有目標標記。這裡的標記是 http-server,也就是您在先前工作中新增至防火牆規則的目標標記。

查看這筆防火牆記錄項目的詳細資料,您應該會發現,您設定的 deny-http 防火牆規則已成功觸發,拒絕 HTTP 流量。這項規則拒絕通訊埠 80 的連入網路流量。

點選「Check my progress」,確認您已正確完成這項工作。 分析防火牆記錄檔

結論

做得好!

您現在已具備實務經驗,能在雲端環境中為網路伺服器建立及測試防火牆規則。您已建立防火牆規則並分析記錄項目,因此熟悉邊界防護的細節。這項功能有助於監控及分析潛在的資安事件或威脅,是資安分析師的重要工作。

您已瞭解如何修改防火牆規則,確保網路安全無虞。

關閉實驗室

結束實驗室前,請確認已完成所有工作。如果已確定完成,請依序點選「End Lab」和「Submit」

關閉實驗室後,就無法進入實驗室環境,也無法再次存取在實驗室完成的工作。

Copyright 2022 Google LLC 保留所有權利。Google 和 Google 標誌是 Google LLC 的商標,其他公司和產品名稱則有可能是其關聯公司的商標。

准备工作

  1. 实验会创建一个 Google Cloud 项目和一些资源,供您使用限定的一段时间
  2. 实验有时间限制,并且没有暂停功能。如果您中途结束实验,则必须重新开始。
  3. 在屏幕左上角,点击开始实验即可开始

使用无痕浏览模式

  1. 复制系统为实验提供的用户名密码
  2. 在无痕浏览模式下,点击打开控制台

登录控制台

  1. 使用您的实验凭证登录。使用其他凭证可能会导致错误或产生费用。
  2. 接受条款,并跳过恢复资源页面
  3. 除非您已完成此实验或想要重新开始,否则请勿点击结束实验,因为点击后系统会清除您的工作并移除该项目

此内容目前不可用

一旦可用,我们会通过电子邮件告知您

太好了!

一旦可用,我们会通过电子邮件告知您

一次一个实验

确认结束所有现有实验并开始此实验

使用无痕浏览模式运行实验

请使用无痕模式或无痕式浏览器窗口运行此实验。这可以避免您的个人账号与学生账号之间发生冲突,这种冲突可能导致您的个人账号产生额外费用。