監視和威脅偵測的建議
適用於此 Azure Well-Architected Framework 安全性檢查清單建議:
SE:10 | 實作整體監視策略,其依賴可與平臺整合的新式威脅偵測機制。 機制應該可靠地警示分級,並將訊號傳送至現有的 SecOps 程式。 |
---|
本指南說明監視和威脅偵測的建議。 監視基本上是 取得已發生之事件相關信息的程式。 安全性監視是擷取工作負載不同高度 (基礎結構、應用程式、作業) 來 感知可疑活動的做法。 目標是預測事件,並從過去的事件中學習。 監視數據提供事件後分析的基礎,以協助事件回應和鑑識調查。
監視是跨所有 Well-Architected 架構要素套用的營運卓越方法。 本指南只會從安全性觀點提供建議。 監視的一般概念,例如程式代碼檢測、數據收集和分析,都不在本指南的範圍內。 如需核心監視概念的相關信息,請參閱 設計和建置可觀察性架構的建議。
定義
詞彙 | 定義 |
---|---|
稽核記錄 | 系統中活動的記錄。 |
安全性資訊及事件管理 (SIEM) | 根據從多個來源匯總的數據,使用內建威脅偵測和情報功能的方法。 |
威脅偵測 | 使用收集、分析和相互關聯數據來偵測預期動作偏差的策略。 |
威脅情報 | 透過檢查模式來解譯威脅偵測數據以偵測可疑活動或威脅的策略。 |
威脅防護 | 放置在工作負載中且高度不同的安全性控件,以保護其資產。 |
主要設計策略
安全性監視的主要用途是 威脅偵測。 主要目標是防止潛在的安全性缺口,並維護安全的環境。 不過,同樣重要的是,了解並非所有威脅都可以預先封鎖。 在這種情況下,監視也會做為一種機制,以識別儘管預防工作發生的安全性事件原因。
監視可從各種觀點著手:
以各種高度監視。 從 各種高度 觀察是取得使用者流程、數據存取、身分識別、網路,甚至是操作系統的相關信息的程式。 這其中每一個區域都提供獨特的見解,可協助您識別針對安全性基準所建立的預期行為偏差。 相反地,持續監視系統與應用程式一段時間有助於 建立該基準狀態。 例如,您通常會每小時在身分識別系統中看到大約 1,000 次登入嘗試。 如果您的監視在短時間內偵測到 50,000 次登入嘗試的尖峰,攻擊者可能會嘗試取得系統的存取權。
監視各種影響範圍。 請務必 觀察應用程式和平臺。 假設應用程式使用者意外收到呈報的許可權,或發生安全性缺口。 如果使用者執行超出其指定範圍的動作,則影響可能會受限於其他用戶可執行的動作。
不過,如果內部實體危害資料庫,則潛在損害的範圍不確定。
如果 Azure 資源端發生入侵,影響可能是全域的,會影響與資源互動的所有實體。
根據這些案例的發生情況而定,擷取半徑或影響範圍可能會明顯不同。
使用特製化監視工具。 請務必投資 特殊工具 ,以持續掃描可能表示攻擊的異常行為。 這些工具中大部分都有 威脅情報功能 ,可根據大量數據和已知威脅來執行預測性分析。 大部分的工具都不是無狀態,而且在安全性內容中納入對遙測的深入瞭解。
這些工具必須經過平臺整合或至少平臺感知,才能從平臺取得深層訊號,並以高精確度進行預測。 他們必須能夠以足夠的資訊及時產生警示,才能進行適當的分級。 使用太多不同工具可能會導致複雜度。
針對事件回應使用監視。 匯總的數據會轉換成可採取動作的智慧, 可快速且有效地回應 事件。 監視 有助於事件後活動。 目標是收集足夠的數據,以分析和了解發生什麼事。 監視程式會擷取過去事件的相關信息,以增強回應功能,並可能預測未來的事件。
下列各節提供納入上述監視觀點的建議做法。
擷取數據以保留活動記錄
目標是從安全性觀點維護 重要的事件完整稽核線索 。 記錄是擷取存取模式最常見的方式。 必須針對應用程式和平台執行記錄。
針對稽核線索,您必須建立與動作相關聯的專案、時機和人員。 您必須識別執行動作時的特定時間範圍。 在您的威脅模型化中進行此評估。 若要對抗否認性威脅,您應該建立強式記錄和稽核系統,以產生活動和交易的記錄。
下列各節說明工作負載一些常見高度的使用案例。
應用程式使用者流程
您的應用程式應該設計為在事件發生時提供運行時間可見性。 識別應用程式內的重要點,並建立這些點的記錄。 例如,當使用者登入應用程式時,擷取使用者的身分識別、來源位置和其他相關信息。 請務必確認用戶權力、使用者所執行的動作,以及使用者是否存取安全數據存放區中的敏感性資訊。 追蹤使用者和用戶會話的活動。
為了方便進行這項追蹤,應該 透過結構化記錄來檢測程序代碼。 這麼做可讓您輕鬆且統一地查詢和篩選記錄。
重要
您必須強制執行負責任的記錄,以維護系統的機密性和完整性。 秘密和敏感數據不得出現在記錄中。 當您擷取此記錄數據時,請注意洩漏個人資料和其他合規性需求。
身分識別和存取監視
維護 應用程式存取模式的完整記錄,並修改平台資源。 具有健全的活動記錄和威脅偵測機制,特別是身分識別相關活動,因為攻擊者通常會嘗試操作身分識別來取得未經授權的存取權。
使用所有可用的數據點實作完整的記錄。 例如,包含用戶端IP位址,以區分一般用戶活動和潛在威脅與非預期的位置。 所有記錄事件都應該由伺服器時間戳。
記錄所有資源存取活動,擷取誰正在執行哪些動作,以及何時執行。 許可權提升的實例是應該記錄的重要數據點。 應用程式必須記錄與帳戶建立或刪除相關的動作。 此建議會延伸至應用程式秘密。 監視誰存取秘密,以及何時輪替秘密。
雖然記錄成功動作很重要,但 從安全性觀點來看,記錄失敗是必要的。 記錄任何違規,例如用戶嘗試動作,但遇到授權失敗、不存在資源的存取嘗試,以及其他看似可疑的動作。
網路監視
藉由監視網路封包及其來源、目的地和結構,即可了解網路層級的存取模式。
分割設計應該 啟用界限上的觀察點 ,以監視跨界限的專案,並記錄該數據。 例如,監視具有產生流量記錄之網路安全組的子網。 同時監視防火牆記錄,其中顯示允許或拒絕的流程。
輸入連線要求有存取記錄。 這些記錄會記錄起始要求的來源IP位址、要求類型 (GET、POST) ,以及屬於要求的所有其他資訊。
擷取 DNS 流程是許多組織的重要需求。 例如, DNS 記錄可協助識別哪些使用者或裝置起始特定 DNS 查詢。 藉由將 DNS 活動與使用者/裝置驗證記錄相互關聯,您可以追蹤個別客戶端的活動。 此責任通常會延伸至工作負載小組,特別是當他們部署任何發出 DNS 要求部分作業的專案時。 DNS 流量分析是平臺安全性可觀察性的重要層面。
請務必監視導向已知命令和控制端點的非預期 DNS 要求或 DNS 要求。
取捨: 記錄所有網路活動可能會導致大量數據。 第 3 層的每個要求都可以記錄在流程記錄中,包括跨越子網界限的每個交易。 不幸的是,無法只擷取負面事件,因為它們只能在發生之後加以識別。 針對要擷取的事件類型進行策略性決策,以及儲存事件的時間長度。 如果您不小心,管理數據可能很困難。 儲存該數據的成本也有取捨。
由於取捨,您應該考慮工作負載網路監視的優點是否足以證明成本。 如果您有具有高要求量的 Web 應用程式解決方案,而且您的系統大量使用受控 Azure 資源,則成本可能會超過優點。 另一方面,如果您有設計成搭配各種埠和應用程式使用虛擬機的解決方案,則擷取和分析網路記錄可能很重要。
擷取系統變更
若要維護系統的完整性,您應該擁有系統狀態的精確且最新的記錄。 如果有變更,您可以使用此記錄來立即解決任何發生的問題。
建置程式也應該發出遙測。 瞭解事件的安全性內容是關鍵。 瞭解觸發建置程式、觸發程序的人員,以及觸發程序時機可以提供寶貴的見解。
追蹤 何時建立資源,以及何時解除委任。 此信息必須從平臺擷取。 這項資訊提供資源管理和責任的寶貴見解。
監視 資源設定中的漂移。 記錄現有資源的任何變更。 同時追蹤未在推出至資源團隊時未完成的變更。 記錄必須擷取變更的詳細數據及其發生的確切時間。
從修補的觀點來看,系統是否為最新且安全的完整檢視。 監視例行更新程式 ,以確認它們已依照計劃完成。 未完成的安全性修補程式應該視為弱點。 您也應該維護記錄修補程式層級和任何其他必要詳細數據的清查。
變更偵測也適用於作業系統。 這牽涉到追蹤服務是否已新增或關閉。 它也包括監視將新使用者新增至系統。 有一個設計為以操作系統為目標的工具。 它們有助於無內容監視,因為它們不會以工作負載的功能為目標。 例如,檔案完整性監視是一個重要工具,可讓您追蹤系統檔案中的變更。
您應該設定這些變更的警示,特別是如果您不預期經常發生這些變更。
重要
當您推出生產環境時,請確定警示已設定為攔截在應用程式資源上偵測到的異常活動,並建置程式。
在您的測試計劃中, 包含記錄和警示的驗證 ,作為優先的測試案例。
儲存、匯總和分析數據
從這些監視活動收集的數據必須儲存在數據接收器中,以便徹底 檢查、正規化和相互關聯。 安全性數據應該保存在系統自己的數據存放區之外。 無論接收是當地語系化還是集中,監視接收都必須超過數據源。 因為 接收是 入侵偵測系統的來源,所以無法暫時接收。
網路記錄可以是詳細資訊並佔用記憶體。 探索記憶體系統中的不同層。 記錄可以自然地在一段時間內轉換為較冷的記憶體。 這種方法很有幫助,因為較舊的流量記錄通常不會主動使用,而且只需要視需要。 此方法可確保有效率的記憶體管理,同時確保您在需要時可以存取歷程記錄數據。
工作負載的流程通常是多個記錄來源的複合。 監視數據必須 以智慧方式分析所有來源。 例如,您的防火牆只會封鎖到達它的流量。 如果您有已封鎖特定流量的網路安全組,則防火牆看不到該流量。 若要重新建構事件順序,您必須匯總流程中所有元件的數據,然後匯總來自所有流程的數據。 當您嘗試了解發生什麼情況時,此數據在事件后回應案例中特別有用。 精確的記事是不可或缺的。 基於安全性考慮,所有系統都需要使用網路時間來源,使其一律會同步。
使用相互關聯的記錄進行集中式威脅偵測
您可以使用安全性資訊和事件管理等系統 (SIEM) ,將安全性 數據合併到 可跨各種服務相互關聯的中央位置。 這些系統具有 內建的威脅偵測 機制。 他們可以 連線到外部摘要 ,以取得威脅情報數據。 例如,Microsoft 會發佈您可以使用的威脅情報數據。 您也可以從其他提供者購買威脅情報摘要,例如 Anomali 和 FireEye。 這些摘要可以提供寶貴的見解,並增強您的安全性狀態。 如需來自 Microsoft 的威脅深入解析,請參閱 安全性測試人員。
SIEM 系統可以根據相互關聯和標準化的數據 產生警示 。 這些警示是事件回應程序期間的重要資源。
取捨:SIEM 系統的成本可能很高、複雜,而且需要特殊技能。 不過,如果您沒有,您可能需要自行相互關聯數據。 這可以是耗時且複雜的程式。
SIEM 系統通常是由組織的中央小組所管理。 如果您的組織沒有,請考慮對它提出要求。 它可以減輕手動記錄分析和相互關聯的負擔,以允許更有效率且有效的安全性管理。
Microsoft 提供一些符合成本效益的選項。 許多 Microsoft Defender 產品都提供 SIEM 系統的警示功能,但沒有數據匯總功能。
藉由結合數個較小的工具,您可以模擬 SIEM 系統的一些功能。 不過,您必須知道這些makeshift解決方案可能無法執行相互關聯分析。 這些替代方案可能很有用,但可能無法完全取代專用 SIEM 系統的功能。
偵測濫用
主動進行威脅偵測 ,並持續警覺濫用徵兆,例如 SSH 元件或 RDP 端點上的身分識別暴力密碼破解攻擊。 雖然外部威脅可能會產生許多雜訊,特別是當應用程式暴露在因特網上時, 內部威脅通常是更大的考慮。 例如,應立即調查來自信任網路來源或意外設定錯誤的非預期暴力密碼破解攻擊。
跟上您的強化做法。 監視不是主動強化環境的替代方式。 較大型的介面區很容易遭受更多攻擊。 儘可能強化控制。 例如,偵測及停用未使用的帳戶、移除未使用的埠,以及使用 Web 應用程式防火牆。 如需強化技術的詳細資訊,請參閱 安全性強化的建議。
簽章型偵測 可以詳細檢查系統。 它牽涉到尋找可能表示潛在攻擊之活動之間的符號或相互關聯。 偵測機制可能會識別指出特定攻擊類型的特定特性。 不一定可以直接偵測攻擊的命令和控制機制。 不過,通常會有與特定命令和控制程式相關聯的提示或模式。 例如,攻擊可能以來自要求觀點的特定流量速率表示,或者可能會經常存取具有特定結尾的網域。
偵測 異常使用者存取模式 ,以便識別並調查與預期模式的偏差。 這牽涉到比較目前的使用者行為與過去的行為,以找出異常狀況。 雖然手動執行這項工作可能不可行,但您可以使用威脅情報工具來執行這項工作。 投資 使用者和實體行為分析 (UEBA) 工具 ,從監視數據收集用戶行為並加以分析。 這些工具通常會執行預測性分析,將可疑行為對應至潛在攻擊類型。
在部署前和部署後階段偵測威脅。 在預先部署階段,將弱點掃描併入管線中,並根據結果採取必要的動作。 部署後,繼續進行弱點掃描。 您可以使用適用於容器 Microsoft Defender 之類的工具,以掃描容器映像。 將結果包含在收集的數據中。 如需安全開發做法的相關信息,請參閱 使用安全部署做法的建議。
利用平臺提供的偵測機制和量值。 例如,Azure 防火牆 可以分析流量,並封鎖與不受信任目的地的連線。 Azure 也提供偵測並防範分散式阻斷服務 (DDoS) 攻擊的方式。
Azure 指導
Azure 監視器提供整個環境的可檢視性。 沒有設定時,您會自動從大部分的 Azure 資源取得平臺計量、活動記錄和診斷記錄。 活動記錄會提供詳細的診斷和稽核資訊。
注意
平台記錄無法無限期使用。 您必須保留它們,以便稍後檢閱它們以進行稽核或離線分析。 使用 Azure 記憶體帳戶進行長期/封存記憶體。 在 Azure 監視器中,當您啟用資源的診斷設定時,請指定保留期間。
根據預先定義或自定義計量和記錄來設定警示,以在偵測到特定安全性相關事件或異常時取得通知。
如需詳細資訊,請參閱 Azure 監視器檔。
Microsoft Defender for Cloud 提供威脅偵測的內建功能。 它會在收集的數據上運作,並分析記錄。 因為知道產生的記錄類型,所以可以使用內建規則來做出明智的決策。 例如,它會檢查可能遭入侵IP位址的清單,併產生警示。
為 Azure 資源啟用內建威脅防護服務。 例如,為 Azure 資源啟用 Microsoft Defender,例如虛擬機、資料庫和容器,以偵測並防範已知的威脅。
適用於雲端的Defender提供雲端工作負載保護平臺 (CWPP) 功能,以偵測所有工作負載資源的威脅。
如需詳細資訊,請參閱什麼是雲端 Microsoft Defender?。
Defender 所產生的警示也可以饋送至 SIEM 系統。 Microsoft Sentinel 是原生供應專案。 它會使用 AI 和機器學習來即時偵測及回應安全性威脅。 它提供安全性數據的集中式檢視,並協助主動式威脅搜捕和調查。
如需詳細資訊,請參閱什麼是 Microsoft Sentinel?。
Microsoft Sentinel 也可以使用來自各種來源的威脅情報摘要。 如需詳細資訊,請參閱 Microsoft Sentinel 中的威脅情報整合。
Microsoft Sentinel 可以從監視數據分析用戶行為。 如需詳細資訊,請參閱 在 Microsoft Sentinel 中使用使用者和實體行為分析 (UEBA) 識別進階威脅。
Defender 和 Microsoft Sentinel 會一起運作,儘管功能有一些重疊。 此共同作業可藉由協助確保完整的威脅偵測和回應,來增強整體安全性狀態。
利用 Azure 商務持續性中心 來識別商務持續性資產中的差距,並防禦勒索軟體攻擊、惡意活動和惡意系統管理員事件等威脅。 如需詳細資訊,請參閱 什麼是 Azure 商務持續性中心?。
網路
檢閱來自網路裝置的所有記錄,包括原始流量。
安全組記錄。 檢閱 流程記錄 和診斷記錄。
Azure 網路監看員。 利用封包擷取功能來設定警示,並存取封包等級的即時效能資訊。
封包擷取會追蹤進出虛擬機器的流量。 您可以使用它根據定義的網路異常來執行主動式擷取,包括網路入侵的相關信息。
如需範例,請參閱使用封包擷取主動監視具有警示和 Azure Functions 的網路。
身分識別
監視可能遭盜用身分識別的身分識別相關風險事件,並補救這些風險。 以這些方式檢閱回報的風險事件:
使用 Microsoft Entra ID 報告。 如需詳細資訊,請參閱 什麼是 Identity Protection? 和 Identity Protection。
使用 Identity Protection 風險偵測 API 成員,透過 Microsoft Graph 以程式設計方式存取安全性偵測。 如需詳細資訊,請參閱 riskDetection 和 riskyUser。
Microsoft Entra ID 會使用調適型機器學習演算法、啟發學習法和已知的遭入侵認證, (用戶名稱和密碼組) 來偵測與使用者帳戶相關的可疑動作。 這些使用者名稱和密碼組會藉由監視公用和深色網路,以及使用 Microsoft 的安全性研究人員、執法、安全性小組和其他人員來呈現。
Azure Pipelines
DevOps 提倡者會透過持續整合和持續傳遞來變更工作負載的管理, (CI/CD) 。 請務必在管線中新增安全性驗證。 請遵循 保護 Azure Pipelines 中所述的指引。
相關連結
- 設計和建立可檢視性架構的建議
- 安全性測試人員
- 強化資源的建議
- 使用安全部署做法的建議
- Azure 監視器文件
- 什麼是適用於雲端的 Microsoft Defender?
- 什麼是 Microsoft Sentinel?
- Microsoft Sentinel 中的威脅情報整合
- 使用 Microsoft Sentinel 中的使用者與實體行為分析 (UEBA) 識別進階威脅
- 教學課程:使用 Azure 入口網站記錄往返於虛擬機器的網路流量
- 封包擷取
- 使用封包擷取主動監視警示和 Azure Functions 網路
- 什麼是身分識別保護?
- 身分識別保護
- riskDetection
- riskyUser
- 瞭解如何將持續安全性驗證新增至 CI/CD 管線
安全性檢查清單
請參閱一組完整的建議。