VMware vSphere 8.0 vCenter Appliance Secure Token Service (STS) Security Technical Implementation Guide
Pick two releases to diff their requirements.
Open a previous version of this STIG.
Digest of Updates +1 −1 ✎ 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.
Added rules 1
- V-266136 Medium The vCenter STS service deployXML attribute must be disabled.
Removed rules 1
- V-258971 Medium The vCenter STS service must be configured to use strong encryption ciphers.
Content changes 1
- V-259002 Medium check The vCenter STS service host-manager webapp must be removed.
- RMF Control
- AC-10
- Severity
- M
- CCI
- CCI-000054
- Version
- VCST-80-000001
- Vuln IDs
-
- V-258970
- Rule IDs
-
- SV-258970r960735_rule
Checks: C-62710r934566_chk
At the command prompt, run the following command: # xmllint --xpath '/Server/Service/Executor[@name="tomcatThreadPool"]/@maxThreads' /usr/lib/vmware-sso/vmware-sts/conf/server.xml Expected result: maxThreads="150" If the output does not match the expected result, this is a finding.
Fix: F-62619r934567_fix
Navigate to and open: /usr/lib/vmware-sso/vmware-sts/conf/server.xml Navigate to the <Executor> node with the name of tomcatThreadPool and configure with the value "maxThreads="150"". Note: The <Executor> node should be configured similar to the following: <Executor maxThreads="150" minSpareThreads="50" name="tomcatThreadPool" namePrefix="tomcat-http--"/> Restart the service with the following command: # vmon-cli --restart sts
- RMF Control
- AC-3
- Severity
- M
- CCI
- CCI-000213
- Version
- VCST-80-000005
- Vuln IDs
-
- V-258972
- Rule IDs
-
- SV-258972r960792_rule
Checks: C-62712r934572_chk
At the command prompt, run the following command: # xmllint --format /usr/lib/vmware-sso/vmware-sts/conf/web.xml | sed 's/xmlns=".*"//g' | xmllint --xpath '/web-app/session-config/cookie-config/secure' - Expected result: <secure>true</secure> If the output of the command does not match the expected result, this is a finding.
Fix: F-62621r934573_fix
Navigate to and open: /usr/lib/vmware-sso/vmware-sts/conf/web.xml Navigate to the <session-config> node and configure the <secure> setting as follows: <session-config> <session-timeout>30</session-timeout> <cookie-config> <http-only>true</http-only> <secure>true</secure> </cookie-config> </session-config> Restart the service with the following command: # vmon-cli --restart sts
- RMF Control
- AU-14
- Severity
- M
- CCI
- CCI-001464
- Version
- VCST-80-000013
- Vuln IDs
-
- V-258973
- Rule IDs
-
- SV-258973r960888_rule
Checks: C-62713r934575_chk
At the command prompt, run the following command: # grep StreamRedirectFile /etc/vmware/vmware-vmon/svcCfgfiles/sts-lin.json Expected output: "StreamRedirectFile" : "%VMWARE_LOG_DIR%/vmware/sso/sts-runtime.log", If no log file is specified for the "StreamRedirectFile" setting, this is a finding.
Fix: F-62622r934576_fix
Navigate to and open: /etc/vmware/vmware-vmon/svcCfgfiles/sts-lin.json Below the last line of the "PreStartCommandArg" block, add the following line: "StreamRedirectFile" : "%VMWARE_LOG_DIR%/vmware/sso/sts-runtime.log", Restart the service with the following command: # vmon-cli --restart sts
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-000067
- Version
- VCST-80-000014
- Vuln IDs
-
- V-258974
- Rule IDs
-
- SV-258974r960891_rule
Checks: C-62714r934578_chk
At the command prompt, run the following command: # xmllint --xpath '/Server/Service/Engine/Host/Valve[@className="org.apache.catalina.valves.AccessLogValve"]/@pattern' /usr/lib/vmware-sso/vmware-sts/conf/server.xml Example result: pattern="%t %I [Request] &quot;%{User-Agent}i&quot; %{X-Forwarded-For}i/%h:%{remote}p %l %u to local %{local}p - &quot;%r&quot; %H %m %U%q [Response] %s - %b bytes [Perf] process %Dms / commit %Fms / conn [%X]" Required elements: %h %{X-Forwarded-For}i %l %t %u &quot;%r&quot; %s %b If the log pattern does not contain the required elements in any order, this is a finding.
Fix: F-62623r934579_fix
Navigate to and open: /usr/lib/vmware-sso/vmware-sts/conf/server.xml Inside the <Host> node, find the "AccessLogValve" <Valve> node and replace the "pattern" element as follows: pattern="%t %I [Request] "%{User-Agent}i" %{X-Forwarded-For}i/%h:%{remote}p %l %u to local %{local}p - "%r" %H %m %U%q [Response] %s - %b bytes [Perf] process %Dms / commit %Fms / conn [%X]" Restart the service with the following command: # vmon-cli --restart sts
- RMF Control
- AU-9
- Severity
- M
- CCI
- CCI-000162
- Version
- VCST-80-000025
- Vuln IDs
-
- V-258975
- Rule IDs
-
- SV-258975r960930_rule
Checks: C-62715r934581_chk
At the command prompt, run the following command: # find /var/log/vmware/sso/ -xdev ! -name lookupsvc-init.log ! -name sts-prestart.log -type f -a '(' -perm -o+w -o -not -user sts -o -not -group lwis ')' -exec ls -ld {} \; If any files are returned, this is a finding.
Fix: F-62624r934582_fix
At the command prompt, run the following commands: # chmod o-w <file> # chown sts:lwis <file> Note: Substitute <file> with the listed file.
- RMF Control
- CM-5
- Severity
- M
- CCI
- CCI-001499
- Version
- VCST-80-000034
- Vuln IDs
-
- V-258976
- Rule IDs
-
- SV-258976r960960_rule
Checks: C-62716r934584_chk
At the command prompt, run the following command: # xmllint --xpath '/Server/Listener[@className="org.apache.catalina.security.SecurityListener"]' /usr/lib/vmware-sso/vmware-sts/conf/server.xml Example result: <Listener className="org.apache.catalina.security.SecurityListener"/> If the "org.apache.catalina.security.SecurityListener" listener is not present, this is a finding. If the "org.apache.catalina.security.SecurityListener" listener is configured with a "minimumUmask" and is not "0007", this is a finding.
Fix: F-62625r934585_fix
Navigate to and open: /usr/lib/vmware-sso/vmware-sts/conf/server.xml Navigate to the <Server> node and add or update the "org.apache.catalina.security.SecurityListener" as follows: <Listener className="org.apache.catalina.security.SecurityListener"/> Restart the service with the following command: # vmon-cli --restart sts
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- VCST-80-000036
- Vuln IDs
-
- V-258977
- Rule IDs
-
- SV-258977r960963_rule
Checks: C-62717r934587_chk
At the command prompt, run the following command: # xmllint --xpath "//Connector[@allowTrace = 'true']" /usr/lib/vmware-sso/vmware-sts/conf/server.xml Expected result: XPath set is empty If any connectors are returned, this is a finding.
Fix: F-62626r934588_fix
Navigate to and open: /usr/lib/vmware-sso/vmware-sts/conf/server.xml Navigate to and locate: 'allowTrace="true"' Remove the 'allowTrace="true"' setting. Note: If "allowTrace" is not present, it defaults to false. Restart the service with the following command: # vmon-cli --restart sts
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000382
- Version
- VCST-80-000037
- Vuln IDs
-
- V-258978
- Rule IDs
-
- SV-258978r960966_rule
Checks: C-62718r934590_chk
At the command prompt, run the following command: # xmllint --xpath '//Connector[not(@port = "${bio-ssl-clientauth.https.port}") and (@port = "0" or not(@address))]' /usr/lib/vmware-sso/vmware-sts/conf/server.xml Expected result: XPath set is empty If any connectors are returned, this is a finding.
Fix: F-62627r934591_fix
Navigate to and open: /usr/lib/vmware-sso/vmware-sts/conf/server.xml The STS service has 2 connectors with the below pairs of ports and addresses. Navigate to the target <Connector> node and configure the port and address as follows. port="${bio-custom.http.port}" address="localhost" port="${bio-ssl-localhost.https.port}" address="localhost" Restart the service with the following command: # vmon-cli --restart sts Note: The connector with port="${bio-ssl-clientauth.https.port}" should not have address set.
- RMF Control
- SC-23
- Severity
- M
- CCI
- CCI-001664
- Version
- VCST-80-000057
- Vuln IDs
-
- V-258979
- Rule IDs
-
- SV-258979r961116_rule
Checks: C-62719r934593_chk
At the command line, run the following command: # grep RECYCLE_FACADES /usr/lib/vmware-sso/vmware-sts/conf/catalina.properties Example result: org.apache.catalina.connector.RECYCLE_FACADES=true If "org.apache.catalina.connector.RECYCLE_FACADES" is not set to "true", this is a finding. If the "org.apache.catalina.connector.RECYCLE_FACADES" setting does not exist, this is not a finding.
Fix: F-62628r934594_fix
Navigate to and open: /usr/lib/vmware-sso/vmware-sts/conf/catalina.properties Update or remove the following line: org.apache.catalina.connector.RECYCLE_FACADES=true Restart the service with the following command: # vmon-cli --restart sts
- RMF Control
- SC-24
- Severity
- M
- CCI
- CCI-001190
- Version
- VCST-80-000062
- Vuln IDs
-
- V-258980
- Rule IDs
-
- SV-258980r961122_rule
Checks: C-62720r934596_chk
At the command line, run the following command: # grep EXIT_ON_INIT_FAILURE /usr/lib/vmware-sso/vmware-sts/conf/catalina.properties Example result: org.apache.catalina.startup.EXIT_ON_INIT_FAILURE=true If there are no results, or if the "org.apache.catalina.startup.EXIT_ON_INIT_FAILURE" is not set to "true", this is a finding.
Fix: F-62629r934597_fix
Navigate to and open: /usr/lib/vmware-sso/vmware-sts/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 sts
- RMF Control
- SI-10
- Severity
- M
- CCI
- CCI-001310
- Version
- VCST-80-000065
- Vuln IDs
-
- V-258981
- Rule IDs
-
- SV-258981r961158_rule
Checks: C-62721r934599_chk
At the command prompt, run the following command: # xmllint --xpath "//Connector[@URIEncoding != 'UTF-8'] | //Connector[not[@URIEncoding]]" /usr/lib/vmware-sso/vmware-sts/conf/server.xml Expected result: XPath set is empty If any connectors are returned, this is a finding.
Fix: F-62630r934600_fix
Navigate to and open: /usr/lib/vmware-sso/vmware-sts/conf/server.xml Configure the <Connector> node with the value: URIEncoding="UTF-8" Restart the service with the following command: # vmon-cli --restart sts
- RMF Control
- SI-11
- Severity
- M
- CCI
- CCI-001312
- Version
- VCST-80-000067
- Vuln IDs
-
- V-258982
- Rule IDs
-
- SV-258982r961167_rule
Checks: C-62722r934602_chk
At the command prompt, run the following command: # xmllint --xpath '/Server/Service/Engine/Host/Valve[@className="org.apache.catalina.valves.ErrorReportValve"]' /usr/lib/vmware-sso/vmware-sts/conf/server.xml Example result: <Valve className="org.apache.catalina.valves.ErrorReportValve" showServerInfo="false" showReport="false"/> If the "ErrorReportValve" element is not defined or "showServerInfo" is not set to "false", this is a finding.
Fix: F-62631r934603_fix
Navigate to and open: /usr/lib/vmware-sso/vmware-sts/conf/server.xml Locate the following Host block: <Host ...> ... </Host> Inside this block, add or update the following on a new line: <Valve className="org.apache.catalina.valves.ErrorReportValve" showServerInfo="false" showReport="false"/> Restart the service with the following command: # vmon-cli --restart sts
- RMF Control
- Severity
- M
- CCI
- CCI-004895
- Version
- VCST-80-000070
- Vuln IDs
-
- V-258983
- Rule IDs
-
- SV-258983r1003673_rule
Checks: C-62723r934605_chk
At the command prompt, run the following command: # xmllint --format /usr/lib/vmware-sso/vmware-sts/conf/web.xml | sed 's/xmlns=".*"//g' | xmllint --xpath '/web-app/session-config/session-timeout' - Example result: <session-timeout>30</session-timeout> If the value of "session-timeout" is not "30" or less, or is missing, this is a finding.
Fix: F-62632r934606_fix
Navigate to and open: /usr/lib/vmware-sso/vmware-sts/conf/web.xml Navigate to the <session-config> node and configure the <session-timeout> as follows: <session-config> <session-timeout>30</session-timeout> <cookie-config> <http-only>true</http-only> <secure>true</secure> </cookie-config> </session-config> Restart the service with the following command: # vmon-cli --restart sts
- RMF Control
- AU-4
- Severity
- M
- CCI
- CCI-001851
- Version
- VCST-80-000081
- Vuln IDs
-
- V-258984
- Rule IDs
-
- SV-258984r961395_rule
Checks: C-62724r934608_chk
By default, a vmware-services-sso-services.conf rsyslog configuration file includes the service logs when syslog is configured on vCenter, but it must be verified. At the command prompt, run the following command: # cat /etc/vmware-syslog/vmware-services-sso-services.conf Expected result: #vmidentity logs input(type="imfile" File="/var/log/vmware/sso/activedirectoryservice.log" Tag="activedirectoryservice" PersistStateInterval="200" Severity="info" startmsg.regex="^[[:digit:]]{4}-[[:digit:]]{1,2}-[[:digit:]]{1,2}T[[:digit:]]{1,2}:[[:digit:]]{1,2}:[[:digit:]]{1,2}.[[:digit:]]{0,3}Z" Facility="local0") input(type="imfile" File="/var/log/vmware/sso/lookupsvc-init.log" Tag="ssolookupsvc-init" PersistStateInterval="200" Severity="info" startmsg.regex="^[[:digit:]]{4}-[[:digit:]]{1,2}-[[:digit:]]{1,2}T[[:digit:]]{1,2}:[[:digit:]]{1,2}:[[:digit:]]{1,2}.[[:digit:]]{0,3}Z" Facility="local0") input(type="imfile" File="/var/log/vmware/sso/openidconnect.log" Tag="openidconnect" PersistStateInterval="200" Severity="info" startmsg.regex="^[[:digit:]]{4}-[[:digit:]]{1,2}-[[:digit:]]{1,2}T[[:digit:]]{1,2}:[[:digit:]]{1,2}:[[:digit:]]{1,2}.[[:digit:]]{0,3}Z" Facility="local0") input(type="imfile" File="/var/log/vmware/sso/ssoAdminServer.log" Tag="ssoadminserver" PersistStateInterval="200" Severity="info" startmsg.regex="^[[:digit:]]{4}-[[:digit:]]{1,2}-[[:digit:]]{1,2}T[[:digit:]]{1,2}:[[:digit:]]{1,2}:[[:digit:]]{1,2}.[[:digit:]]{0,3}Z" Facility="local0") input(type="imfile" File="/var/log/vmware/sso/svcaccountmgmt.log" Tag="svcaccountmgmt" PersistStateInterval="200" Severity="info" startmsg.regex="^[[:digit:]]{4}-[[:digit:]]{1,2}-[[:digit:]]{1,2}T[[:digit:]]{1,2}:[[:digit:]]{1,2}:[[:digit:]]{1,2}.[[:digit:]]{0,3}Z" Facility="local0") input(type="imfile" File="/var/log/vmware/sso/tokenservice.log" Tag="tokenservice" PersistStateInterval="200" Severity="info" startmsg.regex="^[[:digit:]]{4}-[[:digit:]]{1,2}-[[:digit:]]{1,2}T[[:digit:]]{1,2}:[[:digit:]]{1,2}:[[:digit:]]{1,2}.[[:digit:]]{0,3}Z" Facility="local0") #sts health log input(type="imfile" File="/var/log/vmware/sso/sts-health-status.log" Tag="sts-health-status" PersistStateInterval="200" Severity="info" startmsg.regex="^[[:digit:]]{4}-[[:digit:]]{1,2}-[[:digit:]]{1,2} [[:digit:]]{1,2}:[[:digit:]]{1,2}:[[:digit:]]{1,2},[[:digit:]]{0,4}" Facility="local0") #sts runtime log stdout input(type="imfile" File="/var/log/vmware/sso/sts-runtime.log.stdout" Tag="sts-runtime-stdout" PersistStateInterval="200" Severity="info" Facility="local0") #sts runtime log stderr input(type="imfile" File="/var/log/vmware/sso/sts-runtime.log.stderr" Tag="sts-runtime-stderr" PersistStateInterval="200" Severity="info" Facility="local0") #gclogFile.0.current log input(type="imfile" File="/var/log/vmware/sso/gclogFile.*.current" Tag="gclog" PersistStateInterval="200" Severity="info" startmsg.regex="^[[:digit:]]{4}-[[:digit:]]{1,2}-[[:digit:]]{1,2}T[[:digit:]]{1,2}:[[:digit:]]{1,2}:[[:digit:]]{1,2}.[[:digit:]]{0,3}+[[:digit:]]{0,4}" Facility="local0") #identity sts default input(type="imfile" File="/var/log/vmware/sso/vmware-identity-sts-default.log" Tag="sso-identity-sts-default" PersistStateInterval="200" Severity="info" Facility="local0") #identity sts input(type="imfile" File="/var/log/vmware/sso/vmware-identity-sts.log" Tag="sso-identity-sts" PersistStateInterval="200" Severity="info" Facility="local0") #identity perf input(type="imfile" File="/var/log/vmware/sso/vmware-identity-sts-perf.log" Tag="sso-identity-perf" PersistStateInterval="200" Severity="info" Facility="local0") #identity prestart input(type="imfile" File="/var/log/vmware/sso/sts-prestart.log" Tag="sso-identity-prestart" PersistStateInterval="200" Severity="info" Facility="local0") #rest idm input(type="imfile" File="/var/log/vmware/sso/vmware-rest-idm.log" Tag="sso-rest-idm" PersistStateInterval="200" Severity="info" Facility="local0") #rest vmdir input(type="imfile" File="/var/log/vmware/sso/vmware-rest-vmdir.log" Tag="sso-rest-vmdir" PersistStateInterval="200" Severity="info" Facility="local0") #rest afd input(type="imfile" File="/var/log/vmware/sso/vmware-rest-afd.log" Tag="sso-rest-afd" PersistStateInterval="200" Severity="info" Facility="local0") #websso input(type="imfile" File="/var/log/vmware/sso/websso.log" Tag="sso-websso" PersistStateInterval="200" Severity="info" Facility="local0") #tomcat catalina input(type="imfile" File="/var/log/vmware/sso/tomcat/catalina.*.log" Tag="sso-tomcat-catalina" PersistStateInterval="200" Severity="info" Facility="local0") #tomcat localhost input(type="imfile" File="/var/log/vmware/sso/tomcat/localhost.*.log" Tag="sso-tomcat-localhost" PersistStateInterval="200" Severity="info" Facility="local0") #tomcat localhost access input(type="imfile" File="/var/log/vmware/sso/tomcat/localhost_access.log" Tag="sso-tomcat-localhost-access" PersistStateInterval="200" Severity="info" Facility="local0") #vmdir log input(type="imfile" File="/var/log/vmware/vmdir/*.log" Tag="vmdir" PersistStateInterval="200" Severity="info" Facility="local0") #vmafd log input(type="imfile" File="/var/log/vmware/vmafd/*.log" Tag="vmafd" PersistStateInterval="200" Severity="info" Facility="local0") If the output does not match the expected result, this is a finding.
Fix: F-62633r934609_fix
Navigate to and open: /etc/vmware-syslog/vmware-services-sso-services.conf Create the file if it does not exist. Set the contents of the file as follows: #vmidentity logs input(type="imfile" File="/var/log/vmware/sso/activedirectoryservice.log" Tag="activedirectoryservice" PersistStateInterval="200" Severity="info" startmsg.regex="^[[:digit:]]{4}-[[:digit:]]{1,2}-[[:digit:]]{1,2}T[[:digit:]]{1,2}:[[:digit:]]{1,2}:[[:digit:]]{1,2}.[[:digit:]]{0,3}Z" Facility="local0") input(type="imfile" File="/var/log/vmware/sso/lookupsvc-init.log" Tag="ssolookupsvc-init" PersistStateInterval="200" Severity="info" startmsg.regex="^[[:digit:]]{4}-[[:digit:]]{1,2}-[[:digit:]]{1,2}T[[:digit:]]{1,2}:[[:digit:]]{1,2}:[[:digit:]]{1,2}.[[:digit:]]{0,3}Z" Facility="local0") input(type="imfile" File="/var/log/vmware/sso/openidconnect.log" Tag="openidconnect" PersistStateInterval="200" Severity="info" startmsg.regex="^[[:digit:]]{4}-[[:digit:]]{1,2}-[[:digit:]]{1,2}T[[:digit:]]{1,2}:[[:digit:]]{1,2}:[[:digit:]]{1,2}.[[:digit:]]{0,3}Z" Facility="local0") input(type="imfile" File="/var/log/vmware/sso/ssoAdminServer.log" Tag="ssoadminserver" PersistStateInterval="200" Severity="info" startmsg.regex="^[[:digit:]]{4}-[[:digit:]]{1,2}-[[:digit:]]{1,2}T[[:digit:]]{1,2}:[[:digit:]]{1,2}:[[:digit:]]{1,2}.[[:digit:]]{0,3}Z" Facility="local0") input(type="imfile" File="/var/log/vmware/sso/svcaccountmgmt.log" Tag="svcaccountmgmt" PersistStateInterval="200" Severity="info" startmsg.regex="^[[:digit:]]{4}-[[:digit:]]{1,2}-[[:digit:]]{1,2}T[[:digit:]]{1,2}:[[:digit:]]{1,2}:[[:digit:]]{1,2}.[[:digit:]]{0,3}Z" Facility="local0") input(type="imfile" File="/var/log/vmware/sso/tokenservice.log" Tag="tokenservice" PersistStateInterval="200" Severity="info" startmsg.regex="^[[:digit:]]{4}-[[:digit:]]{1,2}-[[:digit:]]{1,2}T[[:digit:]]{1,2}:[[:digit:]]{1,2}:[[:digit:]]{1,2}.[[:digit:]]{0,3}Z" Facility="local0") #sts health log input(type="imfile" File="/var/log/vmware/sso/sts-health-status.log" Tag="sts-health-status" PersistStateInterval="200" Severity="info" startmsg.regex="^[[:digit:]]{4}-[[:digit:]]{1,2}-[[:digit:]]{1,2} [[:digit:]]{1,2}:[[:digit:]]{1,2}:[[:digit:]]{1,2},[[:digit:]]{0,4}" Facility="local0") #sts runtime log stdout input(type="imfile" File="/var/log/vmware/sso/sts-runtime.log.stdout" Tag="sts-runtime-stdout" PersistStateInterval="200" Severity="info" Facility="local0") #sts runtime log stderr input(type="imfile" File="/var/log/vmware/sso/sts-runtime.log.stderr" Tag="sts-runtime-stderr" PersistStateInterval="200" Severity="info" Facility="local0") #gclogFile.0.current log input(type="imfile" File="/var/log/vmware/sso/gclogFile.*.current" Tag="gclog" PersistStateInterval="200" Severity="info" startmsg.regex="^[[:digit:]]{4}-[[:digit:]]{1,2}-[[:digit:]]{1,2}T[[:digit:]]{1,2}:[[:digit:]]{1,2}:[[:digit:]]{1,2}.[[:digit:]]{0,3}+[[:digit:]]{0,4}" Facility="local0") #identity sts default input(type="imfile" File="/var/log/vmware/sso/vmware-identity-sts-default.log" Tag="sso-identity-sts-default" PersistStateInterval="200" Severity="info" Facility="local0") #identity sts input(type="imfile" File="/var/log/vmware/sso/vmware-identity-sts.log" Tag="sso-identity-sts" PersistStateInterval="200" Severity="info" Facility="local0") #identity perf input(type="imfile" File="/var/log/vmware/sso/vmware-identity-sts-perf.log" Tag="sso-identity-perf" PersistStateInterval="200" Severity="info" Facility="local0") #identity prestart input(type="imfile" File="/var/log/vmware/sso/sts-prestart.log" Tag="sso-identity-prestart" PersistStateInterval="200" Severity="info" Facility="local0") #rest idm input(type="imfile" File="/var/log/vmware/sso/vmware-rest-idm.log" Tag="sso-rest-idm" PersistStateInterval="200" Severity="info" Facility="local0") #rest vmdir input(type="imfile" File="/var/log/vmware/sso/vmware-rest-vmdir.log" Tag="sso-rest-vmdir" PersistStateInterval="200" Severity="info" Facility="local0") #rest afd input(type="imfile" File="/var/log/vmware/sso/vmware-rest-afd.log" Tag="sso-rest-afd" PersistStateInterval="200" Severity="info" Facility="local0") #websso input(type="imfile" File="/var/log/vmware/sso/websso.log" Tag="sso-websso" PersistStateInterval="200" Severity="info" Facility="local0") #tomcat catalina input(type="imfile" File="/var/log/vmware/sso/tomcat/catalina.*.log" Tag="sso-tomcat-catalina" PersistStateInterval="200" Severity="info" Facility="local0") #tomcat localhost input(type="imfile" File="/var/log/vmware/sso/tomcat/localhost.*.log" Tag="sso-tomcat-localhost" PersistStateInterval="200" Severity="info" Facility="local0") #tomcat localhost access input(type="imfile" File="/var/log/vmware/sso/tomcat/localhost_access.log" Tag="sso-tomcat-localhost-access" PersistStateInterval="200" Severity="info" Facility="local0") #vmdir log input(type="imfile" File="/var/log/vmware/vmdir/*.log" Tag="vmdir" PersistStateInterval="200" Severity="info" Facility="local0") #vmafd log input(type="imfile" File="/var/log/vmware/vmafd/*.log" Tag="vmafd" PersistStateInterval="200" Severity="info" Facility="local0")
- RMF Control
- AC-10
- Severity
- M
- CCI
- CCI-000054
- Version
- VCST-80-000125
- Vuln IDs
-
- V-258985
- Rule IDs
-
- SV-258985r960735_rule
Checks: C-62725r934611_chk
The connection timeout should not be disabled by setting it to "-1". At the command prompt, run the following command: # xmllint --xpath "//Connector[@connectionTimeout = '-1']" /usr/lib/vmware-sso/vmware-sts/conf/server.xml Expected result: XPath set is empty If any connectors are returned, this is a finding.
Fix: F-62634r934612_fix
Navigate to and open: /usr/lib/vmware-sso/vmware-sts/conf/server.xml Configure the <Connector> node with the value: connectionTimeout="60000" Restart the service with the following command: # vmon-cli --restart sts
- RMF Control
- AC-10
- Severity
- M
- CCI
- CCI-000054
- Version
- VCST-80-000126
- Vuln IDs
-
- V-258986
- Rule IDs
-
- SV-258986r960735_rule
Checks: C-62726r934614_chk
The connection timeout should not be unlimited by setting it to "-1". At the command prompt, run the following command: # xmllint --xpath "//Connector[@maxKeepAliveRequests = '-1']" /usr/lib/vmware-sso/vmware-sts/conf/server.xml Expected result: XPath set is empty If any connectors are returned, this is a finding.
Fix: F-62635r934615_fix
Navigate to and open: /usr/lib/vmware-sso/vmware-sts/conf/server.xml Configure the <Connector> node with the value: maxKeepAliveRequests="100" Restart the service with the following command: # vmon-cli --restart sts
- RMF Control
- SI-10
- Severity
- M
- CCI
- CCI-001310
- Version
- VCST-80-000127
- Vuln IDs
-
- V-258987
- Rule IDs
-
- SV-258987r961158_rule
Checks: C-62727r934617_chk
At the command prompt, run the following command: # xmllint --xpath "//*[contains(text(), 'setCharacterEncodingFilter')]/parent::*" /usr/lib/vmware-sso/vmware-sts/conf/web.xml Expected result: <filter-mapping> <filter-name>setCharacterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <filter> <filter-name>setCharacterEncodingFilter</filter-name> <filter-class>org.apache.catalina.filters.SetCharacterEncodingFilter</filter-class> <async-supported>true</async-supported> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> <init-param> <param-name>ignore</param-name> <param-value>true</param-value> </init-param> </filter> If the output is does not match the expected result, this is a finding.
Fix: F-62636r934618_fix
Navigate to and open: /usr/lib/vmware-sso/vmware-sts/conf/web.xml Configure the <web-app> node with the child nodes listed below: <filter-mapping> <filter-name>setCharacterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <filter> <filter-name>setCharacterEncodingFilter</filter-name> <filter-class>org.apache.catalina.filters.SetCharacterEncodingFilter</filter-class> <async-supported>true</async-supported> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> <init-param> <param-name>ignore</param-name> <param-value>true</param-value> </init-param> </filter> Restart the service with the following command: # vmon-cli --restart sts
- RMF Control
- AC-3
- Severity
- M
- CCI
- CCI-000213
- Version
- VCST-80-000129
- Vuln IDs
-
- V-258988
- Rule IDs
-
- SV-258988r960792_rule
Checks: C-62728r934620_chk
At the command prompt, run the following command: # xmllint --format /usr/lib/vmware-sso/vmware-sts/conf/web.xml | sed 's/xmlns=".*"//g' | xmllint --xpath '/web-app/session-config/cookie-config/http-only' - Expected result: <http-only>true</http-only> If the output does not match the expected result, this is a finding.
Fix: F-62637r934621_fix
Navigate to and open: /usr/lib/vmware-sso/vmware-sts/conf/web.xml Navigate to the <session-config> node and configure the <http-only> as follows: <session-config> <session-timeout>30</session-timeout> <cookie-config> <http-only>true</http-only> <secure>true</secure> </cookie-config> </session-config> Restart the service with the following command: # vmon-cli --restart sts
- RMF Control
- AC-3
- Severity
- M
- CCI
- CCI-000213
- Version
- VCST-80-000130
- Vuln IDs
-
- V-258989
- Rule IDs
-
- SV-258989r960792_rule
Checks: C-62729r934623_chk
At the command prompt, run the following command: # xmllint --xpath "//*[contains(text(), 'DefaultServlet')]/parent::*" /usr/lib/vmware-sso/vmware-sts/conf/web.xml Example output: <servlet> <description>File servlet</description> <servlet-name>FileServlet</servlet-name> <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class> </servlet> If the "readOnly" param-value for the "DefaultServlet" servlet class is set to "false", this is a finding. If the "readOnly" param-value does not exist, this is not a finding.
Fix: F-62638r934624_fix
Navigate to and open: /usr/lib/vmware-sso/vmware-sts/conf/web.xml Navigate to the /<web-apps>/<servlet>/<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>/ node and remove the following node: <init-param> <param-name>readonly</param-name> <param-value>false</param-value> </init-param> Restart the service with the following command: # vmon-cli --restart sts
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- VCST-80-000134
- Vuln IDs
-
- V-258990
- Rule IDs
-
- SV-258990r960963_rule
Checks: C-62730r934626_chk
At the command prompt, run the following commands: # xmllint --xpath "//Server/@port" /usr/lib/vmware-sso/vmware-sts/conf/server.xml # grep 'base.shutdown.port' /usr/lib/vmware-sso/vmware-sts/conf/catalina.properties Example results: port="${base.shutdown.port}" base.shutdown.port=-1 If "port" does not equal "${base.shutdown.port}", this is a finding. If "base.shutdown.port" does not equal "-1", this is a finding.
Fix: F-62639r934627_fix
Navigate to and open: /usr/lib/vmware-sso/vmware-sts/conf/catalina.properties Add or modify the setting "base.shutdown.port=-1" in the "catalina.properties" file. Navigate to and open: /usr/lib/vmware-sso/vmware-sts/conf/server.xml Configure the <Server> node with the value: port="${base.shutdown.port}" Restart the service with the following command: # vmon-cli --restart sts
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- VCST-80-000136
- Vuln IDs
-
- V-258991
- Rule IDs
-
- SV-258991r960963_rule
Checks: C-62731r934629_chk
At the command prompt, run the following command: # xmllint --format /usr/lib/vmware-sso/vmware-sts/conf/web.xml | sed 's/xmlns=".*"//g' | xmllint --xpath '//param-name[text()="debug"]/parent::init-param' - Example result: <init-param> <param-name>debug</param-name> <param-value>0</param-value> </init-param> If the "debug" parameter is specified and is not "0", this is a finding. If the "debug" parameter does not exist, this is not a finding.
Fix: F-62640r934630_fix
Navigate to and open: /usr/lib/vmware-sso/vmware-sts/conf/web.xml Navigate to all <debug> nodes that are not set to "0". Set the <param-value> to "0" in all <param-name>debug</param-name> nodes. Note: The debug setting should look like the following: <init-param> <param-name>debug</param-name> <param-value>0</param-value> </init-param> Restart the service with the following command: # vmon-cli --restart sts
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- VCST-80-000137
- Vuln IDs
-
- V-258992
- Rule IDs
-
- SV-258992r960963_rule
Checks: C-62732r934632_chk
At the command prompt, run the following command: # xmllint --format /usr/lib/vmware-sso/vmware-sts/conf/web.xml | sed 's/xmlns=".*"//g' | xmllint --xpath '//param-name[text()="listings"]/parent::init-param' - Example result: XPath set is empty If the "listings" parameter is specified and is not "false", this is a finding. If the "listings" parameter does not exist, this is not a finding.
Fix: F-62641r934633_fix
Navigate to and open: /usr/lib/vmware-sso/vmware-sts/conf/web.xml Find and remove the entire block returned in the check. Example: <init-param> <param-name>listings</param-name> <param-value>true</param-value> </init-param> Restart the service with the following command: # vmon-cli --restart sts
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- VCST-80-000139
- Vuln IDs
-
- V-258993
- Rule IDs
-
- SV-258993r960963_rule
Checks: C-62733r934635_chk
At the command prompt, run the following command: # xmllint --xpath "//Host/@autoDeploy" /usr/lib/vmware-sso/vmware-sts/conf/server.xml Expected result: autoDeploy="false" If "autoDeploy" does not equal "false", this is a finding.
Fix: F-62642r934636_fix
Navigate to and open: /usr/lib/vmware-sso/vmware-sts/conf/server.xml Navigate to the <Host> node and configure with the value "autoDeploy="false"". Restart the service with the following command: # vmon-cli --restart sts
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- VCST-80-000140
- Vuln IDs
-
- V-258994
- Rule IDs
-
- SV-258994r960963_rule
Checks: C-62734r934638_chk
At the command prompt, run the following command: # xmllint --xpath "//Connector/@xpoweredBy" /usr/lib/vmware-sso/vmware-sts/conf/server.xml Example result: XPath set is empty If the "xpoweredBy" parameter is specified and is not "false", this is a finding. If the "xpoweredBy" parameter does not exist, this is not a finding.
Fix: F-62643r934639_fix
Navigate to and open: /usr/lib/vmware-sso/vmware-sts/conf/server.xml Navigate to the <Connector> node and remove the "xpoweredBy" attribute. Restart the service with the following command: # vmon-cli --restart sts
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- VCST-80-000141
- Vuln IDs
-
- V-258995
- Rule IDs
-
- SV-258995r960963_rule
Checks: C-62735r934641_chk
At the command prompt, run the following command: # ls -l /var/opt/apache-tomcat/webapps/examples If the examples folder exists or contains any content, this is a finding.
Fix: F-62644r934642_fix
At the command prompt, run the following command: # rm -rf /var/opt/apache-tomcat/webapps/examples
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- VCST-80-000142
- Vuln IDs
-
- V-258996
- Rule IDs
-
- SV-258996r960963_rule
Checks: C-62736r934644_chk
At the command prompt, run the following command: # ls -l /var/opt/apache-tomcat/webapps/ROOT If the ROOT web application contains any content, this is a finding.
Fix: F-62645r934645_fix
At the command prompt, run the following command: # rm -rf /var/opt/apache-tomcat/webapps/ROOT/*
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- VCST-80-000143
- Vuln IDs
-
- V-258997
- Rule IDs
-
- SV-258997r960963_rule
Checks: C-62737r934647_chk
At the command prompt, run the following command: # ls -l /var/opt/apache-tomcat/webapps/docs If the "docs" folder exists or contains any content, this is a finding.
Fix: F-62646r934648_fix
At the command prompt, run the following command: # rm -rf /var/opt/apache-tomcat/webapps/docs
- RMF Control
- CM-5
- Severity
- M
- CCI
- CCI-001813
- Version
- VCST-80-000144
- Vuln IDs
-
- V-258998
- Rule IDs
-
- SV-258998r961461_rule
Checks: C-62738r934650_chk
At the command prompt, run the following command: # find /usr/lib/vmware-sso/ -xdev -type f -a '(' -perm -o+w -o -not -user root -o -not -group root ')' -exec ls -ld {} \; If any files are returned, this is a finding.
Fix: F-62647r934651_fix
At the command prompt, run the following commands: # chmod o-w <file> # chown root:root <file> Note: Substitute <file> with the listed file.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- VCST-80-000151
- Vuln IDs
-
- V-258999
- Rule IDs
-
- SV-258999r961863_rule
Checks: C-62739r934653_chk
At the command line, run the following command: # grep ALLOW_BACKSLASH /usr/lib/vmware-sso/vmware-sts/conf/catalina.properties Example result: org.apache.catalina.connector.ALLOW_BACKSLASH=false If "org.apache.catalina.connector.ALLOW_BACKSLASH" is not set to "false", this is a finding. If the "org.apache.catalina.connector.ALLOW_BACKSLASH" setting does not exist, this is not a finding.
Fix: F-62648r934654_fix
Navigate to and open: /usr/lib/vmware-sso/vmware-sts/conf/catalina.properties Update or remove the following line: org.apache.catalina.connector.ALLOW_BACKSLASH=false Restart the service with the following command: # vmon-cli --restart sts
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- VCST-80-000152
- Vuln IDs
-
- V-259000
- Rule IDs
-
- SV-259000r961863_rule
Checks: C-62740r934656_chk
At the command line, run the following command: # grep ENFORCE_ENCODING_IN_GET_WRITER /usr/lib/vmware-sso/vmware-sts/conf/catalina.properties Example result: org.apache.catalina.connector.response.ENFORCE_ENCODING_IN_GET_WRITER=true If "org.apache.catalina.connector.response.ENFORCE_ENCODING_IN_GET_WRITER" is not set to "true", this is a finding. If the "org.apache.catalina.connector.response.ENFORCE_ENCODING_IN_GET_WRITER" setting does not exist, this is not a finding.
Fix: F-62649r934657_fix
Navigate to and open: /usr/lib/vmware-sso/vmware-sts/conf/catalina.properties Update or remove the following line: org.apache.catalina.connector.response.ENFORCE_ENCODING_IN_GET_WRITER=true Restart the service with the following command: # vmon-cli --restart sts
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- VCST-80-000154
- Vuln IDs
-
- V-259001
- Rule IDs
-
- SV-259001r960963_rule
Checks: C-62741r934659_chk
At the command prompt, run the following command: # ls -l /var/opt/apache-tomcat/webapps/manager If the manager folder exists or contains any content, this is a finding.
Fix: F-62650r934660_fix
At the command prompt, run the following command: # rm -rf /var/opt/apache-tomcat/webapps/manager
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- VCST-80-000155
- Vuln IDs
-
- V-259002
- Rule IDs
-
- SV-259002r1003674_rule
Checks: C-62742r1003668_chk
At the command prompt, run the following command: # ls -l /var/opt/apache-tomcat/webapps/host-manager If the host-manager folder exists or contains any content, this is a finding.
Fix: F-62651r934663_fix
At the command prompt, run the following command: # rm -rf /var/opt/apache-tomcat/webapps/host-manager
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- VCST-80-000138
- Vuln IDs
-
- V-266136
- Rule IDs
-
- SV-266136r1003677_rule
Checks: C-70060r1003675_chk
At the command prompt, run the following command: # xmllint --xpath "//Host/@deployXML" /usr/lib/vmware-sso/vmware-sts/conf/server.xml Expected result: deployXML="false" If "deployXML" does not equal "false", this is a finding.
Fix: F-69963r1003676_fix
Navigate to and open: /usr/lib/vmware-sso/vmware-sts/conf/server.xml Navigate to the <Host> node and configure with the value "deployXML="false"". Restart the service with the following command: # vmon-cli --restart sts