Azure 生產網路的使用者包括存取自己 Azure 應用程式的外部客戶,以及管理生產網路的內部 Azure 支援 人員。 本文討論建立與 Azure 生產網路連線的安全存取方法與保護機制。
網際網路路由與容錯
全球冗餘的內部與外部 Azure 網域名稱服務(DNS)基礎設施,結合多個主要與次要 DNS 伺服器叢集,提供容錯能力。 Azure 也套用基礎設施層級的 DDoS 防護及其他網路安全控制措施,協助防禦常見的網路層 DDoS 攻擊,並保護 Azure DNS 服務的完整性。
Azure DNS 伺服器分布於多個資料中心設施。 Azure DNS 實作結合了次級與主要 DNS 伺服器的階層結構,以公開解析 Azure 客戶網域名稱。 網域名稱通常會解析為 cloudapp.net 位址,其中封裝了客戶服務所使用的虛擬 IP(VIP)位址。 Azure 獨有的是,負責該 VIP 的 Microsoft 負載平衡器會將 VIP 轉譯成租用戶的內部專用 IP (DIP) 位址。
Microsoft 在美國境內分布的 Azure 資料中心中托管 Azure。 Azure 採用最先進的路由平台,實作強大且可擴展的架構標準。 其中顯著特色包括:
- 基於多協定標籤交換(MPLS)的流量工程,能提供高效的連結利用率,並在發生中斷時優雅地降低服務品質。
- Microsoft 的網路採用「N+1」備援架構或更高等級的架構。
- 在外部連線方面,資料中心採用專用的高頻寬網路專線,透過多個對等互連點,以備援方式將各據點連接至全球 1,200 多家網際網路服務供應商。 此連線提供每秒超過 2,000 GB 的邊緣運算容量。
由於 Microsoft 擁有資料中心間的自有網路迴路,這些特性幫助 Azure 產品在不依賴傳統第三方網路服務供應商的情況下,達到 99.9+ %的網路可用性。
連接生產網路及相關防火牆
Azure 網路的網際網路流量政策會將流量導向位於美國最近的區域資料中心的 Azure 生產網路。 由於 Azure 生產資料中心維持一致的網路架構與硬體,以下流量描述對所有資料中心都適用。
當 Azure 的網際網路流量路由到最近的資料中心後,這些流量會建立與接入路由器的連線。 這些接取路由器能隔離 Azure 節點與客戶實例化虛擬機之間的流量。 位於接入點與邊緣位置的網路基礎設施設備是進入與出口過濾的分界點。 這些路由器使用分層存取控制清單(ACL)來過濾不需要的網路流量,並在必要時套用流量速率限制。 ACL 路由允許流量傳送到負載平衡器。 分發路由器僅允許 Microsoft 核准的 IP 位址,提供防偽造功能,並建立使用 ACL 的 TCP 連線。
Microsoft 在存取路由器後方放置外部負載平衡裝置,將可在網際網路上路由的 IP 位址透過網路位址轉譯 (NAT) 轉換為 Azure 內部 IP 位址。 這些裝置也會將封包路由到有效的生產環境內部 IP 和埠口。 這些裝置作為保護機制,限制內部生產網路位址空間的暴露。
根據預設,Microsoft 會對所有傳輸至客戶 Web 瀏覽器的流量強制使用超文字傳輸安全通訊協定 (HTTPS),包括登入程序及其後的所有流量。 TLS v1.2 為流量建立了安全隧道。 存取與核心路由器上的 ACL 確保流量來源與預期來源相符。
與傳統安全架構相比,此架構的一個重要差異在於,Azure 沒有專用的硬體防火牆、專用的入侵偵測或防護裝置,或其他通常在連接 Azure 生產環境前預期具備的安全設備。 客戶通常預期這些硬體防火牆裝置會存在於 Azure 網路中。 然而,Azure 並未採用這些裝置。 這些安全功能幾乎全部內建於運行 Azure 環境的軟體中,提供強大且多層次的安全機制,包括防火牆功能。 此外,運行 Azure 的軟體讓關鍵安全設備的邊界範圍及相關蔓延範圍更易於管理與盤點。
核心安全與防火牆功能
Azure 在不同層級實作強大的軟體安全與防火牆功能,以強化客戶在傳統環境中通常期望的安全功能,以保護核心的安全授權邊界。
Azure 安全功能
Azure 在生產網路內實作主機型軟體防火牆。 多項核心安全與防火牆功能包含於核心 Azure 環境中。 這些安全特性反映了 Azure 環境中的防禦深度策略。 以下防火牆保護 Azure 中的客戶資料:
虛擬機監控程式防火牆(封包過濾器):虛擬機監控程式實作此防火牆,而 Fabric 控制器(FC)代理程式負責配置。 這個防火牆保護在虛擬機內部運行的租戶,防止未經授權的存取。 預設情況下,當虛擬機建立時,Azure 會封鎖所有流量,然後 FC 代理會在過濾器中加入規則和例外,允許授權流量。
Azure 程式設計了兩類規則:
- 機器設定或基礎架構規則:預設情況下,Azure 會封鎖所有通訊。 例外允許虛擬機傳送與接收動態主機設定協定(DHCP)通訊及 DNS 資訊,並可將流量傳送至「公共」網際網路,並外發至自由服務集群及作業系統啟用伺服器內的其他虛擬機。 由於虛擬機允許的出站目的地清單不包含 Azure 路由器子網及其他 Microsoft 屬性,這些規則成為它們的防禦層。
- 角色設定檔規則:這些規則根據租戶的服務模型定義入站 ACL。 例如,如果某個租戶在某台虛擬機的 80 埠有網頁前端,80 埠會開放給所有 IP 位址。 如果虛擬機有在執行工作者角色,該工作者角色只會開放給同一租戶內的虛擬機。
原生主機防火牆:Azure Service Fabric 和 Azure 儲存體 運行於原生作業系統上,該作業系統沒有虛擬機管理程式,因此前述兩組規則用來配置 Windows 防火牆。
主機防火牆:主機防火牆保護主機分割區,該分割區執行虛擬機管理程式。 規則只允許 FC 和跳板機透過特定連接埠與主機分區通訊。 其他例外是允許 DHCP 回應和 DNS 回覆。 Azure 使用機器設定檔,其中包含主機分割區的防火牆規則範本。 主機防火牆例外也存在,允許虛擬機透過特定協定與埠口與主機元件、有線伺服器及元資料伺服器通訊。
訪客防火牆:訪客作業系統中的 Windows 防火牆元件,客戶可在客戶虛擬機及儲存裝置上設定。
Azure 內建的更多安全功能包括:
Azure 會將 IP 位址從 DIP 分配給基礎架構元件。 網路上的攻擊者無法將流量傳送到這些地址,因為流量無法傳達 Microsoft。 網際網路閘道路由器會過濾僅針對內部位址的封包,避免進入生產網路。 唯一接受指向 VIP 流量的元件是負載平衡器。
在所有內部節點上實作的防火牆,針對任何特定情境,有三大主要的安全架構考量:
- 防火牆位於負載平衡器後方,接受來自任何地方的封包。 這些封包設計為對外暴露,對應於傳統周邊防火牆中的開放埠口。
- 防火牆只接受來自有限位址集合的封包。 這項考量是防範 DDoS 攻擊之縱深防禦策略的一部分。 此類連線經過密碼學認證。
- 只有特定的內部節點能存取防火牆。 它們只接受來自一串來源 IP 位址的封包,這些 IP 都是 Azure 網路內的 DIP。 例如,針對企業網路的攻擊可能會將請求導向這些位址,但 Azure 會阻擋攻擊,除非封包的來源地址在 Azure 網路內列舉清單中。
- 邊界的接取路由器會阻擋寄往 Azure 網路內部位址的外發封包,因為其設定了靜態路由。
下一步
想了解更多 Microsoft 如何保護 Azure 基礎設施,請參閱:
- Azure 設施、場地及實體安全
- Azure基礎設施可用性
- Azure資訊系統元件與邊界
- Azure 網路架構
- Azure SQL Database 安全特性
- Azure 生產環境運作與管理
- Azure基礎設施監控
- Azure 基礎結構完整性
- Azure 客戶資料保護