強化資源的建議
適用於此 Azure 架構完善的架構安全性檢查清單建議:
SE:08 | 藉由減少多餘的介面區並收緊設定來增加攻擊者成本,強化所有工作負載元件。 |
---|
本指南說明強化資源的建議,方法是在工作負載內開發本地化的控件,並維護這些控件以承受重複的攻擊。
安全性強化是刻意的自我保護練習。 目標是 減少攻擊面 ,並 增加攻擊者在其他領域的成本,以限制惡意執行者利用弱點的機會。 若要保護您的工作負載,請實作安全性最佳做法和設定。
安全性強化是一個持續的過程 ,需要持續監視和適應不斷演變的威脅和弱點。
定義
詞彙 | 定義 |
---|---|
強化 | 藉由移除多餘的資源或調整組態來減少受攻擊面區域的做法。 |
特殊權限存取工作站 (PAW) | 您用來執行敏感性工作的專用且安全的機器,可降低危害的風險。 |
保護系統管理工作站 (SAW) | 重大影響帳戶所使用的特製化PAW。 |
表面積 | 包含弱點之工作負載的邏輯使用量。 |
關鍵設計策略
安全性強化是高度本地化的練習, 可強化元件層級的控制,無論是資源還是程式。 當您收緊每個元件的安全性時,它會改善工作負載的匯總安全性保證。
安全性強化不會考慮工作負載的功能,也不會偵測威脅或執行自動化掃描。 安全性強化著重於使用假設缺口和深度防禦心態進行設定調整。 目標是讓攻擊者難以控制系統。 強化不應該改變工作負載或其作業的預期公用程式。
建置工作負載資產的清查
強化程式的第一個步驟是收集所有硬體、軟體和數據資產的完整清查。 新增資產並移除已解除委任的資產,讓您的庫存記錄保持最新狀態。 針對清查中的所有資產,請考慮下列最佳做法:
減少使用量。 拿掉多餘的介面區或縮小範圍。 消除簡單的目標,或廉價且完善的攻擊媒介,例如未修補的軟體惡意探索和暴力密碼破解攻擊。 在生產環境部署之前,您應該從來源樹狀結構清除身分識別、建置元件和其他非必要資產。
微調組態。 評估並 收緊剩餘的介面區。 強化資源時,攻擊者使用的嘗試和測試方法已不再成功。 它會強制攻擊者取得和使用進階或未經測試的攻擊方法,進而增加其成本。
維護防禦。 藉由執行 持續威脅偵測 來維護保護措施,以協助確保經過一段時間的強化工作是可靠的。
也請考慮下列因素。
信任的來源。 強化練習的一部分涉及軟體供應鏈。 本指南假設 所有元件都是從信任的來源取得。 您的組織必須核准從第三方廠商採購的軟體。 此核准適用於操作系統、映像和其他第三方工具的來源。 如果沒有受信任的資源,強化可能會無限耗盡不受信任的來源上的安全性保證。
如需有關供應鏈安全性的建議,請參閱 保護開發生命周期的建議。
訓練。 強化是一種特殊技能。 這是有條不紊的,需要高水準的專長認證。 您必須瞭解元件的功能,以及變更如何影響元件。 小組成員必須能夠辨別來自業界專家和平臺的指引,以區別其與不確定來源的指導。 教育小組成員建立安全性感知文化。 請確定您的小組 熟悉安全性最佳做法、瞭解潛在威脅,並從事件后回顧中學習。
文件。 記錄和發佈強化需求、決策和已定義的方法。 為了提高透明度,也 記錄這些需求的例外狀況或偏差 。
強化可能很麻煩,但這是您必須記錄的重要安全性練習。 先強化核心元件,然後擴充至其他領域,例如自動化程式和人為程式,以收緊潛在的差距。 請仔細處理變更。 例如,必要的步驟是停用預設設定,因為對預設值的變更可能會影響系統的穩定性。 即使取代組態與預設值相同,也必須加以定義。 下列各節說明強化的常見目標。 評估工作負載的主要設計區域,並遵循關鍵策略在元件層級強化。
強化網路元件
將網路分割成區段 ,以隔離重要資產和敏感數據與較不安全的資產,進而減少攻擊者的橫向移動。 在這些區段中,套用 預設的拒絕 方法。 只有在允許清單合理時才新增存取權。
停用未主動使用的埠和通訊協定。 例如,在 Azure App 服務 上,如果您不需要透過FTP部署,則可以將其停用。 或者,如果您透過內部網路執行管理作業,則可以從因特網停用系統管理存取。
拿掉或停用舊版通訊協定。 攻擊者會利用使用舊版的系統。 使用 Azure 偵測服務來檢閱記錄並判斷通訊協定使用量。 拿掉通訊協定可能很困難,因為它可能會中斷系統的功能。 在實作之前測試所有變更,以降低作業中斷的風險。
將公用IP (PIP) 位址視為高風險資產 ,因為它們很容易存取,而且具有廣泛的全球影響力。 若要減少暴露,請移除對工作負載不必要的因特網存取。 使用 Microsoft 服務 的共用公用IP位址,例如 Azure Front Door 提供。 這些服務的設計目的是要面向因特網,而且會封鎖對不允許通訊協定的存取。 許多這類服務會對網路邊緣的連入要求執行初始檢查。 使用專用的 PIP,您必須負責管理其安全性層面、允許或封鎖埠,以及掃描傳入要求,以確保其有效性。
針對因特網對向應用程式, 新增可篩選無效流量的 Layer-7 服務來限制存取。 探索強制分散式阻斷服務 (DDoS) 保護、具有 Web 應用程式防火牆的原生服務,並在流量到達應用層之前,在邊緣提供保護。
功能變數名稱系統 (DNS) 強化是另一個網路安全性做法。 為了確保 DNS 基礎結構安全,我們建議您 使用受信任的 DNS 解析程式。 若要驗證來自 DNS 解析程式的資訊並提供額外的安全性層,請盡可能使用 DNS 安全性通訊協定進行高度敏感的 DNS 區域。 若要防止 DNS 快取中毒、DDoS 攻擊和放大攻擊等攻擊,請探索其他 DNS 相關安全性控件,例如查詢速率限制、回應速率限制和 DNS Cookie。
強化身分識別訪問控制
拿掉未使用或預設帳戶。 停用未使用的驗證和授權方法。
停用舊版驗證方法 ,因為它們經常是攻擊媒介。 舊通訊協定通常缺乏攻擊計數器措施,例如帳戶鎖定。 將驗證需求外部化至您的識別提供者(IdP),例如Microsoft Entra ID。
偏好同盟而不是建立重複的身分識別。 如果身分識別遭到入侵,在集中管理時,更容易撤銷其存取權。
瞭解增強驗證和授權的平臺功能 。 利用多重要素驗證、無密碼驗證、條件式存取,以及其他Microsoft Entra ID 提供來驗證身分識別的功能,強化訪問控制。 您可以針對登入事件新增額外的保護,並減少攻擊者提出要求的範圍。
盡可能使用沒有認證的受控識別 和工作負載身分識別。 認證可能會外洩。 如需詳細資訊,請參閱 保護應用程式秘密的建議。
針對管理程式使用最低許可權方法。 拿掉不必要的角色指派,並執行一般Microsoft Entra 存取權檢閱。 使用角色指派描述來保留理由的書面記錄,這對稽核至關重要。
強化雲端資源設定
上述網路和身分識別的強化建議適用於個別雲端服務。 針對網路功能,請特別注意 服務等級防火牆,並評估其輸入規則。
探索和停用未使用的功能 或功能,例如未使用的使用的數據平面存取和產品功能,其他元件可能涵蓋的功能。 例如,App Service 支援 Kudu,其提供 FTP 部署、遠端偵錯和其他功能。 如果您不需要這些功能,請將其關閉。
請 隨時掌握 Azure 藍圖和工作負載藍圖。 套用 Azure 服務所提供的修補和版本設定更新。 允許平臺提供的更新,並訂閱自動更新通道。
風險:雲端資源通常需要津貼,或必須在記載的設定中執行,才能被視為 支援。 某些強化技術,例如主動封鎖輸出流量,可能會導致服務落在支持的設定之外,即使服務正常運作也一樣。 了解平臺中每個雲端資源的運行時間需求,以確保您維護該資源的支援。
強化程式代碼資產
評估應用程式可能會不小心洩漏信息的區域。 例如,假設您有可擷取使用者資訊的 API。 要求可能有有效的使用者標識碼,而您的應用程式會傳回 403 錯誤。 但是,由於客戶標識碼無效,要求會傳回 404 錯誤。 然後,您實際上會洩漏使用者標識碼的相關信息。
可能有更微妙的情況。 例如,具有有效使用者標識碼的回應延遲高於無效的客戶標識符。
請考慮在下列區域中實作應用程式強化:
輸入驗證和清理:藉由驗證和清理所有用戶輸入,防止插入式攻擊,例如SQL 插入式和跨網站腳本 (XSS)。 使用輸入驗證連結庫和架構將輸入清理自動化。
會話管理:使用安全會話管理技術,保護會話標識符和令牌免於遭竊或會話修正攻擊。 實作會話逾時,並強制執行敏感性動作的重新驗證。
錯誤管理:實作自定義錯誤處理,以將敏感性資訊公開到攻擊者的最小化。 安全地記錄錯誤,並監視這些記錄是否有可疑活動。
HTTP 安全性標頭:利用 HTTP 回應中的安全性標頭來減輕常見的 Web 弱點,例如內容安全策略 (CSP)、X-Content-Type-Options 和 X-Frame-Options。
API 安全性:使用適當的驗證和授權機制保護您的 API。 若要進一步增強安全性,請實作 API 端點的速率限制、要求驗證和存取控制。
當您開發和維護應用程式時,請遵循安全編碼做法。 定期進行程式代碼檢閱,並掃描應用程式是否有弱點。 如需詳細資訊,請參閱 保護開發生命周期的建議。
強化管理作業
也強化其他非運行時間資源。 例如, 藉由清查所有資產,以及從管線中移除未使用的資產,以減少組建作業使用量 。 然後, 提取由受信任來源發佈的工作,並只執行已驗證的工作。
判斷您是否需要Microsoft裝載或自我裝載的組建代理程式。 自我裝載的組建代理程式需要額外的管理,而且必須強化。
從可檢視性的觀點來看, 實作檢閱記錄 檔是否有潛在缺口的程式。 根據存取記錄定期檢閱和更新訪問控制規則。 請與中央小組合作,分析安全性資訊事件管理 (SIEM) 和安全性協調流程自動化回應 (SOAR) 記錄,以偵測異常狀況。
請考慮要求PAW或SAW才能進行特殊許可權管理作業。 PAW 和 SAW 是強化的實體裝置,可提供顯著的安全性優勢,但其實作需要仔細規劃和管理。 如需詳細資訊,請參閱 保護裝置作為特殊許可權存取案例的一部分。
Azure 便利化
適用於雲端的 Microsoft Defender 提供數個強化功能:
因特網安全性中心 (CIS) 在 Azure Marketplace 中提供強化的映像。
您可以使用 Azure VM 映像產生器來建置強化 OS 映射的可重複程式。 Common Base Linux-Mariner 是強化的Linux發行版,由遵循安全性標準和產業認證Microsoft所開發。 您可以將它與 Azure 基礎結構產品搭配使用,以建置工作負載實作。
範例
下列程式是如何強化作業系統的範例:
減少使用量。 拿掉映像中不必要的元件。 只安裝您需要的內容。
微調組態。 停用未使用的帳戶。 操作系統的預設組態具有連結至安全組的額外帳戶。 如果您未使用這些帳戶,請停用或移除這些帳戶。 額外的身分識別是可用來存取伺服器的威脅向量。
停用對文件系統的不必要存取。 加密文件系統,並微調身分識別和網路的訪問控制。
只執行所需的專案。 封鎖預設執行的應用程式和服務。 只核准工作負載功能所需的應用程式和服務。
維護防禦。 使用最新的安全性更新和修補程式定期更新操作系統元件,以減輕已知的弱點。
相關連結
社群連結
安全性檢查清單
請參閱一組完整的建議。