Select any two versions of this STIG to compare the individual requirements
Select any old version/release of this STIG to view the previous requirements
At the command prompt, run the following command: # xmllint --xpath '/Server/Service/Connector/@connectionTimeout' /usr/lib/vmware-perfcharts/tc-instance/conf/server.xml Expected result: connectionTimeout="20000" If the output does not match the expected result, this is a finding.
Navigate to and open: /usr/lib/vmware-perfcharts/tc-instance/conf/server.xml Navigate to each of the <Connector> nodes. Configure each <Connector> node with the value: connectionTimeout="20000" Restart the service with the following command: # vmon-cli --restart perfcharts
At the command prompt, run the following command: # xmllint --xpath '/Server/Service/Executor/@maxThreads' /usr/lib/vmware-perfcharts/tc-instance/conf/server.xml Expected result: maxThreads="300" If the output does not match the expected result, this is a finding.
Navigate to and open: /usr/lib/vmware-perfcharts/tc-instance/conf/server.xml Navigate to the <Executor> mode with the name of "tomcatThreadPool" and configure with the value 'maxThreads="300"'. Note: The <Executor> node should be configured as follows: <Executor maxThreads="300" minSpareThreads="50" name="tomcatThreadPool" namePrefix="tomcat-http--"/> Restart the service with the following command: # vmon-cli --restart perfcharts
At the command prompt, run the following command: # xmllint --xpath '/Server/Service/Connector/@maxPostSize' /usr/lib/vmware-perfcharts/tc-instance/conf/server.xml Expected result: XPath set is empty If the output does not match the expected result, this is a finding.
Navigate to and open: /usr/lib/vmware-perfcharts/tc-instance/conf/server.xml Navigate to each of the <Connector> nodes. Remove any configuration for "maxPostSize". Restart the service with the following command: # vmon-cli --restart perfcharts
At the command prompt, run the following command: # xmllint --format /usr/lib/vmware-perfcharts/tc-instance/webapps/statsreport/WEB-INF/web.xml | sed '2 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.
Navigate to and open: /usr/lib/vmware-perfcharts/tc-instance/webapps/statsreport/WEB-INF/web.xml Navigate to the <session-config> node and configure it as follows: <session-config> <cookie-config> <http-only>true</http-only> <secure>true</secure> </cookie-config> <session-timeout>30</session-timeout> </session-config> Restart the service with the following command: # vmon-cli --restart perfcharts
At the command prompt, run the following command: # xmllint --format /usr/lib/vmware-perfcharts/tc-instance/conf/server.xml | sed '2 s/xmlns=".*"//g' | xmllint --xpath '/Server/Service/Engine/Host/Valve[@className="org.apache.catalina.valves.AccessLogValve"]/@pattern' - Expected result: pattern="%h %{X-Forwarded-For}i %l %u %t &quot;%r&quot; %s %b &quot;%{User-Agent}i&quot;" If the output does not match the expected result, this is a finding.
Navigate to and open: /usr/lib/vmware-perfcharts/tc-instance/conf/server.xml Inside the <Host> node, find the "AccessLogValve" <Valve> node and replace the "pattern" element as follows: pattern="%h %{X-Forwarded-For}i %l %u %t "%r" %s %b "%{User-Agent}i"" Restart the service with the following command: # vmon-cli --restart perfcharts
At the command prompt, run the following command: # grep StreamRedirectFile /etc/vmware/vmware-vmon/svcCfgfiles/perfcharts.json Expected result: "StreamRedirectFile" : "%VMWARE_LOG_DIR%/vmware/perfcharts/vmware-perfcharts-runtime.log", If the output does not match the expected result, this is a finding.
Navigate to and open: /etc/vmware/vmware-vmon/svcCfgfiles/perfcharts.json Below the last line of the "PreStartCommandArg" block, add the following line: "StreamRedirectFile" : "%VMWARE_LOG_DIR%/vmware/perfcharts/vmware-perfcharts-runtime.log", Restart the appliance for changes to take effect.
At the command prompt, run the following command: # find /storage/log/vmware/perfcharts/ -xdev -type f -a '(' -perm -o+w -o -not -user perfcharts -o -not -group users ')' -exec ls -ld {} \; If any files are returned, this is a finding.
At the command prompt, run the following commands: # chmod o-w <file> # chown perfcharts:users <file> Note: Substitute <file> with the listed file.
At the command prompt, run the following command: # rpm -V VMware-perfcharts|grep "^..5......"|grep -v -E "\.properties|\.conf|\.xml|\.password" If any files are returned, this is a finding.
Reinstall the vCenter Server Appliance (VCSA) or roll back to a backup. VMware does not support modifying the Performance Charts installation files manually.
At the command prompt, run the following command: # ls -A /usr/lib/vmware-perfcharts/tc-instance/webapps Expected result: statsreport If the output does not match the expected result, this is a finding.
For each unexpected directory returned in the check, run the following command: # rm /usr/lib/vmware-perfcharts/tc-instance/webapps/<NAME> Restart the service with the following command: # vmon-cli --restart perfcharts
At the command prompt, run the following command: # grep UserDatabaseRealm /usr/lib/vmware-perfcharts/tc-instance/conf/server.xml If the command produces any output, this is a finding.
Navigate to and open: /usr/lib/vmware-perfcharts/tc-instance/conf/server.xml Remove the <Realm> node returned in the check. Restart the service with the following command: # vmon-cli --restart perfcharts
At the command prompt, run the following command: # grep "package.access" /usr/lib/vmware-perfcharts/tc-instance/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.
Navigate to and open: /usr/lib/vmware-sso/vmware-sts/conf/catalina.properties Ensure the "package.access" 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 perfcharts
At the command prompt, run the following command: # grep -En '(x-csh<)|(x-sh<)|(x-shar<)|(x-ksh<)' /usr/lib/vmware-perfcharts/tc-instance/conf/web.xml If the command produces any output, this is a finding.
Navigate to and open: /usr/lib/vmware-perfcharts/tc-instance/conf/web.xml Remove any and all of the following nodes lines: <mime-type>application/x-csh</mime-type> <mime-type>application/x-shar</mime-type> <mime-type>application/x-sh</mime-type> <mime-type>application/x-ksh</mime-type> Restart the service with the following command: # vmon-cli --restart perfcharts Note: Delete the entire mime-mapping node for the target mime-type. Example: <mime-mapping> <extension>sh</extension> <mime-type>application/x-sh</mime-type> </mime-mapping>
At the command prompt, run the following command: # xmllint --format /usr/lib/vmware-perfcharts/tc-instance/conf/web.xml | sed 's/xmlns=".*"//g' | xmllint --xpath '/web-app/servlet-mapping/servlet-name[text()="jsp"]/parent::servlet-mapping' - Expected result: <servlet-mapping> <servlet-name>jsp</servlet-name> <url-pattern>*.jsp</url-pattern> <url-pattern>*.jspx</url-pattern> </servlet-mapping> If the output of the command does not match the expected result, this is a finding.
Navigate to and open: /usr/lib/vmware-perfcharts/tc-instance/conf/web.xml Inside the <web-app> parent node, add the following: <servlet-mapping> <servlet-name>jsp</servlet-name> <url-pattern>*.jsp</url-pattern> <url-pattern>*.jspx</url-pattern> </servlet-mapping> Restart the service with the following command: # vmon-cli --restart perfcharts
At the command prompt, run the following command: # grep -n 'webdav' /usr/lib/vmware-perfcharts/tc-instance/conf/web.xml If the command produces any output, this is a finding.
Navigate to and open: /usr/lib/vmware-perfcharts/tc-instance/conf/web.xml Find the <servlet-name>webdav</servlet-name> node and remove the entire parent <servlet> block. Restart the service with the following command: # vmon-cli --restart perfcharts
At the command prompt, run the following command: # grep JreMemoryLeakPreventionListener /usr/lib/vmware-perfcharts/tc-instance/conf/server.xml Expected result: <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener"/> If the output of the command does not match the expected result, this is a finding.
Navigate to and open: /usr/lib/vmware-perfcharts/tc-instance/conf/server.xml Navigate to the <Server> node. Add '<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener"/>' to the <Server> node. Restart the service with the following command: # vmon-cli --restart perfcharts
At the command prompt, run the following command: # find /usr/lib/vmware-perfcharts/tc-instance/webapps/ -type l -ls If the command produces any output, this is a finding.
At the command prompt, run the following command: Note: Replace <file_name> for the name of any files that were returned. # unlink <file_name> Repeat the command for each file that was returned.
At the command prompt, run the following command: # find /usr/lib/vmware-perfcharts/tc-instance/webapps/ -xdev -type f -a '(' -not -user root -a -not -user perfcharts -o -not -group root ')' -exec ls -la {} \; If the command produces any output, this is a finding.
At the command prompt, run the following command: # chown root:root <file_name> Repeat the command for each file that was returned. Note: Replace <file_name> for the name of the file that was returned.
At the command line, run the following command: # grep EXIT_ON_INIT_FAILURE /usr/lib/vmware-perfcharts/tc-instance/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.
Navigate to and open: /usr/lib/vmware-perfcharts/tc-instance/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 perfcharts
At the command prompt, run the following command: # xmllint --xpath '/Server/Service/Connector/@acceptCount' /usr/lib/vmware-perfcharts/tc-instance/conf/server.xml Expected result: acceptCount="300" If the output does not match the expected result, this is a finding.
Navigate to and open: /usr/lib/vmware-perfcharts/tc-instance/conf/server.xml Configure the <Connector> node with the value: acceptCount="300" Restart the service with the following command: # vmon-cli --restart perfcharts
At the command prompt, run the following command: # xmllint --xpath '/Server/Service/Connector/@URIEncoding' /usr/lib/vmware-perfcharts/tc-instance/conf/server.xml Expected result: URIEncoding="UTF-8" If the output does not match the expected result, this is a finding.
Navigate to and open: /usr/lib/vmware-perfcharts/tc-instance/conf/server.xml Configure the <Connector> node with the value 'URIEncoding="UTF-8"'. Restart the service with the following command: # vmon-cli --restart perfcharts
At the command prompt, run the following command: # xmllint --format /usr/lib/vmware-perfcharts/tc-instance/webapps/statsreport/WEB-INF/web.xml | sed 's/xmlns=".*"//g' | xmllint --xpath '/web-app/filter-mapping/filter-name[text()="setCharacterEncodingFilter"]/parent::filter-mapping' - Expected result: <filter-mapping> <filter-name>setCharacterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> If the output is does not match the expected result, this is a finding. At the command prompt, run the following command: # xmllint --format /usr/lib/vmware-perfcharts/tc-instance/webapps/statsreport/WEB-INF/web.xml | sed 's/xmlns=".*"//g' | xmllint --xpath '/web-app/filter/filter-name[text()="setCharacterEncodingFilter"]/parent::filter' - Expected result: <filter> <filter-name>setCharacterEncodingFilter</filter-name> <filter-class> org.apache.catalina.filters.SetCharacterEncodingFilter </filter-class> <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> <async-supported>true</async-supported> </filter> If the output is does not match the expected result, this is a finding.
Navigate to and open: /usr/lib/vmware-perfcharts/tc-instance/webapps/statsreport/WEB-INF/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> <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> <async-supported>true</async-supported> </filter> Restart the service with the following command: # vmon-cli --restart perfcharts
At the command prompt, run the following command: # xmllint --format /usr/lib/vmware-perfcharts/tc-instance/conf/web.xml | sed 's/xmlns=".*"//g' | xmllint --xpath '/web-app/welcome-file-list' - Expected result: <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> </welcome-file-list> If the output of the command does not match the expected result, this is a finding.
Navigate to and open: /usr/lib/vmware-perfcharts/tc-instance/conf/web.xml Add the following section under the <web-apps> node: <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> </welcome-file-list> Restart the service with the following command: # vmon-cli --restart perfcharts
At the command prompt, run the following command: # xmllint --format /usr/lib/vmware-perfcharts/tc-instance/conf/web.xml | sed 's/xmlns=".*"//g' | xmllint --xpath '//param-name[text()="listings"]/parent::init-param' - Expected result: <init-param> <param-name>listings</param-name> <param-value>false</param-value> </init-param> If the output of the command does not match the expected result, this is a finding.
Navigate to and open: /usr/lib/vmware-perfcharts/tc-instance/conf/web.xml Set the <param-value> to "false" in all <param-name>listing</param-name> nodes. Note: The setting should look like the following: <init-param> <param-name>listings</param-name> <param-value>false</param-value> </init-param> Restart the service with the following command: # vmon-cli --restart perfcharts
At the command prompt, run the following command: # xmllint --format /usr/lib/vmware-perfcharts/tc-instance/webapps/statsreport/WEB-INF/web.xml | sed 's/xmlns=".*"//g' | xmllint --xpath '/web-app/error-page/exception-type["text()=java.lang.Throwable"]/parent::error-page' - Expected result: <error-page> <exception-type>java.lang.Throwable</exception-type> <location>/http_error.jsp</location> </error-page> If the output does not match the expected result, this is a finding.
Navigate to and open: /usr/lib/vmware-perfcharts/tc-instance/webapps/statsreport/WEB-INF/web.xml Add the following section under the <web-apps> node: <error-page> <exception-type>java.lang.Throwable</exception-type> <location>/http_error.jsp</location> </error-page> Restart the service with the following command: # vmon-cli --restart perfcharts
At the command prompt, run the following command: # xmllint --xpath '/Server/Service/Engine/Host/Valve[@className="org.apache.catalina.valves.ErrorReportValve"]' /usr/lib/vmware-perfcharts/tc-instance/conf/server.xml Expected result: <Valve className="org.apache.catalina.valves.ErrorReportValve" showServerInfo="false" showReport="false"/> If the output of the command does not match the expected result, this is a finding.
Navigate to and open: /usr/lib/vmware-perfcharts/tc-instance/conf/server.xml Locate the following Host block: <Host ...> ... </Host> Inside this block, add 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 perfcharts
At the command prompt, run the following command: # xmllint --xpath '/Server/Service/Connector/@server' /usr/lib/vmware-perfcharts/tc-instance/conf/server.xml Expected result: server="Anonymous" If the output of the command does not match the expected result, this is a finding.
Navigate to and open: /usr/lib/vmware-perfcharts/tc-instance/conf/server.xml Configure the <Connector> node with the following value: server="Anonymous" Restart the service with the following command: # vmon-cli --restart perfcharts
At the command prompt, run the following command: # grep allowTrace /usr/lib/vmware-perfcharts/tc-instance/conf/server.xml If "allowTrace" is set to "true", this is a finding. If no line is returned, this is not a finding.
Navigate to and open: /usr/lib/vmware-perfcharts/tc-instance/conf/server.xml Locate and navigate to 'allowTrace="true"'. Remove the 'allowTrace="true"' setting. Restart the service with the following command: # vmon-cli --restart perfcharts
At the command prompt, run the following command: # xmllint --format /usr/lib/vmware-perfcharts/tc-instance/conf/web.xml | sed 's/xmlns=".*"//g' | xmllint --xpath '//param-name[text()="debug"]/parent::init-param' - Expected result: <init-param> <param-name>debug</param-name> <param-value>0</param-value> </init-param> If the output of the command does not match the expected result, this is a finding. If no lines is returned, this is not a finding.
Navigate to and open: /usr/lib/vmware-perfcharts/tc-instance/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 perfcharts
At the command prompt, run the following command: # rpm -V VMware-perfcharts|grep log4j|grep "^..5......" If the command returns any output, this is a finding.
Navigate to and open: /etc/vmware-perfcharts/log4j.properties Ensure the appender.rolling entries are configured as follows: appender.rolling.type = RollingFile appender.rolling.name = FileLog appender.rolling.fileName = /var/log/vmware/perfcharts/stats.log appender.rolling.filePattern = /var/log/vmware/perfcharts/stats-%i.log appender.rolling.policies.type = Policies appender.rolling.policies.size.type = SizeBasedTriggeringPolicy appender.rolling.policies.size.size = 5MB appender.rolling.strategy.type = DefaultRolloverStrategy appender.rolling.strategy.max = 10 appender.rolling.layout.type = PatternLayout appender.rolling.layout.pattern = %d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX} [%t %-5p %c] %m%n appender.rolling.level = info Note: This fix is currently only applicable to 7.0 U2+ and is different in older versions.
At the command prompt, run the following command: # rpm -V VMware-visl-integration|grep vmware-services-perfcharts.conf|grep "^..5......" If the command returns any output, this is a finding.
Navigate to and open: /etc/vmware-syslog/vmware-services-perfcharts.conf Create the file if it does not exist. Set the contents of the file as follows: #stats input(type="imfile" File="/var/log/vmware/perfcharts/stats.log" Tag="perfcharts-stats" Severity="info" Facility="local0") #localhost_access_log input(type="imfile" File="/var/log/vmware/perfcharts/localhost_access_log.txt" Tag="perfcharts-localhost_access" Severity="info" Facility="local0") #vmware-perfcharts-gc.log input(type="imfile" File="/var/log/vmware/perfcharts/vmware-perfcharts-gc.log.*.current" Tag="perfcharts-gc" Severity="info" Facility="local0") #vmware-perfcharts-runtime.log input(type="imfile" File="/var/log/vmware/perfcharts/vmware-perfcharts-runtime.log.std*" Tag="perfcharts-runtime" Severity="info" Facility="local0")
At the command prompt, run the following command: # grep '^bio\.' /usr/lib/vmware-perfcharts/tc-instance/conf/catalina.properties Expected result: bio.http.port=13080 If the output of the command does not match the expected result, this is a finding.
Navigate to and open: /etc/vmware-eam/catalina.properties Navigate to the ports specification section. Add or modify the following lines: bio.http.port=13080 Restart the service with the following command: # vmon-cli --restart perfcharts
At the command prompt, run the following command: # grep base.shutdown.port /usr/lib/vmware-perfcharts/tc-instance/conf/catalina.properties Expected result: base.shutdown.port=-1 If the output of the command does not match the expected result, this is a finding.
Navigate to and open: /etc/vmware-eam/catalina.properties Navigate to the ports specification section. Add or modify the following line: base.shutdown.port=-1 Restart the service with the following command: # vmon-cli --restart perfcharts
At the command prompt, run the following command: # xmllint --format /usr/lib/vmware-perfcharts/tc-instance/webapps/statsreport/WEB-INF/web.xml | sed 's/xmlns=".*"//g' | xmllint --xpath '/web-app/session-config/cookie-config/secure' - Expected result: <secure>true</secure> If the output of the command does not match the expected result, this is a finding.
Navigate to and open: /usr/lib/vmware-perfcharts/tc-instance/webapps/statsreport/WEB-INF/web.xml Navigate to the <session-config> node and configure it as follows: <session-config> <cookie-config> <http-only>true</http-only> <secure>true</secure> </cookie-config> <session-timeout>6</session-timeout> </session-config> Restart the service with the following command: # vmon-cli --restart perfcharts
At the command prompt, run the following command: # xmllint --format /usr/lib/vmware-perfcharts/tc-instance/conf/web.xml | sed 's/xmlns=".*"//g' | xmllint --xpath '/web-app/servlet/servlet-name[text()="default"]/../init-param/param-name[text()="readonly"]/../param-value[text()="false"]' - Expected result: XPath set is empty If the output of the command does not match the expected result, this is a finding.
Navigate to and open: /usr/lib/vmware-perfcharts/tc-instance/conf/web.xml Navigate to the /<web-apps>/<servlet>/<servlet-name>default</servlet-name>/ 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 perfcharts