WL#7709: Add server-side option to require secure transport

Affects: Server-5.7   —   Status: Complete

MySQL Server currently provides a mechanism to require SSL for individual user
accounts (CREATE USER ... REQUIRE SSL), but no mechanism for a DBA to require
secure connections globally.  A server option (e.g., --require_secure_transport)
should be added which refuses TCP/IP connections without SSL globally,
regardless of per-account settings.  Because the client may send credentials in
the handshake response packet, it is impractical for the server to prevent
clients from sending data - including authentication credentials - without SSL.
 However, the server can and should prohibit further operations when SSL is not
enabled, protecting against application data from being exposed on the network.

Because SSL checks are done post-authentication and there is no "retry with SSL"
mechanism, it is expected that non-SSL connection attempts will be terminated by
the server when this option is enabled, rather than attempting to negotiate SSL.

User Documentation
==================

http://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-8.html
http://dev.mysql.com/doc/refman/5.7/en/server-system-
variables.html#sysvar_require_secure_transport