From e7202dce8417f450ed4d4e48da45930e89cb426b Mon Sep 17 00:00:00 2001
From: Eric Covener
Description: | Cipher Suite available for negotiation in SSL handshake |
---|---|
Syntax: | SSLCipherSuite cipher-spec |
Syntax: | SSLCipherSuite [protocol] cipher-spec |
Default: | SSLCipherSuite DEFAULT (depends on OpenSSL version) |
Context: | server config, virtual host, directory, .htaccess |
Override: | AuthConfig |
Description: | SSL Engine Operation Switch |
---|---|
Syntax: | SSLEngine on|off|optional|addr[:port] [addr[:port]] ... |
Syntax: | SSLEngine on|off|optional |
Default: | SSLEngine off |
Context: | server config, virtual host |
Status: | Extension |
Compatibility: | The addr:port parameter is available in Apache 2.4.30 and later. |
-This directive toggles the usage of the SSL/TLS Protocol Engine. Values 'on',
-'off' and 'optional' should be used inside a <VirtualHost>
section to enable SSL/TLS for a
+This directive toggles the usage of the SSL/TLS Protocol Engine. This
+is should be used inside a <VirtualHost>
section to enable SSL/TLS for a
that virtual host. By default the SSL/TLS Protocol Engine is
disabled for both the main server and all configured virtual hosts.
<VirtualHost _default_:443> @@ -974,15 +986,6 @@ SSLEngine on #... </VirtualHost>
The addr:port
values should be used in the
-global server to enable the SSL/TLS Protocol Engine for all
-<VirtualHost>
s
-that match one of the addresses in the list.
SSLEngine *:443 -<VirtualHost *:443> -#... -</VirtualHost>-
SSLEngine
can be set to optional
:
this enables support for
RFC 2817.
@@ -1495,149 +1498,14 @@ for a detailed description by them.):
intermediate
: the fallback if you need to support old (but not very old) clients.old
: when you need to give Windows XP/Internet Explorer 6 access. The last resort.SSLPolicy applies configuration settings in place, meaning previous values are +overwritten. Configuration directives following an SSLPolicy may overwrite it. +
You can check the detailed description of all defined policies via the command line:
httpd -t -D DUMP_SSL_POLICIES
A SSLPolicy defines the baseline for the context it is used in. That means that any
-other SSL* directives in the same context override it. As an example of this, see the effective
-SSLProtocol
value in the following settings:
<VirtualHost...> # effective: 'all' - SSLPolicy modern - SSLProtocol all -</VirtualHost> - -<VirtualHost...> # effective: 'all' - SSLProtocol all - SSLPolicy modern -</VirtualHost> - -SSLPolicy modern -<VirtualHost...> # effective: 'all' - SSLProtocol all -</VirtualHost> - -SSLProtocol all -<VirtualHost...> # effective: '+TLSv1.2' - SSLPolicy modern -</VirtualHost>-
There can be more than one policy applied in a context. The -later ones overshadowing the earlier ones:
- -<VirtualHost...> # effective protocol: 'all -SSLv3' - SSLPolicy modern - SSLPolicy intermediate -</VirtualHost> - -<VirtualHost...> # effective protocol: '+TLSv1.2' - SSLPolicy intermediate - SSLPolicy modern -</VirtualHost>-
Description: | Define a named set of SSL configurations |
---|---|
Syntax: | <SSLPolicyDefine name> |
Context: | server config |
Status: | Extension |
Module: | mod_ssl |
Compatibility: | Available in httpd 2.4.30 and later |
This directive defines a set of SSL* configurations under
-and gives it a name. This name can be used in the directives
-SSLPolicy
and SSLProxyPolicy
-to apply this configuration set in the current context.
<SSLPolicyDefine safe-stapling> - SSLUseStapling on - SSLStaplingResponderTimeout 2 - SSLStaplingReturnResponderErrors off - SSLStaplingFakeTryLater off - SSLStaplingStandardCacheTimeout 86400 -</SSLPolicyDefine> - - ... - <VirtualHost...> - SSLPolicy safe-stapling - ...-
On the one hand, this can make server configurations easier to -read and maintain. On the other hand, it is -intended to make SSL easier and safer to use. For the -latter, Apache httpd ships with a set of pre-defined policies -that reflect good open source practise. The policy "modern", -for example, carries the settings to make your server work -compatible and securely with current browsers.
- -The list of predefined policies in your Apache can be obtained -by running the following command. This list shows you the -detailed configurations each policy is made of:
- -httpd -t -D DUMP_SSL_POLICIES-
The directive can only be used in the server config (global context). It can take
-most SSL* directives, however a few can only be set once and are not allowed inside
-policy defintions. These are SSLCryptoDevice
,
-SSLRandomSeed
,
-SSLSessionCache
and
-SSLStaplingCache
.
-
Two policies cannot have the same name. However, policies can -be redefined:
- -<SSLPolicyDefine proxy-trust> - SSLProxyVerify require -</SSLPolicyDefine> - ... -<SSLPolicyDefine proxy-trust> - SSLProxyVerify none -</SSLPolicyDefine>-
Policy definitions are added in the order they appear, but are -applied when the whole configuration has been read. This means that any -use of 'proxy-trust' will mean 'SSLProxyVerify none'. The first definition -has no effect at all. That allows pre-installed policies to be replaced -without the need to disable them.
- -Additional to replacing policies, redefinitions may just alter -an aspect of a policy:
- -<SSLPolicyDefine proxy-trust> - SSLProxyVerify require -</SSLPolicyDefine> - ... -<SSLPolicyDefine proxy-trust> - SSLPolicy proxy-trust - SSLProxyVerifyDepth 10 -</SSLPolicyDefine>-
This re-uses all settings from the previous 'proxy-trust' and adds -one directive on top of it. All others still apply. This is very handy -when pre-defined policies (from Apache itself or a distributor) -that almost what you need. Previously, such definitions were -(copied and) edited. This made updating them difficult. Now they can -be setup like this:
- -Include ssl-policies.conf - -<SSLPolicyDefine modern> - SSLPolicy modern - SSLProxyVerify none -</SSLPolicyDefine>-
TLSv1.3
(when using OpenSSL 1.1.1 and later)
+ + A new version of the TLS protocol, as defined in + RFC TBD.
all
This is a shortcut for ``+SSLv3 +TLSv1
'' or
@@ -1925,7 +1798,7 @@ improvements.
Description: | Cipher Suite available for negotiation in SSL proxy handshake |
---|---|
Syntax: | SSLProxyCipherSuite cipher-spec |
Syntax: | SSLProxyCipherSuite [protocol] cipher-spec |
Default: | SSLProxyCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+EXP |
Context: | server config, virtual host, proxy section |
Status: | Extension |
Description: | Apply the SSLProxy* parts alone of a SSLPolicy |
---|---|
Syntax: | SSLProxyPolicy name |
Context: | server config, virtual host |
Status: | Extension |
Module: | mod_ssl |
Compatibility: | Available in httpd 2.4.30 and later |
This directive is similar to SSLPolicy
, but
-applies only the SSLProxy* directives defined in the policy. This helps
-when you need different policies for front and backends:
SSLPolicy modern -SSLProxyPolicy intermediate-
In this example, the 'modern' policy is first applied for front- and backend. The backend -parts are then overwritten by the 'intermediate' policy settings.
-