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

自动转发是一个坏行为

允许用户将他们的电子邮件转发到Exchange Online之外是不好的,特别是如果他们没有在邮箱中保留转发的邮件副本。除了将电子邮件从数据治理政策强加的控制中移除之外,这还会造成机密信息外泄的风险,包括在攻击者黑入邮箱并未经邮箱所有者知情地设置转发时。这样做是为了了解黑客用户接收的流量,以准备执行企业电子邮件欺诈攻击

在这两部分系列中,我首先会介绍如何限制OWA用户使用RBAC创建自动转发地址。第二篇文章描述了适用于所有客户端的其他阻断措施,以防止电子邮件泄漏出组织。

广告

谁在进行自动转发?

转发是一个服务器功能,所以一旦用户在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]                               

您可以通过培训用户来抵御攻击,但最好的方法是阻止用户转发电子邮件的能力。我们可以通过创建一个新的用户角色分配策略来实现这一点,该策略不包括用户创建自动转发所需的 cmdlet 参数。

如何设置自动转发地址

在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 的 权限 部分创建并分配用户角色分配策略。如果要排除大量功能,如选择个人保留标记的能力,则用户界面的效果很好。它不允许您更精细地修剪功能,比如允许用户管理他们拥有的分发列表,同时删除创建新列表的能力。必须使用 PowerShell 进行此类更改。

创建新的 RBAC 角色

Exchange Online 的 RBAC 是基于将用户限制在能够运行 cmdlet 直至参数级别的基础上运行的。管理员可以运行所有 cmdlet 和所有参数,因为他们所拥有的角色。普通用户拥有一组更受限制的角色分配,因此他们可以做更少的事情。例如,要在 PowerShell 中设置自动转发地址,您可以使用如下命令运行 Set-Mailbox cmdlet:

Advertisement

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

因此,为防止用户能够创建自动转发地址,我们需要删除运行具有参数 ForwardingSmtppAddressSet-Mailbox cmdlet 的能力。

通过使用现有的 MyBaseOptions 角色作为模板来创建新的管理角色是实施 RBAC 阻止的第一步。这意味着新角色继承了在 MyBaseOptions 中支持的所有选项,包括设置自动转发地址的能力。

New-ManagementRole MyBaseOptions-NoForward -Parent MyBaseOptions

在角色中禁用 Cmdlet 参数

我们不想删除对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/