【VMware vCenter】阻止或移除 VMware 增强型身份验证插件(EAP)的URL下载链接。

VMware最近发布了一个新的安全公告(VMSA-2024-0003),它影响了已弃用(vCenter Server 7.0 U2版本)的VMware 增强身份验证插件(EAP)。

根据官方说明,可根据VMware KB 96442删除安装在桌面系统中的EAP插件,其中EAP插件包含浏览器内插件/客户端和Windows服务插件。

不过,除了删除桌面系统中已安装的EAP插件以外,有人提出如何禁用EAP插件下载本身的问题,该EAP插件默认作为vSphere UI登录页面中的超链接提供,如下图所示(位于底部):

我知道有几种方法可以同时阻止和/或删除这个URL下载链接,因此,我将这几种方法列出来,用户可以根据习惯自行选择哪种方式进行使用。

一、禁用vSphere UI上的“使用 Windows 会话身份验证”

EAP插件与vSphere UI中提供的“使用 Windows 会话身份验证”复选框结合使用。如果您希望同时禁用该功能,感谢Reddit 用户 r/always_salty,他早些时候通过使用 sso-config.sh 实用程序在vCenter Server Appliance (VCSA)上SHELL运行以下命令来完全禁用 Windows 身份验证:

sso-config.sh -set_authn_policy -winAuthn false -t vsphere.local

运行后,重新刷新vSphere UI登录界面,“使用 Windows 会话身份验证”复选框已经不存在。

二、将EAP的URL下载链接重定向到localhost

虽然您可以卸载EAP插件并完全禁用 Windows 身份验证,但通过Windows桌面访问vSphere UI的任何人仍可以看到下载 URL链接(如果您使用的是Linux或macOS系统,则在打开vSphere UI时不会显示)。

如果您仔细查看,您会发现EAP插件的URL实际上并不托管在VCSA上,而是托管在VMware的网站上。您可以使用一个简单的技巧,更新VCSA上的/etc/hosts文件,将主机名vsphereclient.vmware.com重定向到localhost (127.0.0.1),这样当用户单击链接时,它就不会跳转去任何地方。为此,请登录VCSA并将以下条目添加到/etc/hosts文件中:

127.0.0.1 vsphereclient.vmware.com

添加到hosts文件后,您再点击“下载增强型身份验证插件”将不会跳转到任何地方。

注意:如果您组织内能够有办法阻止特定 URL,比如通过网络防火墙进行访问控制,这是一个可扩展性选项,而不局限于对单个VCSA进行更改。

三、修改EAP的URL下载链接

将EAP下载URL重定向到localhost是一个很好的技巧,但它实际上并不会更改 URL 字符串本身,当您悬停或右键单击链接时,该字符串依然可见。

如果您想要更改URL链接,则需要修改VCSA中/usr/lib/vmware-sso/vmware-sts/webapps/ROOT/resources/js/websso.js的以下部分:

   // builds a complete url for the CIP plugin
   var createCompleteUrl = function createCompleteUrl() {
      var url = 'http://vsphereclient.vmware.com/vsphereclient/' +
            'VMware-EnhancedAuthenticationPlugin-' +
            cipBuildVersion +
            '.exe';
      return url ;
   };

   var isVCLogin =   function isVCLogin() {
      if (tenant_brandname == null || tenant_brandname == '') {
         return true;
      } else {
         return false;
      }
   };

修改成你想要的URL链接:

// builds a complete url for the CIP plugin
   var createCompleteUrl = function createCompleteUrl() {
      var url = 'http://no.eap.download.for.you';
      return url ;
   };

   var isVCLogin =   function isVCLogin() {
      if (tenant_brandname == null || tenant_brandname == '') {
         return true;
      } else {
         return false;
      }
   };

登录vSphere UI,刷新一下网页,将鼠标悬停或右键单击链接时,该URL下载链接已经改变。

如果环境是vCenter 8.0版本,VCSA路径没有/usr/lib/vmware-sso/vmware-sts/webapps/ROOT/resources/js/websso.js文件,只有/usr/lib/vmware-sso/vmware-sts/webapps/ROOT.war文件,下面是vCenter 8.0版本的修改过程,仅供参考:

cp /usr/lib/vmware-sso/vmware-sts/webapps/ROOT.war /usr/lib/vmware-sso/vmware-sts/webapps/ROOT.war.bak
mkdir /root/ROOT
cp /usr/lib/vmware-sso/vmware-sts/webapps/ROOT.war /root/ROOT/
cd /root/ROOT
unzip ROOT.war
rm ROOT.war
vim resources/js/websso.js  //第321-324行,同上述中的修改方式一样
zip -r /root/ROOT.war index.jsp META-INF resources WEB-INF
cp /root/ROOT.war /usr/lib/vmware-sso/vmware-sts/webapps/ROOT.war
cd /root/
rm /root/ROOT -rf
rm /root/ROOT.war
reboot

注意:更新或者升级VCSA时不会保留对默认websso.js条目的修改,如果更新VCSA后,则需要重新修改此项。 

四、删除EAP的URL下载链接

如果我们还想更进一步,阻止EAP的URL下载链接显示,那么我们同样可以基于现有的代码,在当它检测到您使用的是Linux或macOS系统时阻止URL显示的这个地方,对/usr/lib/vmware-sso/vmware-sts/webapps/ROOT/resources/js/websso.js进行小小的调整:

   // if CIP is installed, writes to browser localStorage to set var "vmwCIPInstalled" to "true"
   // if CIP is not installed, set var to "false"
   var setCSDInstalled = function setCSDInstalled(){
      var sspiCheckboxEle = document.getElementById('sspiCheckbox');
      if (this._VersionStr != null || !isVCLogin()) {
         if (sspiCheckboxEle != null && windows_auth == "true" && !isMac && !isLinux) {
             sspiCheckboxEle.disabled = false;
             checkboxDisableChange(sspiCheckboxEle);
         }   
         $('#footer').html('');
         $('#footer').css('display', 'none');
      } else {
         if (!isMac && !isLinux) {
             if (sspiCheckboxEle != null) {
                 sspiCheckboxEle.disabled = true;
                 checkboxDisableChange(sspiCheckboxEle);
             }   
             var cspDownloadLink = createCompleteUrl();
             $('#footer').css('display', 'block');
             $('#downloadCIPlink').attr('href', cspDownloadLink);
             $('#downloadCIPlinkBox').show();
         }   
      }   
   };

将if (!isMac && !isLinux)这行代码中的感叹号"!"去掉

// if CIP is installed, writes to browser localStorage to set var "vmwCIPInstalled" to "true"
   // if CIP is not installed, set var to "false"
   var setCSDInstalled = function setCSDInstalled(){
      var sspiCheckboxEle = document.getElementById('sspiCheckbox');
      if (this._VersionStr != null || !isVCLogin()) {
         if (sspiCheckboxEle != null && windows_auth == "true" && !isMac && !isLinux) {
             sspiCheckboxEle.disabled = false;
             checkboxDisableChange(sspiCheckboxEle);
         }   
         $('#footer').html('');
         $('#footer').css('display', 'none');
      } else {
         if (isMac && isLinux) {
             if (sspiCheckboxEle != null) {
                 sspiCheckboxEle.disabled = true;
                 checkboxDisableChange(sspiCheckboxEle);
             }   
             var cspDownloadLink = createCompleteUrl();
             $('#footer').css('display', 'block');
             $('#downloadCIPlink').attr('href', cspDownloadLink);
             $('#downloadCIPlinkBox').show();
         }   
      }   
   };

登录vSphere UI,刷新一下网页,可以发现“下载增强型身份验证插件”已经不显示了,无论客户端的操作系统是哪种。

如果环境是vCenter 8.0版本,VCSA路径没有/usr/lib/vmware-sso/vmware-sts/webapps/ROOT/resources/js/websso.js文件,只有/usr/lib/vmware-sso/vmware-sts/webapps/ROOT.war文件,下面是vCenter 8.0版本的修改过程,仅供参考:

cp /usr/lib/vmware-sso/vmware-sts/webapps/ROOT.war /usr/lib/vmware-sso/vmware-sts/webapps/ROOT.war.bak
mkdir /root/ROOT
cp /usr/lib/vmware-sso/vmware-sts/webapps/ROOT.war /root/ROOT/
cd /root/ROOT
unzip ROOT.war
rm ROOT.war
vim resources/js/websso.js  //第306行,同上述中的修改方式一样
zip -r /root/ROOT.war index.jsp META-INF resources WEB-INF
cp /root/ROOT.war /usr/lib/vmware-sso/vmware-sts/webapps/ROOT.war
cd /root/
rm /root/ROOT -rf
rm /root/ROOT.war
reboot

注意:更新或者升级VCSA时不会保留对默认websso.js条目的修改,如果更新VCSA后,则需要重新修改此项。 

参考:Quick Tip - Block or remove download URL for VMware Enhanced Authentication Plug-in (EAP) 

热门相关:抗战老兵之不死传奇   花都保镖   佣兵之王都市行   花开春暖   盛宠之嫡女医妃