Panoramica su SSL
MariaDB di solito è compilata con il supporto a SSL, che però è disabilitato per default. E' possibile verificarlo tramite la variabile di sistema have_ssl:
SHOW VARIABLES LIKE 'have_ssl'; +---------------+----------+ | Variable_name | Value | +---------------+----------+ | have_ssl | DISABLED | +---------------+----------+
Se il server supporta le connessioni SSL, il valore viene impostato a YES
, altrimenti, se il supporto a SSL non è stato compilato, il valore sarà impostato a NO
. DISABLED
significa che il server è stato compilato con il supporto a SSL, ma avviato senza questa funzionalità. E' la situazione più comune.
Per abilitare SSL, si avvii il server con l'opzione --ssl. E' possibile impostare diverse opzioni SSL, come il nome del certificato, la lista degli algoritmi, etc.
Il server è quasi sempre linkato dinamicamente alla libreria SSL. I binari per Windows utilizzano yaSSL, mentre le altre piattaforme usano OpenSSL. Siccome il server è linkato dinamicamente, nel caso di una vulnerabilità in una libreria SSL sottostante (come il bug Heartbleed dell'aprile 2014), è sufficiente installare una versione della libreria SSL senza il bug; non sarà necessario riavviare MariaDB.
E' possibile verificare che la libreria SSL sia linkata dinamicamente in questo modo:
ldd `which mysqld` | grep ssl libssl.so.1.0.0 => /lib/x86_64-linux-gnu/libssl.so.1.0.0 (0x00007fd36ba4a000)