当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 您可能不知道的 5 个免费 Exchange 安全工具

作者:精品下载站 日期:2024-12-14 05:58:18 浏览:14 分类:玩电脑

您可能不知道的 5 个免费 Exchange 安全工具


Exchange 电子邮件安全是一个需要防御的巨大战线。现在的攻击面如此之多,以至于很难决定如何开始。 以下是您在考虑 Exchange 基础结构安全设置时可能需要考虑的一些事项。

这绝不是完整的列表。

1. 完全访问和发送权限

Exchange 的一个出色功能是能够授予用户访问其他邮箱的能力。您可以通过两种方式执行此操作,一种是使用“完全访问”权限,这实际上赋予他们与邮箱所有者相同的权利,另一种是授予“发送为”权限,这只是授予他们更改“ from”字段发送给指定用户。

要授予完全访问权限,您可以使用如下所示的 PowerShell 命令:

Get-Mailbox “MailboxToView” | Add-ADPermission -User “PersonWhoNeedsPermission” -ExtendedRights “Full Access”

请注意,在 Exchange 2013 及更高版本中,“域管理员”的任何成员都无法查看其他用户的邮箱。

要查明谁有权访问邮箱,您可以运行以下 PowerShell 命令:

Get-Mailbox | Get-MailboxPermission | Where { $_.AccessRights -eq “FullAccess” -and $_.User.ToString() -ne “NT AUTHORITYSYSTEM” -and $_.User.ToString() -ne “NT AUTHORITYSELF”} | Select Identity, User | fl

这将为您提供一个邮箱列表,其中包含能够访问它们的用户和组。

注意:这可能需要一段时间才能在多个邮箱中运行!

[玩转系统] 您可能不知道的 5 个免费 Exchange 安全工具

2. 运输规则

最常被忽视的 Exchange 安全点之一是不起眼的传输规则。如果您有恶意管理员,他们只需设置传输规则就可能查看每个人的电子邮件。

我知道有一个组织,有人修改了默认签名传输规则,对离开公司的每封电子邮件进行盲目碳复写。只是偶然,当另一位系统管理员被要求修改签名时,他们才注意到这一点。

这种行为很难检测到,但一个简单的 PowerShell 命令就可以揭示这一点:

Get-TransportRule | Where {$_.BlindCopyTo -ne $null} | fl Name, BlindCopyTo

[玩转系统] 您可能不知道的 5 个免费 Exchange 安全工具

其他可能用于恶意目的的操作如下:

Get-TransportRule | Where {$_.ModerateMessageByUser -ne $null} | fl Name, ModerateMessageByUser

此命令将列出在传递消息之前需要批准的所有规则。

Get-TransportRule | Where {$_.DeleteMessage -eq $true} | fl Name

此命令将列出仅删除消息的所有规则。

3. 交换角色

Microsoft 从 Exchange 2010 开始使用基于角色的访问控制模型 (RBAC),并在 Exchange 2013 及更高版本中变得更加突出。本质上,您可以使用“谁、什么、在哪里”的方法分配用户和组执行操作和任务的权限。

我们以ExampleCo 伦敦办事处的一位分公司经理(谁)为例。管理层希望分行经理能够更改其分行(地点)的外出回复(内容)。

Exchange 角色安全性允许我们通过创建自定义角色组来做到这一点:

New-RoleGroup -Name ExampleCo_London -Roles (See Later) -Members BranchMgr1

这将创建一个没有应用范围的角色组 - 没有“位置”,即 BranchMgr1 将能够在支持它的所有 Exchange 对象上使用其权限。

我们可以通过省略 -Members 并提供 -RecipientOrganizationalUnitScope 来将范围限制为单个组织单位:

New-RoleGroup -Name ExampleCo_London -Roles (See Later) -RecipientOrganizationalUnitScope “LondonOU”

为了实现允许 BranchMgr1 更改外出回复的目标,我们可以为它们分配“Help Desk”内置角色:

New-RoleGroup -Name ExampleCo_London -Roles “Help Desk”

您还可以使用一组自定义权限创建自己的角色。

最近我们遇到了一种情况,我们需要找出谁更改了我们的一台 Exchange 服务器上的传输规则;幸运的是,有一个简单的 PowerShell 命令可以查看谁有权更改邮箱或服务器:

Get-ManagementRoleAssignment -Role “Transport Rules” -WritableServer Exchange -GetEffectiveUsers

在我们的环境中运行此命令会生成可以执行此任务的组列表:

[玩转系统] 您可能不知道的 5 个免费 Exchange 安全工具

4. Exchange 边缘服务器

拥有 Exchange Edge 服务器的重要性怎么强调都不为过。这些是高度精简的服务器,仅将端口 25 (SMTP) 暴露给外界。这极大地缩小了他们的攻击面,并将垃圾邮件和防病毒处理卸载到另一台(虚拟)服务器。

边缘服务器不是您的活动目录域的成员,因此只要您不在管理员帐户之间共享密码(您不是,不是吗?),那么攻击者就会设法获得控制权您的边缘服务器实际上没有太多立足点。

例如,来自 Active Directory 的用于早期收件人拒绝的所需信息是通过单向边缘同步进程发送的。

5. 混合配置

最后,我将提请您注意 Office 365 和混合配置。可以将大多数本地配置应用到 Exchange 配置的云或混合部分。

您可以使用以下命令建立与 Exchange Online 服务器的连接:

$creds = Get-Credential
$eonlinesession = New-PSSession – ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $creds -Authentication Basic -AllowRedirection
Import-PsSession $eonlinesession

通过发出类似 get-mailbox 的命令来检查您是否已成功连接,并查看它是否返回您知道不在现场的邮箱。

完成后,不要忘记断开连接;否则,您稍后可能会遇到问题,即您用完用户的所有可用 PowerShell 会话(然后您必须等待它们超时,这很不好玩。)。

Remove-PsSession $eonlinesession

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯