停止OWA用户自动转发电子邮件

自動轉寄是不好的

允許用戶將他們的電子郵件轉寄到Exchange Online以外的地方是不好的,特別是如果他們沒有在郵箱中保留轉發郵件的副本。除了從數據治理策略所強加的控制中刪除電子郵件外,這還會造成機密信息流出組織的風險,包括當攻擊者入侵郵箱並在郵箱擁有者不知情的情況下設置轉發時。這樣做是為了瞭解被入侵用戶接收的流量,以準備執行商業電子郵件詐騙攻擊

在這兩部分系列中,我首先將看看如何限制使用 RBAC 的 OWA 用戶創建自動轉發地址。第二篇文章描述了適用於所有客戶端的其他阻止措施,以防止郵件從組織中外泄。

廣告

誰在自動轉寄?

轉發是一個服務器功能,因此一旦用戶在 OWA 中設置了轉發地址,進入郵箱的任何郵件都會被轉發。要查看郵件是否正在被轉發,運行以下命令:

Get-Mailbox -RecipientTypeDetails UserMailbox -Filter {ForwardingSmtpAddress -ne $Null} -ResultSize Unlimited | Format-Table DisplayName, ForwardingSmtpAddress, DeliverToMailboxAndForward -AutoSize

DisplayName                   ForwardingSmtpAddress         DeliverToMailboxAndForward
-----------                   ---------------------         --------------------------
Vasil Michev (Technical Guru) smtp:[email protected]                              True
Ståle Hansen                  smtp:[email protected]                      True
Eoin Redmond                  smtp:[email protected]                               

您可以通過向用戶進行培訓來抵抗攻擊,但最好的方法是切斷轉發郵件的能力。我們可以通過創建一個新的用戶角色分配策略來實現這一點,該策略不包括用戶創建自動轉發所需的命令參數。

如何設置自動轉發地址

在 Exchange Online(或本地部署)中,自动转发消息的 OWA 选项位于 OWA 设置的邮件部分(见图 1)。

Image 1 Expand
Figure 1: Forwarding option in OWA Settings (image credit: Tony Redmond)

设置了自动转发地址后,OWA 会在现在称为 OWA 帐户管理器的菜单栏中通知用户(见图 2)。

广告

Image 2 Expand
Figure 2: OWA tells the user that forwarding is on (image credit: Tony Redmond)

基于角色访问控制和 Exchange

新版 OWA拥有增强的界面,而自 Exchange 2010 以来存在的 基于角色的访问控制(RBAC)机制支持着这一闪亮的新外观,就像它支持 Exchange 管理中心(EAC)一样。

RBAC 通过启用对 PowerShell 命令及其参数的访问来工作。如果无法运行命令或传递参数中的值,您就会失去访问功能的权限。应用于邮箱的角色分配策略由一组角色组成,每个角色控制对一个或多个功能的访问。像 OWA 这样的客户端使用 RBAC 来了解某个功能对用户是否可用。如果用户的邮箱由于所分配的策略不包含正确的访问权限而被阻止使用某个功能,则该用户将无法显示该功能。这是一个简单且有效的系统。至少从概念上来说是这样。

您可以通過EAC的權限 部分創建並分配用戶角色分配策略。 如果您想要排除一大塊功能,如選擇個人保留標籤的能力,則UI運作良好。 它不允許您更有針對性地削減功能,例如允許人們管理他們擁有的發行名單,同時刪除創建新名單的功能。 必須使用PowerShell來進行這些更改。

創建新的RBAC角色

Exchange Online的RBAC基於將用戶限制為能夠運行指令碼命令列到參數級。 管理員可以運行所有指令碼命令和所有參數,因為他們擁有的角色。 普通用戶擁有更受限制的角色分配集,因此他們可以做更少事情。 例如,要在PowerShell中設置自動轉發地址,您可以運行類似以下命令的Set-Mailbox 指令碼:

廣告

Set-Mailbox -Identity Kim.Akers -ForwardingSmtpAddress [email protected] -DeliverToMailboxAndForward $True

因此,要防止用戶能夠創建自動轉發地址,我們需要刪除運行帶有Set-Mailbox 指令碼和ForwardingSmtppAddress 參數的能力。

實施RBAC的封鎖的第一步是使用現有的 MyBaseOptions 角色創建一個新的管理角色作為模板。 這意味著新角色繼承自 MyBaseOptions 中支持的所有選項,包括設置自動轉發地址的能力。

New-ManagementRole MyBaseOptions-NoForward -Parent MyBaseOptions

在角色中禁用指令碼參數

我們不想刪除對Set-Mailbox的所有訪問權限,因為這個 cmdlet 用於管理其他設置,比如設置自動回覆通知,但我們想禁用在 OWA 選項中使用的參數的訪問權限。以下是如何從允許的選項中刪除該 cmdlet 中的兩個參數,以及如何建立一個新的管理角色分配策略。

Set-ManagementRoleEntry MyBaseOptions-NoForward\Set-Mailbox -RemoveParameter -Parameters DeliverToMailboxAndForward, ForwardingSmtpAddress

創建一個角色分配策略

我們現在有了一個定制角色,需要將其與用戶通常接收的其他角色結合在一個用戶角色分配策略中,以創建一個新的策略。這個命令創建了一個結合了基本角色和我們定制角色的新用戶角色分配策略。

New-RoleAssignmentPolicy -Name PolicyWithNoEmailForward -Roles MyContactInformation, MyRetentionPolicies, MyMailSubscriptions, MyTextMessaging, MyVoiceMail, MyDistributionGroupMembership, MyDistributionGroups, MyProfileInformation, MyBaseOptions-NoForward -Description "User role assignment policy that restricts the assignees from being able to autoforward email outside the organization"

注意:如果基本角色已更新,這些更改將延續到新策略中。您可以通過在 EAC 中打開策略來檢查分配情況(見圖 3)。

Image 3 Expand
Figure 3: Details of the new user role assignment policy (image credit: Tony Redmond)

另一種方法是通過 EAC 更新默認的用戶角色分配策略,使其看起來像圖 3。不足之處在於這樣的更改將影響到分配了該策略的每個郵箱(通常是組織中的每個郵箱)。您可能不希望這樣做,這就是為什麼新策略可能是最佳選擇。

應用新的用戶角色分配策略

通過運行Set-Mailbox cmdlet,可以將用戶角色分配策略應用到郵箱。這裡我們將策略分配給一個郵箱。

Set-Mailbox -Identity James.Ryan -RoleAssignmentPolicy PolicyWithNoEmailForward

在新策略生效之前需要一段時間。一旦生效,用戶將無法設置轉發地址,因為 OWA 將注意到該策略不包括必要的 cmdlet 參數,並將抑制 UI(見圖 4)。

Image 4 Expand
Figure 4: No forwarding option is available in OWA settings (image credit: Tony Redmond)

PowerShell可以輕鬆地一次性為大量的郵箱分配政策。在這裡,我們找到了有自動轉發地址的郵箱集合並為它們分配新策略。同時,我們刪除現有的自動轉發地址,防止任何其他郵件流向組織外。這是一個重要的步驟,因為分配政策會禁用設置新轉發的能力。這並不會刪除任何現有的轉發地址。

Get-Mailbox -RecipientTypeDetails UserMailbox -Filter {ForwardingSmtpAddress -ne $Null} |
Set-Mailbox -RoleAssignmentPolicy "PolicyWithNoEmailForward" -ForwardingSmtpAddress $Null -DeliverToMailboxAndForward $False

此時,向受影響的郵箱所有者發送一封禮貌的通知,告訴他們個好消息,即郵件將保持在組織內,可能是一個好主意。

最後,要發現擁有我們新政策的郵箱,運行:

Get-mailbox -RecipientTypeDetails UserMailbox | ?{$_.RoleAssignmentPolicy -eq "PolicyWithNoEmailForward"} | Format-Table DisplayName, RoleAssignmentPolicy

DisplayName                   RoleAssignmentPolicy
-----------                   --------------------
Kim Akers                     PolicyWithNoEmailForward
Vasil Michev                  PolicyWithNoEmailForward
Ståle Hansen                  PolicyWithNoEmailForward
Eoin Redmond                  PolicyWithNoEmailForward

如有必要,管理員可以通過運行Set-Mailbox(示例如下),或通過在EAC中更新郵箱重置郵箱的自動轉發。在這些管理上下文中,RBAC不適用。

Set-Mailbox -Identity Kim.Akers -ForwardingSmtpAddress [email protected] -DeliverToMailboxAndForward $True

解決方案的第一部分

阻止OWA用戶創建自動轉發地址是防止郵件在組織外自動轉發的重要第一步。但這只是第一步。其他客戶端和應用程序有其自己的自動轉發方式,因此採取一致的方法解決這個問題是很重要的。

接下來要考慮設置哪些其他障礙來阻止自動轉發。這是本系列的第2節

Source:
https://petri.com/stop-owa-users-autoforwarding-email/