# This directive can be used to control the SSL protocol flavors mod_ssl
# should use when establishing its server environment. Clients then can only
# connect with one of the provided protocols.
-SSLProtocol all -SSLv2 -SSLv3
+SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
# SSL Cipher Suite:
# List the ciphers that the client is permitted to negotiate.
# See the mod_ssl documentation for a complete list.
-SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
-SSLHonorCipherOrder on
+# High security: no weak ciphers, at least 256 bit
+# (except TLS_AES_128_GCM_SHA256 which is required by TLSv1.3)
+#SSLCipherSuite HIGH:!aNULL:!AES128:!ARIA128:!CAMELLIA128:!RSA:!SHA:!SHA256:!SHA384
+
+# If you don't care about TLSv1.3 requirements and don't want any 128 bit
+# cipher you can disable TLS_AES_128_GCM_SHA256 by uncommenting line below
+#SSLCipherSuite TLSv1.3 TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384
+
+# Strong security: no weak ciphers, at least 128 bit
+# Recommended setting if you are not paranoid
+SSLCipherSuite HIGH:!aNULL:!RSA:!SHA:!SHA256:!SHA384
+
+# Medium security: includes some weak ciphers, at least 256 bit
+# (except TLS_AES_128_GCM_SHA256 which is required by TLSv1.3)
+#SSLCipherSuite HIGH:!aNULL:!AES128:!ARIA128:!CAMELLIA128:!RSA
+
+# Low security: includes some weak ciphers, at least 128 bit
+#SSLCipherSuite HIGH:!aNULL:!RSA
+SSLHonorCipherOrder on
SSLCompression off
+SSLSessionTickets off
+
+# Use this command to generate 4096 DH parameters (it will take long time):
+# openssl dhparam -out /etc/httpd/ssl/dhparams.pem 4096
+# When finished, uncomment line below
+#SSLOpenSSLConfCmd DHParameters /etc/httpd/ssl/dhparams.pem
+
+SSLOpenSSLConfCmd ECDHParameters secp384r1
+SSLOpenSSLConfCmd Curves secp521r1:secp384r1
+
+Header always set Strict-Transport-Security max-age=31556952;includeSubDomains
+Header always set X-Frame-Options SAMEORIGIN
+Header edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure
+Header always set X-Content-Type-Options nosnif
# OCSP Stapling
-SSLUseStapling off
+SSLUseStapling on
SSLStaplingResponderTimeout 5
SSLStaplingReturnResponderErrors off
SSLStaplingCache shmcb:/var/cache/httpd/ocsp(128000)