DoD Compliance · STIG

VMware vSphere 6.7 RhttpProxy Security Technical Implementation Guide

V1R2 · · · Released 08 Feb 2022 · 9 rules
Compare

Pick two releases to diff their requirements.

View

Open a previous version of this STIG.

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.
Digest of Updates vs. V1R1 · 09 Mar 2021 ✎ 1

Comparison against the immediately-prior release (V1R1). Rule matching uses the Group Vuln ID. Content-change detection compares the rule’s description, check, and fix text after stripping inline markup — cosmetic-only edits aren’t flagged.

Content changes 1

  • V-240719 Medium check The rhttpproxy must use cryptography to protect the integrity of remote sessions.
Sort by
b
The rhttpproxy must drop connections to disconnected clients.
AC-10 - Medium - CCI-000054 - V-240716 - SV-240716r679661_rule
RMF Control
AC-10
Severity
M
CCI
CCI-000054
Version
VCRP-67-000001
Vuln IDs
  • V-240716
Rule IDs
  • SV-240716r679661_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-240717r679664_rule
RMF Control
AC-10
Severity
M
CCI
CCI-000054
Version
VCRP-67-000002
Vuln IDs
  • V-240717
Rule IDs
  • SV-240717r679664_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-240718r679667_rule
RMF Control
AC-17
Severity
M
CCI
CCI-000068
Version
VCRP-67-000003
Vuln IDs
  • V-240718
Rule IDs
  • SV-240718r679667_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-240719r816678_rule
RMF Control
AC-17
Severity
M
CCI
CCI-001453
Version
VCRP-67-000004
Vuln IDs
  • V-240719
Rule IDs
  • SV-240719r816678_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-240720r679673_rule
RMF Control
AC-17
Severity
M
CCI
CCI-000067
Version
VCRP-67-000005
Vuln IDs
  • V-240720
Rule IDs
  • SV-240720r679673_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-240721r679676_rule
RMF Control
AU-14
Severity
M
CCI
CCI-001464
Version
VCRP-67-000006
Vuln IDs
  • V-240721
Rule IDs
  • SV-240721r679676_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-240722r679679_rule
RMF Control
IA-5
Severity
M
CCI
CCI-000186
Version
VCRP-67-000007
Vuln IDs
  • V-240722
Rule IDs
  • SV-240722r679679_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-240723r679682_rule
RMF Control
AC-17
Severity
M
CCI
CCI-002314
Version
VCRP-67-000008
Vuln IDs
  • V-240723
Rule IDs
  • SV-240723r679682_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-240724r679685_rule
RMF Control
AU-4
Severity
M
CCI
CCI-001851
Version
VCRP-67-000009
Vuln IDs
  • V-240724
Rule IDs
  • SV-240724r679685_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")