微軟Purview Audit簡介
Microsoft Purview Audit 簡單來說就是搞IT稽核的,最重要的是能合規。我們將介紹Purview Audit的各項功能如下:
- Microsoft Purview Audit標準版與進階版的差異
- 設定和管理 Microsoft Purview Audit
- 使用 Microsoft Purview Audit標準版進行稽核
- 使用 Microsoft Purview Audit 進階版 和 PowerShell 的搜尋工具調查不合規的存取模式
- 透過有效的資料管理策略確保遵守法規
Microsoft Purview 稽核解決方案使組織能夠有效地處理安全事件、取證調查、內部調查和合規義務。它們整合了許多 Microsoft 365 服務和解決方案,並在組織的統一稽核日誌中記錄數全部人的活動。組織中的安全操作員、IT 管理員、內部風險團隊以及合規性和法律調查人員可以搜尋這些稽核記錄,以了解 Microsoft 365 organization中發生的情況。
Microsoft Purview Audit標準版與進階版的差異
以下是兩個版本都有功能
- 預設啟用
預設情況下,有買服務就有開啟。唯一的設定要求是要給存取稽核搜尋工具所需的權限 - 數千個可搜尋的稽核事件
- Microsoft Purview compliance portal中的稽核搜尋工具
稽核日誌可在 Microsoft Purview compliance portal中存取和搜索,支援按"活動、使用者或時間範圍"進行搜尋。 - 搜尋-UnifiedAuditLog cmdlet
Exchange Online PowerShell 中的 Search-UnifiedAuditLog cmdlet 允許進階搜尋和腳本編寫 - 將稽核記錄匯出到 CSV 文件
- 透過 Office 365 Management Activity API存取稽核日誌
這可以將log丟到SIEM做更長的資料保存 - 稽核日誌保留 180 天
以下是進階版才有的
- 稽核日誌保留 1 或10 年
支援自稽核核日誌保留策略,可將稽核記錄保留長達一年,對於具有所需附加授權的使用者則保留長達 10 年。 - 稽核日誌保留政策
Microsoft Entra ID、Exchange、OneDrive 和 SharePoint 稽核記錄預設保留一年。預設情況下,所有其他活動的稽核記錄將保留 180 天,或者可以使用稽核日誌保留策略來配置更長的保留期。 - 智慧洞察
智慧洞察的審計記錄提供對特定事件的詳細洞察性。例如,這些事件包括 Exchange Online 和 SharePoint Online 中的郵件項目存取和使用者搜尋行為等操作。此功能可實現更有效的取證和合規調查。 - Office 365 Management ActivityAPI 的頻寬更高
為組織提供了大約兩倍於審核(標準)的 API 頻寬分配。頻寬的增加增強了透過 Office 365 管理活動 API 對審核日誌的存取
稽核紀錄的長期保留政策
- 一年的預設保留
進階版預設將 Exchange、SharePoint 和 Microsoft Entra ID 的稽核記錄保留一年。此預設政策可確保稽核記錄保留足夠長的時間,從而有助於取證和合規調查。 - 延長到10年的保留政策
對於需要更長時間保留審核日誌的組織,進階版提供將保留期限延長至 10 年的選項。這種延長的保留適用於深入、長期的調查並遵守嚴格的監管、法律和內部要求。這種延長的保留需要"a per-user add-on license"。它從政策實施之日起適用,並且不溯及既往。
稽核紀錄的保留政策
進階版可以自訂超出標準版和預設設定的稽核日誌保留政策。這些政策可以根據以下因素進行客製化:
- 針對特定 Microsoft 365 服務
- 被稽核活動的性質
- 執行這些活動的使用者
預設一年政策未涵蓋的日誌將保留 180 天,但透過自訂政策,可以根據組織的需求指定保留最長 1 年(如果使用附加授權則為 10 年)。
進階版中,可以為自訂保留政策指派優先等級,確保先套用最重要的政策。此外,如果對這些政策或授權條款進行任何變更,這些變更只會影響後續的稽核資料。
進階版的稽核活動
進階版提供了在 Microsoft 365 環境中進行深入調查的進階工具。它記錄關鍵活動,例如郵件項目存取以及 Exchange Online 和 Microsoft Teams 中的使用者操作。此活動日誌記錄對於分析可能的安全漏洞和確保合規性至關重要。
在 Exchange Online 中,系統會記錄何時存取已標記有敏感度標籤的郵件項目。
在 Microsoft Teams 中,系統記錄通訊的各個方面,例如:
- 聊天互動:建立、檢索和更新聊天訊息及其上下文屬
- 會議詳細資訊:會議參與者的詳細資訊,包括他們是否從大廳加入以及會議期間共享了哪些工件。
- 訊息動態:訊息的建立、刪除和修改,提供組織內如何處理資訊的線索。
設定和管理 Microsoft Purview Audit
雖然標準版預設為啟用狀態,可以立即存取稽核日誌,但進階版中的全部功能需要特定配置才能有效管理組織稽核功能。
設定
步驟一: 確認買了哪種訂閱跟授權。標準版存在於以下產品中:
- Microsoft 365: E3, E5, F1, F3
- Office 365: E1, E3, E5, F3
進階版適合具有嚴格合規性需求的組織,需要訂閱包含廣泛安全和合規性工具的更高階的訂閱產品:
- Microsoft 365: E5, E5 Compliance, F5 Compliance, F5 Security + Compliance
- Office 365: E5
步驟二: 給權限。要有權限才能進行搜尋
將 Microsoft Purview compliance portal中的View-Only Audit Logs 或Audit Logs roles指派給管理員和調查團隊成員。這些角色支援搜尋或匯出稽核日誌,通常包含在Audit Reader與Audit Manager role groups中。
- Audit Manager:授予搜尋、匯出和稽核設定的權限,包括啟用或停用日誌記錄的能
- Audit Reader:允許搜尋和匯出稽核日誌,而無法變更稽核設定
步驟三(只有進階版才有):
為使用者進行設定。這是進階功能,例如記錄智慧見解,這需要額外的設置,例如分配 E5 授權和啟用特定service plans。
- 連結到 Microsoft 365 admin center,Users > Active users,然後選擇使用者。
- 在user properties頁面上,選擇Licenses and apps。確保使用者有 E5 授權或License下列出的適當的add-on license。
- 展開「 Apps」部分,並確保選取到「Microsoft 365 Advanced Auditing」複選框。
MailItemsAccessed 和 Send 的稽核日誌記錄將在 24 小時內啟動。需要執行其他步驟才能開始記錄其他進階事件,例如 SearchQueryInitiatedExchange 和 SearchQueryInitiatedSharePoint。
步驟四:啟動進階事件
透過啟用特定稽核事件來記錄 Exchange Online 和 SharePoint Online 中的使用者搜尋。透過執行下列 PowerShell 指令啟用 SearchQueryInitiatedExchange 和 SearchQueryInitiatedSharePoint 事件:
Set-Mailbox <user> -AuditOwner @{Add="SearchQueryInitiated"}
步驟五(只有進階版才有):設定保留政策
開啟或關閉稽核功能
預設情況下,Microsoft 365 中的稽核日誌記錄處於啟動狀態,它會記錄使用者和管理員活動並將其保留 180 天。設定新的 Microsoft 365 organization時,驗證是否如預期啟用稽核非常重要。稽核記錄的保留取決於組織的政策和擁有的授權。
若要驗證組織是否已啟用稽核,可以在 Exchange Online PowerShell 中執行下列命令:
Get-AdminAuditLogConfig | Format-List UnifiedAuditLogIngestionEnabled
若要開啟稽核功能可以使用GUI方式或CMD
GUI方式:
- 連到 Microsoft Purview compliance portal並選擇審核。
- 如果未啟用稽核,會show一個bar,提示"Start recording user and admin activity"
- 點選這個bar來啟用稽核。可能需要 60 分鐘才會開始記錄
CMD方式:
在Exchange Online PowerShell連結與驗證
Connect-ExchangeOnline #連結與驗證
Set-AdminAuditLogConfig -UnifiedAuditLogIngestionEnabled $true #開啟稽核
關閉只有CMD方式
Connect-ExchangeOnline #連結與驗證
Set-AdminAuditLogConfig -UnifiedAuditLogIngestionEnabled $false
在標準版進行搜尋
在進行搜尋之前,我們要先確認相關設定是否正確。在Exchange Online PowerShell輸入以下指令:
Get-AdminAuditLogConfig | Format-List UnifiedAuditLogIngestionEnabled
如果返回值是True,哪表示功能有開啟。再來確保我們具有查看稽核日誌所需的角色之一,即Audit Logs或View-Only Audit Logs。預設情況下,這些角色包含在合規性入口網站的「Permissions」頁面上的「Audit Manager」和「Audit Reader」角色群組中。
稽核記錄的保留取決於使用者的授權類型:
- E5 license:
Microsoft Entra ID、Exchange 和 SharePoint 活動的記錄預設保留一年。可以為其他服務設定稽核日誌保留政策,以將記錄保留長達一年。 - 非E5 license: 紀錄保留180天
使用 Exchange Online PowerShell 中的 Search-UnifiedAuditLog cmdlet 在合規性入口網站之外執行搜尋。此方法支援與自動化腳本或複雜查詢的整合。而使用GUI頁面進行搜尋時,最多只使同時有10個搜尋任務。也就是說要等有10個任務中的任何之一結束,才可以繼續往上加。搜尋結果大概長這樣:
我們也可以將搜尋結果匯出,每一次匯出的檔案大小,標準版是50K,進階版是500K。而匯出的內容則是詳盡的,如下圖所示:
用Copilot幫忙稽核
用人類來稽核可能是勞心勞力又耗時的工作。AI可以大大強化我們的稽核作業。
Copilot for Microsoft 365 可用於各種服務,透過 AI 驅動的提示和回應來實現使用者與資料的動態互動。 Microsoft Purview 稽核日誌中記錄的互動對於維護營運效率和資料完整性至關重要。
Microsoft Purview Audit 記錄來自 Copilot for Microsoft 365 的各種交互,從而深入了解使用者如何使用工具。這些日誌包括所涉及的服務和存取的文件,這對於確保使用符合組織標準和法規至關重要。所以在搜尋時可以把Copilot功能加進來(如下圖):
使用進階版進行調查
調查被駭的帳號。
MailItemsAccessed 是進階版中的一項稽核操作,旨在提供有關如何以及何時存取電子郵件的詳細記錄。此功能對於組織安全有效地管理敏感通訊至關重要。
- Sync access:
這是使用者使用桌機版的outlook。進階版不是單獨記錄每封電子郵件,而是為Session期間下載的所有電子郵件記錄一個事件,從而簡化了日誌管理。 - Bind access:
當使用者主動閱讀單一電子郵件或與該電子郵件互動時發生。進階版會取得每次交互,包括電子郵件的唯一識別碼、InternetMessageId 等詳細資訊,確保精確追蹤資料存取。
管理日誌容量
Exchange Online 使用 throttling來管理 MailItemsAccessed 日誌量。如果郵箱在 24 小時內記錄了超過 1,000 個 MailItemsAccessed event,則該郵箱的記錄將在當天剩下的時間就不會紀錄,以保持效能。關於 throttling,需要記住以下幾點:
- Throttling影響不到 1% 的mailboxes
- 它只暫停 MailItemsAccessed 的日誌記錄,而不暫停其他活動的日誌記錄。
- 只限制bind;sync不受影響。
首先識別連結到有權存取敏感資料的使用者的郵箱,並定義偵測到可疑活動的時間區段。使用Search-UnifiedAuditLog 或Search-MailboxAuditLog cmdlet 擷取可疑期間內MailItemsAccessed 的記錄。
Search-UnifiedAuditLog -StartDate "2024-10-01" -EndDate "2024-10-25" -UserIds "user1, user2" -Operations MailItemsAccessed -ResultSize 1000
鑑於資料的高度敏感性,請檢查是否有任何 throttling跡象,這可能表示日誌記錄已暫停且未經授權的存取可能未被記錄
Search-UnifiedAuditLog -StartDate "2024-10-01" -EndDate "2024-10-25" -UserIds "user1, user2" -Operations MailItemsAccessed -ResultSize 1000 | Where {$_.AuditData -like '*"IsThrottled","Value":"True"*'} | FL
分析"sync and bind"的活動。調查資料存取的範圍,重點關注是否下載(sync)包含敏感資訊的整個資料夾或開啟(bind)特定的敏感電子郵件。
#Sync activity check
Search-UnifiedAuditLog -StartDate "2024-10-01" -EndDate "2024-11-22" -UserIds "user1, user2" -Operations MailItemsAccessed -ResultSize 1000 | Where {$_.AuditData -like '*"MailAccessType","Value":"Sync"*'} | FL
#Bind activity check
Search-UnifiedAuditLog -StartDate "2024-10-01" -EndDate "2024-11-22"-UserIds "user1, user2" -Operations MailItemsAccessed -ResultSize 1000 | Where {$_.AuditData -like '*"MailAccessType","Value":"Bind"*'} | FL
比較 IP 位址和session ID,將常規使用者操作與異常或未經授權的存取區分開。這有助於確定如何以及可能為何獲得存取權限的具體情況。
取證恢復與報告:
- 對於存取電子郵件(bind access)的每個instance,請使用其 InternetMessageId 識別受影響的電子郵件。檢查這些電子郵件是否包含敏感資料。
- 清楚記錄所有發現,以確保它們符合組織所需要的合規規則。
處理重複的稽核紀錄
在高度活動環境中,重複的稽核記錄可能會造成日誌分析混亂和複雜化。進階版會過濾掉一小時內發生的相同bind操作的重複記錄,以簡化稽核日誌。以下是處理重複項的方法:
除非偵測到key properties發生明顯變化,否則每隔一小時過濾Sync operations。
只有當某些properties與同一小時內先前記錄的操作不同時,Bind operations才會產生新的稽核記錄。這些屬性包括:
- ClientIPAddress
The IP address from where the mailbox was accessed. - ClientInfoString
Details about the client and protocol used. - ParentFolder
Location within the mailbox. - Logon_type
Distinguishes between owner, admin, or delegate access. - MailAccessType
Specifies if the operation was a bind or sync. - MailboxUPN and User
Identity of the mailbox and the user accessing it. - SessionId
Helps in distinguishing between different sessions of access, providing a clear timeline of actions.
這種過濾透過減少冗餘來確保日誌保持可管理性和有意義,而不會失去徹底調查所需的細緻度。
稽核紀錄的脈絡分析
區分合法使用者活動和潛在的安全漏洞需要了解每次存取的脈絡。進階版可深入分析存取模式和脈絡。例如,透過比較稽核記錄中的session ID 和 IP 位址,我們可以區分典型的使用者行為和潛在的未經授權的存取。這對於識別攻擊者可能與合法使用者同時存取郵箱的安全事件至關重要。
以下是如何使用脈絡資料來追蹤和了解存取模式:
- 識別並比較存取脈絡:在稽核記錄中尋找 ClientInfoString 和 SessionId 等屬性的變化,以識別異常的存取模式。
- 分析詳細屬性:ClientIPAddress 和 InternetMessageId 等屬性提供有關每個存取insatnce的具體詳細資訊,有助於取證分析。
匯出稽核資料
了解如何有效匯出和轉換稽核日誌資料對於全面的資料分析和合規性監控至關重要。以下介紹如何使用 Microsoft Purview Audit 工具和 Excel 的 Power Query editor來處理匯出和轉換過程。
當我們搜尋完畢要將資料匯出時,目前只有支援匯出成CSV檔案。並且每一個搜尋作業可以匯出到CSV檔案最多是5000筆資料。我們也可以用 Power Query editor進行資料轉換。
設定稽核保留政策(進階版才有)
進階版中的稽核日誌保留政策可讓組織根據以下內容設定保留時間:
- 一項或多項 Microsoft 365 服務中的所有活動。
- Microsoft 365 服務中由”所有或特定”使用者執行的特定活動。
- 當存在多個政策時,確定哪個政策的優先等級。
Microsoft Entra ID, Exchange, OneDrive, and SharePoint等這一些稽核紀錄是被保留一年的,而且是我們無法更改的。當我們要設定保留政策時,請考慮以下因素:
- 所需角色:只有在 Microsoft Purview compliance portal中具有Organization Configuration role的使用者才能建立或編輯稽核保留政策。
- 策略限制:每個組織最多可以有 50 個稽核日誌保留政策。
- 授權要求:
為了將稽核日誌保留超過預設的 180 天,使用者必須擁有 Office 365 E5、Microsoft 365 E5 或類似的 E5 附加授權。這使得保留期長達一年。對於 10 年保留,使用者還必須擁有 10 年審核日誌保留附加授權。 - 政策優先等級:自訂政策優先於預設政策。例如,如果自訂政策指定的保留期比某些記錄的預設保留期短,則會用自訂期限。
- 資料保留時間:稽核日誌的保留期限是在首次記錄資料時根據使用者的授權和適用的政策設定的。對政策或授權後續變更只影響新產生的稽核資料,而不影響歷史紀錄。
建立與管理稽核日誌保留政策
- 進入Microsoft Purview portal →選擇Audit solution →如果沒看到,選擇 View all solutions →選擇Audit
- 選擇"reate audit retention policy",有以下欄位需要填寫
a.Policy name — 名稱要是唯一值
b. Description
c. Users — 明訂要稽核哪一個user,空白則表示全部使用者
d. Record type — 選擇政策要套用的稽核記錄類型。如果選擇多個記錄類型,則無法選擇特定活動。
e. Duration — 區間從7天到10年
f. Priority — 數字越少等級越高
如果新政策是在 Microsoft Purview portal中建立的,則它會顯示在「Policies」下的政策清單中。如果您在 Microsoft Purview compliance portal中建立了稽核保留政策,則新政策將顯示在「Audit retention policies」頁籤。
使用PowerShell進行進階管理
用腳本的方式進行管理彈性比GUI還要多,以下簡單介紹幾種。更多的資訊請參考Security & Compliance PowerShell。
建立政策 — 使用"New-UnifiedAuditLogRetentionPolicy"
#儲存所有人teams 10年的紀錄
New-UnifiedAuditLogRetentionPolicy -Name "Jaosn kao Policy" -Description "Ten year retention policy for all Microsoft Teams activities" -RecordTypes MicrosoftTeams -RetentionDuration TenYears -Priority 100
#對政策的優先的優先順序進行排排序
Get-UnifiedAuditLogRetentionPolicy | Sort-Object -Property Priority -Descending | FL Priority,Name,Description,RecordTypes,Operations,UserIds,RetentionDuration
編輯則用"Set-UnifiedAuditLogRetentionPolicy",刪除則是Remove-UnifiedAuditLogRetentionPolicy。刪除該政策需要30分鐘以上才會生效。