<?xml version="1.0" encoding="UTF-8"?>
<CHECKLIST>
  <ASSET>
    <ROLE>None</ROLE>
    <ASSET_TYPE>Computing</ASSET_TYPE>
    <HOST_NAME></HOST_NAME>
    <HOST_IP></HOST_IP>
  </ASSET>
  <STIGS>
    <iSTIG>
      <STIG_INFO>
        <SI_DATA>
          <SID_NAME>title</SID_NAME>
          <SID_DATA>VMware vSphere 7.0 vCenter Appliance UI Security Technical Implementation Guide</SID_DATA>
        </SI_DATA>
        <SI_DATA>
          <SID_NAME>version</SID_NAME>
          <SID_DATA>1</SID_DATA>
        </SI_DATA>
        <SI_DATA>
          <SID_NAME>releaseinfo</SID_NAME>
          <SID_DATA>Release: 2</SID_DATA>
        </SI_DATA>
      </STIG_INFO>
    <VULN>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Num</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>V-256778</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_ID</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>SV-256778r889333_rule</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Severity</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>medium</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_Title</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>vSphere UI must limit the amount of time that each Transmission Control Protocol (TCP) connection is kept alive.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Discuss</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>Denial of service (DoS) is one threat against web servers. Many DoS attacks attempt to consume web server resources in such a way that no more resources are available to satisfy legitimate requests.  
 
In Tomcat, the &quot;connectionTimeout&quot; attribute sets the number of milliseconds the server will wait after accepting a connection for the request Uniform Resource Identifier (URI) line to be presented. This timeout will also be used when reading the request body (if any). This prevents idle sockets that are not sending HTTP requests from consuming system resources and potentially denying new connections.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Check_Content</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>At the command prompt, run the following command: 
 
# xmllint --xpath &apos;/Server/Service/Connector[@port=&quot;${http.port}&quot;]/@connectionTimeout&apos; /usr/lib/vmware-vsphere-ui/server/conf/server.xml 
 
Expected result: 
 
connectionTimeout=&quot;300000&quot; 
 
If the output does not match the expected result, this is a finding.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Fix_Text</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>Navigate to and open: 
 
/usr/lib/vmware-vsphere-ui/server/conf/server.xml 
 
Configure the http &lt;Connector&gt; node with the value: 
 
connectionTimeout=&quot;300000&quot; 
 
Example: 
 
&lt;Connector .. connectionTimeout=&quot;300000&quot; ..&gt; 
 
Restart the service with the following command: 
 
# vmon-cli --restart vsphere-ui</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STATUS>Not_Reviewed</STATUS>
      <FINDING_DETAILS></FINDING_DETAILS>
      <COMMENTS></COMMENTS>
    </VULN>
    <VULN>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Num</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>V-256779</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_ID</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>SV-256779r889336_rule</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Severity</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>medium</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_Title</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>vSphere UI must limit the number of concurrent connections permitted.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Discuss</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>Resource exhaustion can occur when an unlimited number of concurrent requests are allowed on a website, facilitating a denial-of-service attack. Unless the number of requests is controlled, the web server can consume enough system resources to cause a system crash. 
 
Mitigating this kind of attack will include limiting the number of concurrent HTTP/HTTPS requests. Each incoming request requires a thread for the duration of that request. If more simultaneous requests are received than can be handled by the currently available request processing threads, additional threads will be created up to the value of the &quot;maxThreads&quot; attribute.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Check_Content</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>At the command prompt, run the following command: 
 
# xmllint --xpath &apos;/Server/Service/Connector[@port=&quot;${http.port}&quot;]/@maxThreads&apos; /usr/lib/vmware-vsphere-ui/server/conf/server.xml 
 
Expected result: 
 
maxThreads=&quot;800&quot; 
 
If the output does not match the expected result, this is a finding.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Fix_Text</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>Navigate to and open: 
 
/usr/lib/vmware-vsphere-ui/server/conf/server.xml 
 
Configure each &lt;Connector&gt; node with the value: 
 
maxThreads=&quot;800&quot; 
 
Example: 
 
&lt;Connector .. maxThreads=&quot;800&quot; ..&gt; 
 
Restart the service with the following command: 
 
# vmon-cli --restart vsphere-ui</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STATUS>Not_Reviewed</STATUS>
      <FINDING_DETAILS></FINDING_DETAILS>
      <COMMENTS></COMMENTS>
    </VULN>
    <VULN>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Num</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>V-256780</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_ID</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>SV-256780r889339_rule</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Severity</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>medium</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_Title</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>vSphere UI must limit the maximum size of a POST request.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Discuss</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>The &quot;maxPostSize&quot; value is the maximum size in bytes of the POST which will be handled by the container FORM URL parameter parsing. Limit its size to reduce exposure to a denial-of-service attack. 
 
If &quot;maxPostSize&quot; is not set, the default value of 2097152 (2MB) is used. The vSphere UI is configured in its shipping state to not set a value for &quot;maxPostSize&quot;.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Check_Content</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>At the command prompt, run the following command: 
 
# xmllint --xpath &apos;/Server/Service/Connector[@port=&quot;${http.port}&quot;]/@maxPostSize&apos; /usr/lib/vmware-vsphere-ui/server/conf/server.xml 
 
Expected result: 
 
XPath set is empty 
 
If the output does not match the expected result, this is a finding.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Fix_Text</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>Navigate to and open: 
 
/usr/lib/vmware-vsphere-ui/server/conf/server.xml 
 
Navigate to each of the &lt;Connector&gt; nodes. 
 
Remove any configuration for &quot;maxPostSize&quot;. 
 
Restart the service with the following command: 
 
# vmon-cli --restart vsphere-ui</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STATUS>Not_Reviewed</STATUS>
      <FINDING_DETAILS></FINDING_DETAILS>
      <COMMENTS></COMMENTS>
    </VULN>
    <VULN>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Num</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>V-256781</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_ID</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>SV-256781r889342_rule</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Severity</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>medium</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_Title</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>vSphere UI must protect cookies from cross-site scripting (XSS).</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Discuss</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>Cookies are a common way to save session state over the HTTP(S) protocol. If an attacker can compromise session data stored in a cookie, they are better able to launch an attack against the server and its applications. When a cookie is tagged with the &quot;HttpOnly&quot; flag, it tells the browser this particular cookie should only be accessed by the originating server. Any attempt to access the cookie from client script is strictly forbidden.

Satisfies: SRG-APP-000001-WSR-000002, SRG-APP-000439-WSR-000154</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Check_Content</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>At the command prompt, run the following command: 
 
# xmllint --format /usr/lib/vmware-vsphere-ui/server/conf/context.xml | xmllint --xpath &apos;/Context/@useHttpOnly&apos; - 
 
Expected result: 
 
useHttpOnly=&quot;true&quot; 
 
If the output does not match the expected result, this is a finding.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Fix_Text</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>Navigate to and open: 
 
/usr/lib/vmware-vsphere-ui/server/conf/context.xml 
 
Add the following configuration to the &lt;Context&gt; node: 
 
useHttpOnly=&quot;true&quot; 
 
Example: 
 
&lt;Context useHttpOnly=&quot;true&quot; sessionCookieName=&quot;VSPHERE-UI-JSESSIONID&quot; sessionCookiePath=&quot;/ui&quot;&gt; 
 
Restart the service with the following command: 
 
# vmon-cli --restart vsphere-ui</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STATUS>Not_Reviewed</STATUS>
      <FINDING_DETAILS></FINDING_DETAILS>
      <COMMENTS></COMMENTS>
    </VULN>
    <VULN>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Num</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>V-256782</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_ID</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>SV-256782r889345_rule</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Severity</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>medium</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_Title</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>vSphere UI must record user access in a format that enables monitoring of remote access.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Discuss</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>Remote access can be exploited by an attacker to compromise the server. By recording all remote access activities, it will be possible to determine the attacker&apos;s location, intent, and degree of success. 
 
Tomcat can be configured with an &quot;AccessLogValve&quot;, a component that can be inserted into the request processing pipeline to provide robust access logging. The &quot;AccessLogValve&quot; creates log files in the same format as those created by standard web servers. When &quot;AccessLogValve&quot; is properly configured, log files will contain all the forensic information necessary in the case of a security incident.

Satisfies: SRG-APP-000016-WSR-000005, SRG-APP-000089-WSR-000047, SRG-APP-000093-WSR-000053, SRG-APP-000095-WSR-000056, SRG-APP-000096-WSR-000057, SRG-APP-000097-WSR-000058, SRG-APP-000098-WSR-000059, SRG-APP-000098-WSR-000060, SRG-APP-000099-WSR-000061, SRG-APP-000100-WSR-000064, SRG-APP-000374-WSR-000172, SRG-APP-000375-WSR-000171</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Check_Content</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>At the command prompt, run the following command: 
 
# xmllint --format /usr/lib/vmware-vsphere-ui/server/conf/server.xml | xmllint --xpath &apos;/Server/Service/Engine/Host/Valve[@className=&quot;org.apache.catalina.valves.AccessLogValve&quot;]/@pattern&apos; - 
 
Expected result: 
 
pattern=&quot;%h %{x-forwarded-for}i %l %u %t &quot;%r&quot; %s %b %{#hashedClientId#}s %{#hashedRequestId#}r %I %D&quot; 
 
If the output does not match the expected result, this is a finding.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Fix_Text</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>Navigate to and open: 
 
/usr/lib/vmware-vsphere-ui/server/conf/server.xml 
 
Ensure the log pattern in the &quot;org.apache.catalina.valves.AccessLogValve&quot; node is set to the following: 
 
pattern=&quot;%h %{x-forwarded-for}i %l %u %t &quot;%r&quot; %s %b %{#hashedClientId#}s %{#hashedRequestId#}r %I %D&quot; 
 
Restart the service with the following command: 
 
# vmon-cli --restart vsphere-ui</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STATUS>Not_Reviewed</STATUS>
      <FINDING_DETAILS></FINDING_DETAILS>
      <COMMENTS></COMMENTS>
    </VULN>
    <VULN>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Num</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>V-256783</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_ID</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>SV-256783r889348_rule</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Severity</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>medium</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_Title</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>vSphere UI must generate log records for system startup and shutdown.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Discuss</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>Logging must be started as soon as possible when a service starts and when a service is stopped. Many forms of suspicious actions can be detected by analyzing logs for unexpected service starts and stops. Also, by starting to log immediately after a service starts, it becomes more difficult for suspicious activity to go unlogged. 
 
On the vCenter Server Appliance (VCSA), the &quot;vmware-vmon&quot; service starts up the Java virtual machines (JVMs) for various vCenter processes, including vSphere UI, and the individual json configuration files control the early JVM logging. Ensuring these json files are configured correctly enables early Java &quot;stdout&quot; and &quot;stderr&quot; logging.

Satisfies: SRG-APP-000089-WSR-000047, SRG-APP-000092-WSR-000055</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Check_Content</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>At the command prompt, run the following command: 
 
# grep StreamRedirectFile /etc/vmware/vmware-vmon/svcCfgfiles/vsphere-ui.json 
 
Expected result: 
 
&quot;StreamRedirectFile&quot;: &quot;%VMWARE_LOG_DIR%/vmware/vsphere-ui/logs/vsphere-ui-runtime.log&quot;, 
 
If no log file is specified for the &quot;StreamRedirectFile&quot; setting, this is a finding.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Fix_Text</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>Navigate to and open: 
 
/etc/vmware/vmware-vmon/svcCfgfiles/vsphere-ui.json 
 
Below the last line of the &quot;PreStartCommandArg&quot; block, add or reconfigure the following line: 
 
&quot;StreamRedirectFile&quot;: &quot;%VMWARE_LOG_DIR%/vmware/vsphere-ui/logs/vsphere-ui-runtime.log&quot;, 
 
Restart the appliance for changes to take effect.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STATUS>Not_Reviewed</STATUS>
      <FINDING_DETAILS></FINDING_DETAILS>
      <COMMENTS></COMMENTS>
    </VULN>
    <VULN>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Num</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>V-256784</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_ID</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>SV-256784r889351_rule</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Severity</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>medium</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_Title</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>vSphere UI log files must only be accessible by privileged users.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Discuss</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>Log data is essential in the investigation of events. If log data were to become compromised, competent forensic analysis and discovery of the true source of potentially malicious system activity would be difficult, if not impossible, to achieve. 
 
In addition, access to log records provides information an attacker could use to their advantage since each event record might contain communication ports, protocols, services, trust relationships, usernames, etc. The vSphere UI restricts all access to log files by default, but this configuration must be verified.

Satisfies: SRG-APP-000118-WSR-000068, SRG-APP-000119-WSR-000069, SRG-APP-000120-WSR-000070</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Check_Content</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>At the command prompt, run the following command: 
 
# find /var/log/vmware/vsphere-ui/ -xdev -type f -a &apos;(&apos; -perm -o+w -o -not -user vsphere-ui -o -not -group users -a -not -group root &apos;)&apos; -exec ls -ld {} \; 
 
If any files are returned, this is a finding.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Fix_Text</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>At the command prompt, run the following commands: 
 
# chmod 644 /storage/log/vmware/vsphere-ui/logs/&lt;file&gt; 
# chown vsphere-ui:users /storage/log/vmware/vsphere-ui/logs/&lt;file&gt; 
 
Note: Substitute &lt;file&gt; with the listed file.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STATUS>Not_Reviewed</STATUS>
      <FINDING_DETAILS></FINDING_DETAILS>
      <COMMENTS></COMMENTS>
    </VULN>
    <VULN>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Num</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>V-256785</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_ID</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>SV-256785r918981_rule</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Severity</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>medium</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_Title</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>vSphere UI application files must be verified for their integrity.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Discuss</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>Verifying the vSphere UI application code is unchanged from its shipping state is essential for file validation and nonrepudiation of the vSphere UI. There is no reason the MD5 hash of the RPM original files should be changed after installation, excluding configuration files.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Check_Content</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>At the command prompt, run the following command:

# rpm -V vsphere-ui|grep &quot;^..5......&quot;|grep -v -E &quot;\.prop|\.pass|\.xml|\.json&quot;

If there is any output, this is a finding.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Fix_Text</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>Reinstall the vCenter Server Appliance (VCSA) or roll back to a snapshot. 
 
VMware does not support modifying the vSphere UI installation files manually.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STATUS>Not_Reviewed</STATUS>
      <FINDING_DETAILS></FINDING_DETAILS>
      <COMMENTS></COMMENTS>
    </VULN>
    <VULN>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Num</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>V-256786</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_ID</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>SV-256786r889357_rule</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Severity</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>medium</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_Title</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>vSphere UI plugins must be authorized before use.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Discuss</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>The vSphere UI ships with a number of plugins out of the box. Any additional plugins may affect the availability and integrity of the system and must be approved and documented by the information system security officer (ISSO) before deployment.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Check_Content</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>At the command prompt, run the following command: 
 
# diff &lt;(find /usr/lib/vmware-vsphere-ui/plugin-packages/vsphere-client/plugins -type f|sort) &lt;(rpm -ql vsphere-ui|grep &quot;/usr/lib/vmware-vsphere-ui/plugin-packages/vsphere-client/plugins/&quot;|sort) 
 
If there is any output, this indicates a vSphere UI plugin is present that does not ship with the vCenter Server Appliance (VCSA). 
 
If this plugin is not known and approved, this is a finding.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Fix_Text</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>For every unauthorized plugin returned by the check, run the following command: 
 
# rm &lt;file&gt;</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STATUS>Not_Reviewed</STATUS>
      <FINDING_DETAILS></FINDING_DETAILS>
      <COMMENTS></COMMENTS>
    </VULN>
    <VULN>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Num</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>V-256787</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_ID</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>SV-256787r889360_rule</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Severity</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>medium</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_Title</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>vSphere UI must not be configured with the &quot;UserDatabaseRealm&quot; enabled.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Discuss</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>The vSphere UI performs user authentication at the application level and not through Tomcat. By default, there is no configuration for the &quot;UserDatabaseRealm&quot; Tomcat authentication mechanism. To eliminate unnecessary features and ensure the vSphere UI remains in its shipping state, the lack of a &quot;UserDatabaseRealm&quot; configuration must be confirmed.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Check_Content</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>At the command prompt, run the following command: 
 
# grep UserDatabaseRealm /usr/lib/vmware-vsphere-ui/server/conf/server.xml 
 
If the command produces any output, this is a finding.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Fix_Text</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>Navigate to and open: 
 
/usr/lib/vmware-vsphere-ui/server/conf/server.xml 
 
Remove all &lt;Realm&gt; nodes. 
 
Restart the service with the following command: 
 
# vmon-cli --restart vsphere-ui</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STATUS>Not_Reviewed</STATUS>
      <FINDING_DETAILS></FINDING_DETAILS>
      <COMMENTS></COMMENTS>
    </VULN>
    <VULN>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Num</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>V-256788</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_ID</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>SV-256788r889363_rule</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Severity</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>medium</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_Title</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>vSphere UI must be configured to limit access to internal packages.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Discuss</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>The &quot;package.access&quot; entry in the &quot;catalina.properties&quot; file implements access control at the package level. When properly configured, a Security Exception will be reported if an errant or malicious webapp attempts to access the listed internal classes directly or if a new class is defined under the protected packages. 
 
The vSphere UI comes preconfigured with the appropriate packages defined in &quot;package.access&quot;, and this configuration must be maintained.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Check_Content</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>At the command prompt, run the following command: 
 
# grep &quot;package.access&quot; /usr/lib/vmware-vsphere-ui/server/conf/catalina.properties 
 
Expected result: 
 
package.access=sun.,org.apache.catalina.,org.apache.coyote.,org.apache.jasper.,org.apache.tomcat. 
 
If the output of the command does not match the expected result, this is a finding.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Fix_Text</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>Navigate to and open: 
 
/usr/lib/vmware-sso/vmware-sts/conf/catalina.properties 
 
Ensure the &quot;package.access&quot; line is configured as follows: 
 
package.access=sun.,org.apache.catalina.,org.apache.coyote.,org.apache.jasper.,org.apache.tomcat. 
 
Restart the service with the following command: 
 
# vmon-cli --restart vsphere-ui</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STATUS>Not_Reviewed</STATUS>
      <FINDING_DETAILS></FINDING_DETAILS>
      <COMMENTS></COMMENTS>
    </VULN>
    <VULN>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Num</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>V-256789</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_ID</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>SV-256789r889366_rule</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Severity</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>medium</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_Title</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>vSphere UI must have Multipurpose Internet Mail Extensions (MIME) that invoke operating system shell programs disabled.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Discuss</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>MIME mappings tell the vSphere UI what type of program various file types and extensions are and what external utilities or programs are needed to execute the file type. By ensuring various shell script MIME types are not included in &quot;web.xml&quot;, the server is protected against malicious users tricking the server into executing shell command files.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Check_Content</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>At the command prompt, run the following command: 
 
# grep -En &apos;(x-csh&lt;)|(x-sh&lt;)|(x-shar&lt;)|(x-ksh&lt;)&apos; /usr/lib/vmware-vsphere-ui/server/conf/web.xml 
 
If the command produces any output, this is a finding.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Fix_Text</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>Navigate to and open: 
 
/usr/lib/vmware-vsphere-ui/server/conf/web.xml 
 
Remove all of the following nodes lines: 
 
&lt;mime-type&gt;application/x-csh&lt;/mime-type&gt; 
&lt;mime-type&gt;application/x-shar&lt;/mime-type&gt; 
&lt;mime-type&gt;application/x-sh&lt;/mime-type&gt; 
&lt;mime-type&gt;application/x-ksh&lt;/mime-type&gt; 
 
Restart the service with the following command: 
 
# vmon-cli --restart vsphere-ui 
 
Note: Delete the entire mime-mapping node for the target mime-type. 
 
Example: 
 
&lt;mime-mapping&gt; 
    &lt;extension&gt;sh&lt;/extension&gt; 
    &lt;mime-type&gt;application/x-sh&lt;/mime-type&gt; 
&lt;/mime-mapping&gt;</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STATUS>Not_Reviewed</STATUS>
      <FINDING_DETAILS></FINDING_DETAILS>
      <COMMENTS></COMMENTS>
    </VULN>
    <VULN>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Num</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>V-256790</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_ID</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>SV-256790r889369_rule</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Severity</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>medium</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_Title</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>vSphere UI must have mappings set for Java servlet pages.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Discuss</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>Resource mapping is the process of tying a particular file type to a process in the web server that can serve that type of file to a requesting client and identify which file types are not to be delivered to a client. 
 
By not specifying which files can and cannot be served to a user, the web server could deliver to a user web server configuration files, log files, password files, etc.  
 
As Tomcat is a Java-based web server, the main file extension used is *.jsp. This check ensures the *.jsp and *.jspx file types has been properly mapped to servlets.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Check_Content</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>At the command prompt, run the following command:  
 
# xmllint --format /usr/lib/vmware-vsphere-ui/server/conf/web.xml | sed &apos;s/xmlns=&quot;.*&quot;//g&apos; | xmllint --xpath &apos;/web-app/servlet-mapping/servlet-name[text()=&quot;jsp&quot;]/parent::servlet-mapping&apos; - 
 
Expected result: 
 
&lt;servlet-mapping&gt; 
  &lt;servlet-name&gt;jsp&lt;/servlet-name&gt; 
  &lt;url-pattern&gt;*.jsp&lt;/url-pattern&gt; 
  &lt;url-pattern&gt;*.jspx&lt;/url-pattern&gt; 
&lt;/servlet-mapping&gt; 
 
If the .jsp and .jspx file url-patterns are not configured as in the expected result, this is a finding.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Fix_Text</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>Navigate to and open: 
 
/usr/lib/vmware-vsphere-ui/server/conf/web.xml 
 
Navigate to and locate the mapping for the JSP servlet. It is the &lt;servlet-mapping&gt; node that contains &lt;servlet-name&gt;jsp&lt;/servlet-name&gt;. 
 
Configure the &lt;servlet-mapping&gt; node to look like the code snippet below: 
 
&lt;!-- The mappings for the JSP servlet --&gt; 
&lt;servlet-mapping&gt; 
  &lt;servlet-name&gt;jsp&lt;/servlet-name&gt; 
  &lt;url-pattern&gt;*.jsp&lt;/url-pattern&gt; 
  &lt;url-pattern&gt;*.jspx&lt;/url-pattern&gt; 
&lt;/servlet-mapping&gt; 
 
Restart the service with the following command: 
 
# vmon-cli --restart vsphere-ui</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STATUS>Not_Reviewed</STATUS>
      <FINDING_DETAILS></FINDING_DETAILS>
      <COMMENTS></COMMENTS>
    </VULN>
    <VULN>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Num</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>V-256791</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_ID</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>SV-256791r889372_rule</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Severity</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>medium</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_Title</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>vSphere UI must not have the Web Distributed Authoring (WebDAV) servlet installed.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Discuss</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>WebDAV is an extension to the HTTP protocol that, when developed, was meant to allow users to create, change, and move documents on a server, typically a web server or web share. WebDAV is not widely used and has serious security concerns because it may allow clients to modify unauthorized files on the web server and must therefore be disabled. 
 
Tomcat uses the &quot;org.apache.catalina.servlets.WebdavServlet&quot; servlet to provide WebDAV services. Because the WebDAV service has been found to have an excessive number of vulnerabilities, this servlet must not be installed. vSphere UI does not configure WebDAV by default.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Check_Content</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>At the command prompt, run the following command:  
 
# grep -n &apos;webdav&apos; /usr/lib/vmware-vsphere-ui/server/conf/web.xml 
 
If the command produces any output, this is a finding.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Fix_Text</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>Navigate to and open: 
 
/usr/lib/vmware-vsphere-ui/server/conf/web.xml. 
 
Find the &lt;servlet-name&gt;webdav&lt;/servlet-name&gt; node and remove the entire parent &lt;servlet&gt; block. 
 
Find the &lt;servlet-name&gt;webdav&lt;/servlet-name&gt; node and remove the entire parent &lt;servlet-mapping&gt; block. 
 
Restart the service with the following command: 
 
# vmon-cli --restart vsphere-ui</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STATUS>Not_Reviewed</STATUS>
      <FINDING_DETAILS></FINDING_DETAILS>
      <COMMENTS></COMMENTS>
    </VULN>
    <VULN>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Num</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>V-256792</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_ID</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>SV-256792r889375_rule</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Severity</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>medium</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_Title</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>vSphere UI must be configured with memory leak protection.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Discuss</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>The Java Runtime environment can cause a memory leak or lock files under certain conditions. Without memory leak protection, vSphere UI can continue to consume system resources, which will lead to &quot;OutOfMemoryErrors&quot; when reloading web applications. 
 
Memory leaks occur when JRE code uses the context class loader to load a singleton, as this will cause a memory leak if a web application class loader happens to be the context class loader at the time. The &quot;JreMemoryLeakPreventionListener&quot; class is designed to initialize these singletons when Tomcat&apos;s common class loader is the context class loader. Proper use of JRE memory leak protection will ensure the hosted application does not consume system resources and cause an unstable environment.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Check_Content</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>At the command prompt, run the following command:  
 
# grep JreMemoryLeakPreventionListener /usr/lib/vmware-vsphere-ui/server/conf/server.xml 
 
Expected result: 
 
&lt;Listener className=&quot;org.apache.catalina.core.JreMemoryLeakPreventionListener&quot;/&gt; 
 
If the output of the command does not match the expected result, this is a finding.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Fix_Text</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>Navigate to and open: 
 
/usr/lib/vmware-vsphere-ui/server/conf/server.xml 
 
Navigate to the &lt;Server&gt; node. 
 
Add &apos;&lt;Listener className=&quot;org.apache.catalina.core.JreMemoryLeakPreventionListener&quot;/&gt;&apos; to the &lt;Server&gt; node. 
 
Restart the service with the following command: 
 
# vmon-cli --restart vsphere-ui</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STATUS>Not_Reviewed</STATUS>
      <FINDING_DETAILS></FINDING_DETAILS>
      <COMMENTS></COMMENTS>
    </VULN>
    <VULN>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Num</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>V-256793</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_ID</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>SV-256793r889378_rule</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Severity</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>medium</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_Title</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>vSphere UI must not have any symbolic links in the web content directory tree.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Discuss</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>A web server is designed to deliver content and execute scripts or applications on the request of a client or user. Containing user requests to files in the directory tree of the hosted web application and limiting the execution of scripts and applications guarantees the user is not accessing information protected outside the application&apos;s realm. 
 
By checking that no symbolic links exist in the document root, the web server is protected from users jumping outside the hosted application directory tree and gaining access to the other directories, including the system root.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Check_Content</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>At the command prompt, run the following command: 
 
# find /usr/lib/vmware-vsphere-ui/server/static/ -type l -ls 
 
If the command produces any output, this is a finding.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Fix_Text</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>At the command prompt, run the following command: 
 
Note: Replace &lt;file_name&gt; for the name of any files that were returned. 
 
unlink &lt;file_name&gt; 
 
Repeat the command for each file that was returned.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STATUS>Not_Reviewed</STATUS>
      <FINDING_DETAILS></FINDING_DETAILS>
      <COMMENTS></COMMENTS>
    </VULN>
    <VULN>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Num</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>V-256794</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_ID</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>SV-256794r889381_rule</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Severity</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>medium</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_Title</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>The vSphere UI directory tree must have permissions in an out-of-the-box state.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Discuss</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>As a rule, accounts on a web server are to be kept to a minimum. Only administrators, web managers, developers, auditors, and web authors require accounts on the machine hosting the web server. The resources to which these accounts have access must also be closely monitored and controlled. The vSphere UI files must be adequately protected with correct permissions as applied out of the box.

Satisfies: SRG-APP-000211-WSR-000030, SRG-APP-000380-WSR-000072</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Check_Content</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>At the command prompt, run the following command: 
 
# find /usr/lib/vmware-vsphere-ui/server/lib /usr/lib/vmware-vsphere-ui/server/conf -xdev -type f -a &apos;(&apos; -perm -o+w -o -not -user root -o -not -group root &apos;)&apos; -exec ls -ld {} \; 
 
If the command produces any output, this is a finding.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Fix_Text</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>At the command prompt, run the following commands: 
 
# chmod o-w &lt;file&gt; 
# chown root:root &lt;file&gt; 
 
Repeat the commands for each file that was returned.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STATUS>Not_Reviewed</STATUS>
      <FINDING_DETAILS></FINDING_DETAILS>
      <COMMENTS></COMMENTS>
    </VULN>
    <VULN>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Num</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>V-256795</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_ID</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>SV-256795r889384_rule</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Severity</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>medium</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_Title</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>vSphere UI must restrict its cookie path.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Discuss</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>Cookies are used to exchange data between the web server and the client. Cookies, such as a session cookie, may contain session information and user credentials used to maintain a persistent connection between the user and the hosted application since HTTP/HTTPS is a stateless protocol. 
 
vSphere UI is bound to the &quot;/ui&quot; virtual path behind the reverse proxy, and its cookies are configured as such. This configuration must be confirmed and maintained.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Check_Content</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>At the command prompt, run the following command: 
 
# xmllint --format /usr/lib/vmware-vsphere-ui/server/conf/context.xml | xmllint --xpath &apos;/Context/@sessionCookiePath&apos; - 
 
Expected result: 
 
sessionCookiePath=&quot;/ui&quot; 
 
If the output does not match the expected result, this is a finding.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Fix_Text</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>Navigate to and open: 
 
/usr/lib/vmware-vsphere-ui/server/conf/context.xml 
 
Add the following configuration to the &lt;Context&gt; node: 
 
sessionCookiePath=&quot;/ui&quot; 
 
Example: 
 
&lt;Context useHttpOnly=&quot;true&quot; sessionCookieName=&quot;VSPHERE-UI-JSESSIONID&quot; sessionCookiePath=&quot;/ui&quot;&gt; 
 
Restart the service with the following command: 
 
# vmon-cli --restart vsphere-ui</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STATUS>Not_Reviewed</STATUS>
      <FINDING_DETAILS></FINDING_DETAILS>
      <COMMENTS></COMMENTS>
    </VULN>
    <VULN>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Num</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>V-256796</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_ID</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>SV-256796r889387_rule</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Severity</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>medium</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_Title</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>vSphere UI must fail to a known safe state if system initialization fails, shutdown fails, or aborts fail.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Discuss</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>Determining a safe state for failure and weighing that against a potential denial of service for users depends on what type of application the web server is hosting. For the Security Token Service, it is preferable that the service abort startup on any initialization failure rather than continuing in a degraded, and potentially insecure, state.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Check_Content</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>At the command line, run the following command: 
 
# grep EXIT_ON_INIT_FAILURE /usr/lib/vmware-vsphere-ui/server/conf/catalina.properties 
 
Expected result: 
 
org.apache.catalina.startup.EXIT_ON_INIT_FAILURE=true 
 
If the output of the command does not match the expected result, this is a finding.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Fix_Text</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>Navigate to and open: 
 
/usr/lib/vmware-vsphere-ui/server/conf/catalina.properties 
 
Add or change the following line: 
 
org.apache.catalina.startup.EXIT_ON_INIT_FAILURE=true 
 
Restart the service with the following command: 
 
# vmon-cli --restart vsphere-ui</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STATUS>Not_Reviewed</STATUS>
      <FINDING_DETAILS></FINDING_DETAILS>
      <COMMENTS></COMMENTS>
    </VULN>
    <VULN>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Num</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>V-256797</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_ID</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>SV-256797r889390_rule</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Severity</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>medium</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_Title</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>vSphere UI must limit the number of allowed connections.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Discuss</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>Limiting the number of established connections is a basic denial-of-service protection and a best practice. Servers where the limit is too high or unlimited can run out of system resources and negatively affect system availability.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Check_Content</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>At the command prompt, run the following command: 
 
# xmllint --xpath &apos;/Server/Service/Connector[@port=&quot;${http.port}&quot;]/@acceptCount&apos; /usr/lib/vmware-vsphere-ui/server/conf/server.xml 
 
Expected result: 
 
acceptCount=&quot;300&quot; 
 
If the output does not match the expected result, this is a finding.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Fix_Text</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>Navigate to and open: 
 
/usr/lib/vmware-vsphere-ui/server/conf/server.xml 
 
Navigate to the &lt;Connector&gt; configured with port=&quot;${http.port}&quot;. 
 
Add or change the following value: 
 
acceptCount=&quot;300&quot; 
 
Restart the service with the following command: 
 
# vmon-cli --restart vsphere-ui</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STATUS>Not_Reviewed</STATUS>
      <FINDING_DETAILS></FINDING_DETAILS>
      <COMMENTS></COMMENTS>
    </VULN>
    <VULN>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Num</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>V-256798</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_ID</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>SV-256798r889393_rule</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Severity</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>medium</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_Title</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>vSphere UI must set URIEncoding to UTF-8.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Discuss</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>Invalid user input occurs when a user inserts data or characters into a hosted application&apos;s data entry field and the hosted application is unprepared to process that data. This results in unanticipated application behavior, potentially leading to an application compromise. Invalid user input is one of the primary methods employed when attempting to compromise an application.  
 
An attacker can also enter Unicode characters into hosted applications in an effort to break out of the document home or root home directory or to bypass security checks. vSphere UI must be configured to use a consistent character set via the &quot;URIEncoding&quot; attribute on the Connector nodes.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Check_Content</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>At the command prompt, run the following command: 
 
# xmllint --xpath &apos;/Server/Service/Connector[@port=&quot;${http.port}&quot;]/@URIEncoding&apos; /usr/lib/vmware-vsphere-ui/server/conf/server.xml 
 
Expected result: 
 
URIEncoding=&quot;UTF-8&quot; 
 
If the output does not match the expected result, this is a finding.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Fix_Text</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>Navigate to and open: 
 
/usr/lib/vmware-vsphere-ui/server/conf/server.xml 
 
Navigate to each of the &lt;Connector&gt; nodes. 
 
Configure each &lt;Connector&gt; node with the value &apos;URIEncoding=&quot;UTF-8&quot;&apos;. 
 
Restart the service with the following command: 
 
# vmon-cli --restart vsphere-ui</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STATUS>Not_Reviewed</STATUS>
      <FINDING_DETAILS></FINDING_DETAILS>
      <COMMENTS></COMMENTS>
    </VULN>
    <VULN>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Num</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>V-256799</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_ID</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>SV-256799r889396_rule</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Severity</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>medium</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_Title</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>vSphere UI must set the welcome-file node to a default web page.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Discuss</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>Enumeration techniques, such as URL parameter manipulation, rely on being able to obtain information about the web server&apos;s directory structure by locating directories without default pages. In this scenario, the web server will display to the user a listing of the files in the directory being accessed. 
 
By having a default hosted application web page, the anonymous web user will not obtain directory browsing information or an error message that reveals the server type and version. Ensuring every document directory has an &quot;index.jsp&quot; (or equivalent) file is one approach to mitigating the vulnerability.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Check_Content</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>At the command prompt, run the following command: 
  
# xmllint --format /usr/lib/vmware-vsphere-ui/server/conf/web.xml | sed &apos;s/xmlns=&quot;.*&quot;//g&apos; | xmllint --xpath &apos;/web-app/welcome-file-list&apos; - 
 
Expected result: 
 
&lt;welcome-file-list&gt; 
  &lt;welcome-file&gt;index.html&lt;/welcome-file&gt; 
  &lt;welcome-file&gt;index.htm&lt;/welcome-file&gt; 
  &lt;welcome-file&gt;index.jsp&lt;/welcome-file&gt; 
&lt;/welcome-file-list&gt; 
 
If the output of the command does not match the expected result, this is a finding.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Fix_Text</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>Navigate to and open: 
 
/usr/lib/vmware-vsphere-ui/server/conf/web.xml 
 
Add the following section under the &lt;web-apps&gt; node: 
 
&lt;welcome-file-list&gt; 
  &lt;welcome-file&gt;index.html&lt;/welcome-file&gt; 
  &lt;welcome-file&gt;index.htm&lt;/welcome-file&gt; 
  &lt;welcome-file&gt;index.jsp&lt;/welcome-file&gt; 
&lt;/welcome-file-list&gt; 
 
Restart the service with the following command: 
 
# vmon-cli --restart vsphere-ui</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STATUS>Not_Reviewed</STATUS>
      <FINDING_DETAILS></FINDING_DETAILS>
      <COMMENTS></COMMENTS>
    </VULN>
    <VULN>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Num</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>V-256800</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_ID</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>SV-256800r889399_rule</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Severity</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>medium</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_Title</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>The vSphere UI must not show directory listings.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Discuss</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>Enumeration techniques, such as URL parameter manipulation, rely on being able to obtain information about the web server&apos;s directory structure by locating directories without default pages. In this scenario, the web server will display to the user a listing of the files in the directory being accessed. Ensuring directory listing is disabled is one approach to mitigating the vulnerability.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Check_Content</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>At the command prompt, run the following command: 
 
# xmllint --format /usr/lib/vmware-vsphere-ui/server/conf/web.xml | sed &apos;s/xmlns=&quot;.*&quot;//g&apos; | xmllint --xpath &apos;//param-name[text()=&quot;listings&quot;]/parent::init-param&apos; - 
 
Expected result: 
 
&lt;init-param&gt; 
      &lt;param-name&gt;listings&lt;/param-name&gt; 
      &lt;param-value&gt;false&lt;/param-value&gt; 
&lt;/init-param&gt; 
 
If the output of the command does not match the expected result, this is a finding.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Fix_Text</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>Navigate to and open: 
 
/usr/lib/vmware-vsphere-ui/server/conf/web.xml 
 
Set the &lt;param-value&gt; to &quot;false&quot; in all &lt;param-name&gt;listing&lt;/param-name&gt; nodes. 
 
Note: The setting should look like the following: 
 
&lt;init-param&gt; 
      &lt;param-name&gt;listings&lt;/param-name&gt; 
      &lt;param-value&gt;false&lt;/param-value&gt; 
&lt;/init-param&gt; 
 
Restart the service with the following command: 
 
# vmon-cli --restart vsphere-ui</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STATUS>Not_Reviewed</STATUS>
      <FINDING_DETAILS></FINDING_DETAILS>
      <COMMENTS></COMMENTS>
    </VULN>
    <VULN>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Num</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>V-256801</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_ID</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>SV-256801r889402_rule</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Severity</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>medium</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_Title</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>vSphere UI must be configured to hide the server version.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Discuss</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>Web servers will often display error messages to client users with enough information to aid in the debugging of the error. The information given back in error messages may display the web server type, version, patches installed, plug-ins and modules installed, type of code being used by the hosted application, and any backends being used for data storage. 
 
This information could be used by an attacker to blueprint what type of attacks might be successful. Therefore, vSphere UI must be configured to hide the server version at all times.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Check_Content</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>At the command prompt, run the following command: 
 
# xmllint --xpath &apos;/Server/Service/Connector[@port=&quot;${http.port}&quot;]/@server&apos; /usr/lib/vmware-vsphere-ui/server/conf/server.xml  
 
Expected result: 
 
server=&quot;Anonymous&quot; 
 
If the output does not match the expected result, this is a finding.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Fix_Text</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>Navigate to and open: 
 
/usr/lib/vmware-vsphere-ui/server/conf/server.xml 
 
Navigate to each of the &lt;Connector&gt; nodes. 
 
Configure each &lt;Connector&gt; node with &apos;server=&quot;Anonymous&quot;&apos;. 
 
Restart the service with the following command: 
 
# vmon-cli --restart vsphere-ui</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STATUS>Not_Reviewed</STATUS>
      <FINDING_DETAILS></FINDING_DETAILS>
      <COMMENTS></COMMENTS>
    </VULN>
    <VULN>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Num</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>V-256802</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_ID</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>SV-256802r889405_rule</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Severity</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>medium</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_Title</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>vSphere UI must be configured to show error pages with minimal information.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Discuss</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>Web servers will often display error messages to client users with enough information to aid in the debugging of the error. The information given back in error messages may display the web server type, version, patches installed, plug-ins and modules installed, type of code being used by the hosted application, and any backends being used for data storage. 
 
This information could be used by an attacker to blueprint what type of attacks might be successful. Therefore, vSphere UI must be configured to not show server version information in error pages.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Check_Content</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>At the command prompt, run the following command: 
 
# xmllint --format /usr/lib/vmware-vsphere-ui/server/conf/server.xml | xmllint --xpath &apos;/Server/Service/Engine/Host/Valve[@className=&quot;org.apache.catalina.valves.ErrorReportValve&quot;]&apos; - 
 
Expected result: 
 
&lt;Valve className=&quot;org.apache.catalina.valves.ErrorReportValve&quot; showServerInfo=&quot;false&quot; showReport=&quot;false&quot;/&gt; 
 
If the output of the command does not match the expected result, this is a finding.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Fix_Text</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>Navigate to and open: 
 
 /usr/lib/vmware-vsphere-ui/server/conf/server.xml 
 
Locate the following Host block: 
 
&lt;Host ...&gt; 
... 
&lt;/Host&gt; 
 
Inside this block, remove any existing Valve with className=&quot;org.apache.catalina.valves.ErrorReportValve&quot; and add the following: 
 
&lt;Valve className=&quot;org.apache.catalina.valves.ErrorReportValve&quot; showServerInfo=&quot;false&quot; showReport=&quot;false&quot;/&gt; 
 
Restart the service with the following command: 
 
# vmon-cli --restart vsphere-ui</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STATUS>Not_Reviewed</STATUS>
      <FINDING_DETAILS></FINDING_DETAILS>
      <COMMENTS></COMMENTS>
    </VULN>
    <VULN>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Num</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>V-256803</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_ID</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>SV-256803r889408_rule</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Severity</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>medium</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_Title</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>vSphere UI must not enable support for TRACE requests.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Discuss</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>&quot;TRACE&quot; is a technique for a user to request internal information about Tomcat. This is useful during product development but should not be enabled in production. Allowing an attacker to conduct a TRACE operation against the web service will expose information that would be useful to perform a more targeted attack. vSphere UI provides the &quot;allowTrace&quot; parameter as means to disable responding to TRACE requests.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Check_Content</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>At the command prompt, run the following command: 
 
# grep allowTrace /usr/lib/vmware-vsphere-ui/server/conf/server.xml 
 
If &quot;allowTrace&quot; is set to &quot;true&quot;, this is a finding. 
 
If no line is returned, this is not a finding.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Fix_Text</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>Navigate to and open: 
 
/usr/lib/vmware-vsphere-ui/server/conf/server.xml 
 
Navigate to and locate &apos;allowTrace=&quot;true&quot;&apos;. 
 
Remove the &apos;allowTrace=&quot;true&quot;&apos; setting. 
 
Restart the service with the following command: 
 
# vmon-cli --restart vsphere-ui</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STATUS>Not_Reviewed</STATUS>
      <FINDING_DETAILS></FINDING_DETAILS>
      <COMMENTS></COMMENTS>
    </VULN>
    <VULN>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Num</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>V-256804</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_ID</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>SV-256804r889411_rule</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Severity</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>medium</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_Title</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>vSphere UI must have the debug option turned off.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Discuss</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>Information needed by an attacker to begin looking for possible vulnerabilities in a web server includes any information about the web server and plug-ins or modules being used. When debugging or trace information is enabled in a production web server, information about the web server, such as web server type, version, patches installed, plug-ins and modules installed, type of code being used by the hosted application, and any backends being used for data storage, may be displayed. Because this information may be placed in logs and general messages during normal operation of the web server, an attacker does not need to cause an error condition to gain this information. 
 
vSphere UI can be configured to set the debugging level. By setting the debugging level to zero, no debugging information will be provided to a malicious user.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Check_Content</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>At the command prompt, run the following command: 
 
# xmllint --format /usr/lib/vmware-vsphere-ui/server/conf/web.xml | sed &apos;s/xmlns=&quot;.*&quot;//g&apos; | xmllint --xpath &apos;//param-name[text()=&quot;debug&quot;]/parent::init-param&apos; - 
 
Expected result: 
 
&lt;init-param&gt; 
  &lt;param-name&gt;debug&lt;/param-name&gt; 
  &lt;param-value&gt;0&lt;/param-value&gt; 
&lt;/init-param&gt; 
 
If the output of the command does not match the expected result, this is a finding.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Fix_Text</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>Navigate to and open: 
 
/usr/lib/vmware-vsphere-ui/server/conf/web.xml 
 
Navigate to all &lt;debug&gt; nodes that are not set to &quot;0&quot;. 
 
Set the &lt;param-value&gt; to &quot;0&quot; in all &lt;param-name&gt;debug&lt;/param-name&gt; nodes. 
 
Note: The debug setting should look like the following: 
 
&lt;init-param&gt; 
  &lt;param-name&gt;debug&lt;/param-name&gt; 
  &lt;param-value&gt;0&lt;/param-value&gt; 
&lt;/init-param&gt; 
 
Restart the service with the following command: 
 
# vmon-cli --restart vsphere-ui</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STATUS>Not_Reviewed</STATUS>
      <FINDING_DETAILS></FINDING_DETAILS>
      <COMMENTS></COMMENTS>
    </VULN>
    <VULN>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Num</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>V-256805</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_ID</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>SV-256805r889414_rule</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Severity</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>medium</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_Title</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>vSphere UI must use a logging mechanism that is configured to allocate log record storage capacity large enough to accommodate the logging requirements of the web server.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Discuss</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>To ensure the logging mechanism used by the web server has sufficient storage capacity in which to write the logs, the logging mechanism must be able to allocate log record storage capacity. vSphere UI configures log sizes and rotation appropriately as part of its installation routine. Verifying that the logging configuration file (&quot;serviceability.xml&quot;) has not been modified is sufficient to determine if the logging configuration has been modified from the default.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Check_Content</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>At the command prompt, run the following command: 
 
# rpm -V vsphere-ui|grep serviceability.xml|grep &quot;^..5......&quot; 
 
If the command returns any output, this is a finding.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Fix_Text</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>Reinstall the VCSA or roll back to a snapshot. 
 
VMware does not support modifying the vSphere UI installation files manually.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STATUS>Not_Reviewed</STATUS>
      <FINDING_DETAILS></FINDING_DETAILS>
      <COMMENTS></COMMENTS>
    </VULN>
    <VULN>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Num</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>V-256806</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_ID</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>SV-256806r889417_rule</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Severity</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>medium</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_Title</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>vSphere UI log files must be moved to a permanent repository in accordance with site policy.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Discuss</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>vSphere UI produces several logs that must be offloaded from the originating system. This information can then be used for diagnostic, forensics, or other purposes relevant to ensuring the availability and integrity of the hosted application. 
 
vSphere UI syslog configuration is included by default as part of the VMware-visl-integration package. The shipping state of the configuration file must be verified and maintained.

Satisfies: SRG-APP-000358-WSR-000163, SRG-APP-000108-WSR-000166, SRG-APP-000125-WSR-000071</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Check_Content</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>At the command prompt, run the following command: 
 
# rpm -V VMware-visl-integration|grep vmware-services-vsphere-ui.conf|grep &quot;^..5......&quot; 
 
If the command returns any output, this is a finding.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Fix_Text</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>Navigate to and open: 
 
/etc/vmware-syslog/vmware-services-vsphere-ui.conf 
 
Create the file if it does not exist. 
 
Set the contents of the file as follows: 
 
input(type=&quot;imfile&quot; 
      File=&quot;/var/log/vmware/vsphere-ui/logs/vsphere_client_virgo.log&quot; 
      Tag=&quot;ui-main&quot; 
      Severity=&quot;info&quot; 
      Facility=&quot;local0&quot;) 
input(type=&quot;imfile&quot; 
      File=&quot;/var/log/vmware/vsphere-ui/logs/changelog.log&quot; 
      Tag=&quot;ui-changelog&quot; 
      Severity=&quot;info&quot; 
      Facility=&quot;local0&quot;) 
input(type=&quot;imfile&quot; 
      File=&quot;/var/log/vmware/vsphere-ui/logs/dataservice.log&quot; 
      Tag=&quot;ui-dataservice&quot; 
      Severity=&quot;info&quot; 
      Facility=&quot;local0&quot;) 
input(type=&quot;imfile&quot; 
      File=&quot;/var/log/vmware/vsphere-ui/logs/apigw.log&quot; 
      Tag=&quot;ui-apigw&quot; 
      Severity=&quot;info&quot; 
      Facility=&quot;local0&quot;) 
input(type=&quot;imfile&quot; 
      File=&quot;/var/log/vmware/vsphere-ui/logs/equinox.log&quot; 
      Tag=&quot;ui-equinox&quot; 
      Severity=&quot;info&quot; 
      Facility=&quot;local0&quot;) 
input(type=&quot;imfile&quot; 
      File=&quot;/var/log/vmware/vsphere-ui/logs/eventlog.log&quot; 
      Tag=&quot;ui-eventlog&quot; 
      Severity=&quot;info&quot; 
      Facility=&quot;local0&quot;) 
input(type=&quot;imfile&quot; 
      File=&quot;/var/log/vmware/vsphere-ui/logs/httpRequest.log&quot; 
      Tag=&quot;ui-httpRequest&quot; 
      Severity=&quot;info&quot; 
      Facility=&quot;local0&quot;) 
input(type=&quot;imfile&quot; 
      File=&quot;/var/log/vmware/vsphere-ui/logs/opid.log&quot; 
      Tag=&quot;ui-opid&quot; 
      Severity=&quot;info&quot; 
      Facility=&quot;local0&quot;) 
input(type=&quot;imfile&quot; 
      File=&quot;/var/log/vmware/vsphere-ui/logs/osgi.log&quot; 
      Tag=&quot;ui-osgi&quot; 
      Severity=&quot;info&quot; 
      Facility=&quot;local0&quot;) 
input(type=&quot;imfile&quot; 
      File=&quot;/var/log/vmware/vsphere-ui/logs/performanceAudit.log&quot; 
      Tag=&quot;ui-performanceAudit&quot; 
      Severity=&quot;info&quot; 
      Facility=&quot;local0&quot;) 
input(type=&quot;imfile&quot; 
      File=&quot;/var/log/vmware/vsphere-ui/logs/plugin-medic.log&quot; 
      Tag=&quot;ui-plugin-medic&quot; 
      Severity=&quot;info&quot; 
      Facility=&quot;local0&quot;) 
input(type=&quot;imfile&quot; 
      File=&quot;/var/log/vmware/vsphere-ui/logs/threadmonitor.log&quot; 
      Tag=&quot;ui-threadmonitor&quot; 
      Severity=&quot;info&quot; 
      Facility=&quot;local0&quot;) 
input(type=&quot;imfile&quot; 
      File=&quot;/var/log/vmware/vsphere-ui/logs/threadpools.log&quot; 
      Tag=&quot;ui-threadpools&quot; 
      Severity=&quot;info&quot; 
      Facility=&quot;local0&quot;) 
input(type=&quot;imfile&quot; 
      File=&quot;/var/log/vmware/vsphere-ui/logs/vspheremessaging.log&quot; 
      Tag=&quot;ui-vspheremessaging&quot; 
      Severity=&quot;info&quot; 
      Facility=&quot;local0&quot;) 
input(type=&quot;imfile&quot; 
      File=&quot;/var/log/vmware/vsphere-ui/logs/vsphere-ui-rpm.log&quot; 
      Tag=&quot;ui-rpm&quot; 
      Severity=&quot;info&quot; 
      Facility=&quot;local0&quot;) 
input(type=&quot;imfile&quot; 
      File=&quot;/var/log/vmware/vsphere-ui/logs/vsphere-ui-runtime*&quot; 
      Tag=&quot;ui-runtime&quot; 
      Severity=&quot;info&quot; 
      Facility=&quot;local0&quot;) 
input(type=&quot;imfile&quot; 
      File=&quot;/var/log/vmware/vsphere-ui/logs/access/localhost_access*&quot; 
      Tag=&quot;ui-access&quot; 
      Severity=&quot;info&quot; 
      Facility=&quot;local0&quot;) 
input(type=&quot;imfile&quot; 
      File=&quot;/var/log/vmware/vsphere-ui/vsphere-ui-gc*&quot; 
      Tag=&quot;ui-gc&quot; 
      Severity=&quot;info&quot; 
      Facility=&quot;local0&quot;) 
input(type=&quot;imfile&quot; 
      File=&quot;/var/log/firstboot/vsphere_ui_firstboot*&quot; 
      Tag=&quot;ui-firstboot&quot; 
      Severity=&quot;info&quot; 
      Facility=&quot;local0&quot;)</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STATUS>Not_Reviewed</STATUS>
      <FINDING_DETAILS></FINDING_DETAILS>
      <COMMENTS></COMMENTS>
    </VULN>
    <VULN>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Num</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>V-256807</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_ID</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>SV-256807r889420_rule</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Severity</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>medium</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_Title</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>vSphere UI must be configured with the appropriate ports.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Discuss</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>Web servers provide numerous processes, features, and functionalities that use TCP/IP ports. Some of these processes may be deemed unnecessary or too unsecure to run on a production system. The ports that vSphere UI listens on are configured in the &quot;catalina.properties&quot; file and must be verified as accurate to their shipping state.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Check_Content</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>At the command prompt, run the following command: 
 
# grep &apos;\.port&apos; /usr/lib/vmware-vsphere-ui/server/conf/catalina.properties 
 
Expected result: 
 
http.port=5090 
proxy.port=443 
 
If the output of the command does not match the expected result, this is a finding.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Fix_Text</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>Navigate to and open: 
 
/usr/lib/vmware-vsphere-ui/server/conf/catalina.properties 
 
Navigate to the ports specification section. 
 
Set the vSphere UI port specifications according to the shipping configuration as follows: 
 
http.port=5090 
proxy.port=443 
 
Restart the service with the following command: 
 
# vmon-cli --restart vsphere-ui</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STATUS>Not_Reviewed</STATUS>
      <FINDING_DETAILS></FINDING_DETAILS>
      <COMMENTS></COMMENTS>
    </VULN>
    <VULN>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Num</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>V-256808</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_ID</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>SV-256808r889423_rule</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Severity</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>medium</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_Title</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>vSphere UI must disable the shutdown port.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Discuss</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>An attacker has at least two reasons to stop a web server. The first is to cause a denial of service, and the second is to put in place changes the attacker made to the web server configuration. If the Tomcat shutdown port feature is enabled, a shutdown signal can be sent to vSphere UI through this port. To ensure availability, the shutdown port must be disabled.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Check_Content</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>At the command prompt, run the following commands: 
 
# xmllint --format /usr/lib/vmware-vsphere-ui/server/conf/server.xml | sed &apos;2 s/xmlns=&quot;.*&quot;//g&apos; |  xmllint --xpath &apos;/Server/@port&apos; - 
 
Expected result: 
 
port=&quot;${shutdown.port}&quot; 
 
If the output does not match the expected result, this is a finding. 
 
# grep shutdown /etc/vmware/vmware-vmon/svcCfgfiles/vsphere-ui.json|sed -e &apos;s/^[ ]*//&apos; 
 
Expected result: 
 
&quot;-Dshutdown.port=-1&quot;, 
 
If the output does not match the expected result, this is a finding.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Fix_Text</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>Navigate to and open: 
 
/usr/lib/vmware-vsphere-ui/server/conf/server.xml 
 
Ensure the server port is disabled: 
 
&lt;Server port=&quot;${shutdown.port}&quot;&gt; 
 
Restart the service with the following command: 
 
# vmon-cli --restart vsphere-ui</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STATUS>Not_Reviewed</STATUS>
      <FINDING_DETAILS></FINDING_DETAILS>
      <COMMENTS></COMMENTS>
    </VULN>
    <VULN>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Num</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>V-256809</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_ID</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>SV-256809r889426_rule</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Severity</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>medium</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_Title</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>vSphere UI must set the secure flag for cookies.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Discuss</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>The secure flag is an option that can be set by the application server when sending a new cookie to the user within an HTTP response. The purpose of the secure flag is to prevent cookies from being observed by unauthorized parties due to the transmission of a cookie in clear text. 
 
By setting the secure flag, the browser will prevent the transmission of a cookie over an unencrypted channel. vSphere UI is configured to only be accessible over a Transport Layer Security (TLS) tunnel, but this cookie flag is still a recommended best practice.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Check_Content</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>At the command prompt, run the following command: 
 
# xmllint --format /usr/lib/vmware-vsphere-ui/server/conf/web.xml | sed &apos;s/xmlns=&quot;.*&quot;//g&apos; | xmllint --xpath &apos;/web-app/session-config/cookie-config/secure&apos; - 
 
Expected result: 
 
&lt;secure&gt;true&lt;/secure&gt; 
 
If the output of the command does not match the expected result, this is a finding.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Fix_Text</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>Navigate to and open: 
 
/usr/lib/vmware-vsphere-ui/server/conf/web.xml 
 
Navigate to the /&lt;web-apps&gt;/&lt;session-config&gt;/&lt;cookie-config&gt; node and configure it as follows. 
 
    &lt;cookie-config&gt; 
      &lt;http-only&gt;true&lt;/http-only&gt; 
      &lt;secure&gt;true&lt;/secure&gt; 
    &lt;/cookie-config&gt; 
 
Restart the service with the following command: 
 
# vmon-cli --restart vsphere-ui</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STATUS>Not_Reviewed</STATUS>
      <FINDING_DETAILS></FINDING_DETAILS>
      <COMMENTS></COMMENTS>
    </VULN>
    <VULN>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Num</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>V-256810</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_ID</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>SV-256810r889429_rule</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Severity</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>medium</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Rule_Title</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>The vSphere UI default servlet must be set to &quot;readonly&quot;.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Vuln_Discuss</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>The default servlet (or DefaultServlet) is a special servlet provided with Tomcat that is called when no other suitable page is found in a particular folder. The DefaultServlet serves static resources as well as directory listings. The DefaultServlet is configured by default with the &quot;readonly&quot; parameter set to &quot;true&quot; where HTTP commands such as PUT and DELETE are rejected. 
 
Changing this to &quot;false&quot; allows clients to delete or modify static resources on the server and to upload new resources. DefaultServlet &quot;readonly&quot; must be set to &quot;true&quot;, either literally or by absence (default).</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Check_Content</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>At the command prompt, run the following command: 
 
# xmllint --format /usr/lib/vmware-vsphere-ui/server/conf/web.xml | sed &apos;s/xmlns=&quot;.*&quot;//g&apos; | xmllint --xpath &apos;/web-app/servlet/servlet-name[text()=&quot;default&quot;]/../init-param/param-name[text()=&quot;readonly&quot;]/../param-value[text()=&quot;false&quot;]&apos; - 
 
Expected result: 
 
XPath set is empty 
 
If the output of the command does not match the expected result, this is a finding.</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STIG_DATA>
        <VULN_ATTRIBUTE>Fix_Text</VULN_ATTRIBUTE>
        <ATTRIBUTE_DATA>Navigate to and open: 
 
/usr/lib/vmware-vsphere-ui/server/conf/web.xml 
 
Navigate to the /&lt;web-apps&gt;/&lt;servlet&gt;/&lt;servlet-name&gt;default&lt;/servlet-name&gt;/ node and remove the following node: 
 
&lt;init-param&gt; 
      &lt;param-name&gt;readonly&lt;/param-name&gt; 
      &lt;param-value&gt;false&lt;/param-value&gt; 
&lt;/init-param&gt; 
 
Restart the service with the following command: 
 
# vmon-cli --restart vsphere-ui</ATTRIBUTE_DATA>
      </STIG_DATA>
      <STATUS>Not_Reviewed</STATUS>
      <FINDING_DETAILS></FINDING_DETAILS>
      <COMMENTS></COMMENTS>
    </VULN>
    </iSTIG>
  </STIGS>
</CHECKLIST>