配置上传文件的防病毒扫描
重要:
由于更新了 StorageZones 4.2 中的应用程序代码,一些客户必须将运行该工具的权限级别从本地管理员更新为系统网络服务。未能更新权限将导致防病毒扫描无法启动。
要求/摘要
- 使用 StorageZones Controller 4.2 或更高版本的用户
- SFAntivirus 必须使用 pPSExec作为网络服务运行
- 更新日志文件位置
使用 PSExec 将 SFAntivirus 作为网络服务运行:
要更新到 SZ 4.2 或更高版本且现有计划任务链接到 SFantiVirus 的客户端,需要将运行该工具的用户级别从本地管理员更改为系统网络服务。
要获得网络服务权限,请使用 psexec 在与存储区域控制器相同的用户上下文下启动 PowerShell (x86),并使用以下命令获取网络服务权限:
PsExec.exe -i -u "NT AUTHORITY\NetworkService" C:\\Windows\\SysWOW64\\WindowsPowerShell\\v1.0\\powershell
更新日志文件位置
管理员还必须通过编辑 log4net.config 条目来更改日志文件位置(如果他们登录到默认 SZC 日志目录之外的目录),方法是修改以下行:
\<file value="..\\..\\SC\\logs\\avscantool-" /\>
存储区域控制器安装包括多个支持防病毒扫描的文件。默认情况下,这些文件安装在 C:\inetpub\wwwroot\Citrix\StorageCenter\Tools\SFAntiVirus.
自定义配置文件并使用 Windows 任务计划程序安排扫描(如以下步骤中所述)后,每个文件上传请求都会导致存储区域控制器将文件排队以进行防病毒扫描。如果报告了扫描文件的问题,“文件夹”视图将包含该文件的警告图标。如果用户尝试下载该文件,则会显示一条警告消息。
从 StorageZones Controller 4.0 开始,可以配置防病毒日志文件的位置。要修改日志位置,请在 C:\inetpub\wwwroot\Citrix\StorageCenter\tools\SFAntiVirus 处编辑 SFAntivirus.exe.config 文件。
防病毒扫描不会删除该文件。
StorageZones Controller 4.2 或更高版本支持将 ICAP 协议用于已编码为 ICAP 的 RFC 标准的防病毒扫描平台。有关配置 ICAP AV 的信息可以在本文的下方找到。
注意:
在您的区域中配置防病毒后,将扫描所有新上载的项目。防病毒配置不可追溯。配置它不会扫描区域中已存在的文件和项目。
为您的位置准备配置
-
要在存储区域控制器以外的服务器上运行病毒扫描,请执行以下操作:
-
将文件夹 C:\inetpub\wwwroot\Citrix\StorageCenter\Tools\SFAntiVirus 复制到其他服务器。
-
在存储区域控制器上,打开 C:\inetpub\wwwroot\Citrix\StorageCenter\AppSettingsRelease.config 并将 QueueSDKRestricted 设置为 0:
<add key="QueueSDKRestricted" value="0" />
-
-
在运行病毒扫描的服务器上,使用存储区域控制器配置的值编辑 SFAntiVirus.exe.config:
-
对于 CommandFile:指定防病毒软件的完整路径。该软件必须与 ShareFile 防病毒文件夹位于同一台服务器上。
-
对于 CommandOptions 和返回代码:配置文件中提供的命令行设置就是一个示例。为您的防病毒软件和环境提供适当的设置。
-
对于 ScanFileTimeout:扫描较大的文件可能需要更长时间。根据存储中预期的文件大小调整此设置。否则,这可能会增加大文件未被扫描的风险。
-
-
在命令行窗口中,运行以下命令以设置病毒扫描:
SFAntiVirus.exe -register SFusername SFpassword
使用 ICAP 进行防病毒扫描,而不是使用命令行工具
存储区域控制器 5.3 及更高版本支持将 ICAP 协议用于已编码为 ICAP 的 RFC 标准的防病毒扫描平台。如果需要,客户仍然可以使用 CLI 方法。自存储区域控制器 5.0.1 及更高版本起,租户区域支持此功能。
要在存储区域控制器上启用 ICAP AV 扫描程序,请导航到存储区域控制器配置页面。
选中“启用防病毒集成”复选框,然后在 ICAP RESPMOD URL 字段中输入防病毒服务器的地址。这是 ICAP 响应修改服务的 URL:ICAP://SERVER/RESPMOD
。
单击“测试连通性”以确认您的设置。
创建和计划病毒扫描任务
注意:
只有在使用命令行工具时,才需要为病毒扫描创建计划任务。使用 ICAP 时不需要这样做。
-
启动 Windows 任务计划程序,然后在操作窗格中单击创建任务。
-
在“常规”选项卡上:
-
为任务提供一个有意义的名称。
-
在“安全 选项”下,单击“更改用户或组”,然后指定一个 Windows 用户来运行任务。用户必须具有存储位置的完全访问权限。
-
无论用户是否登录,都选择“运行”。清除“不存储密码”复选框。
-
选择 以最高权限运行。
-
从“配置对象”菜单中,选择将运行任务的服务器的操作系统。
-
-
要创建触发器:在“触发器”选项卡上,单击“新建”。然后,对于“开始任务”,选择“按计划”并指定计划。
-
要创建操作:在“操作”选项卡上,单击“新建”。
-
对于“操作”,选择“启动 程序”并指定程序的完整路径。例如:
C:\\inetpub\\wwwroot\\Citrix\\StorageCenter\\Tools\\SFAntiVirus\\SFAntiVirus.exe
-
对于“起始位置”,指定 SFAntiVirus.exe 的位置:
C:\\inetpub\\wwwroot\\Citrix\\StorageCenter\\Tools\\SFAntiVirus
-
-
在“设置”选项卡上,对于“如果任务已在运行,则以下规则适用”,选择“不启动新实例”。
AV 命令行集成到扫描服务中
必备条件
- 在安装或升级存储区域控制器 5.2 之前,请确保停止或删除现有的命令行 AV(如果它是作为计划任务或 cron 运行的)。
- 在主机上安装 .NET 4.6.2(或更高版本)。
本地存储区域控制器中的扫描服务包括对使用命令行 AV 工具的支持,例如赛门铁克命令行 AV Scan。此外,扫描服务还提供包含 ICAP 支持的防病毒产品的扫描。
要启用此功能,请在 AntiVirus/OnPrem/AVScanService/AVScanService/appSettings.config 中添加以下配置键和值
<add key="use-command-line-av" value="true" />
命令行工具特定配置
存储区域控制器 5.2 的升级或新安装包括一个新的配置文件:
AntiVirus/OnPrem/AVScanService/AVScanService/avCommandLineSettings.json
此文件处理 AV 命令行的必要设置。
配置密钥值将在下面进行解释,并附带示例值。
-
将此点设置为命令行应用程序。
"command-file": "c:\\\\vscan\\\\scan.exe"
-
查看命令行应用程序的文档,了解它支持哪些选项或开关,然后将其添加到此位置。
"command-options": "/ALL /ANALYZE /MIME /NOMEM /NORENAME /SECURE ",
-
包括指示干净扫描的输出值。
"scanner-codes-for-clean-file": "0, 19",
-
包括指示受感染文件的输出值。
"scanner-codes-for-infected-file": "12, 13",
-
包括指示未扫描文件的输出值。
"scanner-codes-for-notscanned-file": "2, 6, 8, 15, 20, 21, 102"
关于强制执行最大文件大小(不包括扩展名)的注意事项
在 5.2 版之前,您无法在命令行 AV 上强制执行扩展名排除或最大文件大小强制执行。您只能在 ICAP 扫描服务上执行此操作。在 5.2 版中,应用于 ICAP 扫描服务的关于排除的扩展名和最大文件大小(以字节为单位)的设置同样适用于 AV 命令行服务。
这些设置被命名为:
<add key="icap-exclude-extensions" value="" />
<add key="icap-max-file-size-bytes" value="0" />
新安装的存储区域控制器 5.2 将这些设置重命名为以下设置。重命名的设置反映了这样一个事实,即它们既适用于基于 ICAP 的 AV,也适用于命令行 AV。
<add key="exclude-extensions" value="" />
<add key="max-file-size-bytes" value="0" />
升级时,不会重命名这些设置。尽管可以手动重命名,但除了 ICAP 之外,同样的设置也适用于 AV 命令行。
<add key="icap-exclude-extensions" value="" />
<add key="icap-max-file-size-bytes" value="0" />