配置 AMSI 与 SharePoint Server 的集成

适用范围:no-img-132013 yes-img-162016 yes-img-192019 yes-img-seSubscription Edition no-img-sopSharePoint in Microsoft 365

简介

网络安全格局已根本改变,大规模、复杂的攻击和 人类作勒索软件 正在上升的信号就证明了这一点。 保持本地基础结构的安全和最新(包括 SharePoint Server)比以往任何时候都更加重要。

为了帮助客户保护其环境并响应来自攻击的相关威胁,我们引入了 SharePoint Server 与 Windows 反恶意软件扫描接口 之间的集成, (AMSI) 。 AMSI 是一种通用标准,允许应用程序和服务与计算机上存在的任何支持 AMSI 的反恶意软件产品集成。

AMSI 集成功能旨在防止恶意 Web 请求访问 SharePoint 终结点。 例如,在安装安全漏洞的官方修补程序之前利用 SharePoint 终结点中的安全漏洞。

从 SharePoint Server 订阅版 (SPSE) 版本 25H1 开始,AMSI 扩展了其扫描功能,以包括 HTTP 请求的正文。 此请求正文扫描功能可用于检测和缓解可能嵌入在请求有效负载中的威胁,从而提供更全面的安全解决方案。

注意

新的请求正文扫描功能仅适用于SharePoint Server 订阅版用户。

AMSI 与 SharePoint Server 的集成

当支持 AMSI 的防病毒或反恶意软件解决方案与 SharePoint Server 集成时,它可以检查 HTTPHTTPS 向服务器发出的请求,并防止 SharePoint Server 处理危险请求。 服务器上安装的任何支持 AMSI 的防病毒或反恶意软件程序在服务器开始处理请求后立即执行扫描。

AMSI 集成的目的不是替换服务器上已安装的现有防病毒/反恶意软件防御;它旨在提供额外的保护层,防止对 SharePoint 终结点发出的恶意 Web 请求。 客户仍应在其服务器上部署与 SharePoint 兼容的防病毒解决方案,以防止其用户上传或下载带有病毒的文件。

先决条件

在启用 AMSI 集成之前,检查每个 SharePoint Server 上的以下先决条件:

  • Windows Server 2016或更高版本
  • SharePoint Server 订阅版版本 22H2 或更高版本
  • SharePoint Server 2019内部版本 16.0.10396.20000 或更高版本 (KB 5002358:2023 年 3 月 14 日针对 SharePoint Server 2019)
  • SharePoint Server 2016 内部版本 16.0.5391.1000 或更高版本 (KB 5002385:2023 年 4 月 11 日 SharePoint Server 2016)
  • Microsoft Defender AV 引擎版本为 1.1.18300.4 或更高版本 (,或者,支持 AMSI 的兼容第三方防病毒/反恶意软件提供程序)

激活/停用适用于 SharePoint Server 的 AMSI

从 SharePoint Server 2016/2019 的 2023 年 9 月安全更新和适用于 SharePoint Server 订阅版 的版本 23H2 功能更新开始,默认情况下,SHAREPoint Server 中的所有 Web 应用程序都会启用 AMSI 与 SharePoint Server 的集成。 此修改旨在增强客户环境的一般安全性,并缓解潜在的安全漏洞。 但是,根据客户要求,客户保留停用 AMSI 集成功能的选项。

若要启动 2023 年 9 月安全更新,客户只需安装更新并运行 SharePoint 产品配置向导。

注意

如果客户跳过安装 2023 年 9 月公共更新,则会在安装后续公共更新(包括 SharePoint Server 2016/2019 的 2023 年 9 月安全更新或适用于 SharePoint Server 订阅版 的版本 23H2 功能更新)时激活此更改。

如果客户不希望在其 SharePoint Server 场中自动启用 AMSI 集成,可以执行以下步骤:

  1. 安装 SharePoint Server 2016/2019 的 2023 年 9 月安全更新或适用于 SharePoint Server 订阅版 的版本 23H2 功能更新。
  2. 运行 SharePoint 产品配置向导。
  3. 按照标准步骤在 Web 应用程序中禁用 AMSI 集成功能。

如果按照以下步骤作,SharePoint 不会在安装将来的公共更新时尝试重新启用该功能。

通过用户界面配置 AMSI

如果使用 SharePoint Server 2016/2019 或早期版本的 SharePoint Server 订阅版 版本 25H1,请按照以下步骤手动停用或激活每个 Web 应用程序的 AMSI 集成:

  1. 打开 SharePoint 管理中心,然后选择“ 应用程序管理”。
  2. “Web 应用程序”下,选择“ 管理 Web 应用程序”。
  3. 选择要为其启用 AMSI 集成的 Web 应用程序,然后在工具栏中选择“ 管理功能 ”。
  4. SharePoint Server 反恶意软件扫描 屏幕上,选择“ 停用 ”以关闭 AMSI 集成,或选择“ 激活 ”以打开 AMSI 集成。

如果安装了 SharePoint Server 订阅版 版本 25H1 功能更新,请按照以下步骤激活或停用并配置 AMSI 集成设置:

  1. 打开 SharePoint 管理中心

  2. 转到 “安全性”部分

  3. 选择“ AMSI 配置”。

  4. 在“AMSI 扫描配置”页上,选择所需的 Web 应用程序。

  5. 接下来,可以通过选择适当的选项来选择启用或禁用 AMSI 扫描功能。

    • 若要启用 AMSI 扫描,请选择“ 启用 AMSI 扫描功能 ”按钮。 这可确保扫描所有 HTTP 请求标头。
    • 若要禁用扫描,请选择“ 完全禁用 AMSI 扫描功能 ”按钮。
  6. 启用后,从以下可用选项中选择“请求正文扫描”模式,根据你的特定要求扫描请求正文:

    • 关闭:禁用人体扫描。 这不会影响现有的标头扫描功能。
    • 平衡模式:扫描发送到系统预定义敏感终结点的请求正文,以及指定包含在正文扫描中的其他终结点。
    • 完全模式:扫描发送到除显式排除的终结点以外的所有终结点的请求正文,以提高性能,同时保持公平的安全保障。
  7. 根据所选模式指定应在正文扫描中包括或排除的终结点,然后单击“ 添加”。

    确保终结点包含整个请求 URI 路径。 例如,包括 /SitePages/Home.aspx,以便它可以扫描 、 和 http://test.contoso.com/sites/marketing/SitePages/Home.aspxhttp://test.contoso.com/SitePages/Home.aspxURL。 若要了解 URI 的语法结构,请参阅 统一资源标识符 - 维基百科

    具有不同模式的 AMSI 扫描配置页的屏幕截图。

  8. 进行必要的更改后,选择“ 确定” 以有效地应用它们。

注意

  • 必须单独为 AMSI 配置每个 Web 应用程序,并且指定的终结点列表仅适用于该 Web 应用程序。
  • 如果为 Web 应用程序禁用 AMSI,则升级后,新的人体扫描功能将保持禁用状态。
  • 如果不启用标头扫描,则无法启用正文扫描。
  • 正文扫描的默认配置是平衡模式。 升级到 SPSE 版本 25H1 后,任何启用了 AMSI 的 Web 应用程序也将在平衡模式下启用人体扫描。

使用 PowerShell 配置 AMSI

或者,可以使用 PowerShell 命令激活/停用 Web 应用程序的 AMSI 集成。

若要停用,请运行以下 PowerShell 命令:

Disable-SPFeature -Identity 4cf046f3-38c7-495f-a7da-a1292d32e8e9 -Url <web application URL>  

若要激活,请运行以下 PowerShell 命令:

Enable-SPFeature -Identity 4cf046f3-38c7-495f-a7da-a1292d32e8e9 -Url <web application URL> 

升级到 SharePoint Server 订阅版 版本 25H1 版本后,还可以使用 PowerShell 配置正文扫描设置。 若要设置正文扫描模式,请运行以下命令:


$webAppUrl = "http://spwfe"

$webApp = Get-SPWebApplication -Identity $webAppUrl

$webApp.AMSIBodyScanMode = 1 # 0 = Off, 1 = Balanced, 2 = Full

$webApp.Update() # To save changes

# Iisreset # restarting the IIS service or recycling the app pool may be required when switching modes

若要使用目标终结点将正文扫描模式设置为平衡模式,请运行以下命令:

# Get current list of targeted endpoints

$webApp.AMSITargetedEndpoints

# Add a targeted endpoint

$webApp.AddAMSITargetedEndpoints('/test/page123', 1)

# Get a certain targeted endpoint

$webApp.GetAMSITargetedEndpoint('/test/page123')

# Remove a targeted endpoint

$webApp.RemoveAMSITargetedEndpoints('/test/page123')

# Update the web app object to save changes

$webApp.Update()

若要使用排除的终结点将正文扫描模式设置为“完全模式”,请运行以下命令:

# Get current list of excluded endpoints

$webApp.AMSIExcludedEndpoints

# Add an excluded endpoint

$webApp.AddAMSIExcludedEndpoints('/test/page123', 1)

# Get a certain excluded endpoint

$webApp.GetAMSIExcludedEndpoint('/test/page123')

# Remove an excluded endpoint

$webApp.RemoveAMSIExcludedEndpoints('test123456')

# Update the web app object to save changes

$webApp.Update()

测试和验证 AMSI 与 SharePoint Server 的集成

可以测试反恶意软件扫描接口 (AMSI) 功能,以验证它是否正常工作。 这涉及到使用Microsoft Defender识别的特殊测试字符串向 SharePoint Server 发送请求,用于测试目的。 此测试字符串并不危险,但Microsoft Defender将其视为恶意字符串,以便确认遇到恶意请求时的行为方式。

如果在 SharePoint Server 中启用了 AMSI 集成,并且使用 Microsoft Defender 作为其恶意软件检测引擎,则存在此测试字符串会导致请求被 AMSI 阻止,而不是由 SharePoint 处理。

测试字符串类似于 EICAR 测试文件 ,但稍有不同,以避免 URL 编码混淆。

可以通过在对 SharePoint Server 的请求中将测试字符串添加为查询字符串或 HTTP 标头来测试 AMSI 集成。

使用查询字符串测试 AMSI 集成

amsiscantest:x5opap4pzx54p7cc7$eicar-standard-antivirus-test-fileh+h*

例如:向 $eicar-standard-防病毒-test-fileh+h* 发送请求https://servername/sites/sitename?amsiscantest:x5opap4pzx54p7cc7

Invoke-WebRequest -Uri "https://servername/sites/sitename?amsiscantest:x5opap4pzx54p7cc7$eicar-standard-antivirus-test-fileh+h*" -Method GET

使用 HTTP 标头测试 AMSI 集成

amsiscantest: x5opap4pzx54p7cc7$eicar-standard-antivirus-test-fileh+h*

例如:发送如下所示的请求。

GET /sites/sitename HTTP/1.1
Host: servername
amsiscantest: x5opap4pzx54p7cc7$eicar-standard-antivirus-test-fileh+h*

Microsoft Defender检测到以下攻击:

Exploit:Script/SharePointEicar.A

注意

如果使用Microsoft Defender以外的恶意软件检测引擎,则应与恶意软件检测引擎供应商检查,以确定测试其与 SharePoint Server 中的 AMSI 功能集成的最佳方式。

其他参考

使用 Microsoft Defender 作为主要 AMSI 解决方案的性能影响

默认情况下,Microsoft Defender防病毒 (MDAV) (一种支持 AMSI 的解决方案)会自动启用并安装在运行Windows 10、Windows Server 2016及更高版本的终结点和设备上。 如果尚未安装防病毒/反恶意软件应用程序,SharePoint Server AMSI 集成适用于 MDAV。 如果安装并启用其他防病毒/反恶意软件应用程序,MDAV 会自动关闭。 如果卸载其他应用程序,MDAV 会自动重新打开,SharePoint Server 集成将与 MDAV 配合使用。

在 SharePoint Server 上使用 MDAV 的好处包括:

  • MDAV 提取与恶意内容匹配的签名。 如果Microsoft了解了可以阻止的攻击,则可以部署新的 MDAV 签名来阻止攻击影响 SharePoint。
  • 使用现有技术添加恶意内容的签名。
  • 利用Microsoft恶意软件研究团队的专业知识来添加签名。
  • 使用 MDAV 已应用于添加其他签名的最佳做法。

可能会对 Web 应用程序产生性能影响,因为 AMSI 扫描使用 CPU 资源。 使用 MDAV 进行测试时,AMSI 扫描不会观察到明显的性能影响,并且不会对现有已记录的 SharePoint Server 防病毒排除项进行更改。 每个防病毒提供程序都开发自己的定义,以利用 AMSI 技术。 因此,保护级别仍取决于更新特定解决方案以检测最新威胁的速度。

通过命令行Microsoft Defender版本

注意

如果使用 Microsoft Defender,可以使用命令行并确保使用最新版本更新签名。

  1. 以管理员身份启动 Command Prompt
  2. 导航到 %ProgramData%\Microsoft\Windows Defender\Platform\<antimalware platform version>
  3. 运行 mpcmdrun.exe -SignatureUpdate

这些步骤确定当前引擎版本、检查更新的定义和报表。

Copyright (C) Microsoft Corporation. All rights reserved.
C:\ProgramData\Microsoft\Windows Defender\Platform\4.18.2105.5-0>MpCmdRun.exe -SignatureUpdate
Signature update started . . .
Service Version: 4.18.2106.6
Engine Version: 1.1.18300.4 
AntiSpyware Signature Version: 1.343.1364.0
AntiVirus Signature Version: 1.343.1364.0
Signature update finished. No updates needed
C:\ProgramData\Microsoft\Windows Defender\Platform\4.18.2105.5-0>