Saltstack Official Apache Formula
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

109 lines
4.9KB

  1. #
  2. # This file is managed by Salt! Do not edit by hand!
  3. #
  4. <IfModule mod_ssl.c>
  5. # Pseudo Random Number Generator (PRNG):
  6. # Configure one or more sources to seed the PRNG of the SSL library.
  7. # The seed data should be of good random quality.
  8. # WARNING! On some platforms /dev/random blocks if not enough entropy
  9. # is available. This means you then cannot use the /dev/random device
  10. # because it would lead to very long connection times (as long as
  11. # it requires to make more entropy available). But usually those
  12. # platforms additionally provide a /dev/urandom device which doesn't
  13. # block. So, if available, use this one instead. Read the mod_ssl User
  14. # Manual for more details.
  15. #
  16. SSLRandomSeed startup builtin
  17. SSLRandomSeed startup file:/dev/urandom 512
  18. SSLRandomSeed connect builtin
  19. SSLRandomSeed connect file:/dev/urandom 512
  20. ##
  21. ## SSL Global Context
  22. ##
  23. ## All SSL configuration in this context applies both to
  24. ## the main server and all SSL-enabled virtual hosts.
  25. ##
  26. #
  27. # Some MIME-types for downloading Certificates and CRLs
  28. #
  29. AddType application/x-x509-ca-cert .crt
  30. AddType application/x-pkcs7-crl .crl
  31. # Pass Phrase Dialog:
  32. # Configure the pass phrase gathering process.
  33. # The filtering dialog program (`builtin' is a internal
  34. # terminal dialog) has to provide the pass phrase on stdout.
  35. SSLPassPhraseDialog exec:/usr/share/apache2/ask-for-passphrase
  36. # Inter-Process Session Cache:
  37. # Configure the SSL Session Cache: First the mechanism
  38. # to use and second the expiring timeout (in seconds).
  39. # (The mechanism dbm has known memory leaks and should not be used).
  40. #SSLSessionCache dbm:${APACHE_RUN_DIR}/ssl_scache
  41. SSLSessionCache shmcb:${APACHE_RUN_DIR}/ssl_scache(512000)
  42. SSLSessionCacheTimeout 300
  43. # Semaphore:
  44. # Configure the path to the mutual exclusion semaphore the
  45. # SSL engine uses internally for inter-process synchronization.
  46. # (Disabled by default, the global Mutex directive consolidates by default
  47. # this)
  48. #Mutex file:${APACHE_LOCK_DIR}/ssl_mutex ssl-cache
  49. # SSL Cipher Suite:
  50. # List the ciphers that the client is permitted to negotiate. See the
  51. # ciphers(1) man page from the openssl package for list of all available
  52. # options.
  53. # Enable only secure ciphers:
  54. {#- default from https://wiki.mozilla.org/Security/Server_Side_TLS#Intermediate_compatibility_.28default.29 #}
  55. 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') }}
  56. # SSL server cipher order preference:
  57. # Use server priorities for cipher algorithm choice.
  58. # Clients may prefer lower grade encryption. You should enable this
  59. # option if you want to enforce stronger encryption, and can afford
  60. # the CPU cost, and did not override SSLCipherSuite in a way that puts
  61. # insecure ciphers first.
  62. # Default: Off
  63. SSLHonorCipherOrder {{ salt['pillar.get']('apache:ssl:SSLHonorCipherOrder', 'On') }}
  64. # The protocols to enable.
  65. # Available values: all, SSLv3, TLSv1, TLSv1.1, TLSv1.2
  66. # SSL v2 is no longer supported
  67. SSLProtocol {{ salt['pillar.get']('apache:ssl:SSLProtocol', 'all -SSLv2 -SSLv3') }}
  68. # Allow insecure renegotiation with clients which do not yet support the
  69. # secure renegotiation protocol. Default: Off
  70. #SSLInsecureRenegotiation on
  71. # Whether to forbid non-SNI clients to access name based virtual hosts.
  72. # Default: Off
  73. #SSLStrictSNIVHostCheck On
  74. {% set use_stapling = salt['pillar.get']('apache:ssl:SSLUseStapling', 'Off') -%}
  75. {% if use_stapling == 'On' -%}
  76. # Stapling configuration
  77. # Default: Off
  78. #
  79. # See https://httpd.apache.org/docs/2.4/ssl/ssl_howto.html for more details
  80. # Defaults values taken from https://mozilla.github.io/server-side-tls/ssl-config-generator/
  81. SSLUseStapling {{ use_stapling }}
  82. SSLStaplingResponderTimeout {{ salt['pillar.get']('apache:ssl:SSLStaplingResponderTimeout', '5') }}
  83. SSLStaplingReturnResponderErrors {{ salt['pillar.get']('apache:ssl:SSLStaplingReturnResponderErrors', 'Off') }}
  84. SSLStaplingCache {{ salt['pillar.get']('apache:ssl:SSLStaplingCache', 'shmcb:/var/run/ocsp(128000)') }}
  85. {%- endif %}
  86. {% set ssl_session_ticket = salt['pillar.get']('apache:ssl:SSLSessionTickets') -%}
  87. {% if ssl_session_ticket -%}
  88. # Enable or disable use of TLS session tickets
  89. # Default: On
  90. SSLSessionTickets {{ ssl_session_ticket }}
  91. {%- endif %}
  92. </IfModule>
  93. # vim: syntax=apache ts=4 sw=4 sts=4 sr noet