文章來源:Wayne Huang / 奧登資訊技術顧問
當我們在 Oracle Cloud 進行系統環境建置時,不論我們是要建立一台虛擬機或是使用 PaaS 服務如 DBCS,都需要創建虛擬雲端網路 (VCN),以給予 IP 及路由來讓實例可以進行連線。
安全列表 Security List (SL)
而當我們創建 VCN 並且加入實例後,會發現無法順利對實例發起連線,這是為什麼呢?
因為在 VCN 裡面有一個叫 Security List (安全列表),這個列表管控子網路的進出名單,決定誰 (IP) 以何種方式 (Port / 協議) 進入或離開 (Ingress / Egress) 子網路。
總的來說,Security List是 Oracle Cloud VCN 中保護實例和控制網絡流量的重要工具,它可以確保網路安全和管控資料進出。
網路安全組 Network Security Groups (NSG) 與 安全列表 Security List (SL) 的差異
您可能會奇怪,在 VCN 中還有一個 Network Security Groups(NSG:網路安全組),這不就跟 Security List 的功能重複了嗎?這兩者之間又有甚麼不同呢?
首先,這兩者都是虛擬防火牆的功能,同樣適用於保護VCN、控制網路流量、簡化網路管理等,兩者的差別在於 Security List 的對象是基於子網範圍的,而 NSG 是基於實例 (或者說VNIC) 層級的。這意味著 NSG 可以更精細地控制實例甚至應用級別的訪問。
Oracle Cloud 上的 ACL 功能 :
安全列表 (SL) :來自網路服務的原始虛擬防火牆功能。
網絡安全組 (NSG):為具有不同安全狀態的應用程序組件設計的後續功能。
此外,在同一個子網域裡面,兩者並沒有以誰的規則為優先的情況。
假設 Security List 上對來源A網段開放連入某子網路,那麼就算 NSG 上並沒有開放也會被允許,反之,若 Security List 上對來源A網段禁止連入某子網路,但 NSG 有針對該子網路中的特定實例開放來源A網段連線,那結果還是會允許A網段對該實例連線。
所以相對合理的使用情境是,若您確定開放的端口或協議是子網路裡通用的,例如 Http (80) 或Https (443),那您可以寫進 Security List 裡,而對於某些比較私密的端口,如 RDP (3389) 則可以用 NSG 來額外設定給實例,這樣一來對於子網域裡的所有實例來說 Http 跟 Https 都是開放的,但是只有額外套用了NSG的實例才能進行RDP連線。
網路安全組 Network Security Groups (NSG) 適用的 OCI 服務限制
不過,NSG 適用的 OCI 服務有些限制,必須特別注意,目前可以使用的範圍如下 :
計算實例
負載均衡器
數據庫系統
自治數據庫
對於尚不支持 NSG 的資源類型,請繼續使用安全列表來控制進出這些資源的流量。
總之,安全列表 (Security List) 通過應用於每個子網的安全規則為應用程序提供全面的安全性。但是,如果您在一個子網中有多個資源需要不同的安全狀態,並且您需要在更精細的應用程序級別控制流量,那麼您可以創建這些精細規則並使用網路安全組 (NSG) 向它們添加多個資源。要如何使用 Security List 及 NSG ,端看用戶的具體商業場景來考量。
Comments