Select any two versions of this STIG to compare the individual requirements
Select any old version/release of this STIG to view the previous requirements
At the command prompt, execute the following command: # xmllint --format --xpath '/Server/Service/Connector[@port="9090"]/@connectionTimeout' /usr/lib/vmware-vsphere-client/server/configuration/tomcat-server.xml Expected result: connectionTimeout="20000" If the output does not match the expected result, this is a finding.
Navigate to and open /usr/lib/vmware-vsphere-client/server/configuration/tomcat-server.xml. Configure each <Connector> node with the following: connectionTimeout="20000"
At the command prompt, execute the following command: # xmllint --format --xpath '/Server/Service/Connector/@maxThreads' /usr/lib/vmware-vsphere-client/server/configuration/tomcat-server.xml Expected result: maxThreads="800" maxThreads="800" If the output does not match the expected result, this is a finding.
Navigate to and open /usr/lib/vmware-vsphere-client/server/configuration/tomcat-server.xml. Configure each <Connector> node with the following: maxThreads="800"
At the command prompt, execute the following command: # xmllint --format --xpath '/Server/Service/Connector/@maxPostSize' /usr/lib/vmware-vsphere-client/server/configuration/tomcat-server.xml Expected result: XPath set is empty If the output does not match the expected result, this is a finding.
Navigate to and open /usr/lib/vmware-vsphere-client/server/configuration/tomcat-server.xml. Navigate to each of the <Connector> nodes. Remove any configuration for "maxPostSize".
At the command prompt, execute the following command: # xmllint --xpath '/Context/@useHttpOnly' /usr/lib/vmware-vsphere-client/server/configuration/context.xml Expected result: useHttpOnly="true" If the output does not match the expected result, this is a finding.
Navigate to and open /usr/lib/vmware-vsphere-client/server/configuration/context.xml. Configure the <Context> node as follows: <Context useHttpOnly="true">
At the command prompt, execute the following command: # xmllint --format --xpath '/Server/Service/Connector[@port=9443]/SSLHostConfig/@ciphers' /usr/lib/vmware-vsphere-client/server/configuration/tomcat-server.xml Expected result: ciphers="TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_ECDH_RSA_WITH_AES_256_CBC_SHA,TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDH_RSA_WITH_AES_128_CBC_SHA,TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA" If the output does not match the expected result, this is a finding.
Navigate to and open /usr/lib/vmware-vsphere-client/server/configuration/tomcat-server.xml. Ensure that the SSLHostConfig contains the following value: ciphers="TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_ECDH_RSA_WITH_AES_256_CBC_SHA,TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDH_RSA_WITH_AES_128_CBC_SHA,TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA"
At the command prompt, execute the following command: # xmllint --format --xpath '/Server/Service/Connector[@port=9443]/@SSLEnabled' /usr/lib/vmware-vsphere-client/server/configuration/tomcat-server.xml Expected result: SSLEnabled="true" If the output does not match the expected result, this is a finding.
Navigate to and open /usr/lib/vmware-vsphere-client/server/configuration/tomcat-server.xml. Ensure that the <Connector> node with 'port=9443' contains the following value: SSLEnabled="true"
At the command prompt, execute the following command: # xmllint --format --xpath '/Server/Service/Connector[@port=9443]/SSLHostConfig/@protocols' /usr/lib/vmware-vsphere-client/server/configuration/tomcat-server.xml Expected result: protocols="TLSv1.2" If the output does not match the expected result, this is a finding.
Navigate to and open /usr/lib/vmware-vsphere-client/server/configuration/tomcat-server.xml. Ensure that the <SSLHostConfig> node contains the following value: protocols="TLSv1.2"
At the command prompt, execute the following command: # xmllint --format --xpath '/Server/Service/Connector[@port=9443]/@scheme' /usr/lib/vmware-vsphere-client/server/configuration/tomcat-server.xml Expected result: scheme="https" If the output does not match the expected result, this is a finding.
Navigate to and open /usr/lib/vmware-vsphere-client/server/configuration/tomcat-server.xml. Ensure that the <Connector> node with 'port=9443' contains the following value: scheme="https"
At the command prompt, execute the following command: # xmllint --format /usr/lib/vmware-vsphere-client/server/configuration/tomcat-server.xml | sed '2 s/xmlns=".*"//g' | xmllint --xpath '/Server/Service/Engine/Host/Valve[@className="org.apache.catalina.valves.AccessLogValve"]'/@pattern - Expected result: pattern="%h %{x-forwarded-for}i %l %u %t &quot;%r&quot; %s %b %{#hashedSessionId#}s %I %D" If the output does not match the expected result, this is a finding.
Navigate to and open /usr/lib/vmware-vsphere-client/server/configuration/tomcat-server.xml. Ensure the log pattern in the "org.apache.catalina.valves.AccessLogValve" node is set to the following: pattern="%h %{x-forwarded-for}i %l %u %t "%r" %s %b %{#hashedSessionId#}s %I %D"
At the command prompt, execute the following command: # grep StreamRedirectFile /etc/vmware/vmware-vmon/svcCfgfiles/vsphere-client.json Expected result: "StreamRedirectFile": "%VMWARE_LOG_DIR%/vmware/vsphere-client/logs/vsphere-client-runtime.log", If there is no log file specified for the "StreamRedirectFile" setting, this is a finding.
Navigate to and open /etc/vmware/vmware-vmon/svcCfgfiles/vsphere-client.json. Below the last line of the "PreStartCommandArg" block, add the following line: "StreamRedirectFile": "%VMWARE_LOG_DIR%/vmware/vsphere-client/logs/vsphere-client-runtime.log", Restart the appliance for changes to take effect.
At the command prompt, execute the following command: # rpm -V vsphere-client|grep "^..5......"|grep -E "\.war|\.jar|\.sh|\.py" If there is any output, this is a finding.
Reinstall the VCSA or roll back to a snapshot. Modifying the vSphere Client installation files manually is not supported by VMware.
At the command prompt, execute the following command: # grep -En '(x-csh<)|(x-sh<)|(x-shar<)|(x-ksh<)' /usr/lib/vmware-vsphere-client/server/configuration/conf/web.xml If the command produces any output, this is a finding.
Open /usr/lib/vmware-vsphere-client/server/configuration/conf/web.xml in a text editor. Remove any and all of the following nodes lines: <mime-type>application/x-csh</mime-type> <mime-type>application/x-shar</mime-type> <mime-type>application/x-sh</mime-type> <mime-type>application/x-ksh</mime-type>
At the command prompt, execute the following command: # xmllint --format /usr/lib/vmware-vsphere-client/server/configuration/conf/web.xml | sed 's/xmlns=".*"//g' | xmllint --xpath '/web-app/servlet-mapping/servlet-name[text()="jsp"]/parent::servlet-mapping' - Expected result: <servlet-mapping> <servlet-name>jsp</servlet-name> <url-pattern>*.jsp</url-pattern> <url-pattern>*.jspx</url-pattern> </servlet-mapping> If the output of the command does not match the expected result, this is a finding.
Navigate to and open /usr/lib/vmware-vsphere-client/server/configuration/conf/web.xml. Navigate to and locate the mapping for the JSP servlet.Ā It is the <servlet-mapping> node that contains <servlet-name>jsp</servlet-name>. Configure the <servlet-mapping> node to look like the code snippet below: Ā Ā <!-- The mappings for the JSP servlet --> Ā Ā <servlet-mapping> Ā Ā Ā Ā <servlet-name>jsp</servlet-name> Ā Ā Ā Ā <url-pattern>*.jsp</url-pattern> Ā Ā Ā Ā <url-pattern>*.jspx</url-pattern> Ā Ā </servlet-mapping>
At the command prompt, execute the following command: # grep -n -i 'webdav' /usr/lib/vmware-vsphere-client/server/configuration/conf/web.xml If the command produces any output, this is a finding.
Navigate to and open all listed files. Navigate to and locate the mapping for the JSP servlet. It is theĀ <servlet-mapping> node that contains <servlet-name>webdav</servlet-name>. Remove the WebDav servlet and any mapping associated with it.
At the command prompt, execute the following command: # grep JreMemoryLeakPreventionListener /usr/lib/vmware-vsphere-client/server/configuration/tomcat-server.xml Expected result: <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" /> If the output of the command does not match the expected result, this is a finding.
Navigate to and open /usr/lib/vmware-vsphere-client/server/configuration/tomcat-server.xml. Navigate to the <Server> node. Add '<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener"/>' to the <Server> node.
At the command prompt, execute the following command: # find /usr/lib/vmware-vsphere-client/server/work/ -type l -ls If the command produces any output, this is a finding.
At the command prompt, execute the following commands: Note: Replace <file_name> for the name of any files that were returned. # unlink <file_name> Repeat the commands for each file that was returned.
At the command prompt, execute the following command: # stat -c "%n permissions are %a and is owned by %U:%G" /etc/vmware/vsphere-client/keystore.jks Expected result: /etc/vmware/vsphere-client/keystore.jks permissions are 640 and is owned by vsphere-client:users If the output of the command does not match the expected result, this is a finding.
At the command prompt, execute the following command: # chmod 640 /etc/vmware/vsphere-client/keystore.jks # chown vsphere-client:users /etc/vmware/vsphere-client/keystore.jks
At the command prompt, execute the following command: # find /usr/lib/vmware-vsphere-client/server -xdev -type f -a '(' -not -user vsphere-client -o '(' -not -group root -a -not -group users -not -group cis ')' ')' -exec ls -ld {} \; If the command produces any output, this is a finding.
At the command prompt, execute the following command: #chown vsphere-client:root <file_name> Repeat the command for each file that was returned. Note: Replace <file_name> for the name of the file that was returned.
At the command prompt, execute the following command: # xmllint --format --xpath '/Server/Service/Connector/@acceptCount' /usr/lib/vmware-vsphere-client/server/configuration/tomcat-server.xml Expected result: acceptCount="300" acceptCount="300" If the output does not match the expected result, this is a finding.
Navigate to and open /usr/lib/vmware-vsphere-client/server/configuration/tomcat-server.xml. Configure each <Connector> node with the following: acceptCount="300"
At the command prompt, execute the following command: # xmllint --format --xpath '/Server/Service/Connector/@URIEncoding' /usr/lib/vmware-vsphere-client/server/configuration/tomcat-server.xml Expected result: URIEncoding="UTF-8" URIEncoding="UTF-8" If the output does not match the expected result, this is a finding.
Navigate to and open /usr/lib/vmware-vsphere-client/server/configuration/tomcat-server.xml. Configure each <Connector> node with the following: URIEncoding="UTF-8"
At the command prompt, execute the following command: # xmllint --format /usr/lib/vmware-vsphere-client/server/configuration/conf/web.xml | sed 's/xmlns=".*"//g' | xmllint --xpath '/web-app/welcome-file-list' - Expected result: <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> </welcome-file-list> If the output of the command does not match the expected result, this is a finding.
Navigate to and open /usr/lib/vmware-vsphere-client/server/configuration/conf/web.xml. Inspect the file and ensure that it contains the following section: <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> </welcome-file-list>
At the command prompt, execute the following command: # xmllint --format /usr/lib/vmware-vsphere-client/server/configuration/conf/web.xml | sed 's/xmlns=".*"//g' | xmllint --xpath '//param-name[text()="listings"]/parent::init-param' - Expected result: <init-param> <param-name>listings</param-name> <param-value>false</param-value> </init-param> If the output of the command does not match the expected result, this is a finding.
Navigate to and open /usr/lib/vmware-vsphere-client/server/configuration/conf/web.xml. Set the <param-value> to "false" in all <param-name>listing</param-name> nodes. Note: The setting should look like the following: <init-param> <param-name>listings</param-name> <param-value>false</param-value> </init-param>
At the command prompt, execute the following command: # xmllint --format --xpath '/Server/Service/Connector/@server' /usr/lib/vmware-vsphere-client/server/configuration/tomcat-server.xml Expected result: server="Anonymous" server="Anonymous" If the output does not match the expected result, this is a finding.
Navigate to and open /usr/lib/vmware-vsphere-client/server/configuration/tomcat-server.xml. Configure each <Connector> node with the following: server="Anonymous"
At the command prompt, execute the following command: # grep allowTrace /usr/lib/vmware-vsphere-client/server/configuration/tomcat-server.xml If "allowTrace" is set to "true", this is a finding. If no line is returned, this is NOT a finding.
Navigate to and open /usr/lib/vmware-vsphere-client/server/configuration/tomcat-server.xml. Navigate to and locate: 'allowTrace="true"' Remove the 'allowTrace="true"' setting.
At the command prompt, execute the following command: # xmllint --format /usr/lib/vmware-vsphere-client/server/configuration/conf/web.xml | sed 's/xmlns=".*"//g' | xmllint --xpath '//param-name[text()="debug"]/parent::init-param' - Expected result: <init-param> <param-name>debug</param-name> <param-value>0</param-value> </init-param> If the output of the command does not match the expected result, this is a finding.
Navigate to and open /usr/lib/vmware-vsphere-client/server/configuration/conf/web.xml. Navigate to all <debug> nodes that are not set to "0". Set the <param-value> to "0" in all <param-name>debug</param-name> nodes. Note: The debug setting should look like the following: <init-param> <param-name>debug</param-name> <param-value>0</param-value> </init-param>
At the command prompt, execute the following command: # grep -v "^#" /etc/vmware-syslog/stig-vsphere-client.conf Expected result: input(type="imfile" File="/var/log/vmware/vsphere-client/logs/access/localhost_access*" Tag="client-access" Severity="info" Facility="local0") input(type="imfile" File="/var/log/vmware/vsphere-client/logs/vsphere-client-runtime*" Tag="client-runtime" Severity="info" Facility="local0") If the file does not exist, this is a finding. If the output of the command does not match the expected result, this is a finding.
Navigate to and open /etc/vmware-syslog/stig-vsphere-client.conf. Create the file if it does not exist. Set the contents of the file as follows: input(type="imfile" File="/var/log/vmware/vsphere-client/logs/access/localhost_access*" Tag="client-access" Severity="info" Facility="local0") input(type="imfile" File="/var/log/vmware/vsphere-client/logs/vsphere-client-runtime*" Tag="client-runtime" Severity="info" Facility="local0")
At the command prompt, execute the following command: # xmllint --format --xpath '/Server/Service/Connector/@port' /usr/lib/vmware-vsphere-client/server/configuration/tomcat-server.xml Expected result: port="9090" port="9443" If the output does not match the expected result, this is a finding.
Navigate to and openĀ /usr/lib/vmware-vsphere-client/server/configuration/tomcat-server.xml in a text editor. On the first <Connector>, with redirectPort="9443", configure the port as follows: port="9090" On the second <Connector>, with SSLEnabled="true", configure the port as follows: port="9443"
At the command prompt, execute the following command: # xmllint --format --xpath '/Server/@port' /usr/lib/vmware-vsphere-client/server/configuration/tomcat-server.xml Expected result: port="-1" If the output does not match the expected result, this is a finding.
Navigate to and openĀ /usr/lib/vmware-vsphere-client/server/configuration/tomcat-server.xml in a text editor. Ensure that the server port is disabled as follows: <Server port="-1">
At the command prompt, execute the following command: # xmllint --format /usr/lib/vmware-vsphere-client/server/configuration/conf/web.xml | sed 's/xmlns=".*"//g' | xmllint --xpath '/web-app/session-config/cookie-config/secure' - Expected result: <secure>true</secure> If the output of the command does not match the expected result, this is a finding.
Navigate to and open /usr/lib/vmware-vsphere-client/server/configuration/conf/web.xml. Navigate to the /<web-apps>/<session-config>/<cookie-config> node and configure it as follows: <cookie-config> <http-only>true</http-only> <secure>true</secure> </cookie-config>
Virgo-Client 6.7 is no longer supported by the vendor. If the system is running Virgo-Client 6.7, this is a finding.
Upgrade to a supported version.