附註:
- 此教學課程需要存取 Oracle Cloud。若要註冊免費帳戶,請參閱 Oracle Cloud Infrastructure Free Tier 入門。
- 它使用 Oracle Cloud Infrastructure 證明資料、租用戶及區間的範例值。完成實驗室時,請將這些值取代為您雲端環境特定的值。
使用 pfSense 防火牆將安全新增至網域名稱系統架構
簡介
OraStage 是能源部門的領導公司,專精於可再生能源解決方案和創新的電力技術,該公司宣布將工作負載移轉至 Oracle Cloud Infrastructure (OCI) 以提升效能、擴展性及安全性。
考慮到 OraStage 概述的特定需求和條件,公司需要雲端的混合網域名稱系統 (DNS) 解決方案,而在此混合方式則代表除了 OCI DNS 服務之外,還使用自己的 Berkeley 網際網路名稱網域版本 9 (BIND9) DNS 系統,其中的最終架構會顯示在下列映像檔中。
OraStage DNS 需求:
-
該公司有數個內部網域和子網域,所有這些網域都應由其在 OCI 中的 BIND9 DNS 解析,其中 OraStage 將管理所有相關區域和記錄。其中一個網域是
orastage.com
,我們將在此教學課程中使用。因此,任何orastage.com
查詢都必須轉寄至其 BIND9。 -
在某些情況下,他們仍需要解析 OCI 原生網域 (
oraclevcn.com
、oraclecloud.com
等),而這會透過使用 OCI 專用 DNS 元件來完成:專用檢視、轉送端點和規則,以及監聽端點。 -
所有查詢都必須經過 pfSense 防火牆執行處理檢查。
-
為了避免單一故障點,OraStage 計畫使用另一個 DNS 伺服器,並利用 OCI Load Balancer 在主要和次要 DNS 之間分配查詢。
本教學課程系列將引導您逐步達成上述概述的需求,從頭開始建立整個解決方案。您可以從下列清單輕鬆導覽至每個教學課程:
-
教學課程 1:在 OCI 中設定 BIND9 DNS 。瞭解如何在運算執行處理上安裝並設定 BIND9,讓它成為 OCI 中兩個測試環境的本機 DNS 伺服器。這些環境將由「前端」和「後端」伺服器組成,每個伺服器都由個別網輻網路代管。BIND9 伺服器將處理所有導向至
orastage.com
的 DNS 查詢。 -
教學課程 2:在 OCI 的 BIND9 DNS 案例上導入高可用性。本教學課程著重於新增次要 BIND9 伺服器,以及設定網路負載平衡器 (NLB),以便在兩部伺服器之間分配 DNS 流量。
orastage.com
的 DNS 查詢將會導向 NLB IP,以平衡主要和次要 BIND9 伺服器之間的負載。如果一個伺服器無法使用,DNS 解析將繼續而不會中斷服務。 -
教學課程 3:使用 OCI DNS 解析原生網域。只著重於特定使用案例,如果需要解析原生網域 (例如
oraclevcn.com
和oraclecloud.com
),我們會在 OCI 中使用原生 DNS 元件。本教學課程中未使用 BIND9 DNS。 -
教學課程 4: 使用 pfSense 防火牆新增 DNS 架構安全。著重於在 OCI 中心 VCN 中安裝 pfSense 防火牆,並執行必要的網路組態,以透過防火牆遞送所有東西方流量,包括 DNS 查詢 (在過去的教學課程中完成) 以進行檢查。
概觀
在本教學課程中,我們將探討如何利用開放原始碼防火牆和路由器平台 pfSense 來加強 DNS 架構的安全性。
DNS 是網路基礎架構的重要元件,但通常容易受到 DNS 詐騙、快取中毒及分散式阻斷服務 (DDoS) 等攻擊。藉由將 pfSense 與 DNS 安全措施整合,您可以新增健全的保護層,確保網路的 DNS 流量安全且有彈性。因此,建議您設定防火牆,以篩選 DNS 查詢、封鎖惡意網域,並強化整體 DNS 完整性。
在 DNS 伺服器前面放置 pfSense 防火牆有什麼額外優點?
-
流量過濾與存取控制
-
防火牆可以限制對 DNS 伺服器的存取,只允許經過授權的 IP 位址或特定網路傳送 DNS 查詢。這樣可防止未經授權的使用者或系統查詢或利用伺服器。
-
它可以實施存取控制政策,以確保僅合法的 DNS 流量到達伺服器,並封鎖潛在的有害或不必要的流量。
-
-
保護不受 DNS 型攻擊
-
DNS 放大 / 反射攻擊防範:防火牆可以偵測並減輕 DNS 放大攻擊,攻擊者會在其中傳送詐騙要求給伺服器壓倒。透過限制或限制 DNS 查詢流量,防火牆可將這類攻擊的影響降到最低。
-
預防 DNS 詐騙:防火牆可以封鎖惡意或惡意的 DNS 回應,這些回應會用於 DNS 詐騙或中毒攻擊,讓使用者誤導詐騙網站。
-
DDoS 緩和措施:防火牆透過監控和節流異常 DNS 流量,為分散式阻斷服務 (DDoS) 攻擊提供防禦機制,防止攻擊者壓制您的 DNS 基礎架構。
-
-
DNS 查詢檢查與記錄
- 防火牆可以檢查 DNS 查詢是否有可疑的模式,例如查詢已知的惡意網域。它可以在到達 DNS 伺服器前封鎖這些查詢,以防止對危險網站進行存取。
- DNS 查詢記錄可用於稽核,讓您能夠偵測異常行為,或更有效地調查潛在的安全事件。
-
防止 DNS 通道
- DNS 通道是一種由攻擊者用來透過 DNS 查詢洩漏資料或與洩漏系統進行通訊的技術。防火牆可偵測並封鎖 DNS 通道活動,以關閉重要的資料漏損向量。
-
速率限制和資源保護
- 防火牆可以限制來自單一來源 (速率限制) 的 DNS 要求數目,防止 DNS 伺服器超載。這有助於防止暴力或過度的 DNS 查詢攻擊,進而降低伺服器的效能或可用性。
-
網路區段
- 將 DNS 伺服器放置在防火牆之後,即可將它隔離在受保護的網路區段 (例如 DMZ) 中,確保即使 DNS 伺服器遭到入侵,攻擊者仍可存取您網路中的其他部分。
-
支援安全 DNS 協定
- 防火牆可以強制執行 DNS 協定 (例如透過 HTTPS 的 DNS (DoH) 或透過 TLS 的 DNS (DoT),以確保 DNS 流量經過加密。這樣可防止 DNS 查詢和回應竊聽或竄改,進而保護使用者免於遭受攔截式攻擊。
-
減少受到攻擊的機會
- 將 DNS 伺服器的真實 IP 位址隱藏在防火牆之後,即可降低對潛在攻擊者的暴露程度。防火牆可作為中介,呈現公用網際網路與 DNS 基礎架構之間的防禦層。
整體而言,在 DNS 伺服器前放置防火牆可防止未經授權的存取、偵測惡意流量,並針對廣泛的 DNS 相關威脅提供強大的保護,藉此增強伺服器的安全、效能和彈性。
目標
-
本教學課程的主要目的是透過 pfSense 防火牆遞送所有東西方流量 (包括 DNS 查詢),以進行檢查。此外,我們將使用防火牆的封包擷取功能來監控部分要求。
-
我們也將部署公用 Windows 跳躍伺服器,作為管理 OCI VCN 內其他專用執行處理 (尤其是 pfSense 防火牆) 的存取點。
-
本教程結束後,我們的目標是建立集線器和網輻網絡架構模型。此設定將透過集線器集中網路之間的路由控制,並提高可擴充性,以增強 OraStage 的安全性、簡化網路管理,讓公司隨時將網路新增至現有集線器。
注意:
本教程不涵蓋對 DNS 特定攻擊的保護功能。相反地,我們的重點是部署 pfSense 防火牆,並將其整合至現有環境,以透過它遞送所有流量 (例如,FE-VM 至 BE-VM、FE-VM 至 DNS-NLB 等等)。我們也會示範如何在防火牆上設定基本存取控制規則。
即使您已有另一種防火牆解決方案,例如 OCI Network Firewall 或 Palo Alto 或 FortiGate 等市集網路防火牆,仍可遵循本教學課程。
最終架構
必要條件
-
存取 OCI 租用戶和權限,以管理所需的網路、運算和物件儲存服務。
-
瞭解 OCI 網路路由和安全性及其功能的基本知識:虛擬雲端網路 (VCN)、路由表、動態路由閘道 (DRG)、安全清單、堡壘主機及 OCI 網路負載平衡器。
-
一般來說對 DNS 的基本瞭解。
-
請務必完成下列自學課程:
-
必須要有一個 VCN,請務必使用精靈建立它,以便取得 VCN 內所有必要的預設元件,然後將其連附至 DRG。如需詳細資訊,請參閱任務 1.3:將 VCN 附加至 DRG 。
- Hub-VCN:公用子網路將會代管跳躍點伺服器,而專用子網路將會代管 pfSense 防火牆。
-
根據上述先決條件,您應該已經建置下列架構。
作業 1:設定路由與安全網路元件
作業 1.1:建立虛擬雲端網路 (Hub-VCN)
請確定您已經建立 Hub-VCN (10.4.0.0/16
),其中包含 Hub-Private-Subnet (10.4.0.0/24
) 和 Hub-Public-Subnet (10.4.1.0/24
)。
-
按一下左上角的漢堡功能表 ()。
- 按一下網路。
- 按一下虛擬雲端網路。
-
如上所述,我們就可以看到 VCN,請務必使用精靈建立它,因此預設會取得下列元件:三個閘道、一個具有路由表的公用子網路,以及一個連附路由表的專用子網路,以及一個連附路由表的安全清單。
注意:
從現在起,在路由表和安全清單配置的某些部分內,我們將把所有網路:DNS-VCN (
10.0.0.0/16
) 、 Frontend-VCN (10.1.0.0/16
) 、 Backend-VCN (10.2.0.0/16
) 、 LSN-VCN (10.3.0.0/16
) 、 Hub-VCN (10.4.0.0/16
) 彙總成一個位址區塊 (10.0.0.0/8
),這樣便可以更容易管理,因為這樣可以減少規則的數目。在某些情況下,在集線器與網輻拓樸內,網輻網路可能需要從集線器網路取得網際網路存取權,才能讓流量通過防火牆以獲得更好的安全性,這就是為什麼我們在網輻子網路層次上將所有流量遞送至 DRG 的原因。不過在此教學課程中,我們並未示範網際網路存取案例。
作業 1.2:設定 Hub-VCN 的路由與安全
-
這必須在兩個子網路上個別完成。瀏覽至 VCN 頁面,然後按一下 Hub-VCN 。
-
我們將從公用子網路開始,按一下它。
-
按一下路由表,這是指定的路由表。
-
新增下列規則。
0.0.0.0/0
- 網際網路閘道:具有對網際網路的雙向存取。我們需要它才能使用其公用 IP 位址存取跳板伺服器。
-
讓我們執行公用子網路的安全性。移至子網路詳細資訊頁面,然後按一下指定的安全清單。
-
允許來自任何位置的傳入流量:RDP 流量 (TCP/ 連接埠 3389)。
-
允許所有傳出流量。
-
瀏覽回 VCN 頁面,然後按一下專用子網路。
-
按一下路由表,這是指定的路由表。
-
新增下列規則。
-
0.0.0.0/0
- NAT 閘道:若要單向存取網際網路,請視需要安裝套裝軟體或修補程式。此教學課程並不是具有的重要元件,但如果 pfSense 需要網際網路存取,就必須具備此元件。 -
10.0.0.0/8
- DRG:目的地為 Frontend-VCN 、 Backend-VCN 、DNS-VCN 或 LSN-VCN 的路由流量,就像在防火牆檢查流量後,系統會將允許的流量轉送給允許的流量,使用此路由表並將其傳送到 DRG。
-
-
讓我們執行專用子網路的安全性。移至子網路詳細資訊頁面,然後按一下指定的安全清單。
-
允許傳入流量:來自 Frontend-VCN 、 Backend-VCN 、DNS-VCN 以及 LSN-VCN 的所有流量類型。
-
允許所有傳出流量。
作業 1.3:設定 LSN-VCN 的路由與安全性
-
這必須在子網路層次完成。瀏覽至 VCN 頁面,然後按一下 LSN-VCN 。
-
按一下專用子網路。
-
按一下路由表,這是指定的路由表。
-
我們將刪除所有規則。
-
我們只會以一個規則取代下列所有規則。
0.0.0.0/0
- DRG:將所有流量遞送至 DRG,包括傳送至任何其他 VCN 的流量,以及傳送至網際網路的流量。
-
立即進行安全性操作。移至子網路詳細資訊頁面,然後按一下指定的安全清單。
-
我們將刪除允許 DNS 流量的所有輸入規則。
-
我們只會以這兩個規則取代下列規則。
注意:請勿變更傳出規則中的任何項目。
作業 1.4:設定 DNS-VCN 的路由與安全
-
這必須在子網路層次完成。瀏覽至 VCN 頁面,然後按一下 DNS-VCN 。
-
按一下專用子網路。
-
按一下路由表,這是指定的路由表。
-
我們將刪除下列所有規則。
-
我們只會以一個規則取代下列規則。
0.0.0.0/0
- DRG:將所有流量遞送至 DRG,包括傳送至任何其他 VCN 的流量,以及傳送至網際網路的流量。
-
立即進行安全性操作。移至子網路詳細資訊頁面,然後按一下指定的安全清單。
-
我們將刪除允許 DNS 流量的所有輸入規則。
-
我們只會以這兩個規則取代下列規則。
注意:請勿變更傳出規則中的任何項目。
作業 1.5:設定前端 VCN 的路由與安全性
-
這必須在子網路層次完成。瀏覽至 VCN 頁面,然後按一下 Frontend-VCN 。
-
按一下專用子網路。
-
按一下路由表,這是指定的路由表。
-
我們將刪除下列所有規則。
-
我們會以這兩個規則取代下列規則。
-
0.0.0.0/0
- DRG:將所有流量遞送至 DRG,包括傳送至任何其他 VCN 的流量,以及傳送至網際網路的流量。 -
Oracle Services Network - Service Gateway 中的所有 LIN 服務:若要在米蘭區域中存取 Oracle 服務,您必須這麼做才能維持與 OCI Bastion 服務的連線。此處沒有存取網際網路或 Oracle 服務的規則,堡壘主機 Plugin 就會發生錯誤,您無法使用此堡壘主機存取 FE-VM 。
注意:請勿變更傳入和傳出規則中的任何項目。
-
作業 1.6:設定後端 VCN 的路由與安全
-
這必須在子網路層次完成。瀏覽至 VCN 頁面,然後按一下後端 VCN 。
-
按一下專用子網路。
-
按一下路由表,這是指定的路由表。
-
我們將刪除下列所有規則。
-
我們會以這兩個規則取代下列規則。
-
0.0.0.0/0
- DRG:將所有流量遞送至 DRG,包括傳送至任何其他 VCN 的流量,以及傳送至網際網路的流量。 -
Oracle Services Network - Service Gateway 中的所有 LIN 服務:若要在米蘭區域中存取 Oracle 服務,您必須這麼做才能維持與 OCI Bastion 服務的連線。此處沒有存取網際網路或 Oracle 服務的規則,堡壘主機 Plugin 就會發生錯誤,您無法使用此堡壘主機存取 BE-VM。
-
注意:請勿變更傳入和傳出規則中的任何項目。
作業 1.7:設定 DRG 上的網輻 VCN 路由
此作業的目的在於確保從任何網路 (DNS/LSN/ 前端 / 後端) 傳送並接收於 DRG 的所有流量都會遞送至中樞,而防火牆將會檢查這些網路。
-
按一下左上角的漢堡功能表 ()。
- 按一下網路。
- 按一下動態路由閘道。
-
按一下 DRG 。
- 按一下 VCN 連附項。VCN 連附項代表可將 VCN 連線至 DRG 的連結,以啟用 VCN 與外部網路或其他 VCN 之間的網路流量。
- 您會注意到我們已附上所有 VCN。
- 按一下 DRG 路由表。
- 按一下建立 DRG 路由表。
- 輸入路由表的名稱。
- 新增路由規則: 選取
0.0.0.0/0
和 Hub VCN 連附項,將所有項目遞送至中樞連附項。 - 按一下建立 DRG 路由表。
- 路由表已順利建立。
-
從後端 VCN 連附項開始,將路由表指定給所有網輻 VCN 連附項,然後按一下該路由表。
- 按一下編輯。
- 按一下顯示進階選項。
- 按一下 DRG 路由表。
- 選取軸輻式 (Spoke-DRG-RT) 。
- 按一下儲存變更。
- 已順利將 DRG 路由表指定給後端 VCN 連附項。現在,從後端 VCN 到 DRG 的所有流量都會遞送到 Hub-VCN 。
-
對其餘附件重複步驟 1 到步驟 6。
作業 2:啟動設定 Windows 跳躍點伺服器
-
在這項任務中,我們將佈建新的 Windows 運算執行處理,並利用它與其他專用資源連線。其擬定用途包括:
-
( 必要 ) 透過瀏覽器 (HTTP/S) 存取和管理 pfSense 防火牆。
-
( 可選 ) 若要存取 FE-VM 例項並執行測試。您可以使用 OCI 堡壘主機服務,或者使用此伺服器作為新的跳躍方塊。
-
-
按一下左上角的漢堡功能表 ()。
- 按一下計算。
- 按一下執行處理。
-
按一下建立執行處理。
-
輸入執行處理的名稱。
- 按一下變更影像。
- 選取 Windows 。
- 選取 Windows Server 2016 Standard 影像。
- 選取以同意使用條款。
- 按一下選取影像。
- 執行處理的作業系統 (OS) 已順利變更為 Windows Server 2016 Standard 。
-
在主要 VNIC 資訊區段中,輸入下列資訊。
- 選取 Hub-VCN 。
- 選取公用子網路,為執行處理指定一個公用 IP 位址。
- 將專用 IP 位址指定給執行處理
10.4.1.5
。
- 您會在建立 Windows 機器時看到備註,說明建立執行處理後將會產生初始密碼。不同之處在於 Linux 作業系統,SSH 金鑰是用於認證。
- 按一下建立。
-
已順利建立跳躍點伺服器運算執行處理。記下下列詳細資訊,您將會在存取執行處理時使用這些詳細資訊。
- 公用 IP 位址。
- 使用者名稱。
- 起始密碼。
-
若要從您的 Windows 個人電腦存取跳躍伺服器,請開啟遠端桌面連線,輸入執行處理的公用 IP,然後按一下連線。
-
按一下是。
-
輸入執行處理頁面上提供的起始密碼,然後按一下下一步。
-
登入前必須先變更密碼,然後按一下確定。
-
輸入您的新密碼兩次。
-
密碼已順利變更,請按一下確定以繼續。
-
輸入您的新密碼,然後按一下下一步。
-
您已順利連線至跳至伺服器。
-
架構應如下圖所示。
工作 3:安裝並設定 pfSense 防火牆
注意:如果您已經有另一種防火牆解決方案,可以略過工作 3.1 至 3.7,然後從 3.8 繼續。
工作 3.1:下載 pfSense 影像
-
從 Netgate 網站下載 pfSense 影像。請務必下載
memstick-serial
版本。我們使用的影像檔案名稱是pfSense-CE-memstick-serial-2.7.2-RELEASE-amd64.img.gz
。如需詳細資訊,請參閱 Netgate 。 -
安裝的檔案將會是
.gz
格式。擷取後,您會發現影像檔案名稱是pfSense-CE-memstick-serial-2.7.2-RELEASE-amd64.img
。
作業 3.2:建立 OCI 物件儲存的儲存桶
在此任務中,我們將建立一個 OCI Object Storage 貯體,用於上傳 pfSense 映像檔,並使用此物件映像檔在 OCI 中建立自訂映像檔。
-
按一下左上角的漢堡功能表 ()。
- 按一下儲存體 (Storage) 。
- 按一下儲存設定 (Bucket) 。
- 按一下建立儲存桶。
- 輸入分組名稱。
- 選取標準儲存層作為預設儲存層。
- 按一下建立。
-
請注意,已建立儲存的儲存桶。
作業 3.3:將 pfSense 映像檔上傳至儲存的儲存桶
-
前往分組明細頁面。
- 在儲存設定 (Bucket) 頁面中,向下捲動。
- 按一下上傳。
-
在上傳物件頁面中,輸入下列資訊。
- 按一下選取檔案,然後選取 pfSense 影像。
- 按一下上傳。
-
當 pfSense 映像檔上傳到儲存的儲存桶時,您可以監控進度。
- pfSense 影像完全上傳後,進度狀態將會是已完成。
- 按一下關閉。
作業 3.4:建立自訂影像
我們已上傳 pfSense 影像。現在,我們需要從中建立 OCI 自訂映像檔。此自訂映像檔將用於建立 pfSense 防火牆執行處理。
-
按一下左上角的漢堡功能表 ()。
- 按一下計算。
- 按一下自訂影像。
-
按一下匯入影像。
-
在匯入影像頁面中,輸入下列資訊。
- 輸入名稱。
- 選取 Generic Linux 作為作業系統。
- 選取從物件儲存的儲存桶匯入。
- 選取上傳映像檔的儲存的儲存桶。
- 在物件名稱中,選取我們已上傳至儲存桶的物件 (pfSense 影像)。
- 選取 VMDK 作為影像類型。
- 選取半虛擬化模式。
- 按一下匯入影像。
-
自訂映像檔為 IMPORTING 。
-
在幾分鐘之後,狀態就會是可用
作業 3.5:使用自訂 pfSense 映像檔建立執行處理
-
按一下左上角的漢堡功能表 ()。
- 按一下計算。
- 按一下執行處理。
-
按一下建立執行處理。
-
輸入防火牆執行處理的名稱。
- 按一下變更影像。
- 選取我的影像。
- 按一下自訂影像。
- 選取在任務 3.4 中建立的自訂影像。
- 按一下選取影像。
- 請注意,已選取 pfSense 影像。
-
在主要 VNIC 資訊區段中,輸入下列資訊。
- 選取 Hub-VCN 。
- 選取專用子網路。
- 將專用 IP 位址指定給執行處理
10.4.0.5
。
- 選取沒有 SSH 金鑰。
- 按一下建立。
-
已順利建立 pfSense 防火牆運算執行處理。
作業 3.6:在執行處理上安裝 pfSense
我們需要進行初始安裝及設定 pfSense 防火牆。已經有執行中的執行處理。
-
若要安裝 pfSense 防火牆軟體,我們需要建立主控台連線。在防火牆執行處理頁面中,向下捲動。
- 按一下主控台連線。
- 按一下啟動 Cloud Shell 連線。
-
將會顯示一些啟動訊息。按 ENTER 。
-
閱讀著作權訊息並選取接受,然後按 ENTER 。
- 選取安裝 pfSense 。
- 選取確定,然後按 ENTER 。
- 選取手動設定磁碟 (專家) 。
- 選取確定,然後按 ENTER 。
- 選取 da0 - 47 GB MBR 。
- 選取建立,然後按 ENTER 。
- 在類型中,輸入 freebsd 。
- 在大小中,輸入 46 GB 。
- 輸入掛載點。
- 選取確定,然後按 ENTER 。
- 在 da0s4 中,選取 46 GB BSD 。
- 選取建立,然後按 ENTER 。
- 在類型中,輸入 freebsd-ufs 。
- 在大小中,輸入 40 GB 。
- 在掛載點中,輸入 / 。
- 選取確定,然後按 ENTER 。
- 請注意,已為
/
建立掛載點。 - 在 da0s4 中,輸入 46 GB BSD 。
- 選取建立,然後按 ENTER 。
- 在類型中,輸入 freebsd-swap 。
- 在大小中,輸入 5670 MB 。
- 輸入掛載點。
- 選取確定,然後按 ENTER 。
- 請注意,為交換建立掛載點。
- 選取完成,然後按 ENTER 。
-
選取確認,然後按 ENTER 。
-
選取 Reboot ,然後按 ENTER 。
-
第一次重新啟動後,您將得到一些配置選項來配置 WAN 介面。對於應設定 VLANS ,輸入 n 並按 ENTER 。
-
對於輸入 WAN 介面名稱或 'a' 代表自動偵測 (vtnet0 或 a) ,請輸入
vtnet0
。 -
在此設定中,我們建立一個只有一個介面的防火牆,因此不會配置 LAN 介面,因此,對於輸入 LAN 介面名稱或 'a' 進行自動偵測,請按 ENTER 以略過此介面設定。
- 驗證 WAN 介面名稱。
- 若為要繼續,請輸入 y 並按 ENTER 。
-
請注意,部分訊息和組態將會完成。pfSense 作業系統將進行完整啟動。
- 您會看到 IP 位址將使用 DHCP 進行配置。
- 請注意,pfSense 功能表會執行一些額外的基本組態。
-
架構應如下圖所示。
任務 3.7:連線至 pfSense Web 圖形使用者介面 (GUI) 並完成初始設定
安裝已完成,現在我們需要連線至 pfSense 防火牆的 Web GUI。但在此之前,請務必允許來自 Hub-Public-Subnet 的 HTTP/HTTPS 流量,因為我們將從該處的跳躍伺服器連線至防火牆 GUI。我們已經允許來自所有 VCN (10.0.0.0/8
) 的所有流量在 Task 1.2 中通過防火牆。
-
輸入 pfSense 防火牆 IP 位址。
- 在 Windows 執行處理中,開啟瀏覽器並使用 HTTPS 瀏覽至 pfSense 防火牆 IP。
- 按一下進階。
-
按一下繼續。
- 輸入預設使用者名稱
admin
。 - 輸入預設密碼為
pfsense
。 - 按一下登入。
- 輸入預設使用者名稱
-
按下一步。
-
按下一步。
- 輸入主機名稱。
- 輸入網域名稱或保留網域名稱預設值。
- 向下捲動並按一下「下一步」。
-
按下一步。
注意:在此特定情況下,Oracle 將在其 DHCP 伺服器中保留靜態 IP,並將此位址指派給 pfSense 防火牆。因此,pfSense 防火牆一律會取得相同的 IP 位址,但從 OCI 的角度來看,這將會是靜態 IP,從 pfSense 的角度來看,這將會是 DHCP 位址。
- 在設定 WAN 介面區段中,選取 DHCP 。
- 向下捲動並保留所有其他項目作為預設值,然後按一下下一步。
- 輸入新的管理密碼。
- 輸入管理密碼再次登入。
- 按下一步。
-
按一下「重新載入」。
-
請注意,pfSense 防火牆配置正在重新載入。
-
向下捲動並按一下「完成」。
-
按一下接受。
-
按一下關閉。
如果 pfSense 防火牆無法連線至網際網路,則儀表板頁面會花費較長的時間來載入。但可透過允許 pfSense 使用我們已在 Task 1.2 中的 OCI NAT 閘道存取網際網路來修正此問題。在此影像中,請注意已安裝 pfSense,且會顯示儀表板。
作業 3.8:將流量遞送至 pfSense 防火牆
在工作 1 中,我們在 VCN 和 DRG 上設定路由,以強制所有從網輻傳送的流量進入集線器網路 (綠色箭頭)。此工作會回答如何將此流量的所有項目遞送至 pfSense 防火牆 (紅色箭號)。
我們會建立傳入路由表 ( 傳輸路由表 ) 來執行此操作。這基本上是您在 VCN 層次建立的路由表,但是在 DRG 中指定,因此進入 Hub 的流量將會遞送至您選擇的特定目的地 (在我們的案例中為 pfSense 防火牆)。
-
瀏覽至 pfSense 防火牆執行處理。
- 按一下計算。
- 按一下執行處理。
-
按一下防火牆。
-
向下捲動。
- 按一下連附的 VNIC 。
- 按一下三個點。
- 按一下編輯 VNIC 。
- 選取略過來源 / 目的地檢查。如果您錯過此步驟,建立路由規則時將會發生問題。
- 按一下儲存變更。
-
瀏覽至 VCN 頁面並輸入 Hub-VCN 。
-
向下捲動。
- 按一下路由表。
- 按一下建立路由表。
- 輸入路由表的名稱。
- 按一下另一個路由規則。
- 選取專用 IP 作為目標類型。
- 輸入
0.0.0.0/0
作為目的地 CIDR 區塊。 - 輸入 pfSense 的專用 IP 。
- 按一下建立。
- 路由表已順利建立,現在我們必須指定。
-
瀏覽至 DRG 頁面,然後按一下 Hub VCN 連附項。
-
按一下編輯。
-
按一下顯示進階選項。
- 按一下 VCN 路由表。
- 在關聯路由表中,選取選取現有項目。
- 選取我們建立的路由表。
- 按一下儲存變更。
-
已順利指定 VCN 路由表。
注意:您可以在 DRG 連附項指定兩種類型的路由表:
- DRG 路由表:我們為任務 1.7 中的軸輻附件所建立的路由表。每次傳送 VCN 連附項的輸出流量時,都會檢查此表格。
- VCN 路由表:我們在此作業 3.8 中建立的路由表。收到流量並傳到 VCN 連附項時,將會檢查此表格。
-
在此階段,我們已完成所有 OCI 相關組態,確保此架構中任何兩個資源之間的流量會先透過 pfSense 進行遞送,以供檢查。現在,如果我們透過偵測 FE-VM 的 BE-VM 來進行快速測試,該怎麼辦?
正如您觀察到的,pfSense 將封鎖所有經過的流量,直到您明確允許它為止,我們將在即將進行的工作中進行。
工作 3.9:允許流量通過 pfSense
在本教學課程中,我們將運用 pfSense 的兩個功能。
-
存取規則:依據「協定」、「連接埠號碼」、「來源位址」以及「目的地位址」來允許或拒絕流量。
-
封包擷取:根據 IP 位址、封包類型、連接埠號碼等套用篩選器,以分析防火牆將檢查之封包層級的內送和外送流量。
請記住,您可以使用 pfSense 進行更多工作,但我們的焦點在於在 OCI 中安裝 pfSense,並將其整合至現有的網路架構,並在 OCI 中導入適當的路由和安全性。
-
在這項任務中,我們將允許在某些案例中需要的流量。由於此教學課程系列的集中在 DNS 上,因此我們將新增的規則將特別與 DNS 流量 ( 原生和 BIND9 型) 相關。現在,瀏覽至 pfSense Web 管理介面。
- 按一下防火牆。
- 按一下規則。
-
請注意 pfSense 防火牆的預設規則。
第一個規則 (選擇性):
-
連線詳細資訊。
- 來源:跳躍伺服器 (
10.4.1.5
)。 - 目的地: FE-VM (
10.1.0.5
)。 - 協定:SSH 。
- 連接埠號碼:
22
。 - 動作:通過。
- 理由:我們想要從跳躍伺服器存取 FE-VM 。這是選擇性規則,因為您仍然可以使用堡壘主機連線。
- 來源:跳躍伺服器 (
-
按一下新增。
- 選取動作以通過。
- 選取協定至 TCP 。
- 將來源地址輸入至
10.4.1.5
。 - 將目的地地址輸入至
10.1.0.5
。 - 將目的地連接埠輸入至
22
。 - 按一下儲存。
- 按一下套用變更。
- 將會顯示一則訊息,指出已順利套用變更。
- 已新增規則。
第二規則:
-
連線詳細資訊。
- 來源: FE-VM (
10.1.0.5
)。 - 目標: BE-VM (
10.2.0.5
)。 - 協定:ICMP 。
- 動作:通過。
- 理由:為了進行測試,必須啟用 FE-VM 才能偵測 BE-VM 。
- 來源: FE-VM (
-
按一下新增。
- 選取動作以通過。
- 選取協定為 ICMP ,選取子類型為任一。
- 將來源地址輸入至
10.1.0.5
。 - 將目的地地址輸入至
10.2.0.5
。 - 按一下儲存。
- 按一下套用變更。
- 將會顯示一則訊息,指出已順利套用變更。
- 已新增規則。
第三規則:
-
連線詳細資訊。
- 來源:向前 Frontend-VCN (
10.1.0.6
)。 - 目的地: LSN (
10.3.0.6
)。 - 協定:TCP 和 UDP 。
- 連接埠號碼:
53
。 - 動作:通過。
- 理由:我們希望 FE-VM 能夠解析 BE-VM (
be-vm.beprivatesubnet.backendvcn.oraclevcn.com
)。因此,前端 Frontend-VCN 必須能夠查詢監聽器。因此,必須允許 DNS 流量。
- 來源:向前 Frontend-VCN (
-
按一下新增。
- 選取動作以通過。
- 選取協定 (Protocol) 至 TCP/UDP 。
- 將來源地址輸入至
10.1.0.6
。 - 將目的地地址輸入至
10.3.0.6
。 - 將目的地連接埠輸入至
53
。 - 按一下儲存。
- 按一下套用變更。
- 將會顯示一則訊息,指出已順利套用變更。
- 已新增規則。
第四個規則:
-
連線詳細資訊。
- 來源:向前 Frontend-VCN (
10.1.0.6
)。 - 目的地:DNS-NLB (
10.0.0.110
)。 - 協定:TCP 和 UDP 。
- 連接埠號碼:
53
。 - 動作:通過。
- 理由:我們希望 FE-VM 能夠解析 BE-VM (
be.orastage.com
)。因此, Frontend-VCN 的前端必須能夠查詢將流量傳送至其中一個後端 BIND9 DNS 伺服器的 DNS-NLB 。因此,必須允許 DNS 流量。
- 來源:向前 Frontend-VCN (
-
按一下新增。
- 選取動作以通過。
- 選取協定 (Protocol) 至 TCP/UDP 。
- 將來源地址輸入至
10.1.0.6
。 - 將目的地地址輸入至
10.0.0.110
。 - 將目的地連接埠輸入至
53
。 - 按一下儲存。
- 按一下套用變更。
- 將會顯示一則訊息,指出已順利套用變更。
- 已新增規則。
第五個規則:
-
連線詳細資訊。
- 來源:後端 VCN 向前 (
10.2.0.6
)。 - 目的地: LSN (
10.3.0.6
)。 - 協定:TCP 和 UDP 。
- 連接埠號碼:
53
。 - 動作:通過。
- 理由:我們希望 BE-VM 能夠解析 FE-VM (
fe-vm.feprivatesubnet.frontendvcn.oraclevcn.com
)。因此, Backend-VCN 向前必須能夠查詢監聽器。因此,必須允許 DNS 流量。
注意:重複第三個規則中完成的步驟,但此時來源與後端 VCN (
10.2.0.6
) 的轉寄不同。 - 來源:後端 VCN 向前 (
第六個規則:
-
連線詳細資訊。
- 來源:後端 VCN 向前 (
10.2.0.6
)。 - 目的地:DNS-NLB (
10.0.0.110
)。 - 協定:TCP 和 UDP 。
- 連接埠號碼:
53
。 - 動作:通過。
- 理由:我們希望 BE-VM 能夠解析 FE-VM (
fe.orastage.com
)。因此,後端 VCN 轉寄必須能夠查詢 DNS-NLB ,這會將流量傳送至其中一個後端 BIND9 DNS 伺服器。因此,必須允許 DNS 流量。
注意:重複在第四個規則中完成的步驟,但此時來源與後端 VCN (
10.2.0.6
) 的轉寄不同。 - 來源:後端 VCN 向前 (
作業 4:測試並驗證
-
我們只會從 FE-VM 執行處理進行測試。
備註: ( 選擇性 ) 我們將使用 Windows Jump-Server 來連線至 FE-VM ,您仍然可以透過堡壘主機進行連線 (如果想要的話)。
- 將 OCI Cloud Shell 中使用的私密金鑰從過去的教學課程複製到 Windows 執行處理。
- 在伺服器上安裝 OpenSSH。如需詳細資訊,請參閱 Technical:Install OpenSSH SFTP on Windows Server 2016 。
- 執行 SSH 命令。
- 我們已順利登入 FE-VM 執行處理。
測試方案 1
-
測試原生網域
*.oraclevcn.com
。FE-VM 用戶端機器應該可以解析be-vm.beprivatesubnet.backendvcn.oraclevcn.com
。我們已在 pfSense 中允許此流量。在此測試中,我們將使用 pfSense 中的封包擷取功能來確保流量通過。 -
轉送流量:
-
回應流量:
-
從 Windows 機器存取 pfSense。
- 按一下診斷值。
- 按一下封包擷取。
- 填入來源 IP (FWD - 10.1.0.6) 和目的地 IP (LSN - 10.3.0.6)。
- 輸入
53
作為連接埠號碼。 - 按一下開始。
- 您可以監控從 FWD 到 LSN 的 DNS 流量。
-
從 FE-VM ,偵測 BE-VM 原生網域
be-vm.beprivatesubnet.backendvcn.oraclevcn.com
。 -
在封包擷取中,每次偵測時都會進行查詢。
-
變更篩選以監控 ping 流量。
-
轉送流量:
-
回應流量:
- 填入來源 IP (FE-VM - 10.1.0.5) 和目的地 IP (BE-VM - 10.2.0.5)。
- 輸入協定作為 ICMPv4 。
- 按一下開始。
- 您可以監視從 FE-VM 到 BE-VM 的偵測流量。
-
從 FE-VM ,對 BE-VM
be-vm.beprivatesubnet.backendvcn.oraclevcn.com
進行另一個偵測。 -
在封包擷取中,您會注意到偵測流量。
-
向上捲動並按一下停止,即可在完成測試後停止擷取封包。
-
按一下清除擷取即可開始另一個擷取。
注意:您可以依照測試中的相同步驟進行,但可以按照相反的方向,從 BE-VM 到 FE-VM
fe-vm.feprivatesubnet.frontendvcn.oraclevcn.com
。此情況已允許流量。
測試案例 2
-
測試公司的 BIND9 受管理網域
*.orastage.com
。FE-VM 用戶端機器應該可以解析be.orastage.com
。我們已在 pfSense 中允許此流量。在此測試中,我們將使用 pfSense 中的「封包擷取」功能來確保流量通過。 -
轉送流量:
-
回應流量:
-
從跳躍伺服器存取 pfSense。
- 按一下診斷值。
- 按一下封包擷取。
- 填入來源 IP (FWD - 10.1.0.6) 和目的地 IP (DNS-NLB - 10.0.0.110)。
- 輸入
53
作為連接埠號碼。 - 按一下開始。
- 您可以監控從 FWD 到 DNS-NLB 的 DNS 流量。
-
從 FE-VM ,偵測 BE-VM 網域
be.orastage.com
。 -
在封包擷取中,每次偵測時都會進行查詢。
-
變更篩選以監控 ping 流量。
-
轉送流量:
-
回應流量:
- 填入來源 IP (FE-VM - 10.1.0.5) 和目的地 IP (BE-VM - 10.2.0.5)。
- 輸入協定作為 ICMPv4 。
- 按一下開始。
- 您可以監視從 FE-VM 到 BE-VM 的偵測流量。
-
從 FE-VM ,對 BE-VM
be.orastage.com
進行另一個偵測。 -
在封包擷取中,您會注意到偵測流量。
-
向上捲動並按一下停止,即可在完成測試後停止擷取封包。
-
在我們完成測試時,按一下清除擷取。
注意:您可以依照測試中的相同步驟進行,但可以按照相反的方向,從 BE-VM 到 FE-VM
fe.orastage.com
。此情況已允許流量。
結論
恭喜您!我們終於抵達 DNS 歷程的尾端。
在本教學課程中,我們專注於使用 pfSense 增強 OraStage 的 DNS 架構,這對於各種 DNS 型攻擊和漏洞提供了重要的防禦層。透過篩選流量、強制執行安全 DNS 協定及封鎖惡意網域,OraStage 可確保其 DNS 伺服器能夠安全且有效率地運作。
在整個系列中,您已經掌握 OCI 的一些重要技能。每個教學課程都建立在最後階段,讓您在 OCI 中擁有穩固的基礎,同時依賴漸進式學習方法。這些技能可協助您有效管理和最佳化雲端基礎架構:
- 設定虛擬雲端網路 (VCN) 路由和安全性。
- 設定動態路由閘道 (DRG)。
- 設定並使用 OCI 堡壘主機存取專用執行處理。
- 設定並使用 Windows 跳轉伺服器存取專用執行處理。
- 在 OCI 中安裝並設定 BIND9 DNS 解決方案。
- 設定並使用 OCI 網路負載平衡器提供高可用性。
- 設定並使用 OCI 專用 DNS 元件解析原生網域。
- 在 OCI 中安裝並設定 pfSense 防火牆,並將其整合至中樞和網輻架構。
認可
- 作者 - Anas abdallah (雲端網路專家)
其他學習資源
探索 docs.oracle.com/learn 上的其他實驗室,或存取 Oracle Learning YouTube 頻道上的更多免費學習內容。此外,請造訪 education.oracle.com/learning-explorer 以成為 Oracle Learning Explorer。
如需產品文件,請造訪 Oracle Help Center 。
Adding Security to the Domain Name System Architecture using pfSense Firewall
G19403-02
Copyright ©2025, Oracle and/or its affiliates.