102 lines
4.7 KiB
Django/Jinja
102 lines
4.7 KiB
Django/Jinja
#
|
|
# This file is managed by Salt! Do not edit by hand!
|
|
#
|
|
<IfModule mod_ssl.c>
|
|
|
|
# Pseudo Random Number Generator (PRNG):
|
|
# Configure one or more sources to seed the PRNG of the SSL library.
|
|
# The seed data should be of good random quality.
|
|
# WARNING! On some platforms /dev/random blocks if not enough entropy
|
|
# is available. This means you then cannot use the /dev/random device
|
|
# because it would lead to very long connection times (as long as
|
|
# it requires to make more entropy available). But usually those
|
|
# platforms additionally provide a /dev/urandom device which doesn't
|
|
# block. So, if available, use this one instead. Read the mod_ssl User
|
|
# Manual for more details.
|
|
#
|
|
SSLRandomSeed startup builtin
|
|
SSLRandomSeed startup file:/dev/urandom 512
|
|
SSLRandomSeed connect builtin
|
|
SSLRandomSeed connect file:/dev/urandom 512
|
|
|
|
##
|
|
## SSL Global Context
|
|
##
|
|
## All SSL configuration in this context applies both to
|
|
## the main server and all SSL-enabled virtual hosts.
|
|
##
|
|
|
|
#
|
|
# Some MIME-types for downloading Certificates and CRLs
|
|
#
|
|
AddType application/x-x509-ca-cert .crt
|
|
AddType application/x-pkcs7-crl .crl
|
|
|
|
# Pass Phrase Dialog:
|
|
# Configure the pass phrase gathering process.
|
|
# The filtering dialog program (`builtin' is a internal
|
|
# terminal dialog) has to provide the pass phrase on stdout.
|
|
SSLPassPhraseDialog exec:/usr/share/apache2/ask-for-passphrase
|
|
|
|
# Inter-Process Session Cache:
|
|
# Configure the SSL Session Cache: First the mechanism
|
|
# to use and second the expiring timeout (in seconds).
|
|
# (The mechanism dbm has known memory leaks and should not be used).
|
|
#SSLSessionCache dbm:${APACHE_RUN_DIR}/ssl_scache
|
|
SSLSessionCache shmcb:${APACHE_RUN_DIR}/ssl_scache(512000)
|
|
SSLSessionCacheTimeout 300
|
|
|
|
# Semaphore:
|
|
# Configure the path to the mutual exclusion semaphore the
|
|
# SSL engine uses internally for inter-process synchronization.
|
|
# (Disabled by default, the global Mutex directive consolidates by default
|
|
# this)
|
|
#Mutex file:${APACHE_LOCK_DIR}/ssl_mutex ssl-cache
|
|
|
|
|
|
# SSL Cipher Suite:
|
|
# List the ciphers that the client is permitted to negotiate. See the
|
|
# ciphers(1) man page from the openssl package for list of all available
|
|
# options.
|
|
# Enable only secure ciphers:
|
|
{#- default from https://wiki.mozilla.org/Security/Server_Side_TLS#Intermediate_compatibility_.28default.29 #}
|
|
SSLCipherSuite {{ salt['pillar.get']('apache:ssl:SSLCipherSuite', 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS') }}
|
|
|
|
# SSL server cipher order preference:
|
|
# Use server priorities for cipher algorithm choice.
|
|
# Clients may prefer lower grade encryption. You should enable this
|
|
# option if you want to enforce stronger encryption, and can afford
|
|
# the CPU cost, and did not override SSLCipherSuite in a way that puts
|
|
# insecure ciphers first.
|
|
# Default: Off
|
|
SSLHonorCipherOrder {{ salt['pillar.get']('apache:ssl:SSLHonorCipherOrder', 'On') }}
|
|
|
|
# The protocols to enable.
|
|
# Available values: all, SSLv3, TLSv1, TLSv1.1, TLSv1.2
|
|
# SSL v2 is no longer supported
|
|
SSLProtocol {{ salt['pillar.get']('apache:ssl:SSLProtocol', 'all -SSLv2 -SSLv3') }}
|
|
|
|
# Allow insecure renegotiation with clients which do not yet support the
|
|
# secure renegotiation protocol. Default: Off
|
|
#SSLInsecureRenegotiation on
|
|
|
|
# Whether to forbid non-SNI clients to access name based virtual hosts.
|
|
# Default: Off
|
|
#SSLStrictSNIVHostCheck On
|
|
|
|
{% set use_stapling = salt['pillar.get']('apache:ssl:SSLUseStapling', 'Off') -%}
|
|
{% if use_stapling == 'On' -%}
|
|
# Stapling configuration
|
|
# Default: Off
|
|
#
|
|
# See https://httpd.apache.org/docs/2.4/ssl/ssl_howto.html for more details
|
|
# Defaults values taken from https://mozilla.github.io/server-side-tls/ssl-config-generator/
|
|
SSLUseStapling {{ use_stapling }}
|
|
SSLStaplingResponderTimeout {{ salt['pillar.get']('apache:ssl:SSLStaplingResponderTimeout', '5') }}
|
|
SSLStaplingReturnResponderErrors {{ salt['pillar.get']('apache:ssl:SSLStaplingReturnResponderErrors', 'Off') }}
|
|
SSLStaplingCache {{ salt['pillar.get']('apache:ssl:SSLStaplingCache', 'shmcb:/var/run/ocsp(128000)') }}
|
|
{%- endif %}
|
|
</IfModule>
|
|
|
|
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
|