IBM Cloud Docs
使用安全的專用網路隔離工作負載

使用安全的專用網路隔離工作負載

本指導教學說明 標準基礎架構的用法。 大部分工作量都可以使用 IBM Cloud® Virtual Private Cloud 資源來實作。 使用 IBM Cloud VPC 在共用公用雲端基礎架構上建立您自己的專用雲端型運算環境。 VPC 可讓企業定義及控制邏輯上與所有其他公用雲端租戶隔離的虛擬網路,在公用雲端上建立專用且安全的位置。 具體而言,Direct Link虛擬伺服器實例安全群組VPN流程日誌

本指導教學可能會產生成本。 使用 成本估算器 根據您的預計使用情況產生成本估算。

在公用雲端上,對於 IaaS 應用程式部署模型來說,非常需要隔離且安全的專用網路環境。 在建立隔離的專用環境時,防火牆、VLAN、遞送及 VPN 全都是必要的元件。 透過這種隔離,虛擬機器和裸機伺服器能夠安全地部署在複雜的多層應用程式拓蹼中,同時能防範公用網際網路上的風險。

本教學重點介紹如何在IBM Cloud上設定 Virtual Router Appliance(VRA) 以建立安全的專用網路(外殼)。 VRA 在一個自我管理的套件中提供防火牆、VPN 閘道、網址轉換 (NAT) 和企業級遞送。 在本指導教學中,VRA 用於顯示如何在 IBM Cloud 上建立封閉、隔離的網路環境。 在此隔離區中,可以使用為人熟悉且眾所周知的 IP 遞送、VLAN、IP 子網路、防火牆規則、虛擬伺服器和裸機伺服器技術來建立應用程式拓蹼。

本指導教學是在 IBM Cloud 上進行標準網路連線功能的起點,不應將其視為依現狀使用的正式作業功能。 可以考慮的其他功能包括:

目標

  • 部署虛擬路由器應用裝置 (VRA)
  • 定義 VLAN 和 IP 子網路,以部署虛擬機器和裸機伺服器
  • 使用防火牆規則保護 VRA 和隔離區

架構
教學的架構圖

  1. 配置 VPN
  2. 部署 VRA
  3. 建立虛擬伺服器
  4. 透過 VRA 遞送存取權
  5. 配置隔離區防火牆
  6. 定義 APP 區域
  7. 定義 INSIDE 區域

開始之前

配置 VPN 存取

在本教程中,建立的網路隔離區在公共 Internet 上不可見。 VRA 和任何伺服器只能透過專用網路存取,您將使用 VPN 進行連線。

  1. 確定 VPN 存取已啟用

    您應該是主用戶才能啟用 VPN 存取或聯絡主用戶進行存取。

  2. 選取使用者清單中的使用者,以取得 VPN 存取認證。

  3. 透過 Web 介面 登入 VPN,或使用 適用於 Windows、Linux 或 macOS 的 VPN 用戶端。

    若為 VPN 用戶端,請從 可用的 VPN 端點頁面(例如 vpn.ams03.softlayer.com ) 使用單一資料中心 VPN 存取點的 FQDN 作為閘道位址。

檢查帳戶許可權

請與您的基礎架構主要使用者聯絡,以取得下列許可權:

  • 快速許可權 - 基本使用者
  • 網絡, 以便您可以建立和配置機櫃(需要所有網絡權限)
  • 服務許可權,用於管理 SSH 金鑰

上傳 SSH 金鑰

使用入口網站 上傳將用於存取和管理 VRA 和專用網路的 SSH 公鑰

設定目標資料中心

選擇一個IBM Cloud資料中心來部署安全專用網路。

訂購 VLAN

若要在目標資料中心內建立專用隔離區,必須先指派伺服器所需的專用 VLAN。 當您建立 VLAN 時,請選取 位置 下的 Pod,並確保在您計劃建立 VRA 的相同資料中心和 Pod 中要求 VLAN。 如果在訂購虛擬伺服器實例之前訂購 VRA,則必須為虛擬伺服器實例購買 VLAN,以確保虛擬伺服器實例位於正確的 Pod 中。 支援多層應用拓撲的額外 VLAN 是收費的。

若要確保相同資料中心路由器上有足夠的 VLAN 可用,且可以與 VRA 相關聯,您可以訂購 VLAN。 如需詳細資料,請參閱 訂購 VLAN

佈建虛擬路由器應用裝置

第一步是部署Virtual Router Appliance(VRA),該設備將為專用網路機箱提供 IP 路由和防火牆。 可透過IBM Cloud提供的面向公眾的傳輸 VLAN、網關以及可選的硬體防火牆從機箱存取互聯網,以建立從公共 VLAN 到安全專用機箱 VLAN 的連接。 在本解決方案教程中,VRA 為外圍提供了此網關和防火牆。

  1. 從目錄中選擇 Gateway Appliance
  2. 網關供應商部分,選擇 AT&T。 可以選擇「最高 20 Gbps」或「最高 2 Gbps」上行鏈路速度。
  3. 主機名稱部分,輸入新 VRA 的主機名稱和網域。
  4. 如果選取 「高可用性」 複選框,您將獲得兩個 VRA 設備,使用 VRRP 在活動/備份設定中運作。
  5. 位置部分,選擇您需要 VRA 的位置和 Pod
  6. 選取「單處理器」或「雙重處理器」。 您將獲得伺服器列表。 透過按一下相應圓鈕來選擇伺服器。
  7. 選取 RAM 數量。 若為正式作業環境,建議至少使用 64GB RAM。測試環境的最低 8GB。
  8. 選取 SSH 金鑰(選用)。 此 SSH 金鑰將安裝在 VRA 上,因此可以使用使用者 vyatta 透過此金鑰來存取 VRA。
  9. 硬碟磁碟機。 請保留預設值。
  10. 「上行鏈路連接埠速度」 部分中,選擇滿足您需求的速度、冗餘以及專用和/或公共介面的組合。
  11. 附加程式區段中,保留預設值。 如果要在公用介面上使用 IPv6,請選取 IPv6 位址。

在右側窗格中,您可以看到您的訂單摘要。 選擇_我已閱讀並同意下面列出的第三方服務協議:_複選框,然後按一下建立按鈕。 將會部署閘道。

裝置清單幾乎會立即顯示該 VRA,並具有時鐘符號,指示此裝置上正在進行交易處理。 在 VRA 建立完成之前,時脈符號將保留,除了查看詳細資訊之外,無法對設備執行任何配置操作。

檢閱部署的 VRA

  1. 檢查新的 VRA。 在 基礎設施儀表板上,選擇左側窗格中的 「網路」,然後選擇 「網關設備」 以前往 「網關設備」 頁面。 按一下 「網關」欄位中新建立的 VRA 的名稱,進入「網關詳細資料」頁面。

  2. 記下 VRA 的PrivatePublic IP 位址,以供未來使用。

起始 VRA 設定

  1. 在您的工作站上,使用SSL VPN使用預設的 vyatta 帳戶登入 VRA,接受 SSH 安全提示。

    ssh vyatta@<VRA Private IP Address>
    

    如果 SSH 提示輸入密碼,說明 SSH 金鑰未包含在建置中。 使用 Web 瀏覽器 使用 VRA Private IP Address 存取 VRA。 密碼位於軟體密碼頁面中。 在配置標籤上,選取「系統/登入/vyatta」分支,並新增所需的 SSH 金鑰。

    設定 VRA 需要使用 configure 指令將 VRA 置於 [編輯] 模式。 在edit模式下,提示字元會從 $ 變更為 #。 成功變更 VRA 配置後,可以使用 compare 指令檢視變更,並使用 validate 指令檢查變更。 透過 commit 指令確定變更,變更將套用於執行中的配置,並自動儲存到啟動配置中。

  2. 透過僅容許 SSH 登入來加強安全。 現在已使用專用網路成功進行 SSH 登錄,請停用透過使用者 ID/密碼驗證進行的存取。

    configure
    set service ssh disable-password-authentication
    commit
    exit
    

    從本教學的這一點開始,假設所有 VRA 指令都是在使用 configure 指令後在 edit 提示字元下輸入的。

  3. 檢閱起始配置。

    show
    

    VRA 已針對 IBM Cloud IaaS 環境進行預先配置。 這包括下列內容:

    • NTP 伺服器
    • 名稱伺服器
    • SSH
    • HTTPS Web 伺服器
    • 預設時區 - 美國/芝加哥
  4. 根據需要設定本地時區。 使用 Tab 鍵自動完成將列出潛在的時區值。

    set system time-zone <timezone>
    
  5. 設定連線測試行為。 為了輔助遞送和防火牆疑難排解,未停用 ping。

    set security firewall all-ping enable
    set security firewall broadcast-ping disable
    
  6. 啟用有狀態防火牆作業。 預設情況下,VRA 防火牆是無狀態的。

    set security firewall global-state-policy icmp
    set security firewall global-state-policy udp
    set security firewall global-state-policy tcp
    
  7. 確定並自動儲存對啟動配置的變更。

    commit
    

訂購第一個虛擬伺服器

現在建立的虛擬伺服器用於輔助診斷 VRA 配置錯誤。 會先驗證是否能透過 IBM Cloud 專用網路順利存取 VSI,才在稍後的步驟中透過 VRA 遞送存取該 VSI。

  1. 訂購 虛擬伺服器
  2. 在訂購頁面上:
    • 選取 公用
    • 計費設定為按小時
    • 設定 VSI 主機名稱網域名稱。 此網域名稱不用於遞送和 DNS,但應與網路命名標準保持一致。
    • 位置設定為與 VRA 相同。
    • 設定檔設定為 C1.1x1
    • 新增先前指定的 SSH 金鑰
    • 作業系統設定為 CentOS Stream 9.x- 最小
    • 上行鏈路連接埠速度中,必須將網路介面的預設_公用和專用_變更為僅指定專用網路上行鏈路。 這可確保新伺服器無法直接存取網際網路。
    • 專用 VLAN 設定為早先訂購的專用 VLAN 的 VLAN 號碼。
  3. 選取勾選框以接受「協力廠商」服務合約,然後按一下 建立
  4. 裝置頁面上或透過電子郵件監視完成情況。
  5. 記下 VSI 的_專用 IP 位址_以供後續步驟使用,並在 「裝置詳細資料」 頁面的 「網路」 部分下記錄 VSI 已指派到正確的 VLAN。 如果沒有,請刪除此 VSI,然後在正確的 VLAN 上建立新的 VSI。
  6. 在本端工作站中,透過 VPN 使用 ping 和 SSH 來驗證是否可以透過 IBM Cloud 專用網路成功存取 VSI。
    ping <VSI Private IP Address>
    SSH root@<VSI Private IP Address>
    

透過 VRA 路由 VLAN 存取

虛擬伺服器的專用 VLAN 透過IBM Cloud管理系統與此 VRA 關聯。 在此階段,仍可透過IBM Cloud專用網路上的 IP 路由存取 VSI。 現在,您將透過 VRA 路由子網以建立安全專用網絡,並透過確認 VSI 現在無法存取來進行驗證。

  1. 透過閘道應用裝置頁面前往 VRA 的「閘道詳細資料」,並在該頁面的下半區段找到關聯的 VLAN 區段。 關聯的 VLAN 將在這裡列出。 在此階段,VLAN 和關聯的子網路不受 VRA 保護或路由,並且可以透過IBM Cloud專用網路存取 VSI。 VLAN 的狀態顯示為 Route Coround。 按一下 管理 VLAN 按鈕。

    已啟用 關聯 VLAN 鏈結,可讓您新增其他佈建的 VLAN。 如果在與 VRA 相同的路由器上沒有可用的 VLAN,則鏈結會變成灰色。 這將需要您 訂購 VLAN,以在與 VRA 相同的路由器上要求專用 VLAN。 初始 VLAN 關聯可能需要幾分鐘才能完成。 完成之後,VLAN 會顯示在 相關聯的 VLAN 標題下。

  2. 按一下相關聯 VLAN 左側的勾選框,然後按一下 遞送透過,以透過 VRA 遞送 VLAN/子網路。 這可能需要幾分鐘。 畫面重新整理會顯示狀態為 Route Through

  3. 按一下 VLAN 號碼以檢視 VLAN 詳細資料。 在裝置下,可以看到佈建的 VSI。 在子網路下,會看到要與 VRA 搭配使用的主要子網路。 記下專用 VLAN 編號 ,因為這將在後續步驟中使用。

    如需 VLAN 的適當識別,請檢查 VLAN 識別

  4. 按一下 子網路 以查看 IP 子網路詳細資料。 記下子網路、閘道位址和 CIDR (/26),因為進一步 VRA 配置需要這些資訊。

  5. 使用 ping 驗證子網路/VLAN 是否路由到 VRA,並且無法從工作站透過管理網路存取 VSI。

    ping <VSI Private IP Address>
    

這就透過 IBM Cloud 主控台完成了 VRA 的設定。 現在,透過 SSH 直接在 VRA 上執行配置隔離區和 IP 遞送的其他工作。

配置 IP 遞送和安全隔離區

確定 VRA 配置後,將變更執行配置,並且變更會自動儲存到啟動配置中。

如果您想要返回到先前的工作配置,預設情況下,可以查看、比較或還原最後 20 個提交點。 如需 show system commitcomparerollback 的詳細資料,請參閱補充說明文件 Basic System Configuration Guide

配置 VRA IP 遞送

配置 VRA 虛擬網路介面以從 IBM Cloud 專用網路遞送到新子網路。

  1. 透過 SSH 登入 VRA。

    SSH vyatta@<VRA Private IP Address>
    
  2. 使用前面步驟中記錄的專用 VLAN 號碼、子網路閘道 IP 位址和 CIDR 建立新的虛擬介面。 CIDR 通常為 /26

    configure
    set interfaces bonding dp0bond0 vif <VLAN ID> address <Subnet Gateway IP>/<CIDR>
    commit
    

    使用 <Subnet Gateway IP> 地址至關重要。 這通常是子網路範圍中第一批位址中的其中一個位址。 輸入無效的網關位址會導致錯誤 Configuration path: interfaces bonding dp0bond0 vif xxxx address [x.x.x.x] is not valid。 更正指令並重新輸入。 您可以在網路 > IP 管理 > 子網路中查看。 按一下您需要了解網關位址的子網路。 清單中的第二個項目 (具有說明 Gateway) 是要在 / 之前的 <Subnet Gateway IP>/<CIDR> 中輸入的 IP 位址。

    預設情況下,VRRP 被設定為停用。 這可確保新的佈建和重新載入不會導致「主要」裝置發生中斷。 若要讓 VLAN 資料流量能夠運作,在佈建或重新載入之後,就必須重新啟用 VRRP。

    delete interfaces bonding dp0bond0 vrrp vrrp-group 1 disable
    commit
    

    如果使用 HA 配對,指令會稍微不同,VRRP 虛擬 IP(VIP)位址

  3. 列出新的虛擬介面 (vif):

    show interfaces
    

    這是顯示 vif 1199 和子網關位址的範例介面配置。

    介面
    介面

  4. 在工作站中透過管理網路驗證 VSI 是否再次可存取。

    ping <VSI Private IP Address>
    

    如果無法存取 VSI,請檢查 VRA IP 遞送表是否按預期進行了配置。 利用顯示介面所提供的資訊來刪除,並執行 delete 指令: delete interfaces bonding dp0bond0 vif <VLAN ID> address <Subnet Gateway IP>/<CIDR>,然後以適當的值重建。 若要在設定模式下執行 show 指令,可以使用 run 指令:

     run show ip route <Subnet Gateway IP>
    

這就完成了 IP 遞送配置。

配置安全隔離區

透過配置區域和防火牆規則,可建立安全專用網路隔離區。 在繼續之前,請檢閱有關防火牆配置的 VRA 文件。

將定義兩個區域:

  • INSIDE:IBM 專用網路和 IBM 管理網路
  • APP:專用網路隔離區中的使用者 VLAN 和子網路
  1. 定義防火牆和預設值。

    configure
    set security firewall name APP-TO-INSIDE default-action drop
    set security firewall name APP-TO-INSIDE default-log
    
    set security firewall name INSIDE-TO-APP default-action drop
    set security firewall name INSIDE-TO-APP default-log
    commit
    

    如果設定指令意外運行兩次,您會收到一則訊息_“設定路徑 xxxxxxxx 無效。” Node存在' _ . 可以將其忽略。 要變更錯誤的參數,需要先刪除帶有「delete security xxxxx xxxx xxxxx」的節點。

  2. 建立 IBM Cloud 專用網路資源群組。 此位址群組定義可以存取隔離區的 IBM Cloud 專用網路以及可從隔離區存取的網路。 兩組 IP 位址需要進出安全機箱的存取權。 這些 IP 位址是 SSL VPN 資料中心及 IBM Cloud 服務網路 (後端/私密網路)。IBM Cloud IP 範圍 提供容許的完整 IP 範圍清單。

    • 定義要用於 VPN 存取的資料中心的 SSL VPN 位址。 從IBM Cloud IP 範圍的「SSL VPN資料中心」部分,選擇資料中心或 DC 叢集的 VPN 存取點。 此範例顯示了IBM Cloud倫敦資料中心的 VPN 位址範圍。
      set resources group address-group ibmprivate address 10.2.220.0/24
      set resources group address-group ibmprivate address 10.200.196.0/24
      set resources group address-group ibmprivate address 10.3.200.0/24
      
    • 定義DAL10、WDC04和目標資料中心的IBM Cloud“服務網路(在後端/專用網路上)”的位址範圍。 這裡的範例是DAL10、WDC04 (兩個位址)和LON06。
      set resources group address-group ibmprivate address 10.200.80.0/20
      set resources group address-group ibmprivate address 10.3.160.0/20
      set resources group address-group ibmprivate address 10.201.0.0/20
      
      set resources group address-group ibmprivate address 10.201.64.0/20
      commit
      
  3. 為使用者 VLAN 和子網路建立 APP 區域,並為 IBM Cloud 專用網路建立 INSIDE 區域。 指派先前建立的防火牆。 區域定義使用 VRA 網路介面名稱來識別與每個 VLAN 關聯的區域。 建立 APP 區域的命令要求您指定與先前建立的 VRA 關聯的 VLAN 的 VLAN ID。 這突出顯示為 <VLAN ID>

    set security zone-policy zone INSIDE description "IBM Internal network"
    set security zone-policy zone INSIDE default-action drop
    set security zone-policy zone INSIDE interface dp0bond0
    set security zone-policy zone INSIDE to APP firewall INSIDE-TO-APP
    
    set security zone-policy zone APP description "Application network"
    set security zone-policy zone APP default-action drop
    
    set security zone-policy zone APP interface dp0bond0.<VLAN ID>
    set security zone-policy zone APP to INSIDE firewall APP-TO-INSIDE
    
  4. 確定配置。 然後,從您的工作站使用 ping 驗證防火牆現在拒絕通過 VRA 到 VSI 的流量:

    commit
    
    ping <VSI Private IP Address>
    
  5. 針對 UDP、TCP 和 ICMP 定義防火牆存取規則。

    set security firewall name INSIDE-TO-APP rule 200 protocol icmp
    set security firewall name INSIDE-TO-APP rule 200 icmp type 8
    set security firewall name INSIDE-TO-APP rule 200 action accept
    set security firewall name INSIDE-TO-APP rule 200 source address ibmprivate
    
    set security firewall name INSIDE-TO-APP rule 100 action accept
    set security firewall name INSIDE-TO-APP rule 100 protocol tcp
    set security firewall name INSIDE-TO-APP rule 100 source address ibmprivate
    
    set security firewall name INSIDE-TO-APP rule 110 action accept
    set security firewall name INSIDE-TO-APP rule 110 protocol udp
    set security firewall name INSIDE-TO-APP rule 110 source address ibmprivate
    commit
    
    set security firewall name APP-TO-INSIDE rule 200 protocol icmp
    set security firewall name APP-TO-INSIDE rule 200 icmp type 8
    set security firewall name APP-TO-INSIDE rule 200 action accept
    set security firewall name APP-TO-INSIDE rule 200 destination address ibmprivate
    
    set security firewall name APP-TO-INSIDE rule 100 action accept
    set security firewall name APP-TO-INSIDE rule 100 protocol tcp
    set security firewall name APP-TO-INSIDE rule 100 destination address ibmprivate
    
    set security firewall name APP-TO-INSIDE rule 110 action accept
    set security firewall name APP-TO-INSIDE rule 110 protocol udp
    set security firewall name APP-TO-INSIDE rule 110 destination address ibmprivate
    commit
    
  6. 驗證防火牆存取權。

    • 確認 INSIDE-TO-APP 防火牆現在允許來自本機的 ICMP 和 UPD/TCP 流量。
      ping <VSI Private IP Address>
      SSH root@<VSI Private IP Address>
      
    • 確認 APP-TO-INSIDE 防火牆允許 ICMP 和 UPD/TCP 流量。 使用 SSH 登入 VSI,並 ping 位於10.0.80.11和10.0.80.12的IBM Cloud名稱伺服器之一。
      SSH root@<VSI Private IP Address>
      [root@vsi  ~]# ping 10.0.80.11
      
  7. 在工作站中透過 SSH 來驗證是否能持續存取 VRA 管理介面。 如果可持續存取,請檢閱並儲存配置。 否則,VRA 重新啟動將返回工作配置。

    SSH vyatta@<VRA Private IP Address>
    
    show security
    

除錯防火牆規則

可以透過 VRA 作業命令提示字元來檢視防火牆日誌。 在此配置中,僅記錄每個區域捨棄的資料流量,以輔助診斷防火牆配置錯誤。

  1. 檢閱防火牆日誌,以瞭解被拒絕的資料流量。 定期檢查日誌可確定 APP 區域中的伺服器是以有效方式還是以錯誤方式聯絡 IBM 網路上的服務。
    show log firewall name INSIDE-TO-APP
    show log firewall name APP-TO-INSIDE
    
  2. 如果無法聯繫服務或伺服器,並且在防火牆日誌中看不到任何內容,請驗證來自IBM Cloud專用網路的 VRA 網路介面上或在VRA 介面到 VLAN,使用之前的 <VLAN ID>
    monitor interface bonding dp0bond0 traffic
    monitor interface bonding dp0bond0.<VLAN ID> traffic
    

保護 VRA

  1. 套用 VRA 安全原則。 預設情況下,基於策略的防火牆分割區不能保護對 VRA 本身的存取。 這是透過控制平面原則 (CPP) 配置的。 VRA 將基本 CPP 規則集作為範本提供。 請將其合併到配置中:
    configure
    merge /opt/vyatta/etc/cpp.conf
    
    這會建立名為 CPP 的新防火牆規則集。 以 \ [edit] 模式檢視其他規則並確定。
    show security firewall name CPP
    commit
    
  2. 保護公用 SSH 存取。 由於 Vyatta 韌體目前存在一個突出問題,因此不建議使用 set service SSH listen-address x.x.x.x 來限制公共網路上的 SSH 管理存取。 或者,可以透過 CPP 防火牆阻止 VRA 公共介面使用的公用 IP 位址範圍的外部存取。 這裡使用的 <VRA Public IP Subnet> 與最後一個八位元組為零 ( x.x.x.0 ) 的 <VRA Public IP Address> 相同。
    set security firewall name CPP rule 900 action drop
    set security firewall name CPP rule 900 destination address <VRA Public IP Subnet>/24
    set security firewall name CPP rule 900 protocol tcp
    set security firewall name CPP rule 900 destination port 22
    commit
    
  3. 驗證透過IBM內部網路的 VRA SSH 管理存取。 如果執行提交後無法透過 SSH 存取 VRA,您可以透過「操作」功能表透過 VRA 裝置詳細資料頁面上的 KVM 控制台存取 VRA。

這樣就完成了保護包含 VLAN 和子網路的單一防火牆區域的安全專用網路外殼的設定。 可以按照相同的指示來新增其他防火牆區域、規則、虛擬伺服器和裸機伺服器、VLAN 以及子網路。

移除資源

在此步驟中,您將清理資源以刪除您建立的內容。

  • 取消全部虛擬伺服器或裸機伺服器
  • 取消關聯並 取消任何 VLAN
  • 取消 VRA

VRA 屬於按月付費方案。 取消不會退款。 建議只有在下個月不會再度需要此 VRA 時才取消。 如果需要雙 VRA 高可用性叢集,這個單一 VRA 可以在閘道詳細資料頁面上升級。