VMware vSphere 6.7 RhttpProxy Security Technical Implementation Guide

  • Version/Release: V1R3
  • Published: 2023-06-20
  • Expand All:
  • Severity:
  • Sort:
Compare

Select any two versions of this STIG to compare the individual requirements

View

Select any old version/release of this STIG to view the previous requirements

This Security Technical Implementation Guide is published as a tool to improve the security of Department of Defense (DOD) information systems. The requirements are derived from the National Institute of Standards and Technology (NIST) 800-53 and related documents. Comments or proposed revisions to this document should be sent via email to the following address: disa.stig_spt@mail.mil.
b
The rhttpproxy must drop connections to disconnected clients.
AC-10 - Medium - CCI-000054 - V-240716 - SV-240716r879511_rule
RMF Control
AC-10
Severity
Medium
CCI
CCI-000054
Version
VCRP-67-000001
Vuln IDs
  • V-240716
Rule IDs
  • SV-240716r879511_rule
The rhttpproxy client connections that are established but no longer connected can consume resources that might otherwise be required by active connections. It is a best practice to terminate connections that are no longer connected to an active client.
Checks: C-43949r679659_chk

At the command prompt, execute the following command: # xmllint --xpath '/config/vmacore/tcpKeepAlive/clientSocket/idleTimeSec' /etc/vmware-rhttpproxy/config.xml Expected result: <idleTimeSec>900</idleTimeSec> If the output does not match the expected result, this is a finding.

Fix: F-43908r679660_fix

Navigate to and open /etc/vmware-rhttpproxy/config.xml. Locate the <config>/<vmacore>/<tcpKeepAlive>/<clientSocket> block and configure <idleTimeSec> as follows: <idleTimeSec>900</idleTimeSec> Restart the service for changes to take effect. # vmon-cli --restart rhttpproxy

b
The rhttpproxy must set a limit on established connections.
AC-10 - Medium - CCI-000054 - V-240717 - SV-240717r879511_rule
RMF Control
AC-10
Severity
Medium
CCI
CCI-000054
Version
VCRP-67-000002
Vuln IDs
  • V-240717
Rule IDs
  • SV-240717r879511_rule
The rhttpproxy client connections must be limited to preserve system resources and continue servicing connections without interruption. Without a limit set, the system would be vulnerable to a trivial denial-of-service attack where connections are created en masse and vCenter resources are entirely consumed. The rhttproxy comes configured with a tested and supported value that must be maintained.
Checks: C-43950r679662_chk

At the command prompt, execute the following command: # xmllint --xpath '/config/vmacore/http/maxConnections' /etc/vmware-rhttpproxy/config.xml Expected result: &lt;maxConnections&gt; 2048 &lt;/maxConnections&gt; If the output does not match the expected result, this is a finding.

Fix: F-43909r679663_fix

Navigate to and open /etc/vmware-rhttpproxy/config.xml. Locate the <config>/<vmacore>/<http> block and configure <maxConnections> as follows: <maxConnections> 2048 </maxConnections> Restart the service for changes to take effect. # vmon-cli --restart rhttpproxy

b
The rhttpproxy must be configured to operate solely with FIPS ciphers.
AC-17 - Medium - CCI-000068 - V-240718 - SV-240718r879519_rule
RMF Control
AC-17
Severity
Medium
CCI
CCI-000068
Version
VCRP-67-000003
Vuln IDs
  • V-240718
Rule IDs
  • SV-240718r879519_rule
The rhttpproxy ships with FIPS 140-2 validated OpenSSL cryptographic libraries and is configured by default to run in FIPS mode. This module is used for all crypto operations performed by rhttproxy, including protection of data-in-transit over the client TLS connection.
Checks: C-43951r679665_chk

At the command prompt, execute the following command: # xmllint --xpath '/config/vmacore/ssl/fips' /etc/vmware-rhttpproxy/config.xml Expected result: &lt;fips&gt;true&lt;/fips&gt; If the output does not match the expected result, this is a finding.

Fix: F-43910r679666_fix

Navigate to and open /etc/vmware-rhttpproxy/config.xml. Locate the <config>/<vmacore>/<ssl> block and configure <fips> as follows: <fips>true</fips> Restart the service for changes to take effect. # vmon-cli --restart rhttpproxy

b
The rhttpproxy must use cryptography to protect the integrity of remote sessions.
AC-17 - Medium - CCI-001453 - V-240719 - SV-240719r879520_rule
RMF Control
AC-17
Severity
Medium
CCI
CCI-001453
Version
VCRP-67-000004
Vuln IDs
  • V-240719
Rule IDs
  • SV-240719r879520_rule
The rhttpproxy can be configured to support TLS 1.0, 1.1 and 1.2. Due to intrinsic problems in TLS 1.0 and TLS 1.1, they are disabled by default. The block in the rhttproxy configuration is commented out by default, and this configuration forces TLS 1.2. The block may also be set to "tls1.2" in certain upgrade scenarios, but the effect is the same.
Checks: C-43952r816677_chk

At the command prompt, execute the following command: # xmllint --xpath '/config/vmacore/ssl/protocols' /etc/vmware-rhttpproxy/config.xml Expected result: &lt;protocols&gt;tls1.2&lt;/protocols&gt; OR XPath set is empty If the output does not match the expected result, this is a finding.

Fix: F-43911r679669_fix

Navigate to and open /etc/vmware-rhttpproxy/config.xml. Locate the <config>/<vmacore>/<ssl> block and configure <protocols> as follows: <protocols>tls1.2</protocols> Restart the service for changes to take effect. # vmon-cli --restart rhttpproxy

b
The rhttpproxy must produce log records containing sufficient information to establish the source of events.
AC-17 - Medium - CCI-000067 - V-240720 - SV-240720r879521_rule
RMF Control
AC-17
Severity
Medium
CCI
CCI-000067
Version
VCRP-67-000005
Vuln IDs
  • V-240720
Rule IDs
  • SV-240720r879521_rule
After a security incident has occurred, investigators will often review log files to determine what happened, and determining the source of an event is crucial for forensics. The rhttpproxy must be configured for verbose logging to capture client IP addresses and the associated actions.
Checks: C-43953r679671_chk

At the command prompt, execute the following command: # xmllint --xpath '/config/log/level' /etc/vmware-rhttpproxy/config.xml Expected result: &lt;level&gt;verbose&lt;/level&gt; If the output does not match the expected result, this is a finding.

Fix: F-43912r679672_fix

Navigate to and open /etc/vmware-rhttpproxy/config.xml. Locate the <config>/<log> block and configure <level> as follows: <level>verbose</level> Restart the service for changes to take effect. # vmon-cli --restart rhttpproxy

b
The rhttpproxy must have logging enabled.
AU-14 - Medium - CCI-001464 - V-240721 - SV-240721r879562_rule
RMF Control
AU-14
Severity
Medium
CCI
CCI-001464
Version
VCRP-67-000006
Vuln IDs
  • V-240721
Rule IDs
  • SV-240721r879562_rule
After a security incident has occurred, investigators will often review log files to determine what happened. The rhttpproxy must create logs upon service startup to capture information relevant to investigations.
Checks: C-43954r679674_chk

At the command prompt, execute the following command: # xmllint --xpath '/config/log/outputToFiles' /etc/vmware-rhttpproxy/config.xml Expected result: &lt;outputToFiles&gt;true&lt;/outputToFiles&gt; If the output does not match the expected result, this is a finding.

Fix: F-43913r679675_fix

Navigate to and open /etc/vmware-rhttpproxy/config.xml. Locate the <config>/<log> block and configure <outputToFiles> as follows: <outputToFiles>true</outputToFiles> Restart the service for changes to take effect. # vmon-cli --restart rhttpproxy

b
The rhttpproxy private key file must be protected from unauthorized access.
IA-5 - Medium - CCI-000186 - V-240722 - SV-240722r879613_rule
RMF Control
IA-5
Severity
Medium
CCI
CCI-000186
Version
VCRP-67-000007
Vuln IDs
  • V-240722
Rule IDs
  • SV-240722r879613_rule
The rhttpproxy's private key is used to prove the identity of the server to clients and securely exchange the shared secret key used to encrypt communications between the web server and clients. By gaining access to the private key, an attacker can pretend to be an authorized server and decrypt the TLS traffic between a client and the web server.
Checks: C-43955r679677_chk

At the command prompt, execute the following command: # stat -c "%n permissions are %a, is owned by %U and group owned by %G" /etc/vmware-rhttpproxy/ssl/rui.key Expected result: /etc/vmware-rhttpproxy/ssl/rui.key permissions are 600, is owned by root and group owned by root If the output does not match the expected result, this is a finding.

Fix: F-43914r679678_fix

At the command prompt, execute the following commands: # chmod 600 /etc/vmware-rhttpproxy/ssl/rui.key # chown root:root /etc/vmware-rhttpproxy/ssl/rui.key

b
The rhttproxy must exclusively use the HTTPS protocol for client connections.
AC-17 - Medium - CCI-002314 - V-240723 - SV-240723r879692_rule
RMF Control
AC-17
Severity
Medium
CCI
CCI-002314
Version
VCRP-67-000008
Vuln IDs
  • V-240723
Rule IDs
  • SV-240723r879692_rule
Remotely accessing vCenter via the rhttpproxy involves sensitive information going over the wire. To protect the confidentiality and integrity of these communications, the rhttpproxy must be configured to use an encrypted session of HTTPS rather than plain-text HTTP. The SSL configuration block inside the rhttproxy configuration must be present and configured correctly to safely enable TLS.
Checks: C-43956r679680_chk

At the command prompt, execute the following command: # xmllint --xpath '/config/ssl' /etc/vmware-rhttpproxy/config.xml Expected result: &lt;ssl&gt; &lt;!-- The server private key file --&gt; &lt;privateKey&gt;/etc/vmware-rhttpproxy/ssl/rui.key&lt;/privateKey&gt; &lt;!-- The server side certificate file --&gt; &lt;certificate&gt;/etc/vmware-rhttpproxy/ssl/rui.crt&lt;/certificate&gt; &lt;!-- vecs server name. Currently vecs runs on all node types. --&gt; &lt;vecsServerName&gt;localhost&lt;/vecsServerName&gt; &lt;/ssl&gt; If the output does not match the expected result, this is a finding.

Fix: F-43915r679681_fix

Navigate to and open /etc/vmware-rhttpproxy/config.xml. Locate the first <ssl> block and set its content to the following: <ssl> <!-- The server private key file --> <privateKey>/etc/vmware-rhttpproxy/ssl/rui.key</privateKey> <!-- The server side certificate file --> <certificate>/etc/vmware-rhttpproxy/ssl/rui.crt</certificate> <!-- vecs server name. Currently vecs runs on all node types. --> <vecsServerName>localhost</vecsServerName> </ssl> Restart the service for changes to take effect. # vmon-cli --restart rhttpproxy

b
The rhttpproxy log files must be moved to a permanent repository in accordance with site policy.
AU-4 - Medium - CCI-001851 - V-240724 - SV-240724r879731_rule
RMF Control
AU-4
Severity
Medium
CCI
CCI-001851
Version
VCRP-67-000009
Vuln IDs
  • V-240724
Rule IDs
  • SV-240724r879731_rule
The rhttpproxy produces a handful of logs that must be offloaded from the originating system. This information can then be used for diagnostic, forensic, or other purposes relevant to ensuring the availability and integrity of the hosted application.
Checks: C-43957r679683_chk

At the command prompt, execute the following command: # grep -v "^#" /etc/vmware-syslog/stig-services-rhttpproxy.conf Expected result: input(type="imfile" File="/var/log/vmware/rhttpproxy/rhttpproxy.log" Tag="rhttpproxy-main" 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.

Fix: F-43916r679684_fix

Navigate to and open /etc/vmware-syslog/stig-services-rhttpproxy.conf. Create the file if it does not exist. Set the contents of the file as follows: input(type="imfile" File="/var/log/vmware/rhttpproxy/rhttpproxy.log" Tag="rhttpproxy-main" Severity="info" Facility="local0")

c
The version of RhttpProxy running on the system must be a supported version.
SI-2 - High - CCI-002605 - V-257282 - SV-257282r919261_rule
RMF Control
SI-2
Severity
High
CCI
CCI-002605
Version
VCRP-67-000999
Vuln IDs
  • V-257282
Rule IDs
  • SV-257282r919261_rule
Security flaws with software applications are discovered daily. Vendors are constantly updating and patching their products to address newly discovered security vulnerabilities. Organizations (including any contractor to the organization) are required to promptly install security-relevant software updates (e.g., patches, service packs, and hot fixes). Flaws discovered during security assessments, continuous monitoring, incident response activities, or information system error handling must also be addressed expeditiously. Organization-defined time periods for updating security-relevant software may vary based on a variety of factors including, for example, the security category of the information system or the criticality of the update (i.e., severity of the vulnerability related to the discovered flaw). This requirement will apply to software patch management solutions that are used to install patches across the enclave and to applications that are not part of that patch management solution. For example, many browsers today provide the capability to install their own patch software. Patch criticality, as well as system criticality, will vary. Therefore, the tactical situations regarding the patch management process will also vary. This means the time period used must be a configurable parameter. Time frames for application of security-relevant software updates may be dependent upon the Information Assurance Vulnerability Management (IAVM) process. The application will be configured to check for and install security-relevant software updates within an identified time period from the availability of the update. The specific time period will be defined by an authoritative source (e.g., IAVM, CTOs, DTMs, and STIGs).
Checks: C-60966r918885_chk

RhttpProxy 6.7 is no longer supported by the vendor. If the system is running RhttpProxy 6.7, this is a finding.

Fix: F-53958r798705_fix

Upgrade to a supported version.