f2c5ffe7b1
In I4456bc1a0056da051947977a26dd6d57c549e421 we hardened Keystone's Apache SSL settings. In order to keep all Apache SSL settings uniformly configured, we also need to update Horizon's settings and centralize where we define the cipher suite that the server supports and the preferred protocol versions. We also explicitly disable SSLCompression even though we tend to only test against versions of Apache that have this off by default. If someone uses a version after 2.2.24 or uses 2.4.3, they would otherwise have to explicitly turn this off. Preferring security by default, we disable it explicitly to prevent insecure installations anywhere. We also document how users can override specific service SSL settings in the event one service needs to support older clients that require certain protocols or ciphers. For example, it's very plausible that an organization may need to enable RC4 and SSLv3 for Horizon since their users are still using XP and an old version of Internet Explorer. Related-Bug: 1437481 Change-Id: I85843452935710083253847d6e11f85e9d6d2e84
56 lines
1.9 KiB
Django/Jinja
56 lines
1.9 KiB
Django/Jinja
# {{ ansible_managed }}
|
|
|
|
{% set threads = ansible_processor_vcpus|default(2) // 2 %}
|
|
|
|
WSGIDaemonProcess keystone user={{ keystone_system_user_name }} group=nogroup processes={{ ansible_processor_cores|default(1) }} threads={{ threads if threads > 0 else 1 }}
|
|
|
|
<VirtualHost *:{{ keystone_service_port }}>
|
|
LogLevel {{ keystone_apache_log_level }}
|
|
ErrorLog /var/log/keystone/keystone-apache-error.log
|
|
CustomLog /var/log/keystone/ssl_access.log combined
|
|
Options +FollowSymLinks
|
|
|
|
{% if keystone_ssl_enabled == true %}
|
|
SSLEngine on
|
|
SSLCertificateFile {{ keystone_ssl_cert }}
|
|
SSLCertificateKeyFile {{ keystone_ssl_key }}
|
|
SSLCACertificatePath {{ keystone_ssl_cert_path }}
|
|
SSLCARevocationPath {{ keystone_ssl_cert_path }}
|
|
SSLVerifyClient optional
|
|
SSLVerifyDepth 10
|
|
SSLCompression Off
|
|
SSLProtocol {{ keystone_ssl_protocol }}
|
|
SSLHonorCipherOrder On
|
|
SSLCipherSuite {{ keystone_ssl_cipher_suite }}
|
|
SSLOptions +StdEnvVars +ExportCertData
|
|
{% endif %}
|
|
|
|
WSGIScriptAlias / /var/www/cgi-bin/keystone/main
|
|
WSGIProcessGroup keystone
|
|
</VirtualHost>
|
|
|
|
<VirtualHost *:{{ keystone_admin_port }}>
|
|
LogLevel {{ keystone_apache_log_level }}
|
|
ErrorLog /var/log/keystone/keystone-apache-error.log
|
|
CustomLog /var/log/keystone/ssl_access.log combined
|
|
Options +FollowSymLinks
|
|
|
|
{% if keystone_ssl_enabled == true %}
|
|
SSLEngine on
|
|
SSLCertificateFile {{ keystone_ssl_cert }}
|
|
SSLCertificateKeyFile {{ keystone_ssl_key }}
|
|
SSLCACertificatePath {{ keystone_ssl_cert_path }}
|
|
SSLCARevocationPath {{ keystone_ssl_cert_path }}
|
|
SSLVerifyClient optional
|
|
SSLVerifyDepth 10
|
|
SSLCompression Off
|
|
SSLProtocol {{ keystone_ssl_protocol }}
|
|
SSLHonorCipherOrder On
|
|
SSLCipherSuite {{ keystone_ssl_cipher_suite }}
|
|
SSLOptions +StdEnvVars +ExportCertData
|
|
{% endif %}
|
|
|
|
WSGIScriptAlias / /var/www/cgi-bin/keystone/admin
|
|
WSGIProcessGroup keystone
|
|
</VirtualHost>
|