On 21/05/2019 21:46, Christopher Schultz wrote:
> All,
> 
> Looking at the legacy-versus-modern TLS configuration (Connector vs
> SSLHostConfig), it seems easy for an admin to create a configuration
> that looks like this (paraphrasing):
> 
> <Connector SSLEngine="on" SSLEnabledProtocols="TLSv1.2" [...]>
>   <SSLHostConfig
>        hostname="mysite.com"
>        SSLCertificateFile="keystore.p12" />
> </Connector>
> 
> Where the expectation is that only TLSv1.2 will be enabled for virsual
> host mysite.com when in fact only the virtual host named ("_default_")
> will actually be limited to TLSv1.2 and other hosts will accept
> connections using a TLS handshake with all default enabled protocols
> (currently TLSv*).
> 
> This may be surprising and there is no indication that there is
> something "wrong" with the configuration. Only a TLS handshake probe
> such as SSL Labs's testing tool will expose the oversight.
> 
> I propose the following change to the <Connector> and <SSLHostConfig>
> initialization process:
> 
> If the <Connector> contains any TLS/SSL-related configuration AND at
> least one <SSLHostConfig> element is configured, refuse to start the
> connector (with an appropriate error message).
> 
> This may cause a small number of configurations to fail to start. The
> "workaround" is to re-evaluate one's configuration to (a) determine if
> there was a misconfiguration where expectation and reality don't match
> and (b) move all TLS/SSL-related configuration options from the
> <Connector> to each of the <SSLHostConfig> elements.
> 
> Any objections?

None.

Given that the old style configuration is due to be removed in Tomcat
10, now is probably a good time to start doing this. I'd add logging a
warning if the deprecated config style is used.

Mark

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to