天天看點

阿裡雲安全ACP認證考試實驗之用安全組防勒索病毒

實驗概述

英國時間五月十二日,各大媒體紛紛爆出NHS英國國家醫療服務系統的電腦被RansomWare勒索病毒黑了,波及到的幾乎是全國範圍内的40家醫院和醫療組織。接下來的幾個小時後,這場‘有毒’的網絡攻擊迅速擴散到了全球超過99個國家和地區,從俄羅斯内政部,到中國大學生的個人電腦系統。這就是前段時間鬧得沸沸揚揚的利用Windows端口漏洞勒索比特币的WannaCry病毒事件。

阿裡雲安全ACP認證考試實驗之用安全組防勒索病毒

利用阿裡雲的安全組配置可以輕松解決端口漏洞問題,能有效防止勒索病毒事件的再次發生。

本實驗将建立一個安全組,将雲伺服器ECS加入到該安全組中,通過觀察對ECS的通路,掌握如何在安全組中控制ECS端口的開放和關閉。

實驗目标

完成此實驗後,可以掌握的能力有:

  1. 熟悉安全組配置方式
  2. 驗證安全組的真實有效性及簡易性

第 1 章:實驗背景

1.1 背景知識

前面我們介紹的Wannacry病毒勒索事件就是Windows系統的主機開放的端口過多導緻的。一旦機器連接配接在網際網路上,勒索病毒就會随機确定IP位址掃描445端口的開放情況,如果是開放的狀态則嘗試利用漏洞進行感染;如果機器在某個區域網路裡,它會直接掃描相應網段來嘗試感染。阿裡雲的安全組可以控制主機端口的開放和關閉,有效防止勒索病毒的入侵。

阿裡雲安全ACP認證考試實驗之用安全組防勒索病毒

什麼是安全組?

安全組是一個邏輯上的分組,這個分組是由同一個地域(Region)内具有相同安全保護需求并互相信任的執行個體組成。每個執行個體至少屬于一個安全組,在建立的時候就需要指定。同一安全組内的執行個體之間網絡互通,不同安全組的執行個體之間預設内網不通。可以授權兩個安全組之間互訪。

安全組是一種虛拟防火牆,具備狀态檢測包過濾功能。安全組用于設定單台或多台雲伺服器的網絡通路控制,它是重要的網絡安全隔離手段,用于在雲端劃分安全域。

安全組有哪些限制?

1)單個安全組内的執行個體個數不能超過 1000。如果您有超過 1000 個執行個體需要内網互訪,可以将他們配置設定到多個安全組内,并通過互相授權的方式允許互訪。

2)每個執行個體最多可以加入 5 個安全組。

3)每個使用者的安全組最多 100 個。

4)對安全組的調整操作,對使用者的服務連續性沒有影響。

安全組是有狀态的。如果資料包在 Outbound 方向是被允許的,那麼對應的此連接配接在 Inbound 方向也是允許的。
安全組的網絡類型分為經典網絡和專有網絡。經典網絡類型的執行個體可以加入同一地域(Region)下經典網絡類型的安全組。專有網絡類型的執行個體可以加入同一專有網絡(VPC)下的安全組。      

什麼是安全組規則?

安全組規則可以允許或者禁止與安全組相關聯的雲伺服器 ECS 執行個體的公網和内網的入出方向的通路。

使用者可以随時授權和取消安全組規則。使用者變更的安全組規則會自動應用于與安全組相關聯的ECS執行個體上。

    在設定安全組規則的時候,安全組的規則務必簡潔。如果使用者給一個執行個體配置設定多個安全組,則該執行個體可能會應用多達數百條規則。通路該執行個體時,可能會出現網絡不通的問題。      

安全組規則有哪些限制?

每個安全組最多有 100 條安全組規則。

如何更有效的使用安全組?

在安全組的使用過程中,通常會将所有的雲伺服器放置在同一個安全組中,進而可以減少初期配置的工作量。但從長遠來看,業務系統網絡的互動将變得複雜和不可控。在執行安全組變更時,您将無法明确添加和删除規則的影響範圍。

合理規劃和區分不同的安全組将使得您的系統更加便于調整,梳理應用提供的服務并對不同應用進行分層。這裡推薦您對不同的業務規劃不同的安全組,設定不同的安全組規則。

區分不同的安全組

公網服務的雲伺服器和内網伺服器盡量屬于不同的安全組

是否對外提供公網服務,包括主動暴露某些端口對外通路(例如 80、443 等),被動地提供(例如雲伺服器具有公網 IP、EIP、NAT 端口轉發規則等)端口轉發規則,都會導緻自己的應用可能被公網通路到。

2 種場景的雲伺服器所屬的安全組規則要采用最嚴格的規則,建議拒絕優先,預設情況下應當關閉所有的端口和協定,僅僅暴露對外提供需要服務的端口,例如 80、443。由于僅對屬于對外公網通路的伺服器編組,調整安全組規則時也比較容易控制。

對于對外提供伺服器編組的職責應該比較明晰和簡單,避免在同樣的伺服器上對外提供其它的服務。例如 MySQL、Redis 等,建議将這些服務安裝在沒有公網通路權限的雲伺服器上,然後,通過安全組的組組授權來通路。

例如:目前有公網雲伺服器已經和其它的應用在同一個安全組 SG_CURRENT。使用者可以通過下面的方法來進行變更。

1)梳理目前提供的公網服務暴露的端口和協定,例如 80、443。

2)新建立一個安全組,例如 SG_WEB, 然後添加相應的端口和規則。

授權政策:允許,協定類型:ALL, 端口: 80/80,授權對象: 0.0.0.0/0, 授權政策:允許,協定類型:ALL,端口: 443/443 授權對象: 0.0.0.0/0。

3)選擇安全組 SG_CURRENT, 然後添加一條安全組規則,組組授權,允許 SG_WEB 中的資源通路SG_CURRENT。

授權政策:允許,協定類型:ALL,端口:-1/-1,授權對象:SG_WEB,優先級:按照實際情況自定義[1-100]。

4)将一台需要切換安全組的執行個體 ECS_WEB_1 添加到新的安全組中。

a. 在 ECS 控制台中,選擇 安全組管理。

b. 選擇 SG_WEB > 管理執行個體 > 添加執行個體,選擇執行個體 ECS_WEB_1 加入到新的安全組 SG_WEB 中,确認 ECS_WEB_1 執行個體的流量和網絡工作正常。

5)将 ECS_WEB_1 從原來的安全組中移出。

a. 在 ECS 控制台中,選擇 安全組管理。

b. 選擇 SG_CURRENT > 管理執行個體 > 移出執行個體,選擇 ECS_WEB_1 ,從 SG_CURRENT 移除,測試網絡連通性,确認流量和網絡工作正常。

c. 如果工作不正常,将 ECS_WEB_1 仍然加回到安全組 SG_CURRENT 中,檢查設定的 SG_WEB 暴露的端口是否符合預期,然後繼續變更。

6)執行其它的伺服器安全組變更。

不同的應用使用不同的安全組

在生産環境中,不同的作業系統大多情況下不會屬于同一個應用分組來提供負載均衡服務。提供不同的服務意味着需要暴露的端口和拒絕的端口是不同的,建議不同的作業系統盡量歸屬于不同的安全組。例如,對于 Linux 作業系統,可能需要暴露 TCP(22)端口來實作 SSH,對 Windows 可能需要開通 TCP(3389) 遠端桌面連接配接。

除了不同的作業系統歸屬不同的安全組,即便同一個鏡像類型,提供不同的服務,如果之間不需要通過内網進行通路的話,最好也劃歸不同的安全組。這樣友善解耦,并對未來的安全組規則進行變更,做到職責單一。在規劃和新增應用時,除了考慮劃分不同的虛拟交換機配置子網,也應該同時合理的規劃安全組。使用網段+安全組限制自己作為服務提供者和消費者的邊界。

具體的變更流程參見上面的操作步驟。

生産環境和測試環境使用不同的安全組

為了更好的做系統的隔離,在實際開發過程中,您可能會建構多套的測試環境和一套線上環境。為了更合理的做網絡隔離,您需要對不同的環境配置使用不通的安全政策,避免因為測試環境的變更重新整理到了線上影響線上的穩定性。

通過建立不同的安全組,限制應用的通路域,避免生産環境和測試環境聯通。同時也可以對不同的測試環境配置設定不同的安全組,避免多套測試環境之間互相幹擾,提升開發效率。

僅對需要公網通路子網或者ECS執行個體配置設定公網IP

不論是經典網絡還是專有網絡 (VPC) 中,合理的配置設定公網 IP 可以讓系統更加友善地進行公網管理,同時減少系統受攻擊的風險。在專有網絡的場景下,建立虛拟交換機時,建議您盡量将需要公網通路的服務區的 IP 區間放在固定的幾個交換機(子網 CIDR)中,友善審計和區分,避免不小心暴露公網通路。

在分布式應用中,大多數應用都有不同的分層和分組,對于不提供公網通路的雲伺服器盡量不提供公網IP,如果是有多台伺服器提供公網通路,建議您配置公網流量分發的負載均衡服務(SLB)來公網服務,提升系統的可用性,避免單點。

對于不需要公網通路的雲伺服器盡量不要配置設定公網 IP。專有網絡中當您的雲伺服器需要通路公網的時候,優先建議您使用 NAT 網關,用于為 VPC 内無公網 IP 的 ECS 執行個體提供通路網際網路的代理服務,您隻需要配置相應的 SNAT 規則即可為具體的 CIDR 網段或者子網提供公網通路能力,具體配置參見 SNAT。避免因為隻需要通路公網的能力而在配置設定了公網 IP(EIP) 之後也向公網暴露了服務。

最小原則

安全組應該是白名單性質的,是以需盡量開放和暴露最少的端口,同時盡可能少地配置設定公網 IP。若想通路線上機器進行任務

日志或錯誤排查的時候直接配置設定公網 IP 或者挂載 EIP 雖然簡便,但是畢竟會将整個機器暴露在公網之上,更安全的政策是建議通過跳闆機來管理。

使用跳闆機

跳闆機由于其自身的權限巨大,除了通過工具做好審計記錄。在專有網絡中,建議将跳闆機配置設定在專有的虛拟交換機之中,對其提供相應的 EIP 或者 NAT 端口轉發表。

首先,建立專有的安全組 SG_BRIDGE,例如開放相應的端口,例如 Linux TCP(22) 或者 Windows RDP(3389)。為了限制安全組的入網規則,可以限制可以登入的授權對象為企業的公網出口範圍,減少被登入和掃描的機率。

然後,将作為跳闆機的雲伺服器加入到該安全組中。為了讓該機器能通路相應的雲伺服器,可以配置相應的組授權。例如在 SG_CURRENT 添加一條規則允許 SG_BRIDGE 通路某些端口和協定。

說明:使用跳闆機 SSH 時,建議優先使用 SSH 密鑰對而不是密碼登入。

總之,合理的安全組規劃使使用者在擴容應用時更加遊刃有餘,同時讓使用者的系統更加安全

第 2 章:實驗詳情

2.1 實驗資源

在彈出的左側欄中,點選 建立資源 按鈕,開始建立實驗資源。

資源建立過程需要1-3分鐘。完成實驗資源的建立後,使用者可以通過 實驗資源 檢視實驗中所需的資源資訊,例如:阿裡雲賬号等。

2.2 建立安全組

  1. 通過如下步驟,進入阿裡雲管理控制台。

1)點選頁面左側的 實驗資源 ,并展開 實驗資源 小節。點選 前往控制台 ,進入阿裡雲管理控制台登入界面

2)在阿裡雲RAM使用者登入頁面,輸入本實驗提供的 子使用者名,子使用者密碼,并點選 确定 。

阿裡雲安全ACP認證考試實驗之用安全組防勒索病毒

3)在阿裡雲管理控制台,點選頂部 産品與服務 ,在彈出的下拉菜單中,依次點選 雲計算基礎服務 ,彈性計算,雲伺服器ECS,進入雲伺服器ECS的管理頁面。

阿裡雲安全ACP認證考試實驗之用安全組防勒索病毒

2. 通過如下步驟,建立一個安全組。

1)點選左側欄的 安全組 ,右側頁面展示安全組清單。

2)在右側頁面頂部的地域欄,選擇本次 實驗資源 中配置設定的 地域 ,例如:華北2 等。

說明:使用者可以檢視到目前賬号下已有一個或多個安全組,且有1台相關ECS執行個體。這是因為ECS執行個體至少屬于一個安全組。      

3)點選右上角的 建立安全組。

阿裡雲安全ACP認證考試實驗之用安全組防勒索病毒

4)在彈出的對話框中,輸入 安全組名稱 。例如: lab-sg ;網絡類型 設為 專有網絡,并選擇 專有網絡 與已有安全組 所屬專有網絡 相同的 專有網絡 。

5)完成如上資訊配置後,點選 确定。

阿裡雲安全ACP認證考試實驗之用安全組防勒索病毒

頁面彈出提示對話框,點選 确定 。

6)此時,可以在安全組清單中,檢視到建立安全組 lab-sg 。

阿裡雲安全ACP認證考試實驗之用安全組防勒索病毒

2.3 使用安全組屏蔽所有開放的端口

  1. 通過如下步驟,驗證目前ECS的通路情況。

1)打開浏覽器,并輸入沙箱提供的 Linux伺服器 ECS執行個體 彈性IP ,頁面如下圖所示。

阿裡雲安全ACP認證考試實驗之用安全組防勒索病毒

2)通過本地遠端連接配接服務,遠端登入到 實驗資源 中的 Linux伺服器 ECS執行個體,使用者可以正常遠端登入到ECS執行個體。

說明:遠端連接配接的詳細操作步驟,請參考 幫助文檔 。登入時,請使用 實驗資源 提供ECS執行個體的 外網位址 ,使用者 和 密碼

說明:實驗提供的ECS執行個體,預設通路規則:對所有通路位址開放ECS執行個體的全部對外端口。是以,使用者可以直接通路部署在ECS上的網站,且可以遠端登入到ECS執行個體上。

  1. 通過如下步驟,将平台提供的雲伺服器ECS添加到建立安全組 lab-sg 中。

1)點選左側欄的 執行個體 。

2)在右側頁面頂部的地域欄,選擇本次實驗資源中配置設定的 地域 ,例如:華北2 等。

3)點選執行個體右側的 管理 ,進入ECS執行個體的管理頁面。

阿裡雲安全ACP認證考試實驗之用安全組防勒索病毒

4)在執行個體頁面,點選左側欄的 本執行個體安全組 。5)在右側安全組清單的首頁面,點選右上角的 加入安全組 。

阿裡雲安全ACP認證考試實驗之用安全組防勒索病毒

6)彈出對話框,選擇安全組 lab-sg 。完成後,點選 确定。

阿裡雲安全ACP認證考試實驗之用安全組防勒索病毒

此時,目前執行個體的安全組清單中,存在兩個安全組。

  1. 通過如下步驟,将雲伺服器ECS從原有安全組移出,避免通路規則受到原有安全組的通路規則影響。

說明:若是沒有移出目前安全組清單,則目前執行個體會同時使用兩個安全組中的配置規則。

1)在執行個體的安全組清單頁面,點選 原有安全組 右側的 移出 。

阿裡雲安全ACP認證考試實驗之用安全組防勒索病毒
阿裡雲安全ACP認證考試實驗之用安全組防勒索病毒

2)此時,ECS執行個體僅使用建立安全組 lab-sg 中的通路規則。

阿裡雲安全ACP認證考試實驗之用安全組防勒索病毒

5. 通過如下步驟,驗證目前雲伺服器ECS無法通過公網通路。

1)在浏覽器中,建立一個标簽頁,再次通路沙箱提供的 Linux伺服器 ECS執行個體 彈性IP 。等待一段時間後,頁面提示 無法通路 等資訊。這是因為新的安全組中沒有添加任何安全規則,導緻無法通路。

說明:若仍正常顯示,可能是由于浏覽器的緩存導緻頁面沒有更新,請清理浏覽器緩存或更換浏覽器。

阿裡雲安全ACP認證考試實驗之用安全組防勒索病毒

2)通過本地遠端連接配接服務,遠端登入 實驗資源 中的 Linux伺服器 ECS執行個體。此時,頁面将提示 Operation Time out 或者 逾時 等錯誤,連接配接失敗。

說明:遠端連接配接的詳細操作步驟,請參考 幫助文檔 。登入時,請使用 實驗資源 提供ECS執行個體的 外網位址 ,使用者 和 密碼 。

Mac使用者

阿裡雲安全ACP認證考試實驗之用安全組防勒索病毒

2.4 配置安全組規則允許特定端口的通路

1.執行以下步驟建立安全組規則:

1) 傳回阿裡雲ECS管理控制台,并進入ECS執行個體的 本執行個體安全組 頁面。

2) 點選安全組 lab-sg 右側的 配置規則 ,頁面跳轉到安全組規則頁面。

阿裡雲安全ACP認證考試實驗之用安全組防勒索病毒

3) 在安全組規則頁面,點選右上角的 添加安全組規則 。

阿裡雲安全ACP認證考試實驗之用安全組防勒索病毒

4) 在彈出的對話框中,輸入以下資訊,配置安全組規則。完成後,點選 确定 。協定類型 為 HTTP(80) ,開放 HTTP 80 端口,也就是說使用者可以通過HTTP協定的80端口通路ECS執行個體上部署的網站。

授權對象 為 0.0.0.0/0 ,所有IP位址都可以通路該安全組下執行個體(端口為80)。

阿裡雲安全ACP認證考試實驗之用安全組防勒索病毒

2.此時,可以在頁面中,檢視到建立的安全組規則。

2.5 驗證ECS安全組規則是否生效

  1. 在浏覽器中,建立一個标簽頁,再次通路沙箱提供的 Linux伺服器 ECS執行個體 彈性IP 。等待一段時間後,頁面将顯示網站 LAB ROOM 等資訊。證明,使用者可以正常通路ECS執行個體中部署的網站。

說明:預設通過HTTP協定的80端口通路。是以不用輸入端口号。

阿裡雲安全ACP認證考試實驗之用安全組防勒索病毒

2. 通過本地遠端連接配接服務,再次嘗試遠端登入 實驗資源 中的 Linux伺服器 ECS執行個體。此時,頁面仍提示 Operation Time out 或者 逾時 等錯誤,連接配接失敗。說明:此時遠端登入的 22端口 沒有開放,無法登入到ECS執行個體,這樣可以提高前端伺服器的安全性。同樣地,就能有效規避類似勒索病毒事件的發生。

阿裡雲安全ACP認證考試實驗之用安全組防勒索病毒

第 3 章:課後作業

Q:為什麼在購買ECS執行個體的時候選擇安全組?

在購買 ECS 執行個體之前,必須選擇安全組來劃分應用環境的安全域,授權安全組規則進行合理的網絡安全隔離。選擇特定的安全組來建立 ECS 執行個體就非常友善了。否則購買 ECS 執行個體都會配置設定到一個固定的安全組下面,還需要重新加入新的安全組,移出安全組來實作您的需求。

繼續閱讀