本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
修復 EC2 執行個體的暴露
AWS Security Hub 可以為 Amazon Elastic Compute Cloud (EC2) 執行個體產生公開調查結果。
在 Security Hub 主控台上,涉及公開調查結果的 EC2 執行個體及其識別資訊會列在調查結果詳細資訊的資源區段中。您可以使用 Security Hub API GetFindingsV2的操作,以程式設計方式擷取資源詳細資訊。
識別暴露調查結果中涉及的資源之後,如果不需要,您可以刪除資源。刪除非必要的資源可以降低您的暴露描述檔和 AWS 成本。如果資源是必要的,請遵循這些建議的修補步驟,以協助降低風險。修復主題會根據特徵類型進行分割。
單一公開調查結果包含多個修復主題中識別的問題。相反地,您可以透過僅解決一個修補主題來解決暴露問題並降低其嚴重性等級。您的風險修補方法取決於您的組織需求和工作負載。
注意
本主題提供的修補指引可能需要對其他 AWS 資源進行額外諮詢。
內容
EC2 執行個體的組態錯誤特性
以下是 EC2 執行個體的錯誤組態特性和建議的修復步驟。
EC2 執行個體允許使用第 1 版存取 IMDS
執行個體中繼資料是 Amazon EC2 執行個體的資料,應用程式可用來設定或管理執行中的執行個體。執行個體中繼資料服務 (IMDS) 是一種執行個體上的元件,可供執行個體上的程式碼用來安全地存取執行個體中繼資料。如果 IMDS 未正確保護,它可能會成為潛在的攻擊媒介,因為它可以存取臨時登入資料和其他敏感組態資料。IMDSv2 透過工作階段導向身分驗證,為中繼資料請求提供更強大的入侵保護,並限制工作階段持續時間。遵循標準安全原則, AWS 建議您將 Amazon EC2 執行個體設定為使用 IMDSv2 並停用 IMDSv1。
測試應用程式相容性
在實作 IMDSv2 之前,請先測試您的執行個體,以確保其與 IMDSv2 的相容性。有些應用程式或指令碼可能需要核心功能的 IMDSv1,並且需要額外的組態。如需測試應用程式相容性之工具和建議路徑的詳細資訊,請參閱《Amazon Elastic Compute Cloud 使用者指南》中的轉換為使用執行個體中繼資料服務第 2 版。
更新執行個體以使用 IMDSv2
修改現有執行個體以使用 IMDSv2。如需詳細資訊,請參閱《Amazon Elastic Compute Cloud 使用者指南》中的修改現有執行個體的執行個體中繼資料選項。
將更新套用至 Auto Scaling 群組中的執行個體
如果您的執行個體是 Auto Scaling 群組的一部分,請使用新組態更新您的啟動範本或啟動組態,並執行執行個體重新整理。
與 Amazon EC2 執行個體相關聯的 IAM 角色具有管理存取政策
管理存取政策為 Amazon EC2 執行個體提供 AWS 服務 和 資源的廣泛許可。這些政策通常包含執行個體功能不需要的許可。如果 Amazon EC2 執行個體遭到入侵,在 Amazon EC2 執行個體上提供具有管理存取政策的 IAM 身分 (而非連接至執行個體描述檔所需的最低許可集) 可能會增加攻擊範圍。 Amazon EC2 如果執行個體遭到入侵,攻擊者可能會利用這些過多的許可,在您的環境中橫向移動、存取資料或操作資源。遵循標準安全原則,我們建議您授予最低權限,這表示您只授予執行任務所需的許可。
檢閱和識別管理政策
在 IAM 儀表板中,尋找具有角色名稱的角色。檢閱連接至 IAM 角色的許可政策。如果政策是 AWS 受管政策,請尋找 AdministratorAccess
或 IAMFullAccess
。否則,請在政策文件中,尋找具有 "Effect": "Allow", "Action": "*"
、 和 的陳述式"Resource": "*"
。
實作最低權限存取
將管理政策取代為僅授予執行個體運作所需特定許可的政策。如需 IAM 角色安全最佳實務的詳細資訊,請參閱AWS Identity and Access Management 《 使用者指南》中的在安全最佳實務中套用最低權限許可。若要識別不必要的許可,您可以使用 IAM Access Analyzer 來了解如何根據存取歷史記錄修改政策。如需詳細資訊,請參閱AWS Identity and Access Management 《 使用者指南》中的外部和未使用存取的調查結果。或者,您可以建立新的 IAM 角色,以避免使用現有角色影響其他應用程式。在此案例中,建立新的 IAM 角色,然後將新的 IAM 角色與執行個體建立關聯。如需取代執行個體 IAM 角色的說明,請參閱《Amazon Elastic Compute Cloud 使用者指南》中的將 IAM 角色連接至執行個體。
安全組態考量
如果執行個體需要服務層級管理許可,請考慮實作這些額外的安全控制來降低風險:
-
安全組態考量
-
多重要素驗證 (MFA) – MFA 需要其他形式的身分驗證來新增額外的安全層。即使登入資料遭到入侵,這也有助於防止未經授權的存取。如需詳細資訊,請參閱AWS Identity and Access Management 《 使用者指南》中的需要多重要素驗證 (MFA)。
-
IAM 條件 – 設定條件元素可讓您根據來源 IP 或 MFA 存留期等因素,限制何時及如何使用管理許可。如需詳細資訊,請參閱AWS Identity and Access Management 《 使用者指南》中的使用 IAM 政策中的條件來進一步限制存取。
-
許可界限 – 許可界限會建立角色可擁有的最大許可,為具有管理存取權的角色提供護欄。如需詳細資訊,請參閱AWS Identity and Access Management 《 使用者指南》中的使用許可界限來委派帳戶中的許可管理。
-
將更新套用至自動擴展群組中的執行個體
對於 AWS 自動擴展群組中的 Amazon EC2 執行個體,請使用新的執行個體描述檔更新啟動範本或啟動組態,並執行執行個體重新整理。如需更新啟動範本的相關資訊,請參閱《Amazon Elastic Compute Cloud 使用者指南》中的修改啟動範本 (管理啟動範本版本)。如需詳細資訊,請參閱使用執行個體重新整理來更新 Auto Scaling 群組中的執行個體。如需搭配 Auto Scaling 群組使用 IAM 角色的詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的在 Amazon EC2 執行個體上執行之應用程式的 IAM 角色。 Amazon EC2 Auto Scaling
與 Amazon EC2 執行個體相關聯的 IAM 角色具有服務管理員政策
服務存取政策為 Amazon EC2 執行個體提供對 AWS 服務和資源的廣泛許可。這些政策通常包含執行個體功能不需要的許可。在 Amazon EC2 執行個體上提供具有管理存取政策的 IAM 身分,而非連接至執行個體描述檔所需的最低許可集,可能會在執行個體遭到入侵時增加攻擊範圍。遵循標準安全原則,我們建議您授予最低權限,這表示您僅授予執行任務所需的許可。
檢閱和識別管理政策
在 IAM 儀表板中,尋找具有角色名稱的角色。檢閱連接至 IAM 角色的許可政策。如果政策是 AWS 受管政策,請尋找 AdministratorAccess
或 IAMFullAccess
。否則,請在政策文件中,尋找具有 "Effect": "Allow", "Action": "*"
、 和 的陳述式"Resource": "*"
。
實作最低權限存取
將服務管理員政策取代為僅授予執行個體運作所需特定許可的政策。如需 IAM 角色安全最佳實務的詳細資訊,請參閱AWS Identity and Access Management 《 使用者指南》中的在安全最佳實務中套用最低權限許可。若要識別不必要的許可,您可以使用 IAM Access Analyzer 來了解如何根據存取歷史記錄修改政策。如需詳細資訊,請參閱AWS Identity and Access Management 《 使用者指南》中的外部和未使用存取的調查結果。或者,您可以建立新的 IAM 角色,以避免影響使用現有角色的其他應用程式。在此案例中,建立新的 IAM 角色,然後將新的 IAM 角色與執行個體建立關聯。如需取代執行個體 IAM 角色的詳細資訊,請參閱《Amazon Elastic Compute Cloud 使用者指南》中的將 IAM 角色連接至執行個體
安全組態考量
如果執行個體需要服務層級管理許可,請考慮實作這些額外的安全控制來降低風險:
安全組態考量
如果執行個體需要服務層級管理許可,請考慮實作這些額外的安全控制來降低風險:
-
多重要素驗證 (MFA) – MFA 需要其他形式的身分驗證來新增額外的安全層。即使登入資料遭到入侵,這也有助於防止未經授權的存取。如需詳細資訊,請參閱AWS Identity and Access Management 《 使用者指南》中的需要多重要素驗證 (MFA)。
-
IAM 條件 – 設定條件元素可讓您根據來源 IP 或 MFA 存留期等因素,限制何時及如何使用管理許可。如需詳細資訊,請參閱AWS Identity and Access Management 《 使用者指南》中的使用 IAM 政策中的條件來進一步限制存取。
-
許可界限 – 許可界限會建立角色可擁有的最大許可,為具有管理存取權的角色提供護欄。如需詳細資訊,請參閱AWS Identity and Access Management 《 使用者指南》中的使用許可界限來委派帳戶中的許可管理。
將更新套用至 Auto Scaling 群組中的執行個體
對於 AWS 自動擴展群組中的 Amazon EC2 執行個體,請使用新的執行個體描述檔更新啟動範本或啟動組態,並執行執行個體重新整理。如需更新啟動範本的相關資訊,請參閱《Amazon Elastic Compute Cloud 使用者指南》中的修改啟動範本 (管理啟動範本版本)。如需詳細資訊,請參閱使用執行個體重新整理來更新 Auto Scaling 群組中的執行個體。如需搭配 Auto Scaling 群組使用 IAM 角色的詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的在 Amazon EC2 執行個體上執行之應用程式的 IAM 角色。 Amazon EC2 Auto Scaling
Amazon EC2 執行個體具有允許 SSH 或 RDP 存取的安全群組或網路 ACL
SSH 和 RDP 等遠端存取通訊協定可讓使用者從外部位置連線至和管理 Amazon EC2 執行個體。當安全群組允許從網際網路無限制存取這些通訊協定時,它們會允許網際網路存取您的執行個體,以增加 Amazon EC2 執行個體的攻擊面。遵循標準安全原則, AWS 建議您限制遠端存取特定、信任的 IP 地址或範圍。
-
修改安全群組規則
將對 Amazon EC2 執行個體的存取限制為特定的信任 IP 地址。限制 SSH 和 RDP 對特定信任 IP 地址的存取,或使用 CIDR 表示法指定 IP 範圍 (例如 198.168.1.0/24)。若要修改安全群組規則,請參閱《Amazon Elastic Compute Cloud 使用者指南》中的設定安全群組規則。
Amazon EC2 執行個體具有開放的安全群組
安全群組可做為 Amazon EC2 執行個體的虛擬防火牆,以控制傳入和傳出流量。允許從任何 IP 地址不受限制存取的開放安全群組,可能會讓您的執行個體遭受未經授權的存取。遵循標準安全原則, AWS 建議限制安全群組對特定 IP 地址和連接埠的存取。
檢閱安全群組規則並評估目前的組態
評估哪些連接埠可從廣泛的 IP 範圍開啟和存取,例如 (0.0.0.0/0 or ::/0)
。如需檢視安全群組詳細資訊的說明,請參閱 .NET API 參考的移植助理中的 DescribeSecurityGroups。
修改安全群組規則
修改您的安全群組規則,以限制對特定信任 IP 地址或範圍的存取。更新安全群組規則時,請考慮為每個必要的來源 IP 範圍建立規則,或限制對特定連接埠的存取,以區隔不同網路區段的存取需求。若要修改安全群組規則,請參閱《Amazon EC2 使用者指南》中的設定安全群組規則。
Amazon EC2 執行個體具有公有 IP 地址
具有公有 IP 地址的 Amazon EC2 執行個體可從網際網路公開存取。雖然向外部客戶提供服務的執行個體有時需要公有 IP 地址,但這可能會遭到未經授權的主體攻擊。遵循標準安全原則, AWS 建議您盡可能限制資源的公開暴露。
將執行個體移至私有子網路
如果執行個體不需要直接網際網路存取,請考慮將其移至 VPC 中的私有子網路。這將移除其公有 IP 地址,同時仍允許其與您 VPC 中的其他資源通訊。如需詳細資訊,請參閱 AWS 知識中心中的如何將 Amazon EC2 執行個體移至另一個子網路、可用區域或 VPC?
將執行個體設定為在沒有公有 IP 地址的情況下啟動
如果執行個體是在不需要公有 IP 地址的公有子網路中啟動,則可以修改啟動組態,以防止公有 IP 地址自動指派。這可以在子網路層級或啟動個別執行個體時停用。如需詳細資訊,請參閱《Amazon Virtual Private Cloud 使用者指南》中的修改子網路的 IP 定址屬性和《Amazon Elastic Compute Cloud 使用者指南》中的 Amazon EC2instance IP 定址。
替代存取方法
請考慮下列替代存取方法的選項:
-
使用 NAT Gateway 進行傳出網際網路連線 –
對於私有子網路中需要存取網際網路的執行個體 (例如,下載更新),請考慮使用 NAT Gateway,而不是指派公有 IP 地址。NAT Gateway 允許私有子網路中的執行個體啟動網際網路的傳出連線,同時防止網際網路的傳入連線。如需詳細資訊,請參閱《Amazon Virtual Private Cloud 使用者指南》中的 NAT 閘道。
-
使用 Elastic Load Balancing – 對於執行 Web 應用程式的執行個體,請考慮使用 Elastic Load Balancer (LB)。LBs可設定為允許執行個體在私有子網路中執行,而 LB 在公有子網路中執行並處理網際網路流量。如需詳細資訊,請參閱《ELB AWS使用者指南》中的什麼是 Elastic Load Balancing?。如需如何選擇 LB 黏性策略的指引,請參閱 AWS 規範指引中的負載平衡器子網路。
EC2 執行個體的連線能力特性
以下是 EC2 執行個體的可達性特性和建議的修補步驟。
EC2 執行個體可透過網際網路連線
Amazon EC2 執行個體具有可透過網際網路閘道 (包括 Application Load Balancer 或 Classic Load Balancer 後方的執行個體)、VPC 互連連線或 VPN 虛擬閘道從網際網路連線的連接埠,可能會將您的執行個體公開至網際網路。遵循標準安全原則,我們建議透過將傳入流量限制為僅必要的來源和連接埠,來實作最低權限的網路存取控制。
修改或移除安全群組規則
在資源索引標籤中,開啟 Amazon EC2 安全群組的資源。檢閱執行個體是否需要網際網路存取才能運作。修改或移除允許無限制存取的傳入安全群組規則 (0.0.0.0/0
或 ::/0
)。根據特定 IP 範圍或安全群組實作更嚴格的規則。如果需要有限的公開存取,請限制存取執行個體函數所需的特定連接埠和通訊協定。如需管理安全群組規則的指示,請參閱《Amazon EC2 使用者指南》中的設定安全群組規則。
更新網路 ACLs
檢閱和修改與執行個體子網路相關聯的網路存取控制清單 (ACLs)。確認 ACL 設定符合安全群組變更,且不要意外允許公開存取。如需修改網路 ACLs 的說明,請參閱《Amazon VPC 使用者指南》中的使用網路 ACLs。
替代存取方法
請考慮下列替代存取方法的選項:
-
使用 NAT Gateway 進行傳出網際網路連線 – 對於私有子網路中需要存取網際網路的執行個體 (例如,下載更新),請考慮使用 NAT Gateway,而不是指派公有 IP 地址。NAT Gateway 允許私有子網路中的執行個體啟動網際網路的傳出連線,同時防止來自網際網路的傳入連線。
-
使用 Systems Manager Session Manager – Session Manager 提供對 Amazon EC2 執行個體的安全殼層存取,而不需要傳入連接埠、管理 SSH 金鑰或維護堡壘主機。
-
使用 WAF 和 Elastic Load Balancing 或 Application Load Balancer – 對於執行 Web 應用程式的執行個體,請考慮使用 LB 結合 AWS Web Application Firewall (WAF)。LBs可設定為允許執行個體在私有子網路中執行,而 LB 在公有子網路中執行並處理網際網路流量。將 WAF 新增至負載平衡器可提供額外的 Web 入侵和機器人防護。
Amazon EC2 執行個體可在 Amazon VPC 內連線
Amazon Virtual Private Cloud (Amazon VPC) 可讓您在定義的虛擬網路中啟動 AWS 資源。允許執行個體之間不受限制存取的 Amazon VPC 網路組態,可能會在執行個體遭到入侵時增加攻擊範圍。遵循安全最佳實務, AWS 建議在子網路和安全群組層級實作網路分割和最低權限存取控制。
檢閱 Amazon VPC 網路連線模式
在公開調查結果中,識別 ARN 中的安全群組 ID。識別哪些執行個體需要彼此通訊,以及在哪些連接埠上進行通訊。您可以使用 Amazon VPC 流程日誌來分析 Amazon VPC 中的現有流量模式,以協助識別正在使用的連接埠。
修改安全群組規則
修改您的安全群組規則,以限制對特定信任 IP 地址或範圍的存取。例如,不要允許來自整個 VPC CIDR 範圍 (例如 10.0.0.0/16) 的所有流量,而是限制對特定安全群組或 IP 範圍的存取。更新安全群組規則時,請考慮為每個必要的來源 IP 範圍建立規則,或限制對特定連接埠的存取,以區隔不同網路區段的存取需求。若要修改安全群組規則,請參閱《Amazon EC2User》中的設定安全群組規則。
考慮根據安全需求或函數將您的 Amazon VPC 資源組織到子網路中。例如,將 Web 伺服器和資料庫伺服器放在不同的子網路中。如需詳細資訊,請參閱《Amazon Virtual Private Cloud 使用者指南》中的 VPC 的子網路。
設定網路 ACLs進行子網路層級保護
網路存取控制清單 (NACLs) 在子網路層級提供額外的安全層。與安全群組不同,NACLs是無狀態的,需要明確定義傳入和傳出規則。如需詳細資訊,請參閱《Amazon Virtual Private Cloud 使用者指南》中的使用網路存取控制清單控制子網路流量。
其他考量
限制對 Amazon VPC 的存取時,請考慮下列事項
-
具有限制路由的 Transit Gateway 或 Amazon VPC 對等互連 – 如果您的架構使用多個需要通訊VPCs,請考慮使用 AWS Transit Gateway 和 Amazon VPC 對等互連在 Amazon VPCs 之間提供連線,同時允許您控制哪些子網路可以互相通訊。如需詳細資訊,請參閱開始使用 Amazon VPC Transit Gateways 和 VPC 對等互連。
-
服務端點和私有連結 – Amazon VPC 端點可用來讓 AWS 網路內的流量與 AWS 資源通訊,而不是透過網際網路通訊。這可減少存取相同服務的執行個體之間直接連線的需求。如需 VPC 端點的資訊,請參閱《Amazon Virtual Private Cloud 使用者指南》中的什麼是 Amazon VPC 端點?。 Amazon Virtual Private Cloud 若要連線至其他 Amazon VPCs 中託管的服務,請考慮使用 AWS PrivateLink。
EC2 執行個體的漏洞特性
以下是 EC2 執行個體的漏洞特徵和建議的修復步驟。
EC2 執行個體具有網路可攻擊的軟體漏洞,具有高利用率的可能性
安裝在 EC2 執行個體上的軟體套件可能會公開到常見漏洞與暴露 (CVEs)。關鍵 CVEs對您的 AWS 環境構成重大的安全風險。未經授權的主體可以利用這些未修補的漏洞來損害資料的機密性、完整性或可用性,或存取其他系統。具有高入侵可能性的關鍵漏洞代表立即的安全威脅,因為攻擊者或自動化掃描工具可能已經公開提供並主動使用入侵程式碼。建議您修補這些漏洞,以保護執行個體。
更新受影響的執行個體
檢閱特徵漏洞索引標籤中的參考區段。廠商文件可能包含特定的修補指引。使用以下一般準則,遵循適當的修補:
使用 Systems Manager Patch Manager 將修補程式套用至作業系統和應用程式。修補程式管理員可協助您在大型執行個體群組上自動選取和部署作業系統和軟體修補程式。如果您沒有設定修補程式管理員,請手動更新每個受影響執行個體上的作業系統。
依照廠商建議的程序,將受影響的應用程式更新為最新的安全版本。若要跨多個執行個體管理應用程式更新,請考慮使用 Systems Manager State Manager 讓您的軟體保持一致狀態。如果更新不可用,請考慮移除或停用易受攻擊的應用程式,直到修補程式發佈或其他緩解措施,例如限制應用程式的網路存取或停用易受攻擊的功能。
遵循 Amazon Inspector 調查結果中提供的特定修復建議。這可能包括變更安全群組規則、修改執行個體組態或調整應用程式設定。
檢查執行個體是否屬於 Auto Scaling 群組。AMI 取代修補會在不可變的基礎設施上完成,方法是更新設定為在 Auto Scaling 群組中部署新 Amazon EC2 執行個體的 AMI ID。如果您使用的是自訂/黃金 AMI,請使用新的 AMI 建立執行個體,然後自訂執行個體並建立新的黃金 AMI 如需詳細資訊,請參閱 AMI 更新修補 (使用 Auto Scaling 群組的修補 AMIs)。
未來考量事項
為了防止未來發生,請考慮實作漏洞管理計畫。Amazon Inspector 可設定為自動掃描執行個體上的 CVEs。Amazon Inspector 也可以與 Security Hub 整合,以進行自動修復。請考慮使用 Systems Manager 維護 Windows 實作定期修補排程,將對執行個體的干擾降至最低。
Amazon EC2 執行個體具有軟體漏洞
安裝在 Amazon EC2instances 上的軟體套件可能會公開到 Common Vulnerabilities and Exposures (CVEs)。非關鍵 CVEs代表與關鍵 CVEs 相比,嚴重性或可攻擊性較低的安全弱點。雖然這些漏洞的立即風險較低,但攻擊者仍然可以利用這些未修補的漏洞來危害資料的機密性、完整性或可用性,或存取其他系統。遵循安全最佳實務, AWS建議修補這些漏洞,以保護執行個體免受攻擊。
更新受影響的執行個體
使用 AWS Systems Manager Patch Manager 將修補程式套用至作業系統。修補程式管理員可協助您在大型執行個體群組上自動選取和部署作業系統和軟體修補程式。如果您沒有設定修補程式管理員,請手動更新每個受影響執行個體上的作業系統。
依照廠商建議的程序,將受影響的應用程式更新為最新的安全版本。若要跨多個執行個體管理應用程式更新,請考慮使用 AWS Systems Manager State Manager 讓您的軟體保持一致狀態。如果更新不可用,請考慮移除或停用易受攻擊的應用程式,直到修補程式發佈或其他緩解措施,例如限制應用程式的網路存取或停用易受攻擊的功能。
遵循 Amazon Inspector 調查結果中提供的特定修復建議。這可能包括變更安全群組規則、修改執行個體組態或調整應用程式設定。
檢查執行個體是否屬於 Auto Scaling 群組。AMI 取代修補會在不可變的基礎設施上完成,方法是更新設定為在 Auto Scaling 群組中部署新 Amazon EC2 執行個體的 AMI ID。如果您使用的是自訂/黃金 AMI,請使用新的 AMI 建立執行個體,然後自訂執行個體並建立新的黃金 AMI 如需詳細資訊,請參閱 AMI 更新修補 (使用 Auto Scaling 群組的修補 AMIs)。
未來考量事項
為了防止未來發生,請考慮實作漏洞管理計畫。Amazon Inspector 可設定為自動掃描執行個體上的 CVEs。Amazon Inspector 也可以與 Security Hub 整合,以進行自動修復。請考慮使用 Systems Manager 維護 Windows 實作定期修補排程,將對執行個體的干擾降至最低。