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, execute the following command: grep 'timeout http-request' /etc/haproxy/haproxy.cfg If the value of ''timeout http-request" is not set to "5000", is commented out, or is missing, this is a finding.
Navigate to and open /etc/haproxy/haproxy.cfg Configure the haproxy.cfg file with the following value in the global section: 'timeout http-request 5000'
Navigate to and open the following files: /etc/haproxy/conf.d/20-vcac.cfg /etc/haproxy/conf.d/30-vro-config.cfg Verify that each backend is configured with the following: cookie JSESSIONID prefix If "cookie" is not set for each backend, this is a finding.
Navigate to and open the following files: /etc/haproxy/conf.d/20-vcac.cfg /etc/haproxy/conf.d/30-vro-config.cfg Configure each backend with the following value: 'cookie JSESSIONID prefix'
Navigate to and open the following files: /etc/haproxy/conf.d/20-vcac.cfg /etc/haproxy/conf.d/30-vro-config.cfg Verify that each frontend is configured with the following: bind :<port> ssl crt <pemfile> ciphers FIPS:+3DES:!aNULL no-sslv3 Note: <port> and <pemfile> will be different for each frontend. If the ciphers listed are not as shown above, this is a finding.
Navigate to and open the following files: /etc/haproxy/conf.d/20-vcac.cfg /etc/haproxy/conf.d/30-vro-config.cfg Configure the bind option for each frontend with the following ciphers parameter: 'ciphers FIPS:+3DES:!aNULL'.
Navigate to and open the following files: /etc/haproxy/conf.d/20-vcac.cfg /etc/haproxy/conf.d/30-vro-config.cfg Verify that each frontend is configured with the following: bind :<port> ssl crt <pemfile> ciphers FIPS:+3DES:!aNULL no-sslv3 Note: <port> and <pemfile> will be different for each frontend. If "ssl" is not set for the bind option for each frontend, this is a finding.
Navigate to and open the following files: /etc/haproxy/conf.d/20-vcac.cfg /etc/haproxy/conf.d/30-vro-config.cfg Configure the bind option for each frontend with the "ssl" parameter.
Navigate to and open /etc/haproxy/haproxy.cfg Navigate to the globals section. Verify that the globals section contains the log keyword, and that the log option contains the local0 syslog facility as its parameter. If properly configured, the globals section will contain the following: global log 127.0.0.1 local0 If the local0 syslog facility is not configured, this is a finding. Navigate to the defaults section. Verify that the defaults section contains the log keyword with the global value. Verify that an option keyword has been configured with the httplog value. If properly configured, the "globals" section will contain the following: defaults log global option httplog Navigate to and open the following files: /etc/haproxy/conf.d/30-vro-config.cfg /etc/haproxy/conf.d/20-vcac.cfg Navigate to the each frontend section. Verify that the log keyword has not been set for each frontend. If the log keyword is resent in a frontend, this is a finding. Navigate to and open /etc/rsyslog.d/vcac.conf. Review the configured syslog facilities and determine the location of the log file for the local0 syslog facility. If the local0 syslog facility does not refer to a valid log file, this is a finding. Navigate to and open the local0 syslog log file. Verify that HAProxy is logging start and stop events to the log file. If the log file is not recording HAProxy start and stop events, this is a finding.
Navigate to and open /etc/rsyslog.d/vcac.conf. Configure the local0 syslog facility to write to an appropriate log file. Navigate to and open /etc/haproxy/haproxy.cfg. Configure the globals section with the following: log 127.0.0.1 local0 Configure the defaults section with both of the following: log global option httplog Navigate to and open the following files: /etc/haproxy/conf.d/30-vro-config.cfg /etc/haproxy/conf.d/20-vcac.cfg Navigate to each frontend section. Remove any log options from each frontend.
Navigate to and open /etc/haproxy/haproxy.cfg Navigate to the globals section. Verify that the globals section contains the log keyword, and that the log option contains the local0 syslog facility as its parameter. If properly configured, the globals section will contain the following: global log 127.0.0.1 local0 If the local0 syslog facility is not configured, this is a finding. Navigate to the defaults section. Verify that the defaults section contains the log keyword with the global value. Verify that an option keyword has been configured with the httplog value. If properly configured, the globals section will contain the following: defaults log global option httplog Navigate to and open /etc/rsyslog.d/vcac.conf. Review the configured syslog facilities and determine the location of the log file for the local0 syslog facility. If the local0 syslog facility does not refer to a valid log file, this is a finding. Navigate to and open the local0 syslog log file. Verify that HAProxy is logging start and stop events to the log file. If the log file is not recording HAProxy start and stop events, this is a finding.
Navigate to and open /etc/rsyslog.d/vcac.conf. Configure the local0 syslog facility to write to an appropriate log file. Navigate to and open /etc/haproxy/haproxy.cfg. Configure the globals section with the following: log 127.0.0.1 local0 Configure the defaults section with both of the following: log global option httplog
Navigate to and open /etc/haproxy/haproxy.cfg Navigate to the globals section. Verify that the globals section contains the log keyword, and that the log option contains the local0 syslog facility as its parameter. If properly configured, the globals section will contain the following: global log 127.0.0.1 local0 If the local0 syslog facility is not configured, this is a finding. Navigate to the defaults section. Verify that the defaults section contains the log keyword with the global value. Verify that an option keyword has been configured with the httplog value. If properly configured, the globals section will contain the following: defaults log global option httplog Navigate to and open /etc/rsyslog.d/vcac.conf. Review the configured syslog facilities and determine the location of the log file for the local0 syslog facility. If the local0 syslog facility does not refer to a valid log file, this is a finding. Navigate to and open the local0 syslog log file. Verify that HAProxy is logging the type of events to the log file. If the log file is not recording the type of events, this is a finding.
Navigate to and open /etc/rsyslog.d/vcac.conf. Configure the local0 syslog facility to write to an appropriate log file. Navigate to and open /etc/haproxy/haproxy.cfg. Configure the globals section with the following: log 127.0.0.1 local0 Configure the defaults section with both of the following: log global option httplog
Navigate to and open /etc/haproxy/haproxy.cfg Navigate to the globals section. Verify that the globals section contains the log keyword, and that the log option contains the local0 syslog facility as its parameter. If properly configured, the globals section will contain the following: global log 127.0.0.1 local0 If the local0 syslog facility is not configured, this is a finding. Navigate to the defaults section. Verify that the defaults section contains the log keyword with the global value. Verify that an option keyword has been configured with the httplog value. If properly configured, the globals section will contain the following: defaults log global option httplog Navigate to and open /etc/rsyslog.d/vcac.conf. Review the configured syslog facilities and determine the location of the log file for the local0 syslog facility. If the local0 syslog facility does not refer to a valid log file, this is a finding. Navigate to and open the local0 syslog log file. Verify that HAProxy is logging the time of events to the log file. If the log file is not recording the time of events, this is a finding.
Navigate to and open /etc/rsyslog.d/vcac.conf. Configure the local0 syslog facility to write to an appropriate log file. Navigate to and open /etc/haproxy/haproxy.cfg. Configure the globals section with the following: log 127.0.0.1 local0 Configure the defaults section with both of the following: log global option httplog
Navigate to and open /etc/haproxy/haproxy.cfg Navigate to the globals section. Verify that the globals section contains the log keyword, and that the log option contains the local0 syslog facility as its parameter. If properly configured, the globals section will contain the following: global log 127.0.0.1 local0 If the local0 syslog facility is not configured, this is a finding. Navigate to the defaults section. Verify that the defaults section contains the log keyword with the global value. Verify that an option keyword has been configured with the httplog value. If properly configured, the globals section will contain the following: defaults log global option httplog Navigate to and open /etc/rsyslog.d/vcac.conf. Review the configured syslog facilities and determine the location of the log file for the local0 syslog facility. If the local0 syslog facility does not refer to a valid log file, this is a finding. Navigate to and open the local0 syslog log file. Verify that HAProxy is logging where on the web server resources were requested to the log file. If the log file is not recording where the events occurred, this is a finding.
Navigate to and open /etc/rsyslog.d/vcac.conf. Configure the local0 syslog facility to write to an appropriate log file. Navigate to and open /etc/haproxy/haproxy.cfg. Configure the globals section with the following: log 127.0.0.1 local0 Configure the defaults section with both of the following: log global option httplog
Navigate to and open /etc/haproxy/haproxy.cfg Navigate to the globals section. Verify that the globals section contains the log keyword, and that the log option contains the local0 syslog facility as its parameter. If properly configured, the globals section will contain the following: global log 127.0.0.1 local0 If the local0 syslog facility is not configured, this is a finding. Navigate to the defaults section. Verify that the defaults section contains the log keyword with the global value. Verify that an option keyword has been configured with the httplog value. If properly configured, the globals section will contain the following: defaults log global option httplog Navigate to and open /etc/rsyslog.d/vcac.conf. Review the configured syslog facilities and determine the location of the log file for the local0 syslog facility. If the local0 syslog facility does not refer to a valid log file, this is a finding. Navigate to and open the local0 syslog log file. Verify that HAProxy is logging the source of the event to the log file. If the log file is not recording the source of the event, this is a finding.
Navigate to and open /etc/rsyslog.d/vcac.conf. Configure the local0 syslog facility to write to an appropriate log file. Navigate to and open /etc/haproxy/haproxy.cfg. Configure the globals section with the following: log 127.0.0.1 local0 Configure the defaults section with both of the following: log global option httplog
Navigate to and open /etc/haproxy/haproxy.cfg Navigate to the globals section. Verify that the globals section contains the log keyword, and that the log option contains the local0 syslog facility as its parameter. If properly configured, the globals section will contain the following: global log 127.0.0.1 local0 If the local0 syslog facility is not configured, this is a finding. Navigate to the defaults section. Verify that the defaults section contains the log keyword with the global value. Verify that an option keyword has been configured with the httplog value. If properly configured, the globals section will contain the following: defaults log global option httplog Navigate to and open /etc/rsyslog.d/vcac.conf. Review the configured syslog facilities and determine the location of the log file for the local0 syslog facility. If the local0 syslog facility does not refer to a valid log file, this is a finding. Navigate to and open the local0 syslog log file. Verify that HAProxy is logging the outcome of web server events to the log file. If the log file is not recording the outcome of events, this is a finding.
Navigate to and open /etc/rsyslog.d/vcac.conf. Configure the local0 syslog facility to write to an appropriate log file. Navigate to and open /etc/haproxy/haproxy.cfg. Configure the globals section with the following: log 127.0.0.1 local0 Configure the defaults section with both of the following: log global option httplog
Navigate to and open /etc/haproxy/haproxy.cfg Navigate to the globals section. Verify that the globals section contains the log keyword, and that the log option contains the local0 syslog facility as its parameter. If properly configured, the globals section will contain the following: global log 127.0.0.1 local0 If the local0 syslog facility is not configured, this is a finding. Navigate to the defaults section. Verify that the defaults section contains the log keyword with the global value. Verify that an option keyword has been configured with the httplog value. If properly configured, the globals section will contain the following: defaults log global option httplog Navigate to and open /etc/rsyslog.d/vcac.conf. Review the configured syslog facilities and determine the location of the log file for the local0 syslog facility. If the local0 syslog facility does not refer to a valid log file, this is a finding. Navigate to and open the local0 syslog log file. Verify that HAProxy is logging request headers to include session ID to the log file. If the log file is not recording the session ID from the request headers, this is a finding.
Navigate to and open /etc/rsyslog.d/vcac.conf. Configure the local0 syslog facility to write to an appropriate log file. Navigate to and open /etc/haproxy/haproxy.cfg. Configure the globals section with the following: log 127.0.0.1 local0 Configure the defaults section with both of the following: log global option httplog
Interview the ISSO. Determine if logging failure events are monitored, and warnings provided to the ISSO. If logging failure events do not provide warnings in accordance with organization policies, this is a finding. If alerts are not sent or the web server is not configured to use a dedicated logging tool that meets this requirement, this is a finding.
Ensure logging failures result in warnings to the ISSO and SA at a minimum.
At the command prompt, execute the following command: ls -la /var/log/vmware/vcac/vcac-config.log If the log file has permissions more permissive than "640", this is a finding.
At the command prompt, execute the following command: sed -i "/^[^#]*UMASK/ c\UMASK 077" /etc/login.defs
At the command prompt, execute the following command: ls -la /var/log/vmware/vcac/vcac-config.log If the log file has permissions more permissive than "640", this is a finding.
At the command prompt, execute the following command: sed -i "/^[^#]*UMASK/ c\UMASK 077" /etc/login.defs
At the command prompt, execute the following command: ls -la /var/log/vmware/vcac/vcac-config.log If the log file has permissions more permissive than "640", this is a finding.
At the command prompt, execute the following command: sed -i "/^[^#]*UMASK/ c\UMASK 077" /etc/login.defs
Interview the ISSO. Determine whether log data and records are being backed up to a different system or separate media. If log data and records are not being backed up to a different system or separate media, this is a finding.
Ensure log data and records are being backed up to a different system or separate media.
Interview the ISSO. Determine whether web server files are verified/validated before being implemented into the production environment. If the web server files are not verified or validated before being implemented into the production environment, this is a finding.
Ensure web server files are verified or validated before being implemented the production environment.
Interview the ISSO. Determine whether expansion modules are being fully reviewed, tested, and signed before being implemented into the production environment. If the expansion modules are not being fully reviewed, tested, and signed before being implemented into the production environment, this is a finding.
Ensure expansion modules are fully reviewed, tested, and signed before being implemented into the production environment.
At the command prompt, execute the following command: grep 'stats socket' /etc/haproxy/haproxy.cfg If the command does not return the line below, this is a finding. stats socket /var/run/haproxy.sock mode 600 level admin
Uninstall or deactivate features, services, and processes not needed by the web server for operation.
At the command prompt, execute the following command: ls /usr/share/doc/packages/haproxy The command should report that there is no such file or directory. If the command shows any files or directories, this is a finding.
Remove all listed files and directories.
At the command prompt, execute the following command: grep 'chroot' /etc/haproxy/haproxy.cfg If the value "/var/lib/haproxy" is not listed, this is a finding.
Navigate to and open /etc/haproxy/haproxy.cfg Navigate to and configure the globals section with the following value: 'chroot /var/lib/haproxy'
Navigate to and open the following files: /etc/haproxy/conf.d/20-vcac.cfg /etc/haproxy/conf.d/30-vro-config.cfg Verify that each frontend is bound to at least one port. Below is an example binding: frontend https-in-vro-config bind :8283 If each frontend is not bound to at least one port, this is a finding.
Navigate to and open the following files: /etc/haproxy/conf.d/20-vcac.cfg /etc/haproxy/conf.d/30-vro-config.cfg Configure each frontend to be bound to at least one port.
At the command line execute the following command: cat /etc/haproxy/conf.d/20-vcac.cfg | awk '$0 ~ /bind.*:80/ || $0 ~ /redirect.*ssl_fc/ {print}' If the command does not return the two lines below, this is a finding. bind 0.0.0.0:80 redirect scheme https if !{ ssl_fc }
Navigate to and open /etc/haproxy/conf.d/20-vcac.cfg Navigate to and configure the "frontend https-in" section with the following two values: bind 0.0.0.0:80 redirect scheme https if !{ ssl_fc }
Interview the ISSO. Review HAProxy configuration to verify that certificates being provided by the web server are validated, RFC 5280-compliant certificates. If PKI is not being used, this is NA. If certificates are not validated, RFC 5280-compliant certificates, this is a finding.
Install validated RFC 5280-compliant certificates.
At the command prompt, execute the following command: ls -al /etc/apache2/server.pem If the permissions on the file are not "600", this is a finding.
At the command prompt, execute the following command:s: chmod 600 /etc/apache2/server.pem
At the command prompt, execute the following command: grep -E 'bind.*ssl' /etc/haproxy/conf.d/30-vro-config.cfg /etc/haproxy/conf.d/20-vcac.cfg If the return value for SSL cipher list is not set to "FIPS: +3DES:!aNULL", this is a finding.
Navigate to and open the following files: /etc/haproxy/conf.d/30-vro-config.cfg /etc/haproxy/conf.d/20-vcac.cfg Navigate to the frontend section in each file. Configure the bind keyword file with this cipher list: 'FIPS: +3DES:!aNULL'
At the command prompt, execute the following command: ls -alR /etc/haproxy /var/lib/haproxy /usr/sbin/haproxy | grep -E '^-' | awk '{print $1}' | cut -c9 | grep w If the command returns any value, this is a finding.
Navigate to and remove anonymous permissions for any listed files.
Have the appliance administrator and/or ISSO provide the HAProxy software baseline procedures, implementation evidence, and a list of files and directories included in the baseline procedure for completeness. If baseline procedures do not exist, not implemented reliably, or are not complete, this is a finding.
Develop, document, and implement baseline procedures that include all HAProxy software files and directories. Update the baseline after new installations, upgrades, or maintenance activities that include changes to the software baseline.
At the command prompt, execute the following command: grep -E '\s(start|restart)\)' -A 7 /etc/init.d/haproxy If the command "haproxy_check" is not shown in the "start)" and the "restart)" code blocks, this is a finding.
Navigate to and open /etc/init.d/haproxy Navigate to the "start)" code block. Add the value "haproxy_check" before the line with the value "/sbin/startproc". Navigate to the "restart)" code block. Add the value "haproxy_check" before the line with the value "$0 stop".
At the command prompt, execute the following command: grep 'timeout client-fin' /etc/haproxy/haproxy.cfg If the return value for "timeout client-fin" list is not set to "30s", this is a finding.
Navigate to and open /etc/haproxy/haproxy.cfg Configure the haproxy.cfg file with the following value in the defaults section: 'timeout client-fin 30s'.
At the command prompt, execute the following command: grep 'errorfile' /etc/haproxy/haproxy.cfg If the return value for "errorfile" does not list error pages for the following HTTP status codes, this is a finding. 400, 403, 408, 500, 502, 503, 504
Create error pages for each of the HTTP status codes below: 400, 403, 408, 500, 502, 503, 504 Navigate to and open /etc/haproxy/haproxy.cfg. Navigate to the "defaults" section. Add the following lines: errorfile 400 /path/to/errorPage/for/400.http errorfile 403 /path/to/errorPage/for/403.http errorfile 408 /path/to/errorPage/for/408.http errorfile 500 /path/to/errorPage/for/500.http errorfile 502 /path/to/errorPage/for/502.http errorfile 503 /path/to/errorPage/for/503.http errorfile 504 /path/to/errorPage/for/504.http
At the command prompt, execute the following command: ps aux | grep '[h]aproxy' | grep '\s\-d\s' If the command returns any value, this is a finding.
Restart the HAProxy without the debug command line argument, which is "-d".
At the command prompt, execute the following command: grep 'tune.ssl.lifetime' /etc/haproxy/haproxy.cfg If the command returns any value, this is a finding.
Navigate to and open /etc/haproxy/haproxy.cfg Navigate to the "globals" section Add the value 'tune.ssl.lifetime 20m'
Navigate to and open the following files: /etc/haproxy/conf.d/20-vcac.cfg /etc/haproxy/conf.d/30-vro-config.cfg Verify that each backend that sets a cookie is configured with the following: appsession <cookie> len 64 timeout 5m Note: The value for <cookie> is defined in the "cookie" option for each backend and may be different. If the "appsession" option is not present or is not configured as shown, this is a finding.
Navigate to and open the following files: /etc/haproxy/conf.d/30-vro-config.cfg /etc/haproxy/conf.d/20-vcac.cfg Navigate to each backend section that sets a cookie in each file. Configure the backend with the following: appsession <cookie> len 64 timeout 5m Note: The value for <cookie> is defined in the "cookie" option for each backend and may be different.
At the command prompt, execute the following command: grep 'redirect scheme https' /etc/haproxy/conf.d/20-vcac.cfg Note: the command should return this line: 'redirect scheme https if !{ ssl_fc }' If the command does not return the expected line, this is a finding.
Navigate to and open /etc/haproxy/conf.d/20-vcac.cfg Navigate to the "frontend https-in" section. In the "frontend https-in" section, add the 'redirect scheme https if !{ ssl_fc }' option before all 'acl' options.
Navigate to and open /etc/haproxy/conf.d/20-vcac.cfg Navigate to the "frontend https-in" section. Review the "frontend https-in" section. Verify that the port 443 binding has the "ssl" keyword. Verify that port 80 is binded. Verify that non-ssl traffic is redirected to port 443. Note: Ports are binded with this statement: 'bind 0.0.0.0:<port>', where <port> is the binded port. Note: Non-ssl traffic is redirected with this statement: 'redirect scheme https if !{ ssl_fc }' Note: Ensure the redirection statement appears before all 'acl' statements. If the port 443 binding is missing the "ssl" keyword, OR port 80 is NOT binded, OR non-ssl traffic is NOT being redirected to port 443, this is a finding.
Navigate to and open /etc/haproxy/conf.d/20-vcac.cfg Navigate to and configure the "frontend https-in" section with the following three values: bind 0.0.0.0:80 bind 0.0.0.0:443 ssl crt /etc/apache2/server.pem ciphers FIPS:+3DES:!aNULL no-sslv3 redirect scheme https if !{ ssl_fc } Note: Ensure the redirection statement appears before all 'acl' statements.
Navigate to and open /etc/haproxy/haproxy.cfg Navigate to the "globals" section. Verify that the "globals" section contains the "log" keyword, and that the "log" option contains the local0 syslog facility as its parameter. If properly configured, the "globals" section will contain the following: global log 127.0.0.1 local0 If the local0 syslog facility is not configured, this is a finding. Navigate to the "defaults" section. Verify that the "defaults" section contains the "log" keyword with the global value. Verify that an option keyword has been configured with the "httplog" value. If properly configured, the "defaults" section will contain the following: defaults log global option httplog Navigate to and open the following files: /etc/haproxy/conf.d/30-vro-config.cfg /etc/haproxy/conf.d/20-vcac.cfg Navigate to the each frontend section. Verify that the "log" keyword has not been set for each frontend. If the "log" keyword is present in a frontend, this is a finding. Navigate to and open /etc/rsyslog.d/vcac.conf. Review the configured syslog facilities and determine the location of the log file for the local0 syslog facility. If the local0 syslog facility does not refer to a valid log file, this is a finding. Navigate to and open the local0 syslog log file. Verify that HAProxy is logging start and stop events to the log file. If the log file is not recording HAProxy start and stop events, this is a finding.
Navigate to and open /etc/rsyslog.d/vcac.conf. Configure the local0 syslog facility to write to an appropriate log file. Navigate to and open /etc/haproxy/haproxy.cfg. Configure the "globals" section with the following: log 127.0.0.1 local0 Configure the "defaults" section with both of the following: log global option httplog Navigate to and open the following files: /etc/haproxy/conf.d/30-vro-config.cfg /etc/haproxy/conf.d/20-vcac.cfg Navigate to each frontend section. Remove any log options from each frontend.
Navigate to and open /etc/haproxy/haproxy.cfg Navigate to the "globals" section. Verify that the "globals" section contains the "log" keyword, and that the "log" option contains the local0 syslog facility as its parameter. If properly configured, the "globals" section will contain the following: global log 127.0.0.1 local0 If the local0 syslog facility is not configured, this is a finding. Navigate to the "defaults" section. Verify that the "defaults" section contains the "log" keyword with the global value. Verify that an option keyword has been configured with the "httplog" value. If properly configured, the "defaults" section will contain the following: defaults log global option httplog Navigate to and open the following files: /etc/haproxy/conf.d/30-vro-config.cfg /etc/haproxy/conf.d/20-vcac.cfg Navigate to the each frontend section. Verify that the "log" keyword has not been set for each frontend. If the "log" keyword is present in a frontend, this is a finding. Navigate to and open /etc/rsyslog.d/vcac.conf. Review the configured syslog facilities and determine the location of the log file for the local0 syslog facility. If the local0 syslog facility does not refer to a valid log file, this is a finding. Navigate to and open the local0 syslog log file. Verify that HAProxy is logging start and stop events to the log file. If the log file is not recording HAProxy start and stop events, this is a finding.
Navigate to and open /etc/rsyslog.d/vcac.conf. Configure the local0 syslog facility to write to an appropriate log file. Navigate to and open /etc/haproxy/haproxy.cfg. Configure the globals section with the following: log 127.0.0.1 local0 Configure the defaults section with both of the following: log global option httplog
Navigate to and open /etc/haproxy/haproxy.cfg Navigate to the "globals" section. Verify that the "globals" section contains the "log" keyword, and that the "log" option contains the local0 syslog facility as its parameter. If properly configured, the "globals" section will contain the following: global log 127.0.0.1 local0 If the local0 syslog facility is not configured, this is a finding. Navigate to the "defaults" section. Verify that the "defaults" section contains the "log" keyword with the global value. Verify that an option keyword has been configured with the "httplog" value. If properly configured, the "defaults" section will contain the following: defaults log global option httplog Navigate to and open the following files: /etc/haproxy/conf.d/30-vro-config.cfg /etc/haproxy/conf.d/20-vcac.cfg Navigate to the each frontend section. Verify that the "log" keyword has not been set for each frontend. If the "log" keyword is present in a frontend, this is a finding. Navigate to and open /etc/rsyslog.d/vcac.conf. Review the configured syslog facilities and determine the location of the log file for the local0 syslog facility. If the local0 syslog facility does not refer to a valid log file, this is a finding. Navigate to and open the local0 syslog log file. Verify that HAProxy is logging start and stop events to the log file. If the log file is not recording HAProxy start and stop events, this is a finding.
Navigate to and open /etc/rsyslog.d/vcac.conf. Configure the local0 syslog facility to write to an appropriate log file. Navigate to and open /etc/haproxy/haproxy.cfg. Configure the globals section with the following: log 127.0.0.1 local0 Configure the defaults section with both of the following: log global option httplog
At the command prompt, execute the following command: grep -E 'option\s+httplog' /etc/haproxy/haproxy.cfg If the command does not return a line, this is a finding.
Navigate to and open /etc/haproxy/haproxy.cfg Navigate to the defaults section. Add "option httplog" to the "defaults" section.
At the command prompt, execute the following command: ls -alR /etc/haproxy /etc/init.d/haproxy /usr/sbin/haproxy If any configuration or application files have permissions greater than "750" or are not owned by "root", this is a finding.
Navigate to any listed files with incorrect permissions or ownership and set them in accordance with site policy.
At the command prompt, execute the following command: grep 'bind' /etc/haproxy/conf.d/10-psql.cfg If the value for bind is not set to 5433, this is a finding.
Navigate to and open /etc/haproxy/conf.d/10-psql.cfg Navigate to and configure the "frontend psql-local" section with the following value: bind 127.0.0.1:5433
At the command prompt, execute the following command: grep 'bind' /etc/haproxy/conf.d/20-vcac.cfg If two lines are not returned, this is a finding. If the values for bind are not set to "80" and to "443", this is a finding.
Navigate to and open /etc/haproxy/conf.d/20-vcac.cfg Navigate to and configure the "frontend https-in" section with the following two values: bind 0.0.0.0:80 bind 0.0.0.0:443 ssl crt /etc/apache2/server.pem ciphers FIPS:+3DES:!aNULL no-sslv3
At the command prompt, execute the following command: grep 'bind' /etc/haproxy/conf.d/30-vro-config.cfg If the value for bind is not set to "8283", this is a finding.
Navigate to and open /etc/haproxy/conf.d/30-vro-config.cfg Navigate to and configure the "frontend https-in-vro-config" section with the following value: bind :8283 ssl crt /opt/vmware/etc/lighttpd/server.pem ciphers FIPS:+3DES:!aNULL no-sslv3
At the command prompt, execute the following command: grep -En 'ciphers' /etc/haproxy/conf.d/*.cfg If two lines are not returned, this is a finding. If the values for "ciphers" are not set to "FIPS:+3DES:!aNULL", this is a finding.
Navigate to and open /etc/haproxy/conf.d/30-vro-config.cfg Navigate to and configure the "frontend https-in-vro-config" section with the following value: bind :8283 ssl crt /opt/vmware/etc/lighttpd/server.pem ciphers FIPS:+3DES:!aNULL no-sslv3 Navigate to and open /etc/haproxy/conf.d/20-vcac.cfg Navigate to and configure the "frontend https-in" section with the following value: bind 0.0.0.0:443 ssl crt /etc/apache2/server.pem ciphers FIPS:+3DES:!aNULL no-sslv3
At the command prompt, execute the following command: ps aux -U root | grep '[h]aproxy' If the command does not return a line, this is a finding.
Restart the HAProxy service as "root".
At the command line execute the following command: grep -En '\sssl\s' /etc/haproxy/conf.d/*.cfg If the command does not return the two lines below, this is a finding. /etc/haproxy/conf.d/20-vcac.cfg:4: bind 0.0.0.0:443 ssl crt /etc/apache2/server.pem ciphers FIPS:+3DES:!aNULL no-sslv3 /etc/haproxy/conf.d/30-vro-config.cfg:2: bind :8283 ssl crt /opt/vmware/etc/lighttpd/server.pem ciphers FIPS:+3DES:!aNULL no-sslv3
Navigate to and open /etc/haproxy/conf.d/30-vro-config.cfg Navigate to and configure the "frontend https-in-vro-config" section with the following value: bind :8283 ssl crt /opt/vmware/etc/lighttpd/server.pem ciphers FIPS:+3DES:!aNULL no-sslv3 Navigate to and open /etc/haproxy/conf.d/20-vcac.cfg Navigate to and configure the "frontend https-in" section with the following value: bind 0.0.0.0:443 ssl crt /etc/apache2/server.pem ciphers FIPS:+3DES:!aNULL no-sslv3
At the command line execute the following command: grep -En '\sssl\s' /etc/haproxy/conf.d/*.cfg If the command does not return the two lines below, this is a finding. /etc/haproxy/conf.d/20-vcac.cfg:4: bind 0.0.0.0:443 ssl crt /etc/apache2/server.pem ciphers FIPS:+3DES:!aNULL no-sslv3 /etc/haproxy/conf.d/30-vro-config.cfg:2: bind :8283 ssl crt /opt/vmware/etc/lighttpd/server.pem ciphers FIPS:+3DES:!aNULL no-sslv3
Navigate to and open /etc/haproxy/conf.d/30-vro-config.cfg Navigate to and configure the "frontend https-in-vro-config" section with the following value: bind :8283 ssl crt /opt/vmware/etc/lighttpd/server.pem ciphers FIPS:+3DES:!aNULL no-sslv3 Navigate to and open /etc/haproxy/conf.d/20-vcac.cfg Navigate to and configure the "frontend https-in" section with the following value: bind 0.0.0.0:443 ssl crt /etc/apache2/server.pem ciphers FIPS:+3DES:!aNULL no-sslv3
At the command prompt, execute the following command: grep -EnR '\bbind\b.*\bssl\b' /etc/haproxy Verify that each returned line contains the no-sslv3 value. If any lines do not have this value, this is a finding.
Navigate to and open /etc/haproxy/conf.d/30-vro-config.cfg Navigate to and configure the "frontend https-in-vro-config" section with the following value: bind :8283 ssl crt /opt/vmware/etc/lighttpd/server.pem ciphers FIPS:+3DES:!aNULL no-sslv3 Navigate to and open /etc/haproxy/conf.d/20-vcac.cfg Navigate to and configure the "frontend https-in" section with the following value: bind 0.0.0.0:443 ssl crt /etc/apache2/server.pem ciphers FIPS:+3DES:!aNULL no-sslv3
At the command line execute the following command: grep -En '\sssl\s' /etc/haproxy/conf.d/*.cfg If the command does not return the two lines below, this is a finding. /etc/haproxy/conf.d/20-vcac.cfg:4: bind 0.0.0.0:443 ssl crt /etc/apache2/server.pem ciphers FIPS:+3DES:!aNULL no-sslv3 /etc/haproxy/conf.d/30-vro-config.cfg:2: bind :8283 ssl crt /opt/vmware/etc/lighttpd/server.pem ciphers FIPS:+3DES:!aNULL no-sslv3
Navigate to and open /etc/haproxy/conf.d/30-vro-config.cfg Navigate to and configure the "frontend https-in-vro-config" section with the following value: bind :8283 ssl crt /opt/vmware/etc/lighttpd/server.pem ciphers FIPS:+3DES:!aNULL no-sslv3 Navigate to and open /etc/haproxy/conf.d/20-vcac.cfg Navigate to and configure the "frontend https-in" section with the following value: bind 0.0.0.0:443 ssl crt /etc/apache2/server.pem ciphers FIPS:+3DES:!aNULL no-sslv3
At the command line execute the following command: grep -En '\sssl\s' /etc/haproxy/conf.d/*.cfg If the command does not return the two lines below, this is a finding. /etc/haproxy/conf.d/20-vcac.cfg:4: bind 0.0.0.0:443 ssl crt /etc/apache2/server.pem ciphers FIPS:+3DES:!aNULL no-sslv3 /etc/haproxy/conf.d/30-vro-config.cfg:2: bind :8283 ssl crt /opt/vmware/etc/lighttpd/server.pem ciphers FIPS:+3DES:!aNULL no-sslv3
Navigate to and open /etc/haproxy/conf.d/30-vro-config.cfg Navigate to and configure the "frontend https-in-vro-config" section with the following value: bind :8283 ssl crt /opt/vmware/etc/lighttpd/server.pem ciphers FIPS:+3DES:!aNULL no-sslv3 Navigate to and open /etc/haproxy/conf.d/20-vcac.cfg Navigate to and configure the "frontend https-in" section with the following value: bind 0.0.0.0:443 ssl crt /etc/apache2/server.pem ciphers FIPS:+3DES:!aNULL no-sslv3
Interview the ISSO. Determine whether HAProxy has the latest approved security-relevant software updates and updates are installed within the identified time period. If the latest approved security-relevant software updates are not installed or installed within the identified time period, this is a finding.
Ensure HAProxy has the latest approved security-relevant software updates and the updates are installed within the identified time period.
At the command line execute the following command: grep maxconn /etc/haproxy/haproxy.cfg If the "maxconn" value is not set to "32768", this is a finding.
Navigate to and open /etc/haproxy/haproxy.cfg Navigate to the "globals" section and add the following line: maxconn 32768
vRealize Automation 7.x HA Proxy is no longer supported by the vendor. If the system is running vRealize Automation 7.x HA Proxy, this is a finding.
Upgrade to a supported version.