Secure DB Connection
Depending on the MySQL server setup the SSL certs used may not be in the trusted store, if that’s the case mysqli_ssl_set() needs to be called to set custom keys and certs before connect. This Plugin adds a custom DB class that allows these settings to be configured via custom constants. This plugin
About this tool.
Depending on the MySQL server setup the SSL certs used may not be in the trusted store, if that’s the case mysqli_ssl_set() needs to be called to set custom keys and certs before connect. This Plugin adds a custom DB class that allows these settings to be configured via custom constants.
This plugin will also add a custom item on the “At a Glance” section of the Dashboard to show if the $wpdb connection is secure or not.
Also find me on GitHub .
Getting started.
For detailed installation instructions, please read the standard installation procedure for WordPress plugins .
- 01Install and activate plugin, if the filesystem is writable the Secure DB Connection dropin will be installed for you automatically. If not proceed to step 2
- 02Symlink or copy the db.php file from the /wp-content/plugins/secure-db-connection/lib/ directory to the /wp-content/ directory.
- 03Set the relevant defines in your wp-config.php file.
Configuration Parameters
To adjust the configuration, define any of the following applicable constants in your wp-config.php file.
- 04MYSQL_SSL_KEY [default: not set] The path name to the key file. (RSA Key)
- 05MYSQL_SSL_CERT [default: not set] The path name to the certificate file.
- 06MYSQL_SSL_CA [default: not set] The path name to the certificate authority file in PEM format.
- 07MYSQL_SSL_CA_PATH [default: not set] The pathname to a directory that contains trusted SSL CA certificates in PEM format.
- 08MYSQL_SSL_CIPHER [default: not set] A list of allowable ciphers to use for SSL encryption. You can leave this blank if you want to just use the strongest available.
Turning on SSL
First please note, only the mysqli (MySQL Improved) extension is supported this is the default extension used by WordPress however if you do not have the extension installed WordPress will fallback on the much older mysql extension which does not support secure connections.
Depending on your database configuration you may not need to set all the available options. For example when connecting to RDS Amazon helpfully provides a certificate bundle so once that’s downloaded to the server all that’s need is to set the CA option: