Horizon安全指南,Horizon

文件 28
安全指南 VMwareHorizon2111 Horizon安全指南 您可以从VMware网站下载最新的技术文档:/。
VMware,Inc.3401HillviewAve.PaloAlto,CA94304 威睿信息技术(中国)有限公司北京办公室北京市朝阳区新源南路8号启皓北京东塔8层801 上海办公室上海市淮海中路333号瑞安大厦804-809室 版权所有©2021VMware,Inc.保留所有权利。
版权和商标信息 广州办公室广州市天河路385号太古汇一座3502室 VMware,Inc.
2 目录 VMwareHorizon安全5 1VMwareHorizon帐户、资源和日志文件
6 VMwareHorizon帐户6VMwareHorizon资源7VMwareHorizon日志文件7 2VMwareHorizon安全性设置
9 HorizonConsole中的安全性相关全局设置10更改数据恢复密码11Horizon组件的消息安全模式12 HorizonConsole中的安全相关服务器设置14HorizonLDAP中的安全相关设置15用户身份验证的安全性相关服务器设置15 提供服务器详细信息16提供域信息16 3端口和服务18 VMwareHorizon的TCP和UDP端口18VMwareHorizon中的HTTP重定向21 VMwareHorizonTrueSSO端口22连接服务器主机上的服务23 4证书指纹验证和自动生成证书24 5在连接服务器实例上配置安全协议和密码套件25 安全协议和密码套件的默认全局策略25配置全局接受和建议策略26 HorizonLDAP中定义的全局接受和建议策略26更改全局接受和建议策略27在单个服务器上配置接受策略27在远程桌面上配置建议策略28在VMwareHorizon中禁用的旧协议和密码29 6为Blast安全网关配置安全协议和密码套件31 为Blast安全网关(BSG)配置安全协议和密码套件31 VMware,Inc.
3 Horizon安全指南 7为PCoIP安全网关配置安全协议和密码套件33 为PCoIP安全网关(PSG)配置安全协议和密码套件33 8在安全的VMwareHorizon环境中部署USB设备35 对所有类型的设备禁用USB重定向35对特定设备禁用USB重定向36 9连接服务器上的HTTP保护措施38 工程任务组标准38HTTP严格传输安全性39 万维网联盟标准39跨来源资源共享39内容安全策略44 其他保护措施45减少MIME类型安全风险45减轻跨站点脚本攻击45内容类型检查46客户端行为监控46用户代理白名单49 配置HTTP保护措施49 VMware,Inc.
4 VMwareHorizon安全 《Horizon安全指南》提供了对VMwareHorizon安全功能的简明参考。
n所需的系统和数据库登录帐户。
n安全性相关的配置选项和设置。
n必须受到保护的资源,如安全性相关的配置文件和密码,以及对安全操作的建议访问控制。
n日志文件的位置及其用途。
n为确保VMwareHorizon正常运行而必须打开或启用的外部接口、端口和服务。
目标读者 本书信息面向IT决策制定者、架构师、管理员以及其他必须熟悉VMwareHorizon安全组件的读者。
VMware,Inc.
5 VMwareHorizon帐户、资源和日志文件
1 为特定组件分配多个不同的帐户可避免向个人授予不必要的访问权限和特权。
了解配置文件和其他包含敏感数据的文件的位置有助于为不同的主机系统设置安全保障。
本章讨论了以下主题:nVMwareHorizon帐户nVMwareHorizon资源nVMwareHorizon日志文件 VMwareHorizon帐户 您必须设置系统和数据库帐户才能管理VMwareHorizon组件。
表1-
1.VMwareHorizon系统帐户 Horizon组件HorizonClientvCenterServer 连接服务器 所需帐户 在ActiveDirectory中为有权访问远程桌面和应用程序的用户配置用户帐户。
用户帐户必须是远程桌面用户组的成员,但无需Horizon管理员特权。
在ActiveDirectory中配置一个用户帐户,并使该帐户有权在vCenterServer中执行支持VMwareHorizon所需的必要操作。
有关所需特权的信息,请参阅《Horizon安装指南》文档。
在安装VMwareHorizon时,您可以指定特定的域用户、本地Administrators组或特定的域用户组以作为Horizon管理员。
我们建议您创建专用的Horizon管理员域用户组。
默认设置为当前登录的域用户。
在HorizonConsole中,您可以使用设置>管理员来更改Horizon管理员列表。
有关所需特权的信息,请参阅《Horizon管理指南》文档。
表1-
2.Horizon数据库帐户 Horizon组件 HorizonConnectionServer使用的事件数据库 所需帐户 MicrosoftSQLServer、Oracle或PostgreSQL数据库可存储Horizon事件数据。
您需要为该数据库创建一个管理帐户,HorizonConsole可使用该帐户来访问事件数据。
为减少安全漏洞风险,请采取以下措施:n在与组织使用的数据库服务器分开的单独服务器上配置VMwareHorizon数据库。
VMware,Inc.
6 Horizon安全指南 n不允许一个用户帐户访问多个数据库。
n配置一个单独的帐户来访问事件数据库。
VMwareHorizon资源 VMwareHorizon中包含若干配置文件和类似资源,必须为它们提供保护。
表1-
3.Horizon连接服务器资源 资源LDAP设置 LDAP备份文件 位置不适用。
%ProgramData%\VMWare\VDM\backups 保护 LDAP数据会作为基于角色的访问控制的一部分,自动得到保护。
由访问控制保护。
locked.properties(安全网关配置文件) absg.properties(Blast安全网关配置文件) 日志文件 install_directory\VMware\VMwareView\Server\sslgateway\conf install_directory\VMware\VMwareView\Server\appblastgateway 请参阅VMwareHorizon日志文件 确保该文件不被Horizon管理员以外的任何用户访问。
确保该文件不被Horizon管理员以外的任何用户访问。
由访问控制保护。
web.xml(Tomcat配置文件) install_directory\VMwareView\Server\broker\webapps\ROOT\WebINF 由访问控制保护。
VMwareHorizon日志文件 VMwareHorizon会创建记录其组件安装和运行情况的日志文件。
注VMwareHorizon日志文件专供VMware支持部门使用。
VMware建议您配置并使用事件数据库来监视VMwareHorizon。
有关更多信息,请参阅《Horizon安装指南》和《Horizon管理指南》文档。
表1-
4.VMwareHorizon日志文件 Horizon组件所有组件(安装日志) HorizonAgent 文件路径和其他信息 %TEMP%\vminst.log_date_timestamp%TEMP%\vmmsi.log_date_timestamp :\ProgramData\VMware\VDM\logs要访问:\ProgramData\VMware\VDM\logs中存储的VMwareHorizon日志文件,您必须使用具有高管理员特权的程序打开这些日志。
右键单击应用程序文件,然后选择以管理员身份运行。
如果配置了用户数据磁盘(UserDataDisk,UDD),可能对应于UDD。
PCoIP的日志命名为pcoip_agent*.log和pcoip_server*.log。
VMware,Inc.
7 Horizon安全指南 表1-
4.VMwareHorizon日志文件(续) Horizon组件远程桌面功能 已发布的应用程序连接服务器 Horizon服务 文件路径和其他信息 在Windows代理和客户端、Mac客户端和Linux客户端上,您可以在数据收集工具(DCT)包中为远程桌面功能设置日志级别并生成日志文件。
Windows代理:C:\ProgramFiles\VMware\VMwareView\Agent\DCT\support.batWindows客户端:C:\ProgramFiles(x86)\VMware\VMwareHorizonViewClient\DCT\support.batMac客户端:/Applications/VMwareHorizonClient.app/Contents/Library/dct/HorizonCollector.shLinux客户端:/usr/bin/vmware-view-log-collector 在MicrosoftSQLServer、Oracle数据库服务器或PostgreSQL数据库服务器上配置的Horizon事件数据库。
Windows应用程序事件日志。
默认情况下禁用。
:\ProgramData\VMware\log\ConnectionServer。
注此文件路径是一个符号链接,可重定向到日志文件的实际位置,即:\ProgramData\VMware\VDM\logs。
日志目录可在公共配置ADMX模板文件(mon.admx)的日志配置设置中进行配置。
PCoIP安全网关日志将写入到名为SecurityGateway_*.log的文件,这些文件位于PCoIPSecureGateway子目录中。
Blast安全网关日志将写入到名为absg*.log的文件,这些文件位于BlastSecureGateway子目录中。
在MicrosoftSQLServer、Oracle数据库服务器或PostgreSQL数据库服务器上配置的Horizon事件数据库。
Windows系统事件日志。
VMware,Inc.
8 VMwareHorizon安全性设置
2 VMwareHorizon中包含一些设置,您可以使用这些设置来调整配置的安全性。
您可以根据需要使用HorizonConsole或使用“ADSI编辑”实用程序来访问这些设置。
注有关HorizonClient和HorizonAgent安全设置的信息,请参阅《HorizonClient和Agent安全指南》文档。
本章讨论了以下主题:nHorizonConsole中的安全性相关全局设置nHorizonConsole中的安全相关服务器设置nHorizonLDAP中的安全相关设置n用户身份验证的安全性相关服务器设置 VMware,Inc.
9 Horizon安全指南 HorizonConsole中的安全性相关全局设置 客户端会话和连接的安全性相关全局设置可在HorizonConsole中的设置>全局设置>安全性设置或设置>全局设置>常规设置下访问。
表2-
1.安全性相关的全局设置 设置更改数据恢复密码 消息安全模式 说明 从加密备份还原HorizonLDAP配置时需要提供此密码。
安装连接服务器时,您需要提供一个数据恢复密码。
安装后,可以在HorizonConsole中更改此密码。
备份连接服务器时,HorizonLDAP配置将导出为加密的LDIF数据。
要通过vdmimport实用程序还原加密备份,需要提供数据恢复密码。
密码包含的字符必须介于1到128个之间。
请遵循组织的最佳实践来生成安全密码。
决定在VMwareHorizon组件之间传递JMS消息时使用的安全机制。
n如果设置为禁用,消息安全模式将被禁用。
n如果设置为已启用,将对JMS消息执行旧消息签名和验证。
VMwareHorizon组件会拒绝未 签名的消息。
此模式支持混合使用TLS连接和纯JMS连接。
n如果设置为已增强,将对所有JMS连接使用TLS以加密所有消息。
此外,还会启用访问控 制,以限制VMwareHorizon组件可以向其发送消息以及从中接收消息的JMS主题。
n如果设置为混合,消息安全模式将被启用,但不会强制用于VMwareHorizon组件。
新安装的默认设置为已增强。
如果从先前版本进行升级,则将保留在先前版本中使用的设置。
重要事项VMware强烈建议您在将所有连接服务器实例和VMwareHorizon桌面升级到此版本后,将消息安全模式设置为已增强。
已增强设置提供多项重要的安全性改进功能和MQ(消息队列)更新。
增强安全状态(只读) 网络中断后对安全加密链路连接重新进行身份验证 强制断开用户连接 对于支持应用程序的客户端。
如果用户停止使用键盘和鼠标,则将断开应用程序连接并放弃SSO凭据 将消息安全模式从已启用更改为已增强时显示的只读字段。
由于更改分阶段进行,此字段根据阶段显示进度:n等待MessageBus重新启动是第一阶段。
此状态将一直显示,直到您手动重新启动容器中的 所有连接服务器实例或容器中所有连接服务器主机上的VMwareHorizonMessageBus组件服务。
n等待增强是下一阶段。
重新启动所有HorizonMessageBus组件服务后,系统开始将所有桌面的消息安全模式更改为已增强。
n已增强是最终状态,表明所有组件现在正使用已增强消息安全模式。
在HorizonClient通过安全加密链路连接到VMwareHorizon桌面和应用程序的情况下,确定在网络中断后是否必须重新对用户凭据进行身份验证。
此设置可提高安全性。
例如,如果笔记本电脑被盗并转移到了其他网络,用户将无法自动获取VMwareHorizon桌面和应用程序的访问权限,原因是网络连接已临时中断。
默认情况下禁用该设置。
自用户登录到VMwareHorizon时起达到指定分钟数后,断开所有桌面和应用程序连接。
无论桌面和应用程序是被用户何时打开的,都将同时断开连接。
默认值是600分钟。
在客户端设备上无键盘或鼠标活动时保护应用程序会话。
如果设置为…分钟之后,VMwareHorizon将在无用户活动达到指定的分钟数后断开所有应用程序连接并放弃SSO凭据。
桌面会话将断开连接。
用户必须重新登录以重新连接被断开的应用程序或者启动新的桌面或应用程序。
如果设置为从不,VMwareHorizon将绝不会因用户不活动而断开应用程序连接或放弃SSO凭据。
默认值为从不。
VMware,Inc. 10 Horizon安全指南 表2-
1.安全性相关的全局设置(续) 设置其他客户端。
放弃SSO凭据 ViewAdministrator会话超时 说明 在特定时间段后放弃SSO凭据。
此设置适用于不支持应用程序远程的客户端。
如果设置为…分钟之后,那么自用户登录到VMwareHorizon时起达到指定分钟数后,用户必须重新登录以连接到桌面,而不管客户端设备上的用户活动情况如何。
默认值为15分钟之后。
确定HorizonConsole会话持续闲置多久后超时。
重要事项HorizonConsole会话超时值(以分钟为单位)设置较高会增加未授权使用HorizonConsole的风险。
允许闲置会话持续较长时间时应慎重考虑。
默认情况下,HorizonConsole会话超时为30分钟。
会话超时值的设置范围为1到4320分钟之间。
注到VMwareHorizon的所有HorizonClient连接和HorizonConsole连接都需要使用TLS。
如果您的VMwareHorizon部署使用负载均衡器或其他面向客户端的中间服务器,可以将TLS负载分流到这些负载均衡器或中间服务器,然后在单个连接服务器实例上配置非TLS连接。
请参阅《Horizon管理指南》文档中的“将TLS连接负载分流到中间服务器”。
更改数据恢复密码 安装连接服务器时,您需要提供一个数据恢复密码。
安装后,可以在HorizonConsole中更改此密码。
从备份还原HorizonLDAP配置时需要提供此密码。
备份连接服务器时,HorizonLDAP配置将导出为加密的LDIF数据。
要恢复加密的备份VMwareHorizon配置,必须提供数据恢复密码。
密码包含的字符必须介于1到128个之间。
请遵循组织的最佳实践来生成安全密码。
步骤1在HorizonConsole中,选择设置>全局设置。
2在安全性设置选项卡上,单击更改数据恢复密码。
3键入并再次键入新的密码。
4(可选)键入密码提醒。
结果 注也可以在安排要备份的VMwareHorizon配置数据时更改数据恢复密码。
请参阅《Horizon管理指南》文档中的“计划Horizon配置备份”。
后续步骤使用vdmimport实用程序还原备份VMwareHorizon配置时,请提供新密码。
VMware,Inc. 11 Horizon安全指南 Horizon组件的消息安全模式 您可以设置消息安全模式以指定在VMwareHorizon组件之间传输JMS消息时使用的安全机制。
下表显示了可以在配置消息安全模式时选择的选项。
要设置某个选项,请从全局设置页面的安全性设置选项卡上的消息安全模式列表中选择该选项。
表2-
2.消息安全模式选项 选项已禁用 说明禁用消息安全模式。
混合已启用已增强 启用消息安全模式,但并非强制使用。
您可以使用此模式检测VMwareHorizon环境中的旧组件。
连接服务器生成的日志文件包含这些组件的相关参考内容。
不建议使用此设置。
仅使用此设置发现需要升级的组件。
已使用消息签名和加密组合启用了消息安全模式。
如果签名丢失或无效或者消息在签名后被修改,将拒绝JMS消息。
某些JMS消息进行了加密,因为其中包含用户凭据等敏感信息。
如果使用已启用设置,则还可以使用IPSec对连接服务器实例之间以及连接服务器实例与UnifiedessGateway设备之间的所有JMS消息进行加密。
SSL用于所有JMS连接。
还启用了JMS访问控制,以便桌面和连接服务器实例可以仅发送和接收有关特定主题的JMS消息。
首次在系统中安装VMwareHorizon时,消息安全模式设置为已增强。
如果从先前版本升级VMwareHorizon,消息安全模式将保持现有设置不变。
重要事项如果您计划将已升级的VMwareHorizon环境从已启用更改为已增强,则必须先升级所有连接服务器实例和VMwareHorizon桌面。
将设置更改为已增强后,新设置将分阶段进行。
1必须手动重新启动容器中所有连接服务器主机上的VMwareHorizonMessageBus组件服务,或重新启动连接服务器实例。
2重新启动这些服务后,连接服务器实例会在所有桌面上重新配置消息安全模式,从而将此模式更改为已增强。
3要在HorizonConsole中监控进度,请转到设置>全局设置。
当所有组件都已转换为“已增强”模式后,安全性设置选项卡上的增强安全状态项将显示已增强。
此外,您还可以使用vdmutil命令行实用程序监控进度。
请参阅使用vdmutil实用程序配置JMS消息安全模式。
如果您计划将活动VMwareHorizon环境从已禁用更改为已启用或从已启用更改为已禁用,请在做出最终更改前将其短时间更改为混合模式。
例如,如果您当前的模式为已禁用,请先更改为混合模式并保持一天,然后再更改为已启用。
在混合模式下,签名将被附加到消息中,但未验证,这允许消息模式的更改传播到整个环境中。
VMware,Inc. 12 Horizon安全指南 使用vdmutil实用程序配置JMS消息安全模式 您可以使用vdmutil命令行界面配置和管理JMS消息在VMwareHorizon组件之间传递时所使用的安全机制。
实用程序的语法和位置 vdmutil命令可以执行与早期版本的VMwareHorizon随附的lmvutil命令相同的操作。
此外,vdmutil命令还拥有可确定正在使用的消息安全模式和监控将所有VMwareHorizon组件更改为已增强模式的过程的选项。
在Windows命令提示符下,使用以下vdmutil命令格式。
mand_option[additional_optionargument]... 您可以使用的附加选项取决于命令选项。
本主题重点介绍消息安全模式的选项。
有关与CloudPod架构相关的其他选项,请参阅《在Horizon中管理CloudPod架构》文档。
默认情况下,vdmutil命令可执行文件的路径为C:\ProgramFiles\VMware\VMwareView\Server\tools\bin。
为避免在命令行中输入此路径,可以将此路径添加到PATH环境变量中。
身份验证必须以具有管理员角色的用户身份运行该命令。
您可以使用HorizonConsole为用户分配管理员角色。
请参阅《Horizon管理指南》文档中的“配置基于角色的委派管理”。
vdmutil命令包括用于指定进行身份验证时使用的用户名、域和密码的选项。
表2-3.vdmutil命令身份验证选项 选项--authAs --authDomain 说明 Horizon管理员用户的名称。
请勿使用域\用户名或用户主体名称(UserPrincipalName,UPN)格式。
--authAs选项中指定的Horizon管理员用户的完全限定域名。
--authPassword --authAs选项中指定的Horizon管理员用户的密码。
在命令行中输入"*"来代替密码会导致vdmutil命令提示输入密码,并且不会在命令历史记录中保留敏感密码。
必须将身份验证选项与除了--help--verbose之外的所有vdmutil命令选项结合使用。
特定于JMS消息安全模式的选项下表仅列出了与查看、设置或监控JMS消息安全模式有关的vdmutil命令行选项。
有关可与特定选项结合使用的参数列表,请使用--help命令行选项。
操作成功时,vdmutil命令将返回0;操作失败时,将返回故障特定的非零代码。
vdmutil命令会将错误消息写入标准错误。
当某个操作生成输出时,或通过使用--verbose选项启用了详细日志记录时,vdmutil命令会使用美国英语将输出写入标准输出。
VMware,Inc. 13 Horizon安全指南 表2-4.vdmutil命令选项 选项 说明 --activatePendingConnectionServerCertificates在本地容器中为连接服务器实例激活等待处理的安全证书。
--countPendingMsgSecStatus 计算阻止转换到已增强模式或从已增强模式转换的计算机数量。
--createPendingConnectionServerCertificates
在本地容器中为连接服务器实例创建新的等待处理的安全证书。
--getMsgSecLevel--getMsgSecMode 获取本地容器的增强消息安全状态。
此状态与将VMwareHorizon环境中所有组件的JMS消息安全模式从已启用更改为已增强的过程有关。
获取本地容器的消息安全模式。
--help--listMsgBusSecStatus 列出vdmutil命令选项。
您也可以在某个特定命令上使用--help,例如--setMsgSecMode--help。
列出本地容器中所有连接服务器的消息总线安全状态。
--listPendingMsgSecStatus--setMsgSecMode 列出阻止转换到已增强模式或从已增强模式转换的计算机。
默认情况下,仅限于25个条目。
设置本地容器的消息安全模式。
--verbose 启用详细的日志记录。
您可以将此选项添加到任何其他选项,以获取详细的命令输出。
vdmutil命令可写入标准输出。
HorizonConsole中的安全相关服务器设置 安全相关服务器设置可在HorizonConsole中的设置>服务器下访问。
表2-
5.安全性相关服务器设置 设置使用PCoIP安全网关与计算机建立PCoIP连接 使用安全加密链路连接计算机 使用Blast安全网关对计算机进行Blast连接 说明 确定当用户使用PCoIP显示协议连接到VMwareHorizon桌面和应用程序时,HorizonClient是否会与连接服务器主机建立另一条安全连接。
如果禁用此设置,将绕开连接服务器主机,直接在客户端和VMwareHorizon桌面或远程桌面服务(RemoteServices,RDS)主机之间建立桌面或应用程序会话。
默认情况下禁用该设置。
确定当用户连接到VMwareHorizon桌面或应用程序时,HorizonClient是否会与连接服务器主机建立另一条HTTPS连接。
如果禁用此设置,将绕开连接服务器主机,直接在客户端和VMwareHorizon桌面或远程桌面服务(RDS)主机之间建立桌面或应用程序会话。
默认情况下启用该设置。
确定使用Web浏览器或BlastExtreme显示协议访问桌面的客户端是否使用Blast安全网关建立到连接服务器的安全加密链路。
如果不启用此设置,使用BlastExtreme会话和Web浏览器的客户端将绕过连接服务器,而直接与VMwareHorizon桌面建立连接。
默认情况下禁用该设置。
有关这些设置及其安全性影响的更多信息,请参阅《Horizon管理指南》文档。
VMware,Inc. 14 Horizon安全指南 HorizonLDAP中的安全相关设置 HorizonLDAP中的对象路径mon,ou=global,ou=properties,dc=vdi,dc=vmware,dc=int下提供了安全性相关设置。
您可以使用“ADSI编辑”实用程序,在连接服务器实例中更改这些设置的值。
所做更改将自动传播到组中的所有其他连接服务器实例。
表2-
6.HorizonLDAP中的安全相关设置 名称-值对csallowunencryptedstartsession keysize 描述 该属性是pae-NameValuePair。
此属性可以控制当启动某个远程用户会话时,连接服务器实例与桌面间是否需要使用安全加密链路。
如果桌面计算机上安装了HorizonAgent,则始终需要使用安全加密链路,即,此属性不起作用。
无论在何种情况下,用户凭据和授权票证都受静态密钥保护。
安全加密链路使用动态密钥,可进一步保证机密信息的安全性。
如果设置为
0,那么在无法建立安全加密链路的情况下是不能启动远程用户会话的。
当所有桌面都在受信任的域中或者所有桌面都安装了HorizonAgent时,此设置适用。
如果设置为
1,即使不能建立安全加密链路,也能启动远程用户会话。
当某些桌面安装了较低版本的HorizonAgent且不在受信任的域中时,此设置适用。
默认设置为
1。
该属性是pae-MSGSecOptions。
消息安全模式设置为已增强后,将使用TLS来确保JMS连接的安全,而不是使用每消息加密。
在增强消息安全模式下,验证仅适用于一种消息类型。
对于增强消息模式,VMware建议将密钥大小增加到2048位。
如果未使用增强消息安全模式,VMware建议不要更改默认值(512位),因为增加密钥大小将会影响性能和可扩展性。
如果您希望所有的密钥均为2048位,就必须在安装第一个连接服务器实例后,趁尚未创建更多的服务器和桌面时立即更改DSA密钥的长度。
自动续订自签名证书 可以使用pae-managedCertificateAdvanceRollOver属性自动续订自签名证书。
指定一个值,以便在当前证书过期之前的指定天数内将自签名证书替换为未来证书或等待处理的证书。
默认情况下,此值未设置。
有效范围是1-90。
用户身份验证的安全性相关服务器设置 用户身份验证的安全性相关服务器设置可在HorizonConsole中的设置>全局设置>全局设置或设置>服务器下访问。
这些安全性设置确定HorizonClient如何登录到连接服务器。
n要允许连接服务器实例接受用户在HorizonClient的选项菜单中选择以当前用户身份登录时传递的用 户身份和凭据信息,请为连接服务器实例启用接受以当前用户身份登录设置。
此设置可用于适用于Windows的HorizonClient。
有关更多信息,请参阅《Horizon管理指南》文档。
n要在HorizonClient中隐藏服务器URL,请启用在客户端用户界面中隐藏服务器信息全局设置。
有关更多信息,请参阅《Horizon管理指南》文档中的“客户端会话的全局设置”。
VMware,Inc. 15 Horizon安全指南 n要在HorizonClient中隐藏域下拉菜单,请启用在客户端用户界面中隐藏域列表全局设置。
有关更多信息,请参阅《Horizon管理指南》文档中的“客户端会话的全局设置”。
n要将域列表发送至HorizonClient,请在HorizonConsole中启用发送域列表全局设置。
有关更多信息,请参阅《Horizon管理指南》文档中的“客户端会话的全局设置”。
注并非所有设置都适用于所有HorizonClient。
要查看特定HorizonClient的用户身份验证设置,请参阅HorizonClient文档,网址为。
提供服务器详细信息 要使“以当前用户身份登录”功能正常工作,VMwareHorizon必须在用户身份验证之前为连接客户端提供连接服务器的服务器主体名称(Windows身份)。
默认情况下,将禁止提供该信息,但可以通过在HorizonConsole中启用接受以当前用户身份登录设置来提供该信息。
该选项是为每个服务器单独提供的。
如果没有为给定服务器启用,则从适用于Windows的HorizonClient中登录到该服务器的用户需要输入凭据,即使他们已启用以当前用户身份登录设置。
在决定是否为服务器启用接受以当前用户身份登录设置时,请考虑连接客户端是位于内部网络(因而在某种程度上受您的控制)还是外部网络(因而不受控制)上。
在客户端用户界面中隐藏服务器信息设置仅影响客户端的用户界面,而不会更改服务器向客户端提供的信息。
默认情况下禁用该设置。
提供域信息 可以在用户身份验证之前向连接客户端提供可用的用户域列表,如果提供,则可以在下拉菜单中向用户显示该列表。
默认情况下,将禁止提供该信息,但可以通过在HorizonConsole中启用发送域列表全局设置来提供该信息。
如果客户端通过配置为执行双因素预身份验证的UnifiedessGateway设备连接到环境,则可以安全地向客户端提供域列表。
在预身份验证成功完成之前,不会向客户端发送域列表。
有关为UnifiedessGateway设备配置双因素身份验证的更多信息,请参阅UnifiedessGateway文档,网址为/ess-Gateway/index.html。
在客户端用户界面中隐藏域列表设置仅影响客户端的用户界面,而不会更改服务器向客户端提供的信息。
默认情况下禁用该设置。
如果禁用了发送域列表并启用了在客户端用户界面中隐藏域列表,在用户登录到服务器时,HorizonClient中的域下拉菜单将显示*DefaultDomain*,并且用户可能需要在用户名文本框中输入一个域,例如,username@domain。
如果用户未手动输入域,并且配置了多个域,他们可能无法登录到服务器。
下表显示了发送域列表和在客户端用户界面中隐藏域列表全局设置如何确定用户登录服务器的方式。
VMware,
Inc. 16 Horizon安全指南 “发送域列表”设置已禁用(默认)已禁用(默认) 已启用已启用 “在客户端用户界面中隐藏域列表”设置已启用 已禁用 已启用 已禁用 用户登录方式 域下拉菜单处于隐藏状态。
用户必须在用户名文本框中输入以下值之
一。
n用户名(不允许为多个域使用同一个用户名)ndomain\usernamenusername@ 如果在客户端上配置了默认域,则在域下拉菜单中显示默认域。
如果客户端无法识别默认域,则在域下拉菜单中显示*DefaultDomain*。
用户必须在用户名文本框中输入以下值之
一。
n用户名(不允许为多个域使用同一个用户名)ndomain\usernamenusername@ 域下拉菜单处于隐藏状态。
用户必须在用户名文本框中输入以下值之
一。
n用户名(不允许为多个域使用同一个用户名)ndomain\usernamenusername@ 用户可以在用户名文本框中输入一个用户名,然后从域下拉菜单中选择一个域。
或者,用户可以在用户名文本框中输入以下值之
一。
ndomain\usernamenusername@ VMware,Inc. 17 端口和服务
3 某些UDP和TCP端口必须打开,以便VMwareHorizon组件可以相互通信。
了解每种类型VMwareHorizonServer上运行哪些Windows服务有助于识别不属于相应服务器的服务。
本章讨论了以下主题:nVMwareHorizon的TCP和UDP端口nVMwareHorizonTrueSSO端口n连接服务器主机上的服务 VMwareHorizon的TCP和UDP端口 VMwareHorizon使用TCP和UDP端口进行组件之间的网络访问。
在安装过程中,VMwareHorizon可以选择性地配置Windows防火墙规则以打开默认使用的端口。
要在安装后更改默认端口,必须手动重新配置Windows防火墙规则以允许通过更新后的端口进行访问。
请参阅《Horizon安装指南》文档中的“替换VMwareHorizon服务的默认端口”。
有关VMwareHorizon用于进行与TrueSSO解决方案有关的证书登录的端口列表,请参阅VMwareHorizonTrueSSO端口。
表3-
1.VMwareHorizon使用的TCP和UDP端口 源 连接服务器或UnifiedessGateway设备 连接服务器或UnifiedessGateway设备 端口55000 4172 目标HorizonAgent HorizonClient 端口4172 协议UDP * UDP 说明PCoIP(非SALSA20)(如果使用PCoIP安全网关)。
PCoIP(非SALSA20)(如果使用PCoIP安全网关)。
注由于目标端口有所不同,请参阅此表格下面的注释。
连接服务器或 * Unifiedess Gateway设备 连接服务器或 * Unifiedess Gateway设备 HorizonAgentHorizonAgent 3389TCP9427TCP 指向VMwareHorizon桌面的MicrosoftRDP流量(使用安全加密链路连接时)。
Windows多媒体重定向、客户端驱动器重定向、MicrosoftTeams优化、HTML5多媒体重定向、VMware打印机重定向和USB重定向(使用安全加密链路连接时)。
VMware,Inc. 18 Horizon安全指南 表3-
1.VMwareHorizon使用的TCP和UDP端口(续) 源 连接服务器或UnifiedessGateway设备 连接服务器或UnifiedessGateway设备 连接服务器或UnifiedessGateway设备 连接服务器或UnifiedessGateway设备 HorizonAgent 端口****4172 目标HorizonAgentHorizonAgentHorizonAgentHorizonAgentHorizonClient 端口协议32111TCP 4172TCP 2244TCP3 2244TCP3 * UDP HorizonAgent4172HorizonAgent4172 连接服务器或UnifiedessGateway设备 UnifiedessGateway设备 55000 UDP * UDP HorizonAgent*(未受管)HorizonClient* HorizonClient*HorizonClient*HorizonClient*HorizonClient* 连接服务器实例 389TCP 连接服务器或Unified80 TCP essGateway设 备 连接服务器或UnifiedessGateway设备 连接服务器或UnifiedessGateway设备 HorizonAgent 443TCP 4172 TCP和UDP 3389TCP HorizonAgent 9427TCP 说明USB重定向和时区同步(使用安全加密链路连接时)。
PCoIP(如果使用PCoIP安全网关)。
VMwareBlastExtreme(如果使用Blast安全网关)。
HTMLess(如果使用Blast安全网关)。
PCoIP(如果未使用PCoIP安全网关)。
注由于目标端口有所不同,请参阅此表格下面的注释。
PCoIP(非SALSA20)(如果使用PCoIP安全网关)。
PCoIP。
VMwareHorizon桌面和应用程序将PCoIP数据从UDP端口4172发回到UnifiedessGateway设备。
UDP目标端口将作为已接收UDP数据包的源端口,由于是回复数据,通常不需要为此添加明确的防火墙规则。
在安装未受管代理过程中进行ADLDS访问。
注有关此端口的其他用途,请参阅此表下面的注释。
默认情况下启用TLS(HTTPS访问)进行客户端连接,但是在特定情况下可以使用端口80(HTTP访问)。
请参阅VMwareHorizon中的HTTP重定向。
用于登录VMwareHorizon的HTTPS。
(在使用安全加密链路连接时此端口还用于转发)。
PCoIP(如果使用PCoIP安全网关)。
指向VMwareHorizon桌面的MicrosoftRDP流量(如果使用直接连接而不是安全加密链路连接)。
Windows多媒体重定向、客户端驱动器重定向、MicrosoftTeams优化、HTML5多媒体重定向、VMware打印机重定向和USB重定向(使用直接连接而不是安全加密链路连接时)。
VMware,Inc. 19 Horizon安全指南 表3-
1.VMwareHorizon使用的TCP和UDP端口(续) 源 端口 HorizonClient* HorizonClient* 目标HorizonAgent HorizonAgent 端口32111 4172 协议TCP TCP和UDP 说明 USB重定向和时区同步(如果使用直接连接而不是安全加密链路连接)。
PCoIP(如果未使用PCoIP安全网关)。
注由于源端口有所不同,请参阅此表格下面的注释。
HorizonClient*HorizonClient* HorizonAgent 连接服务器或UnifiedessGateway设备 22443 4172 TCP和UDP TCP和UDP VMwareBlast PCoIP(非SALSA20)(如果使用PCoIP安全网关)。
注由于源端口有所不同,请参阅此表格下面的注释。
Web浏览器 * 连接服务器 * 连接服务器 * 连接服务器 * 连接服务器 * UnifiedessGateway设备连接服务器 vCenterServer vCenterServer 连接服务器 8443TCP 4808TCP0 80 TCP 443TCP 4100TCP HTMLess。
用于连接服务器组件之间的内部通信。
SOAP消息(如果对vCenterServer访问禁用TLS)。
SOAP消息(如果对vCenterServer访问启用TLS)。
JMS路由器之间的流量。
连接服务器 * 连接服务器 4101TCP JMSTLS路由器之间的流量。
连接服务器 * 连接服务器 8472TCP 用于CloudPod架构中的容器间通信。
连接服务器 * 连接服务器 * 连接服务器 * 连接服务器连接服务器连接服务器 2238TCP9 2263TCP6 32111TCP 用于在CloudPod架构中进行全局LDAP复制。
用于在CloudPod架构中进行安全的全局LDAP复制。
密钥共享流量。
连接服务器 * Unifiedess*Gateway设备 HorizonHelp * DeskTool 证书颁发机构连接服务器或负载均衡器 HorizonAgent *443 3389 HTTP、HTTPSTCP TCP CRL或OCSP查询 HTTPS访问。
UnifiedessGateway设备通过TCP端口443进行连接,以便与一个连接服务器实例或多个连接服务器实例前面的负载均衡器进行通信。
传输到Horizon桌面的MicrosoftRDP流量,用于远程协助。
VMware,Inc. 20 Horizon安全指南 注客户端用于PCoIP的UDP端口号可能会发生更改。
如果正在使用端口50002,客户端将选择50003。
如果正在使用端口50003,客户端将选择50004,依此类推。
您必须使用ANY配置防火墙(表中列出星号(*)的情况)。
注MicrosoftWindowsServer要求在VMwareHorizon环境中的所有连接服务器之间打开一系列动态端口。
MicrosoftWindows需要使用这些端口来执行常规的远程过程调用(RPC)和ActiveDirectory复制操作。
有关动态端口范围的更多信息,请参阅MicrosoftWindowsServer文档。
注在连接服务器实例上,可通过访问端口389来建立不常见的临时连接。
在安装此表中所示的未受管代理时、在使用LDAP编辑器直接编辑数据库时,以及在使用repadmin等工具颁发命令时,可以访问此端口。
安装ADLDS时,将出于这些目的创建防火墙规则,但是如果不需要访问此端口,可以将其禁用。
注默认情况下,VMwareBlastExtreme自适应传输会从临时端口范围49152-65535开始,预留一些端口。
请参阅知识库文章52558。
VMwareHorizon中的HTTP重定向 通过HTTP进行的连接尝试会以静默方式重定向到HTTPS,但指向HorizonConsole的连接尝试除外。
较高版本的HorizonClient无需进行HTTP重定向,因为它们默认使用HTTPS,但是当用户使用Web浏览器连接(例如下载HorizonClient)时,HTTP重定向是很有用的。
HTTP重定向的问题在于它是一个非安全协议。
如果用户没有在地址栏中输入https://的习惯,则攻击者将会攻击Web浏览器、安装恶意软件或盗取凭据,甚至在正确显示预期页面的时候也会如此。
注仅当您将外部防火墙配置为允许TCP端口80的入站流量时,才会出现外部连接的HTTP重定向。
通过HTTP向HorizonConsole进行的连接尝试不会进行重定向。
相反,将返回一条错误消息,指示必须使用HTTPS。
要避免所有HTTP连接尝试的重定向,请参阅《Horizon安装指南》文档中的“防止客户端连接到连接服务器的HTTP重定向”。
如果将TLS客户端连接负载分流到中间设备,则还可以与连接服务器实例的端口80建立连接。
请参阅《Horizon管理指南》文档中的“将TLS连接负载分流到中间服务器”。
要允许更改TLS端口号后进行HTTP重定向,请参阅《Horizon安装指南》文档中的“更改端口号以允许到连接服务器的HTTP重定向”。
VMware,Inc. 21 Horizon安全指南 VMwareHorizonTrueSSO端口 VMwareHorizon使用TrueSSO端口作为通信路径(端口和协议)和安全控制,在HorizonConnectionServer和虚拟桌面或已发布的应用程序之间传递证书,以进行与TrueSSO解决方案有关的证书登录。
表3-
2.VMwareHorizon使用的TrueSSO端口 源HorizonClient HorizonClient HorizonConnectionServerHorizonConnectionServer注册服务器 目标VMwareIdentityManager设备HorizonConnectionServerVMwareIdentityManager设备 Horizon注册服务器 ADCS HorizonAgent 虚拟桌面或已发布的应用程序 HorizonConnectionServer ADDC HorizonClientHorizonClient HorizonAgent(协议会话) HorizonAgent(协议会话) 端口TCP443 协议HTTPS TCP443HTTPS 说明 从生成SAML断言和项目的VMwareIdentityManager设备启动VMwareHorizon。
启动HorizonClient。
TCP443HTTPS 连接服务器对VMwareIdentityManager执行SAML解析。
VMwareIdentityManager验证项目并返回断言。
TCP32111 使用此注册服务器。
TCP4002 JMSoverTLS 注册服务器从Microsoft证书颁发机构(CertificateAuthority,CA)请求证书,以生成一个临时的短期证书。
注册服务使用TCP135RPC与该CA进行初步通信,然后使用从1024-5000和49152-65535之间随机选择的一个端口。
请参阅/en-us/help/832017#method4中的“证书服务”。
注册服务器还会与域控制器进行通信,使用所有相关端口来发现DC,然后绑定到ActiveDirectory并进行查询。
请参阅/en-us/help/832017#method1和/enus/help/832017#method12。
HorizonAgent请求并接收用于登录的证书。
TCP/UDP22443 UDP4172 BlastPCoIP Windows通过ActiveDirectory验证此证书的真实性。
因为可能需要大量端口,因此,请参阅相关Microsoft文档以了解端口和协议列表。
登录到Windows桌面或应用程序,此时将在HorizonClient上启动一个远程会话。
登录到Windows桌面或应用程序,此时将在HorizonClient上启动一个远程会话。
VMware,Inc. 22 Horizon安全指南 连接服务器主机上的服务 VMwareHorizon的运行依赖于连接服务器主机上运行的若干服务。
表3-
3.Horizon连接服务器主机服务 服务名称 VMwareHorizonBlast安全网关 VMwareHorizon连接服务器 启动类型自动 自动 VMwareHorizonFramework组件 VMwareHorizonMessageBus组件 VMwareHorizonPCoIP安全网关 VMwareHorizon脚本主机 VMwareHorizonSecurityGateway组件 VMwareHorizonWeb组件 VMwareVDMDS 手动手动手动已禁用手动 手动自动 描述提供安全HTMLess和BlastExtreme服务。
如果客户端通过Blast安全网关连接到连接服务器,则必须运行此服务。
提供连接代理服务。
必须始终运行此服务。
如果启动或停止此服务,会同时启动或停止Framework、MessageBus、SecurityGateway和Web服务。
此服务不会启动或停止VMwareVDMDS服务或VMwareHorizon脚本主机服务。
提供事件日志、安全和COM+框架服务。
必须始终运行此服务。
在VMwareHorizon组件之间提供消息传递服务。
必须始终运行此服务。
提供PCoIP安全网关服务。
如果客户端通过PCoIP安全网关连接到连接服务器,则必须运行此服务。
对您删除虚拟机时运行的第三方脚本提供支持。
默认情况下,此服务已被禁用。
如果您需要运行脚本,应启用此服务。
提供常见的网关服务。
必须始终运行此服务。
提供Web服务。
必须始终运行此服务。
提供HorizonLDAP服务。
必须始终运行此服务。
升级VMwareHorizon期间,此服务将确保正确迁移现有数据。
VMware,Inc. 23 证书指纹验证和自动生成证书
4 VMwareHorizon会使用许多公钥证书。
其中一些证书使用的验证机制涉及到受信任的第三方,但这类机制有时不具备所需的精度、速度或灵活性。
在某些情况下,VMwareHorizon会使用称作指纹验证的替代机制。
指纹验证并不验证各个证书字段或构建信任链,而是将证书视为令牌,将整个字节序列(或其加密哈希)与预共享的字节序列或哈希进行匹配。
通常情况下,预共享的字节序列或哈希会通过单独的受信任通道来即时共享,这意味着服务提供的证书可以确认就是预期的证书。
Horizon消息总线可在连接服务器之间进行通信,也可在HorizonAgent和连接服务器实例之间进行通信。
安装通道使用每消息签名和负载加密,而主通道由实施双向身份验证的TLS提供保护。
当使用TLS保护通道时,客户端和服务器的身份验证都会使用TLS证书和指纹验证。
对于Horizon消息总线通道,服务器始终充当消息路由器的角色。
客户端也可以充当消息路由器,因为消息路由器就是通过这种方式共享消息的。
但是,客户端可能是连接服务器实例或HorizonAgent。
初始证书指纹和设置消息签名密钥分别以不同的方式提供。
在连接服务器上,证书指纹存储在LDAP中,以便HorizonAgent可以与任何连接服务器进行通信,并且所有连接服务器都可以互相通信。
Horizon消息总线服务器证书和客户端证书会自动生成并定期进行交换,过期证书会自动删除,因此无需手动干预,或者说,实际上无法进行手动干预。
主通道两端的证书均会按照计划自动生成,并通过安装通道交换。
您无法自行替换这类证书。
过期的证书会自动移除。
类似的机制也适用于容器间通信。
其他通信通道可以使用客户提供的证书,但默认设置为自动生成证书。
这包括安全加密链路、注册服务器和vCenter连接,以及显示协议和辅助通道。
有关如何替换这类证书的详细信息,请参阅《Horizon管理指南》文档。
默认证书在安装时生成,除在使用PCoIP的情况下,默认证书不会自动续订。
如果没有PKI生成的证书可供PCoIP使用,PCoIP将在每次启动时自动生成新的证书。
即使使用PKI生成的证书,但其中大部分通道还会使用指纹验证。
vCenter证书的验证会结合使用不同的技术。
连接服务器实例始终会尝试使用PKI验证收到的证书。
如果此验证失败,VMwareHorizon管理员可以在查看证书后允许继续连接,这时连接服务器会记住该证书的加密哈希,以便在随后的指纹验证中自动接受该证书。
VMware,Inc. 24 在连接服务器实例上配置安全协议和密码套件
5 您可以配置连接服务器接受的安全协议和密码套件。
您可以定义适用于副本组中全部连接服务器实例的全局接受策略,也可以为各个连接服务器实例定义接受策略。
您还可以配置连接服务器实例在连接vCenterServer时建议使用的安全协议和密码套件。
您可以定义适用于副本组中全部连接服务器实例的全局建议策略。
不能将单个实例定义为不受全局建议策略影响。
注连接服务器的安全设置不适用于Blast安全网关(BSG)。
您必须为BSG单独配置安全性设置。
请参阅第6章为Blast安全网关配置安全协议和密码套件。
Oracle的无限强度管辖策略文件是作为标准配置提供的,默认允许使用256位密钥。
本章讨论了以下主题:n安全协议和密码套件的默认全局策略n配置全局接受和建议策略n在单个服务器上配置接受策略n在远程桌面上配置建议策略n在VMwareHorizon中禁用的旧协议和密码 安全协议和密码套件的默认全局策略 默认情况下,全球接受和建议策略启用某些安全协议和密码套件。
表5-
1.默认全局接受策略 默认安全协议nTLS1.2 默认密码套件 nTLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256nTLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256nTLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384nTLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 VMware,Inc. 25 Horizon安全指南 表5-
2.默认全局建议策略 默认安全协议nTLS1.2 默认密码套件 nTLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256nTLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256nTLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384nTLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 在FIPS模式下,仅GCM密码套件处于启用状态。
配置全局接受和建议策略 全局接受和建议策略是在HorizonLDAP属性中定义的。
这些策略适用于所有连接服务器实例。
要更改全局策略,可编辑任意连接服务器实例上的HorizonLDAP。
每项策略都是以下HorizonLDAP位置中的一个单值属性:mon,ou=global,ou=properties,dc=vdi,dc=vmware,dc=int HorizonLDAP中定义的全局接受和建议策略 您可以编辑定义全局接受和建议策略的HorizonLDAP属性。
全局接受策略 以下属性列出了安全协议。
您必须先添加最新的协议,使列表井然有序: pae-ServerSSLSecureProtocols=\LIST:TLSv1.2,TLSv1.1,TLSv1 以下属性列出了密码套件。
该示例显示了一个缩略表: pae-ServerSSLCipherSuites=\LIST:TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA 以下属性可控制密码套件的优先级。
通常,服务器的密码套件顺序无关紧要,因为使用的是客户端的顺
序。
要改为使用服务器的密码套件顺序,请设置以下属性: pae-ServerSSLHonorClientOrder=
0 全局建议策略 以下属性列出了安全协议。
您必须先添加最新的协议,使列表井然有序: pae-ClientSSLSecureProtocols=\LIST:TLSv1.2,TLSv1.1,TLSv1 以下属性列出了密码套件。
应对此表进行优先级排序。
先添加优先级最高的密码套件,然后添加第二优先级套件,以此类推。
该示例显示了一个缩略表: pae-ClientSSLCipherSuites=\LIST:TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA VMware,Inc. 26 Horizon安全指南 更改全局接受和建议策略 要更改安全协议和密码套件的全局接受和建议策略,需要使用“ADSI编辑”实用程序编辑HorizonLDAP属性。
前提条件n熟悉用于定义接受和建议策略的HorizonLDAP属性。
请参阅HorizonLDAP中定义的全局接受和建 议策略。
n请参阅MicrosoftTechNet网站,了解如何在您的WindowsServer操作系统版本上使用“ADSI编 辑”实用程序。
步骤1在您的连接服务器计算机上启动“ADSI编辑”实用程序。
2在控制台树中,选择连接到。
3在选择或键入可分辨名称或命名上下文文本框中,键入可分辨名称 DC=vdi,DC=vmware,DC=int。
4在选择或键入域或服务器文本框中,选择或键入localhost:389或连接服务器计算机的完全限定域 名(FQDN),后跟端口389。
例如:localhost:389或:3895展开“ADSI编辑”树结构,接着展开OU=Properties,选择OU=Global,然后在右侧的窗格中选择CN=Common。
6在CN=Common,OU=Global,OU=Properties对象上,选择要更改的每个属性并键入一列新的安全协议或密码套件。
7如果您修改了pae-ServerSSLSecureProtocols,请在每个连接服务器实例上重新启动Windows服务VMwareHorizon安全网关组件。
修改pae-ClientSSLSecureProtocols后,您无需重新启动任何服务。
在单个服务器上配置接受策略 要在单个连接服务器实例上指定本地接受策略,必须在locked.properties文件中添加相关属性。
如果服务器上还不存在locked.properties文件,则必须创建此文件。
您可以为每个要配置的安全协议添加一个secureProtocols.n条目。
请使用以下语法:secureProtocols.n=securityprotocol。
您可以为每个要配置的密码套件添加一个enabledCipherSuite.n条目。
请使用以下语法:enabledCipherSuite.n=ciphersuite。
n变量是在每个条目类型中按顺序添加的整数(1、2、3)。
VMware,Inc. 27 Horizon安全指南 您可以添加一个honorClientOrder条目以控制密码套件的优先级。
通常,服务器的密码套件顺序无关紧要,因为使用的是客户端的顺序。
要改为使用服务器的密码套件顺序,请使用以下语法: honorClientOrder=false 请确保locked.properties文件中的条目语法正确,密码套件和安全协议的名称拼写无误。
文件中出现任何错误都能导致客户端与服务器之间的协商失败。
步骤1在连接服务器计算机的TLS/SSL网关配置文件夹中创建或编辑locked.properties文件。
例如:install_directory\VMware\VMwareView\Server\sslgateway\conf\2添加secureProtocols.n和enabledCipherSuite.n条目,包括关联的安全协议和密码套件。
3保存locked.properties文件。
4重新启动VMwareHorizonConnectionServer服务以使所做的更改生效。
示例:单个服务器上的默认接受策略 以下示例显示了locked.properties文件中指定默认策略所需的条目: #Thefollowinglistshouldbeorderedwiththelatestprotocolfirst:secureProtocols.1=TLSv1.2#Thissettingmustbethelatestprotocolgiveninthelistabove:preferredSecureProtocol=TLSv1.2#TheorderofthefollowinglistisunimportantunlesshonorClientOrderisfalse:enabledCipherSuite.1=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256enabledCipherSuite.2=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256enabledCipherSuite.3=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384enabledCipherSuite.4=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384#Usetheclient'sorderingofciphersuites(ignorestheorderinggivenabove):honorClientOrder=true 注在FIPS模式下,仅GCM密码套件处于启用状态。
在远程桌面上配置建议策略 要控制到连接服务器的消息总线连接的安全性,您可以在运行Windows的远程桌面上配置建议策略。
前提条件为避免连接失败,请将连接服务器配置为接受相同的策略。
VMware,Inc. 28 Horizon安全指南 步骤1在远程桌面上,启动Windows注册表编辑器。
2导航到HKEY_LOCAL_MACHINE\Software\VMware,Inc.\VMware VDM\Agent\Configuration注册表项。
3添加新的字符串(REG_SZ)值ClientSSLSecureProtocols。
4将该值设置为一组密码套件,格式为:\LIST:protocol_1,protocol_2,...。
列出协议,先列出最新的协议。
例如: \LIST:TLSv1.2,TLSv1.1 5
添加新的字符串(REG_SZ)值ClientSSLCipherSuites。
6将该值设置为一组密码套件,格式为:\LIST:cipher_suite_1,cipher_suite_2,...。
该列表必须按优先顺序排列,优先级最高的密码套件排在最前面。
例如: \LIST:TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA 在
VMwareHorizon中禁用的旧协议和密码 默认情况下,将在VMwareHorizon中禁用不再视为安全的一些旧协议和密码。
如果需要,您可以手动启用它们。
DHE密码套件 有关更多信息,请参阅/kb/2121183。
与DSA证书兼容的密码套件使用DiffieHellman临时密钥,从Horizon6版本6.2开始,不再默认启用这些套件。
对于连接服务器实例和VMwareHorizon桌面,您可以按照本指南中所述,通过编辑HorizonLDAP数据库、locked.properties文件或注册表来启用这些密码套件。
请参阅更改全局接受和建议策略、在单个服务器上配置接受策略和在远程桌面上配置建议策略。
您可以定义一组密码套件,其中包含下面的一个或多个套件(按以下顺序):nTLS_DHE_DSS_WITH_AES_128_GCM_SHA256(仅TLS1.2,不适用于FIPS)nTLS_DHE_DSS_WITH_AES_256_GCM_SHA384(仅TLS1.2,不适用于FIPS)nTLS_DHE_DSS_WITH_AES_128_CBC_SHA256(仅TLS1.2)nTLS_DHE_DSS_WITH_AES_128_CBC_SHAnTLS_DHE_DSS_WITH_AES_256_CBC_SHA256(仅TLS1.2)nTLS_DHE_DSS_WITH_AES_256_CBC_SHA VMware,Inc. 29 Horizon安全指南 对于ViewAgentDirect-Connection(VADC)计算机,在执行《Horizon安装指南》文档中的“在SSL/TLS中为HorizonAgent计算机禁用弱密码”过程时,您可以通过在密码列表中添加以下内容来启用DHE密码套件。
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 注无法为ECDSA证书启用支持。
从不支持这些证书。
SSLv3 在VMwareHorizon中,已移除SSL版本3.0。
有关更多信息,请参阅/rfc7568。
RC4 有关更多信息,请参阅/rfc7465。
对于连接服务器实例和VMwareHorizon桌面,您可以通过编辑配置文件C:\ProgramFiles\VMware\VMwareView\Server\jre\lib\security\java.security,在连接服务器或HorizonAgent计算机上启用RC4。
该文件的末尾包含一个名为jdk.tls.legacyAlgorithms的多行条目。
从该条目中移除RC4_128及其后面的逗号,然后重新启动连接服务器或HorizonAgent计算机(视具体情况而定)。
对于ViewAgentDirect-Connection(VADC)计算机,在执行《Horizon安装指南》文档中的“在SSL/TLS中为HorizonAgent计算机禁用弱密码”过程时,您可以通过在密码列表中添加以下内容来启用RC4。
TLS_RSA_WITH_RC4_128_SHA TLS1.0 在VMwareHorizon中,将默认禁用TLS1.0。
有关更多信息,请参阅/documents/PCI_DSS_v3-1.pdf和http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-52r1.pdf。
有关如何启用TLS1.0的说明,请参阅“对从连接服务器进行的vCenter连接启用TLSv1”部分和《Horizon升级指南》文档。
VMware,Inc. 30 为Blast安全网关配置安全协议和密码套件
6 连接服务器的安全设置不适用于Blast安全网关(BSG)。
您必须为BSG单独配置安全性设置。
本章讨论了以下主题:n为Blast安全网关(BSG)配置安全协议和密码套件 为Blast安全网关(BSG)配置安全协议和密码套件 您可以通过编辑absg.properties文件来配置BSG的客户端侦听器接受的安全协议和密码套件。
允许使用的协议为tls1.0、tls1.1和tls1.2(从低到高排序)。
绝不允许使用SSLv3和更低版本的旧协议。
localHttpsProtocolLow和localHttpsProtocolHigh两个属性决定BSG侦听器将接受的协议范围。
例如,设置localHttpsProtocolLow=tls1.0和localHttpsProtocolHigh=tls1.2将导致侦听器接受tls1.0、tls1.1和tls1.2。
默认设置为localHttpsProtocolLow=tls1.2和localHttpsProtocolHigh=tls1.2,这意味着默认情况下仅允许使用TLS1.2。
您可以通过检查BSG的absg.log文件来发现对于某个特定BSG实例有效的值。
必须使用OpenSSL中定义的格式来指定密码列表。
您可以在Web浏览器中搜索opensslcipherstring,并查看密码列表格式。
以下是默认密码列表: ECDHE+AESGCM 注在FIPS模式下,仅GCM密码套件处于启用状态(ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSAAES128-GCM-SHA256)。
步骤1在连接服务器实例上,编辑install_directory\VMware\VMware View\Server\appblastgateway\absg.properties文件。
默认情况下,安装目录为%ProgramFiles%。
2编辑localHttpsProtocolLow和localHttpsProtocolHigh属性以指定协议范围。
例如, localHttpsProtocolLow=tls1.0localHttpsProtocolHigh=tls1.2 VMware,Inc. 31 Horizon安全指南 要仅启用一个协议,请为localHttpsProtocolLow和localHttpsProtocolHigh指定相同的协议。
3编辑localHttpsCipherSpec属性以指定密码套件列表。
例如, localHttpsCipherSpec=!
aNULL:kECDH+AESGCM:ECDH+AESGCM:kECDH+AES:ECDH+AES 4重新启动Windows服务VMwareHorizonBlast安全网关。
VMware,Inc. 32 为PCoIP安全网关配置安全协议和密码套件
7 连接服务器的安全设置不适用于PCoIP安全网关(PCoIPSecureGateway,PSG)。
您必须为PSG单独配置安全性设置。
本章讨论了以下主题:n为PCoIP安全网关(PSG)配置安全协议和密码套件 为PCoIP安全网关(PSG)配置安全协议和密码套件 您可以通过编辑注册表来配置PSG的客户端侦听器接受的安全协议和密码套件。
如果需要,也可以在RDS主机上执行此任务。
允许使用的协议为tls1.0、tls1.1和tls1.2(从低到高排序)。
绝不允许使用SSLv3和更低版本的旧协议。
默认设置为tls1.2:tls1.1。
注在FIPS模式下,仅TLS1.2(tls1.2)处于启用状态。
以下是默认密码列表: ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSAAES128-SHA256:@STRENGTH" 注
在FIPS模式下,仅GCM密码套件处于启用状态(ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSAAES128-GCM-SHA256)。
步骤1在连接服务器实例或RDS主机上,打开注册表编辑器,然后导航到 HKLM\Software\Teradici\SecurityGateway。
2添加或编辑REG_SZ注册表值SSLProtocol以指定协议列表。
例如, tls1.2:tls1.1 VMware,Inc. 33 Horizon安全指南 3添加或编辑REG_SZ注册表值SSLCipherList以指定密码套件列表。
例如, ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSAAES128-SHA256 4
添加或编辑REG_SZ注册表值SSLDisableAES128,以筛选用于协商128位AES加密密钥的密码套件。
如果未定义,则该值将默认为
0,这意味着将不会应用筛选器。
要排除这些密码套件,请通过将该注册表值设置为1来启用筛选器。
5添加或编辑REG_SZ注册表值SSLDisableRSACipher,以筛选将使用RSA进行密钥交换的密码套件。
如果未定义,则该值将默认为
1,这意味着将从列表中筛选出这些密码套件。
如果需要包含这些密码套件,请通过将该注册表值设置为0来关闭筛选器。
VMware,Inc. 34 在安全的VMwareHorizon环境中部署USB设备
8 USB设备容易受到一种称为BadUSB的安全威胁,这使某些USB设备上的固件可能受到劫持,并被恶意软件取而代之。
例如,可以使设备重定向网络流量或模拟键盘并捕获按键。
可以配置USB重定向功能以防止VMwareHorizon部署出现此安全漏洞。
通过禁用USB重定向,可以防止任何USB设备重定向到用户的远程桌面和应用程序。
或者,也可以禁用特定USB设备的重定向,只允许用户访问其远程桌面和应用程序上的特定设备。
是否执行这些步骤取决于您组织中的安全要求。
这些步骤并不是强制性的。
您可以安装USB重定向,并保持对VMwareHorizon部署中的所有USB设备启用此功能。
至少,要慎重考虑组织应尝试限制其暴露于此安全漏洞的程度。
本章讨论了以下主题: n对所有类型的设备禁用USB重定向 n对特定设备禁用USB重定向 对所有类型的设备禁用USB重定向 部分高度安全的环境要求您防止用户可能已连接到其客户端设备的所有USB设备重定向至其远程桌面和应用程序。
您可以为所有桌面池、特定桌面池或桌面池中的特定用户禁用USB重定向。
选择以下适合您的情形的任何策略: n在桌面映像或RDS主机上安装HorizonAgent时,取消选中USB重定向安装选项。
(该选项默认为取消选中。
)此方法可防止访问从桌面映像或RDS主机部署的所有远程桌面和应用程序上的USB设备。
n在HorizonConsole中,编辑特定池的USB访问策略,以拒绝或允许访问。
通过此方法,不必更改桌面映像,且可以控制对特定桌面和应用程序池中USB设备的访问。
只有全局USB访问策略可用于已发布的桌面池和应用程序池。
无法为单个已发布的桌面池或应用程序池设置此策略。
n在HorizonConsole中,当您在桌面或应用程序池级别设置策略后,可以通过选择用户覆盖设置并选择用户来覆盖池中特定用户的策略。
n根据需要在HorizonAgent端或在客户端将ExcludeAllDevices策略设置为true。
VMware,Inc. 35 Horizon安全指南 n使用智能策略创建一个策略,以禁用USB重定向Horizon策略设置。
通过此方法,您可以在满足特定条件的情况下禁用特定远程桌面上的USB重定向。
例如,您可以配置一个策略,以在用户从您的企业网络外部连接到远程桌面时禁用USB重定向。
如果将ExcludeAllDevices策略设置为true,HorizonClient会阻止重定向所有USB设备。
您可以使用其他策略设置以允许重定向指定设备或设备系列。
如果将策略设置为false,HorizonClient将允许重定向所有USB设备(其他策略设置阻止的设备除外)。
在HorizonAgent和HorizonClient上均可以设置此策略。
下表显示了如何组合可以为HorizonAgent和HorizonClient设置的ExcludeAllDevices策略,从而为客户端计算机生成有效的策略。
默认情况下,所有USB设备都可以被重定向,除非设备被阻止。
表8-
1.结合使用排除所有设备策略的影响 在HorizonAgent上排除所有设备策略false或未定义(包含所有USB设备) 在HorizonClient上排除所有设备策略false或未定义(包含所有USB设备) 结合使用有效的排除所有设备策略包含所有USB设备 false(包含所有USB设备) true(排除所有USB设备) 排除所有USB设备 true(排除所有USB设备) 任意或未定义 排除所有USB设备 如果已将DisableRemoteConfigurationDownload策略设置为true,则HorizonAgent上ExcludeAllDevices的值不会传递给HorizonClient,但HorizonAgent和HorizonClient会强制使用ExcludeAllDevices的本地值。
这些策略包含在HorizonAgent配置ADMX模板文件(vdm_agent.admx)中。
有关更多信息,请参阅《在Horizon中配置远程桌面功能》中的“HorizonAgent配置ADMX模板中的USB设置”。
对特定设备禁用USB重定向 一些用户可能必须重定向特定的本地连接的USB设备,以便他们可以在其远程桌面或应用程序上执行任务。
例如,某医生可能必须使用录音机USB设备录制患者的医疗信息。
在这些情况下,无法禁止访问所有USB设备。
您可以使用组策略设置启用或禁用特定设备的USB重定向。
对特定设备启用USB重定向之前,确保您信任与您企业中客户端计算机连接的物理设备。
确保您信任您的供应链。
如果可能,请跟踪USB设备的监管链。
此外,教育员工以确保他们不会从未知源连接设备。
如果可能,将环境中的设备限制为仅接受已签发的固件更新、已通过FIPS140-2Level3认证且不支持任何种类的字段可更新固件的设备。
这些类型的USB设备供货困难,且根据您的设备要求可能无法找到。
这些选择可能不实用,但它们值得考虑。
每个USB设备都具有其自己的供应商及用于在计算机上进行标识的产品ID。
通过配置HorizonAgent配置组策略设置,可以为已知的设备类型设置包含策略。
通过此方法,可以消除允许将未知设备插入环境中的风险。
VMware,Inc. 36 Horizon安全指南 例如,可以防止除已知设备供应商和产品IDvid/pid=0123/abcd以外的所有设备重定向至远程桌面或应用程序: ExcludeAllDevicesEnabled IncludeVidPid o:vid-0123_pid-abcd 注此示例中的配置提供了保护措施,但是受到威胁的设备可报告任何vid/pid,因此仍可能会发生潜在攻击。
默认情况下,Horizon会阻止特定设备系列重定向至远程桌面或应用程序。
例如,阻止HID(人机接口设备)和键盘出现在客户机中。
某些已发布的BadUSB代码以USB键盘设备为目标。
您可以防止特定设备系列重定向至远程桌面或应用程序。
例如,可以阻止所有视频、音频和大容量存储设备: ExcludeDeviceFamilyo:video;audio;storage 相反,可以通过防止重定向所有设备但允许使用特定设备系列来创建白名单。
例如,可以阻止除存储设备以外的所有设备: ExcludeAllDevices Enabled IncludeDeviceFamilyo:storage 当远程用户登录到桌面或应用程序并使其感染时,可能会出现其他风险。
您可以防止USB访问来自公司防火墙外部的任何Horizon连接。
可以从内部(而非外部)使用USB设备。
请注意,如果您阻止TCP端口32111以禁止从外部访问USB设备,将无法进行时区同步,因为端口32111也用于时区同步。
对于零客户端,USB流量将嵌入到UDP端口4172上的虚拟通道中。
由于端口4172用于显示协议以及USB重定向,因此无法阻止端口4172。
如果需要,可以在零客户端上禁用USB重定向。
有关详细信息,请参见零客户端产品文献或联系零客户端供应商。
设置策略以阻止特定设备系列或特定设备,可帮助缓解被BadUSB恶意软件感染的风险。
这些策略不会缓解所有风险,但它们是整体安全策略的有效组成部分。
这些策略包含在HorizonAgent配置ADMX模板文件(vdm_agent.admx)中。
有关更多信息,请参阅《在Horizon中配置远程桌面功能》。
VMware,Inc. 37 连接服务器上的HTTP保护措施
9 采取某些措施以保护使用HTTP协议的通信。
本章讨论了以下主题:n工程任务组标准n万维网联盟标准n其他保护措施n配置HTTP保护措施 工程任务组标准 连接服务器遵循特定的工程任务组(EngineeringTaskForce,IETF)标准。
n默认启用RFC5746传输层安全性(TLS)–重新协商标识扩展(又称为“安全重新协商”)。
注默认情况下,客户端启动的重新协商在连接服务器上处于禁用状态。
要启用该功能,请编辑注册表值[HKLM\SOFTWARE\VMware,Inc.\VMwareVDM\plugins\wsnm\TunnelService\Params]JvmOptions并从字符串中移除-Djdk.tls.rejectClientInitiatedRenegotiation=true。
n默认启用RFC6797HTTP严格传输安全性(HSTS)(又称为“传输安全性”)。
无法禁用此设置。
n默认情况下,将启用RFC7034HTTP标头字段X-Frame-Options(也称为“计数器点击劫持”)。
您可以在locked.properties文件中添加x-frame-options=OFF条目以将其禁用。
有关如何将属性添加到文件locked.properties的信息,请参见配置HTTP保护措施。
注在版本7.2之前的版本中,更改此选项不会影响与HTMLess的连接。
n默认情况下,将启用RFC6454来源检查,这会防止跨站点请求伪造。
您可以在locked.properties中添加checkOrigin=false条目以将其禁用。
有关更多信息,请参阅跨来源资源共享。
注在以前的版本中,将默认禁用该保护。
VMware,Inc. 38 Horizon安全指南 HTTP严格传输安全性 HTTP严格传输安全性(HTTPStrictTransportSecurity,HSTS)功能是一种安全策略机制,可通过告知Web浏览器应仅使用HTTPS进行连接来防御中间人攻击。
该标头将添加到端口443上的所有HTTP响应中,并指定一年的有效期。
可以通过将多值属性“hstsFlags”添加到locked.properties文件来设置可选属性。
可以设置以下值。
属性includeSubDomainspreload 值应用于此站点的所有子域。
关于将此站点包含在HSTS预加载列表中的提示。
注默认情况下,不会设置这些属性,因为它们可能还会影响非HorizonURL。
除非您了解这些属性所产生的影响,否则请勿设置这些属性。
万维网联盟标准 连接服务器遵循特定的万维网联盟(W3)标准。
n跨来源资源共享(Cross-OriginResourceSharing,CORS)会限制客户端的跨来源请求。
您可以通过 向locked.properties中添加条目enableCORS=true或enableCORS=false来启用或禁用此功能。
n内容安全策略(ContentSecurityPolicy,CSP)可减少各类内容注入漏洞,默认情况下处于启用状态。
您可以在locked.properties中添加enableCSP=false条目以将其禁用。
跨来源资源共享 跨来源资源共享(CORS)功能通过向客户端按需提供策略声明,并通过检查策略合规性请求,来控制客户端的跨来源请求。
此功能可在需要时进行配置和启用。
策略包含一组可获得接受的HTTP方法、请求的来源位置以及有效的具体内容类型。
这些策略依据请求URL而异,可通过向locked.properties文件添加条目来根据需要进行重新配置。
属性名称后面的省略号表示该属性可以接受列表。
VMware,Inc. 39 Horizon安全指南 表9-
1.CORS属性 属性enableCORS eptContentType... 值的类型truefalsehttp-content-type 主默认值true 其他默认值n/a application/x-wwwformurlencoded,application/xml,text/xml admin=application/json,application/text,application/x-www-formurlencodedportal=application/jsonrest=application/jsonsse=application/jsonview-vlsi-rest=application/json VMware,Inc. 40 Horizon安全指南 表9-
1.CORS属性(续) 属性eptHeader... 值的类型http-header-name 主默认值* VMware,Inc. 其他默认值 admin=ept,eptEncoding,ept-Charset,eptLanguage,Authorization,CacheControl,Connection,ContentLanguage,Content-Length,ContentType,Cookie,csrftoken,DNT,Host,Origi
n,Referer,User-Agentbroker=ept,eptEncoding,ept-Charset,eptLanguage,Authorization,Connection,Content-Language,ContentLength,ContentType,Cookie,GatewayLocation,Gateway-Name,GatewayType,Host,Origin,Referer,UserAgent,X-CSRF-Token,X-EUCGateway,X-EUC-Health,X-ForwardedFor,X-Forwarded-Host,X-ForwardedProto
portal=ept,eptEncoding,ept-Charset,eptLanguage,Authorization,Connection,Content-Language,ContentLength,ContentType,Cookie,Host,Origin,Referer,UserAgent,X-CSRF-Token
rest=ept,eptEncoding,ept-Charset,eptLanguage,Authorization,Connection,Content-Language,ContentLength,ContentType,Cookie,csrfToken,Host,Origin,Referer,User-Agent,X-Require-CloudAdmin-Privilegeview-vlsi=ept,eptEncoding,ept-Charset,eptLanguage,Authorization,Connection,Content-Language,ContentLength,ContentType,Cookie,csrfToken,Host,Origin,Referer,User-Agent,X-Require-CloudAdmin-Privilegeview-vlsi-rest=ept,eptEncoding,ept-Charset,eptLanguage,Authorization,Connection,Content-Language,ContentLength,ContentType,Cookie,csrfToken,Host,Origin,Referer,User-Agent,X-Require-CloudAdmin-Privilege 41 Horizon安全指南 表9-
1.CORS属性(续) 属性exposeHeader... 值的类型http-header-name filterHeaderscheckOrigincheckRefererallowCredentials truefalse truefalse truefalse truefalse allowMethod... http-method-name allowPreflight maxAgebalancedHostportalHost...chromeExtension... truefalsecache-time load-balancer-name gateway-name chrome-extensionhash 主默认值*truetruefalsefalse GET,HEAD,POST true0OFFOFFppkfnjlimknmjoaemnpidmdlfchhehel注此值是适用于Chrome的HorizonClient的Chrome扩展ID。
其他默认值n/a n/a n/a n/a admin=truebroker=truehealth=truemisc=trueportal=truerest=truesaml=truesse=truetunnel=trueview-vlsi=trueview-vlsi-rest=truehealth=GET,HEADmisc=GET,HEADrest=GET,POST,PUT,PATCH,DELETEsaml=GET,HEADsse=GET,POSTtunnel=GET,POSTn/a n/a n/a n/a n/a 以下是locked.properties文件中CORS属性的示例。
enableCORS=trueallowPreflight=truecheckOrigin=true VMware,Inc. 42 Horizon安全指南 checkOrigin-misc=falseallowMethod.1=GETallowMethod.2=HEADallowMethod.3=POSTallowMethod-saml.1=GETallowMethod-saml.2=HEADeptContentType.1=application/x-www-form-urlencodedeptContentType.2=application/xmleptContentType.3=text/xml 来源检查 来源检查在默认情况下处于启用状态。
启用后,将只有在没有来源或者来源与以下项相同时才会接受请求:外部URL指定的地址、balancedHost地址、任何portalHost地址、任何chromeExtension哈希、null或localhost。
如果来源不是这些项中的任何一个,则会记录“意外来源”(UnexpectedOrigin)错误并返回404状态。
注某些浏览器不会或不一定会提供来源标头。
(可选)在缺少来源标头的情况下,可以检查请求中的引用标头。
引用标头的标头名称中包含一个“r”。
要检查引用标头,请将以下属性添加到locked.properties文件中: checkReferer=true 如果使用多个连接服务器主机进行负载均衡,您必须在locked.properties文件中添加一个balancedHost条目以指定负载均衡器地址。
该地址使用端口443。
如果客户端通过UnifiedessGateway设备或其他网关进行连接,您必须在locked.properties文件中添加portalHost条目以指定所有的网关地址。
这些地址使用端口443。
您还必须指定portalHost条目,以通过与外部URL中指定的名称不同的名称来提供对连接服务器主机的访问权限。
Chrome扩展客户端将初始来源设置为它们自己的身份。
要成功进行连接,请在locked.properties文件中添加一个chromeExtension条目以注册此扩展。
例如: chromeExtension.1=bpifadopbphhpkkcfohecfadckmpjmjd VMware,Inc. 43 Horizon安全指南 内容安全策略 内容安全策略(CSP)功能通过向合规浏览器下达策略指令,可减少各类内容注入漏洞,如跨站点脚本(XSS)。
该功能在默认情况下为启用状态。
通过向locked.properties中添加条目,可重新配置策略指令。
表9-
2.CSP属性 属性enableCSP content-securitypolicy 值的类型truefalsedirectives-list x-content-type-options OFFspecification 主默认值true 其他默认值n/a default-src'self';script-src'self''unsafe-inline''unsafe-eval'data:;style-src'self''unsafe-inline';fontsrc'self'data:;frame-ancestors'none' nosniff admin=default-src'self';script-src'unsafe-inline''unsafeeval';style-src'self''unsafeinline';font-src'self'data:;img-src'self'data:;connect-src'self'https:;frame-ancestors'none' portal=default-src'self';script-src'self''unsafeinline''unsafe-eval'data:;style-src'self''unsafeinline';font-src'self'data:;img-src'self'data:blob:;media-src'self'blob:;connect-src'self'wss:;frame-src'self'blob:;child-src'self'blob:;object-src'self'blob:;frame-ancestors'self' rest=default-src'self';script-src'self''unsafeinline''unsafe-eval'data:;style-src'self''unsafeinline';font-src'self'data:;img-src'self'data:;connect-src'self'https:;frame-ancestors'none' n/a VMware,Inc. 44 Horizon安全指南 表9-
2.CSP属性(续) 属性x-frame-options x-xss-protection 值的类型 OFFspecification OFFspecification 主默认值deny 1;mode=block 其他默认值portal=sameorigin n/a 您可以将CSP属性添加到locked.properties文件中。
示例CSP属性: enableCSP=truecontent-security-policy=default-src'self';script-src'self''unsafe-inline''unsafe-eval'data:;style-src'self' 'unsafe-inline';font-src'self'data:content-security-policy-newadmin=default-src'self';script-src'self''unsafe-inline''unsafe-eval'data:;style-src'self' 'unsafe-inline';font-src'self'data:;img-src'self'data:;connect-src'self'https:content-security-policy-portal=default-src'self';script-src'self''unsafe-inline''unsafeeval'data:;style-src'self''unsafe-inline';font-src'self'data:;img-src'self'data:blob:;media-src'self'blob:;connect-src'self'wss:;frame-src'self'blob:;child-src'self'blob:;object-src'self'blob:x-content-type-options=nosniffx-frame-options=denyx-frame-options-portal=sameoriginx-xss-protection=1;mode=block 其他保护措施 除了工程任务组和W3标准以外,VMwareHorizon还采取其他措施以保护使用HTTP协议的通信。
减少MIME类型安全风险 默认情况下,VMwareHorizon在其HTTP响应中发送x-content-type-options:nosniff标头以帮助防范基于MIME类型混淆的攻击。
您可以在locked.properties文件中添加以下条目以禁用该功能: x-content-type-options=OFF 减轻跨站点脚本攻击 默认情况下,VMwareHorizon在其HTTP响应中发送x-xss-protection=1;mode=block标头以使用XSS(跨站点脚本)筛选功能减轻跨站点脚本攻击。
您可以在locked.properties文件中添加以下条目以禁用该功能: x-xss-protection=OFF VMware,Inc. 45 Horizon安全指南 内容类型检查 默认情况下,VMwareHorizon仅接受具有以下声明的内容类型的请求:napplication/x-www-form-urlencodednapplication/xmlntext/xml 注在以前的版本中,将默认禁用该保护。
要限制VMwareHorizon接受的内容类型,请在locked.properties文件中添加以下条目: eptContentType.1=content-type 例如: eptContentType.1=x-www-form-urlencoded 要接受其他内容类型,请添加
eptContentType.2=content-type条目,依此类推。
要接受具有任何声明的内容类型的请求,请指定eptContentType=*。
客户端行为监控 连接服务器可用来处理客户端请求的资源有限,运行不正常的客户端可能会占用这些资源,从而无法为其他请求提供服务。
客户端行为监控是一类可防止出现错误行为的检测和缓解措施。
握手监控 端口443上的TLS握手必须在可配置的时限内完成,否则将被强制终止。
默认情况下,此时限为10秒。
如果启用了智能卡身份验证,端口443上的TLS握手可以在100秒内完成。
如果需要,您可以通过在locked.properties文件中添加以下属性来调整端口443上的TLS握手时间: handshakeLifetime=lifetime_in_seconds 例如: handshakeLifetime=20 (可选)可自动将导致TLS握手超时运行的客户端添加到黑名单中。
请参阅客户端黑名单了解更多信息。
请求接收监控 HTTP请求必须在30秒内完全接收,否则,连接将被强行终止。
或者,发送请求用时超过30秒的客户端可能会被自动添加到黑名单。
请参阅客户端黑名单了解更多信息。
VMware,Inc. 46 Horizon安全指南 请求计数 单个客户端每分钟发送的HTTP请求数不应超过100个,尽管在超过此阈值时,默认情况下不会采取任何操作。
或者,超过此阈值的客户端可能会被自动添加到黑名单。
请参阅客户端黑名单了解更多信息。
如果已启用客户端黑名单功能,您可能需要配置请求计数阈值。
您可以通过将以下属性添加至locked.properties文件来调整每个客户端的已处理HTTP请求的最大数量: requestTallyThreshold=max_served_requests_in_30_seconds 例如: requestTallyThreshold=100 您可以通过将以下属性添加至locked.properties文件来调整每个客户端的失败HTTP请求的最大数量: tarPitGraceThreshold=max_failed_requests_in_30_seconds 例如: tarPitGraceThreshold=
5 客户端黑名单 这种类型的保护默认处于禁用状态,因为如果配置错误,可能会降低性能,让用户感到沮丧。
如果使用网关(例如,UnifiedessGateway设备),请勿启用客户端黑名单功能,因为网关会将所有客户端连接均显示为相同的IP地址。
如果启用此功能,来自黑名单上的客户端连接会被延迟一段可配置的时间,然后才会处理。
如果来自同一客户端的多个连接同时被延迟,来自该客户端的后续连接会被拒绝,而不是延迟。
可对此阈值进行配置。
您可以通过在locked.properties文件中添加以下属性来启用此功能: secureHandshakeDelay=delay_in_milliseconds 例如: secureHandshakeDelay=2000 要禁用HTTPS连接的加入黑名单功能,请移除secureHandshakeDelay条目,或将其设置为
0。
发生TLS握手超时运行时,客户端的IP地址将被添加到黑名单中,最短时限为handshakeLifetime与secureHandshakeDelay之和。
使用以上示例中的值,运行不正常的客户端的IP地址被添加到黑名单的时限为22秒: (20*1000)+2000=22seconds VMware,Inc. 47 Horizon安全指南 每当来自相同IP地址的连接运行不正常时,都会延长该最短时限。
在最短时限到期,并且也处理了来自相应IP地址的最后一次延迟连接后,便会将该IP地址从黑名单中移除。
TLS握手超时运行不是将客户端加入黑名单的唯一原因。
其他原因包括一系列已放弃的连接,或者一系列结果为错误的请求,例如,多次尝试访问不存在的URL。
这些不同触发因素的最短黑名单时限也各不相同。
要将对这些其他触发因素的监控扩展到端口80,请在locked.properties文件中添加以下条目: insecureHandshakeDelay=delay_in_milliseconds 例如: insecureHandshakeDelay=1000 要禁用HTTP连接的加入黑名单功能,请移除insecureHandshakeDelay条目,或将其设置为
0。
行为监控属性 使用以下属性可监控客户端行为。
以下属性包括可防止出现错误行为的检测和缓解属性。
表9-
3.行为监控属性 属性handshakeLifetimesecureHandshakeDelay insecureHandshakeDelay requestTallyThresholdtarPitGraceThresholdsecureBlacklist... insecureBlacklist... secureWhitelist...insecureWhitelist... 说明 TLS握手的最长时间(以秒为单位)。
打开加入黑名单功能时,在TLS握手之前的延迟时间(以毫秒为单位)。
打开加入黑名单功能时,在非TLS握手之前的延迟时间(以毫秒为单位)。
每30秒内客户端黑名单的已处理HTTP请求数。
每30秒内客户端黑名单的未处理HTTP请求数。
打开加入黑名单功能时,端口443上立即拒绝的IP地址列表。
打开加入黑名单功能时,端口80上立即拒绝的IP地址列表。
端口443上从黑名单中排除的IP地址列表。
端口80上从黑名单中排除的IP地址列表。
默认值10或100(请参阅握手监控。
)0(加入黑名单功能关闭) 0(加入黑名单功能关闭) 503不适用 不适用 不适用不适用 动态否否 否 否否是 是 是是 对动态条目的更改会立即生效,无需重新启动服务。
VMware,Inc. 48 Horizon安全指南 用户代理白名单 通过设置白名单可限制能够与VMwareHorizon交互的用户代理。
默认情况下,接受所有用户代理。
注这不是严格意义上的安全功能。
用户代理检测依赖于连接客户端或浏览器提供的用户代理请求标头,而这类请求标头有可能被假冒。
某些浏览器允许用户修改请求标头。
用户代理是由其名称和最低版本指定的。
例如: clientWhitelist-portal.1=Chrome-14clientWhitelist-portal.2=Safari-5.1 这表示只允许GoogleChrome版本14和更高版本,以及Safari版本5.1和更高版本使用HTMLess进行连接。
所有浏览器都可以连接到其他服务。
您可以输入以下可识别用户代理名称:nAndroidnChromenEdgenIEnFirefoxnOperanSafari 注VMwareHorizon并非支持所有这些用户代理。
这些是用户代理示例。
配置HTTP保护措施 要配置HTTP保护措施,必须在连接服务器实例上的网关配置文件夹中创建或编辑locked.properties文件。
例如,install_directory\VMware\VMwareView\Server\sslgateway\conf\locked.properties。
n使用以下语法配置locked.properties中的属性: myProperty=newValue n属性名称始终区分大小写,而值可能区分大小写。
=符号两侧的空格是可选的。
n对于CORS和CSP属性,既可以设置特定于服务的值,也可以设置主值。
例如,管理员服务负责处理 HorizonConsole请求,可通过在属性名称后面附加-admin,来为该服务设置相应属性,而不影响其他服务。
myProperty-admin=newValueForAdmin VMware,Inc. 49 Horizon安全指南 n如果指定了主值和特定于服务的值,则特定于服务的值适用于指定服务,而主值适用于所有其他服务。
其唯一例外是特殊值“OFF”。
如果属性的主值设置为“OFF”,将忽略此属性的所有特定于服务的值。
例如: myProperty=OFFmyProperty-admin=newValueForAdmin ;ignored n某些属性可以接受值列表。
要设置单个值,请输入以下属性: myProperty=newValuemyProperty-admin=newValueForAdmin 要为接受列表值的属性设置多个值,您可以在单独的行上指定每个值: myProperty.1=newValue1myProperty.2=newValue2myProperty-admin.1=newValueForAdmin1myProperty-admin.2=newValueForAdmin2 n要确定在进行特定于服务的配置时所使用的正确服务名称,请在调试日志中查找包含以下序列的行: (ajp:admin:Request21)Requestfrom/10.20.30.40:GET/admin/ 在此示例中,服务名称为admin。
您可以使用以下典型的服务名称:nnewadmin(HorizonConsole)nbroker(连接服务器)ndocroot(本地文件服务)nportal(HTMLess)nsaml(SAML通信)(vIDM)ntunnel(安全隧道)nview-vlsi(ViewAPI)nmisc(其他)nrest(RESTAPI) VMware,Inc. 50

标签: #压缩文件 #众生 #文件 #个人网页 #格式 #文件 #朋友圈 #格式文件