公有雲 Azure IaaS VM 虛擬主機 資料庫 資安 網路安全

無須指派公用IP避免曝露 採PaaS服務保障底層系統安全

建立Bastion堡壘主機 管理Azure雲端更安心

2020-02-17
本文將說明建立Azure Bastion堡壘主機的優點,並實際示範它如何有效地幫助中小企業降低營運管理成本,無須費心建立Site-to-Site VPN安全性通道或是採用昂貴的Express Route專線費用,也避免了為方便管理而指派公用IP位址給VM虛擬主機因而遭受惡意攻擊的風險。

 

過去,當企業和組織在Azure公有雲環境中採用IaaS(Infrastructure as a Service)解決方案的VM虛擬主機時,如圖1所示,IT管理人員可以完全獲得VM虛擬主機作業系統層級以上的掌控權,以便滿足企業和組織對於營運服務的客製化環境運作需求,例如客製化組態設定IIS網頁伺服器、SQL Server資料庫伺服器。

圖1  採用Azure公有雲IaaS基礎架構即服務中的VM虛擬主機解決方案示意圖。 (圖片來源:Microsoft Docs - Choose the right deployment option - Azure SQL Database)

然而,當企業組織的在地端資料中心,並未與Azure公有雲建立S2S(Site-to-Site)VPN安全性通道,或是採用Express Route專線連接解決方案,將公司地端資料中心網路環境和Azure公有雲虛擬網路環境連接時,就必須為Azure公有雲上的VM虛擬主機指派「公用IP位址」(Public IP Address),並且開啟遠端管理連接埠號,才能夠進行VM虛擬主機的遠端連線管理工作任務。

舉例來說,採用Windows虛擬主機時便須要開啟RDP(Port 3389),而採用Linux虛擬主機時則須開啟SSH(Port 22),以便管理人員透過網際網路的公用IP位址,遠端連線進行管理VM虛擬主機的工作任務。但是,一旦為VM虛擬主機指派採用公用IP位址,便會讓VM虛擬主機直接曝露在充滿安全性威脅的網際網路中,無謂地增加安全性風險,如圖2所示。

圖2  為VM虛擬主機指派公用IP位址,會讓VM虛擬主機曝露在充滿安全性威脅的網際網路。 (圖片來源:Microsoft Docs - Just-in-time virtual machine access in Azure Security Center)

當然,管理人員可以採用NSG網路安全性群組機制,如圖3所示,針對管理流量的來源IP位址和來源連接埠、前往的目的地IP位址和目的地連接埠,與採用的通訊協定進行存取管控,並且搭配JIT(Just-In-Time)安全性機制,有效降低因為VM虛擬主機曝露在網際網路上而遭受攻擊的風險。

圖3  Azure NSG網路安全性群組運作架構示意圖。 (圖片來源:Microsoft Docs - Azure security groups overview)

此外,有些管理人員為了能夠在方便管理和有效隔離之間達到平衡,會索性自己建立一台VM虛擬主機擔任跳板機的工作任務,也就是為擔任跳板機的VM虛擬主機指派公用IP位址,而其他台VM虛擬主機則僅採用私有IP位址,達到與網際網路隔離的效果。然後,在後續的管理作業中,先連線至此台跳板機VM虛擬主機,再透過這台跳板機遠端連線至其他VM虛擬主機進行管理作業。

這樣的做法雖然能夠讓其他VM虛擬主機不致於直接曝露在充滿安全威脅的網際網路上,而達到一定程度的安全性效果,然而管理人員必須完全確保這台跳板機的安全性,因為這台跳板機上除了可以連線至其他VM虛擬主機外,可能也存放許多連線主機的機敏資訊,所以一旦這台跳板機被惡意使用者攻陷,那麼受影響的將會是這台跳板機曾經連線過的所有VM虛擬主機。

由上述情況可知,雖然有許多各種不同的因應做法,可以降低VM虛擬主機遭受網際網路攻擊的安全性風險,但是卻會大幅增加管理人員在維運管理上的負擔。

現在,管理人員可以透過部署Azure Bastion堡壘主機,如圖4所示,同樣不必為VM虛擬主機指派公用IP位址,達到無須曝露在網際網路上而遭受攻擊的風險,並且在管理人員主機與Bastion堡壘主機之間,將會先建立SSL安全性連線,再採用RDP和SSH與VM虛擬主機進行連線管理作業,同時在管理人員主機中無須安裝額外的管理用戶端程式,而VM虛擬主機也不必安裝任何代理程式。

圖4  Azure Bastion安全性機制運作架構示意圖。 (圖片來源:Microsoft Docs - Azure Bastion Overview)

或許有些管理人員已經意識到,Bastion堡壘主機的運作架構與剛才提到的跳板機非常類似,那麼Bastion堡壘主機和傳統IT管理人員規劃的跳板機有何不同?首先,由於Bastion堡壘主機並非IaaS服務而是PaaS服務,所以管理人員無須擔心Bastion堡壘主機底層作業系統的安全性,因為Azure會隨時更新和維持Bastion堡壘主機的最新穩定狀態。

此外,因為Bastion堡壘主機是透過私有IP位址連線至VM虛擬主機,所以管理人員無須設定NSG網路安全性群組,倘若管理人員仍希望進一步提升安全性時,可以在NSG網路安全性群組的防護規則中,允許僅針對Bastion堡壘主機的虛擬網路開啟RDP和SSH通訊協定即可。

實戰Azure Bastion安全性機制

在本文中,將示範一步一步實戰建立Azure Bastion安全性機制。首先,在Azure公有雲環境中的「日本東部」Azure資料中心內,分別建立一台Windows和Linux虛擬主機。

在建立VM虛擬主機的過程中,如圖5所示,除了未指派任何公用IP位址外,在NSG網路安全性群組的部分也未開啟遠端連線管理通訊埠,例如RDP的Port 3389和SSH的Port 22,並且地端的資料中心也未與Azure公有雲環境,建立S2S(Site-to-Site)VPN或Express Route等安全性通道。因此在這樣的運作環境中,管理人員並沒有任何方法可以連線到這兩台VM虛擬主機。

圖5  建立VM虛擬主機時,未指派公用IP位址和開啟遠端連線管理通訊埠。

建立Bastion堡壘主機

在開始部署Bastion堡壘主機之前,管理人員必須了解在Azure公有雲環境中部署Bastion堡壘主機,將會採用「虛擬網路」(Virtual Network)為單位,與屆時所要連接管理之VM虛擬主機的虛擬網路進行連線,而非採用訂閱帳戶或是VM虛擬主機為單位。

因此,於實作環境的日本東部資料中心內,如圖6所示,在虛擬網路環境中建立兩個虛擬網路,分別是規劃給VM虛擬主機使用的「10.0.1.0/24」虛擬網路,以及規劃給Bastion堡壘主機使用的「10.0.2.0/24」虛擬網路。

圖6  規劃給VM虛擬主機和Bastion堡壘主機使用的虛擬網路。

由於已經在日本東部資料中心建立Windows和Linux虛擬主機,所以只要登入Azure入口網站,點選其中一台VM虛擬主機,並依序點選「Connect > Bastion > Use Bastion」選項,如圖7所示,即可在現有運作環境中部署Bastion堡壘主機,而且系統會自動將組態設定對應至目前採用的VM虛擬主機和虛擬網路。

圖7  準備在現有運作環境中部署Bastion堡壘主機。

在部署Bastion堡壘主機畫面中,管理人員只要填入下列四項資訊即可進行部署作業:

‧名稱:部署的Bastion堡壘主機名稱,本文實作環境為「Bastion-for-JapanEast」。

‧虛擬網路名稱:部署Bastion堡壘主機採用的虛擬網路名稱,子網路遮罩至少必須為「/27」或更大的子網路,同時不包含任何NSG網路安全性群組、路由表和委派,本文實作環境為「AzureBastionSubnet」。

‧公用IP位址:指派給Bastion堡壘主機採用的公用IP位址,屆時便是透過這個指派的公用IP位址和管理人員的主機,建立SSL(Port 443)安全性通道,以RDP和SSH遠端連線管理VM虛擬主機。值得注意的是,這個公用IP位址必須與所要防禦的資源處於相同的Azure資料中心內。本文實作環境為選擇「Create new」,指派一個新的公用IP位址給即將部署的Bastion堡壘主機使用。

‧資源群組:指定部署Bastion堡壘主機所要採用的資源群組。本次實作選擇「RG-JapanEast」,採用與Bastion堡壘主機所要防禦的資源同一個資源群組。

部署Bastion堡壘主機完成後,管理人員便可以享受到下列的管理好處:

‧HTML5瀏覽器進行管理作業:管理人員只要透過現代化的HTML5瀏覽器(例如Microsoft Edge或Google Chrome),登入至Azure入口網站後,即可直接在瀏覽器中開啟RDP和SSH工作階段,連線至VM虛擬主機進行管理作業。

‧SSL安全通道遠端工作階段:當管理人員透過HTML5瀏覽器Web用戶端,與VM虛擬主機建立RDP和SSH工作階段後,系統就會自動與管理人員的主機透過SSL(Port 443)建立安全通道,因此管理人員無須為此管理作業,在地端資料中心額外開啟防火牆放行規則。

‧VM虛擬主機無需公用IP和代理程式:由於管理人員只要透過Bastion堡壘主機,即可連線至Azure公有雲環境中的VM虛擬主機,所以無須再為VM虛擬主機指派公用IP位址,並且也不必安裝任何代理程式即可進行管理。此外,由於VM虛擬主機不必指派公用IP位址,所以能夠有效避免VM虛擬主機曝露在網際網路上,而遭受外部惡意使用者進行連接埠掃描攻擊。

‧避免遭受零時差攻擊:由於Bastion堡壘主機為PaaS服務,因此Azure平台會隨時強化及維持Bastion堡壘主機在最新穩定狀態,並且它位於VM虛擬主機中虛擬網路的前端周邊網路,所以當零時差攻擊出現時,管理人員無須擔心必須馬上針對每台VM虛擬主機進行強化保護,有效避免遭受零時差攻擊。

連線至Windows虛擬主機

Bastion堡壘主機完成部署作業之後,管理人員即可在Azure入口網站中,點選要透過Bastion堡壘主機連線管理的Windows虛擬主機,如圖8所示,先在BASTION頁籤中鍵入遠端連線管理的使用者帳號和密碼,然後再按下〔Connect〕按鈕,即可進行連線管理作業。

圖8  準備透過Bastion堡壘主機連線管理Windows虛擬主機。

由於在剛才的連線管理畫面中,預設情況下已經自動勾選「Open in new windows」項目,所以瀏覽器會在新的頁面中開啟連線工作階段,並且採用Microsoft IT TLS CA 1所簽發的SSL憑證,與管理人員主機建立SSL安全性通道,然後透過RDP(Port 3389)連線至Windows虛擬主機,如圖9所示。

圖9  順利透過Bastion堡壘主機,RDP遠端連線管理Windows虛擬主機。

有時候,管理人員在管理Windows虛擬主機的過程中,可能需要鍵入大量的管理指令,此時透過Bastion堡壘主機的遠端工作階段中,管理人員可以按下畫面最左邊中間位置的箭頭圖示,即可展開剪貼簿,將管理人員主機上已經複製的管理指令內容貼至剪貼簿中。

貼入剪貼簿後,便會自動傳送至VM虛擬主機的剪貼簿中,如圖10所示。

圖10  使用Bastion堡壘主機提供的剪貼簿功能。

相反地,如果需要從VM虛擬主機複製相關指令或文字,回到管理人員主機後,一旦VM虛擬主機執行複製指令或文字的動作,相關的指令或文字便會出現在箭頭圖示內的剪貼簿方框中。

連線至Linux虛擬主機

同樣地,管理人員在Azure入口網站中,只要點選欲透過Bastion堡壘主機連線管理的Linux虛擬主機,如圖11所示,在BASTION頁籤中鍵入遠端連線管理的使用者帳號和密碼並按下〔Connect〕按鈕,即可進行連線管理作業。

圖11  準備透過Bastion堡壘主機連線管理Linux虛擬主機。

由於在連線管理畫面中預設已經勾選「Open in new windows」項目,所以瀏覽器將在新的頁面中開啟,並且採用Microsoft IT TLS CA 1所簽發的SSL憑證,與管理人員主機建立SSL安全性通道後,再透過SSH(Port 22)連線至Linux虛擬主機,如圖12所示。

圖12  順利透過Bastion堡壘主機,以SSH遠端連線管理Linux虛擬主機。

VM虛擬主機工作階段已過期?

請注意,當管理人員欲採用Bastion堡壘主機安全性機制來遠端連線管理受保護的VM虛擬主機時,必須先登入Azure入口網站,再透過Azure入口網站啟動Bastion堡壘主機安全連線機制,才能順利建立SSL安全性通道遠端連線管理VM虛擬主機。

倘若管理人員直接在另一個瀏覽器中,嘗試採用相同的URL開啟遠端連線工作階段,將出現工作階段已經過期的錯誤訊息,並且系統會提示必須先登入Azure入口網站,才能啟用Bastion堡壘主機安全連線機制,如圖13所示。

圖13  必須先登入Azure入口網站,才能啟用Bastion堡壘主機安全連線機制。

監控和管理Bastion安全連線工作階段

由於連線至VM虛擬主機的工作階段,都是透過Bastion堡壘主機發起的安全性連線,所以管理人員可以切換至Bastion堡壘主機中,查詢遠端連線VM虛擬主機工作階段的資訊,包括使用者連線時間、連接的VM虛擬主機名稱、遠端連線管理的使用者帳號、遠端連線通訊協定等等資訊。

當然管理人員可以隨時管理Bastion堡壘主機上的VM虛擬主機工作階段,如果管理人員希望強制中斷連線中的VM虛擬主機工作階段,只要在Bastion堡壘主機工作階段頁面內,點選欲中斷連線的VM虛擬主機工作階段,並選擇【Delete】選項即可,如圖14所示,而使用者將會在VM虛擬主機工作階段頁面中,看到「Disconnected」中斷連線的訊息。

圖14  管理Bastion堡壘主機上的VM虛擬主機工作階段。

查看Bastion診斷日誌資訊

除了透過Bastion堡壘主機管理VM虛擬主機工作階段外,也可以為Bastion堡壘主機啟用診斷日誌功能,以便記錄及診斷VM虛擬主機工作階段的詳細資訊,幫助管理人員在連線VM虛擬主機發生問題時進行故障排除。

先切換至Bastion堡壘主機管理頁面中,再點選「Diagnostics settings > Add diagnostic setting」項目,然後填入Bastion堡壘主機診斷日誌的名稱以及採用的Azure儲存體帳戶,如圖15所示,即可為Bastion堡壘主機啟用診斷日誌功能。

圖15  啟用Bastion堡壘主機診斷日誌功能。

當Bastion堡壘主機診斷日誌建立完成後,管理人員即可隨時切換至建立時所指定的Azure儲存體帳戶中,點選「Blob service > Containers」項目,即可看到VM虛擬主機的啟動診斷日誌,以及剛才建立的Bastion堡壘主機診斷日誌,如圖16所示,管理人員便可依照「年/月/日/小時/分鐘」查詢診斷日誌內容,進行VM虛擬主機的故障排除作業。

圖16  查詢VM虛擬主機的啟動診斷日誌和Bastion堡壘主機診斷日誌。

結語

透過本文的深入剖析和實戰演練,大家應該已經了解Azure Bastion堡壘主機的功能和優點,它能夠有效幫助中小企業降低營運管理成本,讓原本編制就不多的IT管理人員無須再費心建立Site-to-Site VPN安全性通道,或是採用昂貴的Express Route專線費用,也不必為了方便管理而指派公用IP位址給VM虛擬主機,埋下遭受網際網路惡意使用者攻擊的風險。同時,微軟官方也已經預告Azure Bastion堡壘主機的未來功能藍圖,包括與Azure Active Directory整合,達成SSO使用者單一帳號登入和多因素身分驗證,以及加入遠端連線管理的錄影功能,方便管理者審核連線以及使用者操作行為。

<本文作者:王偉任,Microsoft MVP及VMware vExpert。早期主要研究Linux/FreeBSD各項整合應用,目前則專注於Microsoft及VMware虛擬化技術及混合雲運作架構,部落格weithenn.org。>

 


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!