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: # /opt/vmware/cap_lighttpd/sbin/lighttpd -p -f /var/lib/vmware/cap-lighttpd/lighttpd.conf 2>/dev/null |grep "server.max-connections" Example result: server.max-connections = 1024 If "server.max-connections" is not configured to 1024 or less, this is a finding. Note: The command must be run from a bash shell and not from a shell generated by the "appliance shell". Use the "chsh" command to change the shell for the account to "/bin/bash". Refer to KB Article 2100508 for more details: https://kb.vmware.com/s/article/2100508
Navigate to and open: /var/lib/vmware/cap-lighttpd/lighttpd.conf Add or reconfigure the following value: server.max-connections = 1024 Restart the service with the following command: # systemctl restart cap-lighttpd
At the command prompt, run the following command: # /opt/vmware/cap_lighttpd/sbin/lighttpd -p -f /var/lib/vmware/cap-lighttpd/lighttpd.conf 2>/dev/null|grep "ssl.engine" Example result: ssl.engine = "enable" If "ssl.engine" is not set to "enable", this is a finding. Note: The command must be run from a bash shell and not from a shell generated by the "appliance shell". Use the "chsh" command to change the shell for the account to "/bin/bash". Refer to KB Article 2100508 for more details: https://kb.vmware.com/s/article/2100508
Navigate to and open: /opt/vmware/etc/lighttpd/applmgmt-lighttpd.conf Add or reconfigure the following value: ssl.engine = "enable" Restart the service with the following command: # systemctl restart cap-lighttpd
At the command prompt, run the following command: # /opt/vmware/cap_lighttpd/sbin/lighttpd -p -f /var/lib/vmware/cap-lighttpd/lighttpd.conf 2>/dev/null|awk '/server\.modules/,/\)/'|grep mod_accesslog Example result: "mod_accesslog", If the "mod_accesslog" is not present, this is a finding. Note: The command must be run from a bash shell and not from a shell generated by the "appliance shell". Use the "chsh" command to change the shell for the account to "/bin/bash". Refer to KB Article 2100508 for more details: https://kb.vmware.com/s/article/2100508
Navigate to and open: /opt/vmware/etc/lighttpd/applmgmt-lighttpd.conf Add the following value in the "server.modules" section: mod_accesslog The result should be similar to the following: server.modules += ("mod_accesslog", "mod_cgi", "mod_magnet", "mod_rewrite") Restart the service with the following command: # systemctl restart cap-lighttpd
At the command prompt, run the following command: # /opt/vmware/cap_lighttpd/sbin/lighttpd -p -f /var/lib/vmware/cap-lighttpd/lighttpd.conf 2>/dev/null|grep "accesslog.format" The default commented, accesslog format is acceptable for this requirement. No output should be returned. If the command returns any output, this is a finding. Note: The command must be run from a bash shell and not from a shell generated by the "appliance shell". Use the "chsh" command to change the shell for the account to "/bin/bash". Refer to KB Article 2100508 for more details: https://kb.vmware.com/s/article/2100508
Navigate to and open: /var/lib/vmware/cap-lighttpd/lighttpd.conf Comment any existing accesslog.format lines by adding a "#" at the beginning of the line. Restart the service with the following command: # systemctl restart cap-lighttpd
At the command prompt, run the following commands: # find /var/log/vmware/applmgmt/ /var/log/vmware/applmgmt-audit/ -xdev -type f -a '(' -perm -o+w -o -not -user root -o -not -group root ')' -exec ls -ld {} \; # find /opt/vmware/var/log/lighttpd/ -xdev -type f -a '(' -perm -o+w -o -not -user lighttpd -o -not -group lighttpd ')' -exec ls -ld {} \; If any files are returned, this is a finding.
At the command prompt, run the following commands for log files under /opt/vmware/var/log/lighttpd/: # chmod o-w <file> # chown lighttpd:lighttpd <file> At the command prompt, run the following commands for all other log files: # chmod o-w <file> # chown root:root <file> Note: Substitute <file> with the listed file.
By default there is a vmware-services-applmgmt.conf rsyslog configuration file which includes the service logs when syslog is configured on vCenter that must be verified. At the command prompt, run the following command: # cat /etc/vmware-syslog/vmware-services-applmgmt.conf Expected result: #applmgmt.log input(type="imfile" File="/var/log/vmware/applmgmt/applmgmt.log" Tag="applmgmt" Severity="info" Facility="local0") #applmgmt-audit.log input(type="imfile" File="/var/log/vmware/applmgmt-audit/applmgmt-audit.log" Tag="applmgmt-audit" Severity="info" Facility="local0") #applmgmt-backup-restore-audit.log input(type="imfile" File="/var/log/vmware/applmgmt-audit/applmgmt-br-audit.log" Tag="applmgmt-br-audit" Severity="info" Facility="local0") #vami-access.log input(type="imfile" File="/opt/vmware/var/log/lighttpd/access.log" Tag="vami-access" Severity="info" Facility="local0") #vami-error.log input(type="imfile" File="/opt/vmware/var/log/lighttpd/error.log" Tag="vami-error" Severity="info" Facility="local0") #dcui.log input(type="imfile" File="/var/log/vmware/applmgmt/dcui.log" Tag="dcui" Severity="info" Facility="local0") #detwist.log input(type="imfile" File="/var/log/vmware/applmgmt/detwist.log" Tag="detwist" Severity="info" Facility="local0") #firewall-reload.log input(type="imfile" File="/var/log/vmware/applmgmt/firewall-reload.log" Tag="firewall-reload" Severity="info" Facility="local0") #applmgmt_vmonsvc.std* input(type="imfile" File="/var/log/vmware/applmgmt/applmgmt_vmonsvc.std*" Tag="applmgmt_vmonsvc" Severity="info" Facility="local0") #backupSchedulerCron input(type="imfile" File="/var/log/vmware/applmgmt/backupSchedulerCron.log" Tag="backupSchedulerCron" Severity="info" Facility="local0") #progress.log input(type="imfile" File="/var/log/vmware/applmgmt/progress.log" Tag="progress" Severity="info" Facility="local0") #statsmoitor-alarms input(type="imfile" File="/var/log/vmware/statsmon/statsmoitor-alarms.log" Tag="statsmoitor-alarms" Severity="info" Facility="local0") #StatsMonitor input(type="imfile" File="/var/log/vmware/statsmon/StatsMonitor.log" Tag="StatsMonitor" Severity="info" Facility="local0") #StatsMonitorStartup.log.std* input(type="imfile" File="/var/log/vmware/statsmon/StatsMonitorStartup.log.std*" Tag="StatsMonitor-Startup" Severity="info" Facility="local0") #PatchRunner input(type="imfile" File="/var/log/vmware/applmgmt/PatchRunner.log" Tag="PatchRunner" Severity="info" Facility="local0") #update_microservice input(type="imfile" File="/var/log/vmware/applmgmt/update_microservice.log" Tag="update_microservice" Severity="info" Facility="local0") #vami input(type="imfile" File="/var/log/vmware/applmgmt/vami.log" Tag="vami" Severity="info" Facility="local0") #vcdb_pre_patch input(type="imfile" File="/var/log/vmware/applmgmt/vcdb_pre_patch.*" Tag="vcdb_pre_patch" Severity="info" Facility="local0") #dnsmasq.log input(type="imfile" File="/var/log/vmware/dnsmasq.log" Tag="dnsmasq" Severity="info" Facility="local0") #procstate input(type="imfile" File="/var/log/vmware/procstate" Tag="procstate" Severity="info" Facility="local0") #backup.log input(type="imfile" File="/var/log/vmware/applmgmt/backup.log" Tag="applmgmt-backup" Severity="info" Facility="local0") #size.log input(type="imfile" File="/var/log/vmware/applmgmt/size.log" Tag="applmgmt-size" Severity="info" Facility="local0") #restore.log input(type="imfile" File="/var/log/vmware/applmgmt/restore.log" Tag="applmgmt-restore" Severity="info" Facility="local0") #reconciliation.log input(type="imfile" File="/var/log/vmware/applmgmt/reconciliation.log" Tag="applmgmt-reconciliation" Severity="info" Facility="local0") #pnid_change.log input(type="imfile" File="/var/log/vmware/applmgmt/pnid_change.log" Tag="applmgmt-pnid-change" Severity="info" Facility="local0") If the output does not match the expected result, this is a finding.
Navigate to and open: /etc/vmware-syslog/vmware-services-applmgmt.conf Create the file if it does not exist. Set the contents of the file as follows: #applmgmt.log input(type="imfile" File="/var/log/vmware/applmgmt/applmgmt.log" Tag="applmgmt" Severity="info" Facility="local0") #applmgmt-audit.log input(type="imfile" File="/var/log/vmware/applmgmt-audit/applmgmt-audit.log" Tag="applmgmt-audit" Severity="info" Facility="local0") #applmgmt-backup-restore-audit.log input(type="imfile" File="/var/log/vmware/applmgmt-audit/applmgmt-br-audit.log" Tag="applmgmt-br-audit" Severity="info" Facility="local0") #vami-access.log input(type="imfile" File="/opt/vmware/var/log/lighttpd/access.log" Tag="vami-access" Severity="info" Facility="local0") #vami-error.log input(type="imfile" File="/opt/vmware/var/log/lighttpd/error.log" Tag="vami-error" Severity="info" Facility="local0") #dcui.log input(type="imfile" File="/var/log/vmware/applmgmt/dcui.log" Tag="dcui" Severity="info" Facility="local0") #detwist.log input(type="imfile" File="/var/log/vmware/applmgmt/detwist.log" Tag="detwist" Severity="info" Facility="local0") #firewall-reload.log input(type="imfile" File="/var/log/vmware/applmgmt/firewall-reload.log" Tag="firewall-reload" Severity="info" Facility="local0") #applmgmt_vmonsvc.std* input(type="imfile" File="/var/log/vmware/applmgmt/applmgmt_vmonsvc.std*" Tag="applmgmt_vmonsvc" Severity="info" Facility="local0") #backupSchedulerCron input(type="imfile" File="/var/log/vmware/applmgmt/backupSchedulerCron.log" Tag="backupSchedulerCron" Severity="info" Facility="local0") #progress.log input(type="imfile" File="/var/log/vmware/applmgmt/progress.log" Tag="progress" Severity="info" Facility="local0") #statsmoitor-alarms input(type="imfile" File="/var/log/vmware/statsmon/statsmoitor-alarms.log" Tag="statsmoitor-alarms" Severity="info" Facility="local0") #StatsMonitor input(type="imfile" File="/var/log/vmware/statsmon/StatsMonitor.log" Tag="StatsMonitor" Severity="info" Facility="local0") #StatsMonitorStartup.log.std* input(type="imfile" File="/var/log/vmware/statsmon/StatsMonitorStartup.log.std*" Tag="StatsMonitor-Startup" Severity="info" Facility="local0") #PatchRunner input(type="imfile" File="/var/log/vmware/applmgmt/PatchRunner.log" Tag="PatchRunner" Severity="info" Facility="local0") #update_microservice input(type="imfile" File="/var/log/vmware/applmgmt/update_microservice.log" Tag="update_microservice" Severity="info" Facility="local0") #vami input(type="imfile" File="/var/log/vmware/applmgmt/vami.log" Tag="vami" Severity="info" Facility="local0") #vcdb_pre_patch input(type="imfile" File="/var/log/vmware/applmgmt/vcdb_pre_patch.*" Tag="vcdb_pre_patch" Severity="info" Facility="local0") #dnsmasq.log input(type="imfile" File="/var/log/vmware/dnsmasq.log" Tag="dnsmasq" Severity="info" Facility="local0") #procstate input(type="imfile" File="/var/log/vmware/procstate" Tag="procstate" Severity="info" Facility="local0") #backup.log input(type="imfile" File="/var/log/vmware/applmgmt/backup.log" Tag="applmgmt-backup" Severity="info" Facility="local0") #size.log input(type="imfile" File="/var/log/vmware/applmgmt/size.log" Tag="applmgmt-size" Severity="info" Facility="local0") #restore.log input(type="imfile" File="/var/log/vmware/applmgmt/restore.log" Tag="applmgmt-restore" Severity="info" Facility="local0") #reconciliation.log input(type="imfile" File="/var/log/vmware/applmgmt/reconciliation.log" Tag="applmgmt-reconciliation" Severity="info" Facility="local0") #pnid_change.log input(type="imfile" File="/var/log/vmware/applmgmt/pnid_change.log" Tag="applmgmt-pnid-change" Severity="info" Facility="local0")
At the command prompt, run the following command: # /opt/vmware/cap_lighttpd/sbin/lighttpd -p -f /var/lib/vmware/cap-lighttpd/lighttpd.conf 2>/dev/null|grep "mimetype.use-xattr" Example result: mimetype.use-xattr="disable" If "mimetype.use-xattr" is not set to "disable", this is a finding. Note: The command must be run from a bash shell and not from a shell generated by the "appliance shell". Use the "chsh" command to change the shell for the account to "/bin/bash". Refer to KB Article 2100508 for more details: https://kb.vmware.com/s/article/2100508
Navigate to and open: /var/lib/vmware/cap-lighttpd/lighttpd.conf Add or reconfigure the following value: mimetype.use-xattr = "disable" Restart the service with the following command: # systemctl restart cap-lighttpd
At the command prompt, run the following command: # grep "url.access-deny" /var/lib/vmware/cap-lighttpd/lighttpd.conf Example result: url.access-deny = ( "~", ".inc" ) If "url.access-deny" is not set to "( "~", ".inc" )", this is a finding. Note: The command must be run from a bash shell and not from a shell generated by the "appliance shell". Use the "chsh" command to change the shell for the account to "/bin/bash". Refer to KB Article 2100508 for more details: https://kb.vmware.com/s/article/2100508
Navigate to and open: /var/lib/vmware/cap-lighttpd/lighttpd.conf Add or reconfigure the following value: url.access-deny = ( "~", ".inc" ) Restart the service with the following command: # systemctl restart cap-lighttpd
At the command prompt, run the following command: # /opt/vmware/cap_lighttpd/sbin/lighttpd -p -f /var/lib/vmware/cap-lighttpd/lighttpd.conf 2>/dev/null|awk '/server\.modules/,/\)/'|grep mod_webdav If any value is returned, this is a finding. Note: The command must be run from a bash shell and not from a shell generated by the "appliance shell". Use the "chsh" command to change the shell for the account to "/bin/bash". Refer to KB Article 2100508 for more details: https://kb.vmware.com/s/article/2100508
Navigate to and open: /var/lib/vmware/cap-lighttpd/lighttpd.conf Delete or comment out the "mod_webdav" line. Note: The line may be in an included config and not in the parent config itself. Restart the service with the following command: # systemctl restart cap-lighttpd
At the command prompt, run the following command: # /opt/vmware/cap_lighttpd/sbin/lighttpd -p -f /var/lib/vmware/cap-lighttpd/lighttpd.conf 2>/dev/null|grep "server.max-keep-alive-idle" Example result: server.max-keep-alive-idle=30 If "server.max-keep-alive-idle" is not set to 30, this is a finding. Note: The command must be run from a bash shell and not from a shell generated by the "appliance shell". Use the "chsh" command to change the shell for the account to "/bin/bash". Refer to KB Article 2100508 for more details: https://kb.vmware.com/s/article/2100508
Navigate to and open: /var/lib/vmware/cap-lighttpd/lighttpd.conf file. Add or reconfigure the following value: server.max-keep-alive-idle = 30 Restart the service with the following command: # systemctl restart cap-lighttpd
At the command prompt, run the following command: # stat -c "%n has %a permissions and is owned by %U:%G" /etc/applmgmt/appliance/server.pem Expected result: /etc/applmgmt/appliance/server.pem has 600 permissions and is owned by root:root If the output does not match the expected result, this is a finding.
At the command prompt, run the following commands: # chown root:root /etc/applmgmt/appliance/server.pem # chmod 600 /etc/applmgmt/appliance/server.pem
At the command prompt, run the following command: # /opt/vmware/cap_lighttpd/sbin/lighttpd -p -f /var/lib/vmware/cap-lighttpd/lighttpd.conf 2>/dev/null|grep "server.max-fds" Example result: server.max-fds=2048 If "server.max-fds" is not set to 2048 or less, this is a finding. Note: The command must be run from a bash shell and not from a shell generated by the "appliance shell". Use the "chsh" command to change the shell for the account to "/bin/bash". Refer to KB Article 2100508 for more details: https://kb.vmware.com/s/article/2100508
Navigate to and open: /var/lib/vmware/cap-lighttpd/lighttpd.conf Add or reconfigure the following value: server.max-fds = 2048 Restart the service with the following command: # systemctl restart cap-lighttpd
At the command prompt, run the following command: # /opt/vmware/cap_lighttpd/sbin/lighttpd -p -f /var/lib/vmware/cap-lighttpd/lighttpd.conf 2>/dev/null|awk '/mimetype\.assign/,/\)/'|grep "text/"|grep -v "charset=utf-8" If the command returns any value, this is a finding. Note: The command must be run from a bash shell and not from a shell generated by the "appliance shell". Use the "chsh" command to change the shell for the account to "/bin/bash". Refer to KB Article 2100508 for more details: https://kb.vmware.com/s/article/2100508
Navigate to and open: /var/lib/vmware/cap-lighttpd/lighttpd.conf Navigate to the "mimetype.assign" block. Replace all the mappings whose assigned type is "text/*" with mappings for UTF-8 encoding. For example: ".log" => "text/plain; charset=utf-8", ".conf" => "text/plain; charset=utf-8", ".text" => "text/plain; charset=utf-8", ".txt" => "text/plain; charset=utf-8", ".spec" => "text/plain; charset=utf-8", ".dtd" => "text/xml; charset=utf-8", ".xml" => "text/xml; charset=utf-8", Restart the service with the following command: # systemctl restart cap-lighttpd
At the command prompt, run the following command: # /opt/vmware/cap_lighttpd/sbin/lighttpd -p -f /var/lib/vmware/cap-lighttpd/lighttpd.conf 2>/dev/null|grep "dir-listing.activate" Example result: dir-listing.activate = "disable" If "dir-listing.activate" is not set to "disable", this is a finding. Note: The command must be run from a bash shell and not from a shell generated by the "appliance shell". Use the "chsh" command to change the shell for the account to "/bin/bash". Refer to KB Article 2100508 for more details: https://kb.vmware.com/s/article/2100508
Navigate to and open: /var/lib/vmware/cap-lighttpd/lighttpd.conf Add or reconfigure the following value: dir-listing.activate = "disable" Restart the service with the following command: # systemctl restart cap-lighttpd
At the command prompt, run the following command: # /opt/vmware/cap_lighttpd/sbin/lighttpd -p -f /var/lib/vmware/cap-lighttpd/lighttpd.conf 2>/dev/null|awk '/server\.modules/,/\)/'|grep mod_status If any value is returned, this is a finding. Note: The command must be run from a bash shell and not from a shell generated by the "appliance shell". Use the "chsh" command to change the shell for the account to "/bin/bash". Refer to KB Article 2100508 for more details: https://kb.vmware.com/s/article/2100508
Navigate to and open: /var/lib/vmware/cap-lighttpd/lighttpd.conf. Remove the line containing "mod_status". Note: The line may be in an included config and not in the parent config. Restart the service with the following command: # systemctl restart cap-lighttpd
At the command prompt, run the following command: # /opt/vmware/cap_lighttpd/sbin/lighttpd -p -f /var/lib/vmware/cap-lighttpd/lighttpd.conf 2>/dev/null|grep "debug.log-request-handling" Expected result: debug.log-request-handling = "disable" If "debug.log-request-handling" is not set to "disable", this is a finding. Note: The command must be run from a bash shell and not from a shell generated by the "appliance shell". Use the "chsh" command to change the shell for the account to "/bin/bash". Refer to KB Article 2100508 for more details: https://kb.vmware.com/s/article/2100508
Navigate to and open: /var/lib/vmware/cap-lighttpd/lighttpd.conf Add or reconfigure the following value: debug.log-request-handling = "disable" Restart the service with the following command: # systemctl restart cap-lighttpd
At the command prompt, run the following command: # /opt/vmware/cap_lighttpd/sbin/lighttpd -p -f /var/lib/vmware/cap-lighttpd/lighttpd.conf 2>/dev/null|grep "ssl\.disable-client-renegotiation" If no line is returned, this is not a finding. If "ssl.disable-client-renegotiation" is set to "disabled", this is a finding. Note: The command must be run from a bash shell and not from a shell generated by the "appliance shell". Use the "chsh" command to change the shell for the account to "/bin/bash". Refer to KB Article 2100508 for more details: https://kb.vmware.com/s/article/2100508
Navigate to and open: /var/lib/vmware/cap-lighttpd/lighttpd.conf Remove any setting for "ssl.disable-client-renegotiation". Restart the service with the following command: # systemctl restart cap-lighttpd
At the command prompt, run the following command: # /opt/vmware/cap_lighttpd/sbin/lighttpd -p -f /var/lib/vmware/cap-lighttpd/lighttpd.conf 2>/dev/null|grep "server.tag" Expected result: server.tag = "vami" If "server.tag" is not set to "vami", this is a finding. Note: The command must be run from a bash shell and not from a shell generated by the "appliance shell". Use the "chsh" command to change the shell for the account to "/bin/bash". Refer to KB Article 2100508 for more details: https://kb.vmware.com/s/article/2100508
Navigate to and open: /opt/vmware/etc/lighttpd/applmgmt-lighttpd.conf Add or reconfigure the following value: server.tag = "vami" Restart the service with the following command: # systemctl restart cap-lighttpd
At the command prompt, run the following command: # /opt/vmware/cap_lighttpd/sbin/lighttpd -p -f /var/lib/vmware/cap-lighttpd/lighttpd.conf 2>/dev/null|awk '/setenv\.add-response-header/,/\)/'|sed -e 's/^[ ]*//'|grep "Strict-Transport-Security" Example result: "Strict-Transport-Security" => "max-age=31536000; includeSubDomains; preload" If the response header "Strict-Transport-Security" is missing or not configured to "max-age=31536000; includeSubDomains; preload", this is a finding. Note: The command must be run from a bash shell and not from a shell generated by the "appliance shell". Use the "chsh" command to change the shell for the account to "/bin/bash". Refer to KB Article 2100508 for more details: https://kb.vmware.com/s/article/2100508
Navigate to and open: /opt/vmware/etc/lighttpd/applmgmt-lighttpd.conf If header "Strict-Transport-Security" is not present, add the following line to the end of the file: setenv.add-response-header += ("Strict-Transport-Security" => "max-age=31536000; includeSubDomains; preload") If header "Strict-Transport-Security" is present and not set to "Deny", update the value as shown below: "Strict-Transport-Security" => "max-age=31536000; includeSubDomains; preload", Note: The last line in the parameter does not need a trailing comma if part of a multi-line configuration. Restart the service with the following command: # systemctl restart cap-lighttpd
At the command prompt, run the following command: # /opt/vmware/cap_lighttpd/sbin/lighttpd -p -f /var/lib/vmware/cap-lighttpd/lighttpd.conf 2>/dev/null|awk '/setenv\.add-response-header/,/\)/'|sed -e 's/^[ ]*//'|grep "X-Frame-Options" Example result: "X-Frame-Options" => "Deny", If the response header "X-Frame-Options" is missing or not configured to "Deny", this is a finding. Note: The command must be run from a bash shell and not from a shell generated by the "appliance shell". Use the "chsh" command to change the shell for the account to "/bin/bash". Refer to KB Article 2100508 for more details: https://kb.vmware.com/s/article/2100508
Navigate to and open: /opt/vmware/etc/lighttpd/applmgmt-lighttpd.conf If header "X-Frame-Options" is not present, add the following line to the end of the file: setenv.add-response-header += ("X-Frame-Options" => "Deny") If header "X-Frame-Options" is present and not set to "Deny", update the value as shown below: "X-Frame-Options" => "Deny", Note: The last line in the parameter does not need a trailing comma if part of a multi-line configuration. Restart the service with the following command: # systemctl restart cap-lighttpd
At the command prompt, run the following command: # /opt/vmware/cap_lighttpd/sbin/lighttpd -p -f /var/lib/vmware/cap-lighttpd/lighttpd.conf 2>/dev/null|awk '/setenv\.add-response-header/,/\)/'|sed -e 's/^[ ]*//'|grep "X-Content-Type-Options" Example result: "X-Content-Type-Options" => "nosniff", If the response header "X-Content-Type-Options" is missing or not configured to "nosniff", this is a finding. Note: The command must be run from a bash shell and not from a shell generated by the "appliance shell". Use the "chsh" command to change the shell for the account to "/bin/bash". Refer to KB Article 2100508 for more details: https://kb.vmware.com/s/article/2100508
Navigate to and open: /opt/vmware/etc/lighttpd/applmgmt-lighttpd.conf If header "X-Content-Type-Options" is not present, add the following line to the end of the file: setenv.add-response-header += ("X-Content-Type-Options" => "nosniff") If header "X-Content-Type-Options" is present and not set to "nosniff", update the value as shown below: "X-Content-Type-Options" => "nosniff", Note: The last line in the parameter does not need a trailing comma if part of a multi-line configuration. Restart the service with the following command: # systemctl restart cap-lighttpd
At the command prompt, run the following command: # /opt/vmware/cap_lighttpd/sbin/lighttpd -p -f /var/lib/vmware/cap-lighttpd/lighttpd.conf 2>/dev/null|awk '/setenv\.add-response-header/,/\)/'|sed -e 's/^[ ]*//'|grep "Content-Security-Policy" Example result: "Content-Security-Policy" => "default-src 'self'; img-src 'self' data: https://vcsa.vmware.com; font-src 'self' data:; object-src 'none'; style-src 'self' 'unsafe-inline'" If the response header "Content-Security-Policy" is missing or not configured to "default-src 'self'; img-src 'self' data: https://vcsa.vmware.com; font-src 'self' data:; object-src 'none'; style-src 'self' 'unsafe-inline'", this is a finding. Note: The command must be run from a bash shell and not from a shell generated by the "appliance shell". Use the "chsh" command to change the shell for the account to "/bin/bash". Refer to KB Article 2100508 for more details: https://kb.vmware.com/s/article/2100508
Navigate to and open: /opt/vmware/etc/lighttpd/applmgmt-lighttpd.conf If header "Content-Security-Policy" is not present, add the following line to the end of the file: setenv.add-response-header += ("Content-Security-Policy" => "default-src 'self'; img-src 'self' data: https://vcsa.vmware.com; font-src 'self' data:; object-src 'none'; style-src 'self' 'unsafe-inline'") If header "Content-Security-Policy" is present and not set to "default-src 'self'; img-src 'self' data: https://vcsa.vmware.com; font-src 'self' data:; object-src 'none'; style-src 'self' 'unsafe-inline'", update the value as shown below: "Content-Security-Policy" => "default-src 'self'; img-src 'self' data: https://vcsa.vmware.com; font-src 'self' data:; object-src 'none'; style-src 'self' 'unsafe-inline'", Note: The last line in the parameter does not need a trailing comma if part of a multi-line configuration. Restart the service with the following command: # systemctl restart cap-lighttpd