[MDEV-9553] TLS/SSL tasks Created: 2016-02-12 Updated: 2017-05-29 |
|
| Status: | Stalled |
| Project: | MariaDB Server |
| Component/s: | SSL |
| Fix Version/s: | None |
| Type: | Task | Priority: | Major |
| Reporter: | Georg Richter | Assignee: | Georg Richter |
| Resolution: | Unresolved | Votes: | 3 |
| Labels: | None | ||
| Issue Links: |
|
||||||||||||||||||||||||
| Sprint: | 10.2.0-8, 10.2.1-1, 10.2.1-2 | ||||||||||||||||||||||||
| Description |
Thread safety (OpenSSL)For both client and server use a global SSL context and provide locks for crypto API. Global definitionsCurrent implementation uses HAVE_OPENSSL which indicates that the server supports SSL, additionally HAVE_YASSL indicates that Yassl is used instead of OpenSSL. Suggestion:HAVE_SSL: indicates that server/client supports SSL TLS versions
SSL Ciphers:Check for invalid cipher namesThis should return an error:
Disallow bad ciphers/groupsOpenSSL:
Yassl
Valid/allowed ciphersOpenSSL
Yassl
Transport Layers:On Windows systems, OpenSSL doesn't provide support for SSL via named pipe or shared memory. Instead we need to provide support for using SChannel (Windows security support provider). DH (Diffie Hellmann) parametersOpenSSL documentation recommends not to use static dh parameters: "The risk in reusing DH parameters is that an attacker may specialize on a very often used DH group. Applications should therefore generate their own DH parameters during the installation process using the openssl dhparam application. This application guarantees that "strong" primes are used."
Passphrase protected private keysIf server uses a passphrase protected keyfile, it will not start unless correct passphrase for key was entered.
. OpenSSL versionset minimum required version of OpenSSL to 1.0.1 and update build machines Server certificate verificationCurrent implementation only checks validity of server certificate if option MYSQL_OPT_SSL_VERIFY_SERVER_CERT was specified. |
| Comments |
| Comment by Daniel Black [ 2016-02-28 ] |
TLS Session TicketsPerhaps hook the aspects of TLS session tickets (which is probably only OpenSSL/SChannel). Might only need a client side implementation. http://databaseblog.myname.nl/2016/01/the-performance-of-tls-with-mysql.html |
| Comment by Daniël van Eeden [ 2017-02-15 ] |
|
danblack: This bugreport has a proof-of-concept patch which does that: https://bugs.mysql.com/bug.php?id=76921 |