From 5e40405a1297486bb976c9918cd06416bd8adebd Mon Sep 17 00:00:00 2001 From: Marian Rainer-Harbach Date: Fri, 13 Jul 2018 19:50:18 +0200 Subject: [PATCH] Allow disabling MySQL server certificate validation by setting ssl_do_not_verify_server_cert Signed-off-by: Eric Lippmann --- .../forms/Config/Resource/DbResourceForm.php | 12 +++++++ .../locale/de_DE/LC_MESSAGES/icinga.mo | Bin 70407 -> 70699 bytes .../locale/de_DE/LC_MESSAGES/icinga.po | 8 +++++ doc/04-Resources.md | 31 +++++++++--------- library/Icinga/Data/Db/DbConnection.php | 5 +++ .../library/Monitoring/BackendStep.php | 10 ++++++ .../library/Setup/Steps/ResourceStep.php | 10 ++++++ modules/setup/library/Setup/Utils/DbTool.php | 10 ++++++ 8 files changed, 71 insertions(+), 15 deletions(-) diff --git a/application/forms/Config/Resource/DbResourceForm.php b/application/forms/Config/Resource/DbResourceForm.php index 518c42280..d78cc3440 100644 --- a/application/forms/Config/Resource/DbResourceForm.php +++ b/application/forms/Config/Resource/DbResourceForm.php @@ -170,6 +170,18 @@ class DbResourceForm extends Form ) ); if (isset($formData['use_ssl']) && $formData['use_ssl']) { + if (defined('\PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT')) { + $this->addElement( + 'checkbox', + 'ssl_do_not_verify_server_cert', + array( + 'label' => $this->translate('SSL Do Not Verify Server Certificate'), + 'description' => $this->translate( + 'Whether to disable verification of the server certificate' + ) + ) + ); + } $this->addElement( 'text', 'ssl_key', diff --git a/application/locale/de_DE/LC_MESSAGES/icinga.mo b/application/locale/de_DE/LC_MESSAGES/icinga.mo index 4360b0a81d8270a3817d6ca5f512c2813ba7e3ad..78b43532cedf2c4244ddb9d23a661485a55c7f27 100644 GIT binary patch delta 15301 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 aVf*<1&d#7Tc|c~`aQBJ(NBMco%JqNMH8Uds delta 15030 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 5.6. +ssl\_cert | **Optional.** The file path to the SSL certificate. Only available for the `mysql` database. +ssl\_key | **Optional.** The file path to the SSL key. Only available for the `mysql` database. +ssl\_ca | **Optional.** The file path to the SSL certificate authority. Only available for the `mysql` database. +ssl\_capath | **Optional.** The file path to the directory that contains the trusted SSL CA certificates, which are stored in PEM format.Only available for the `mysql` database. +ssl\_cipher | **Optional.** A list of one or more permissible ciphers to use for SSL encryption, in a format understood by OpenSSL. For example: `DHE-RSA-AES256-SHA:AES128-SHA`. Only available for the `mysql` database. #### Example diff --git a/library/Icinga/Data/Db/DbConnection.php b/library/Icinga/Data/Db/DbConnection.php index 701969360..c8d1eb7b4 100644 --- a/library/Icinga/Data/Db/DbConnection.php +++ b/library/Icinga/Data/Db/DbConnection.php @@ -185,6 +185,11 @@ class DbConnection implements Selectable, Extensible, Updatable, Reducible, Insp if ($this->config->ssl_cipher) { $adapterParamaters['driver_options'][PDO::MYSQL_ATTR_SSL_CIPHER] = $this->config->ssl_cipher; } + if (defined('PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT') + && $this->config->ssl_do_not_verify_server_cert + ) { + $adapterParamaters['driver_options'][PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT] = false; + } } /* * Set MySQL server SQL modes to behave as closely as possible to Oracle and PostgreSQL. Note that the diff --git a/modules/monitoring/library/Monitoring/BackendStep.php b/modules/monitoring/library/Monitoring/BackendStep.php index f87f64b2e..e94625fb4 100644 --- a/modules/monitoring/library/Monitoring/BackendStep.php +++ b/modules/monitoring/library/Monitoring/BackendStep.php @@ -114,6 +114,16 @@ class BackendStep extends Step . '' . str_repeat('*', strlen($this->data['resourceConfig']['password'])) . '' . ''; + if (defined('\PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT') + && isset($this->data['resourceConfig']['ssl_do_not_verify_server_cert']) + && $this->data['resourceConfig']['ssl_do_not_verify_server_cert'] + ) { + $resourceHtml .= '' + . '' + . '' . t('SSL Do Not Verify Server Certificate') . '' + . '' . $this->data['resourceConfig']['ssl_do_not_verify_server_cert'] . '' + . ''; + } if (isset($this->data['resourceConfig']['ssl_key']) && $this->data['resourceConfig']['ssl_key']) { $resourceHtml .= '' .'' diff --git a/modules/setup/library/Setup/Steps/ResourceStep.php b/modules/setup/library/Setup/Steps/ResourceStep.php index 0792077b0..d9daf3b8f 100644 --- a/modules/setup/library/Setup/Steps/ResourceStep.php +++ b/modules/setup/library/Setup/Steps/ResourceStep.php @@ -91,6 +91,16 @@ class ResourceStep extends Step . '' . str_repeat('*', strlen($this->data['dbResourceConfig']['password'])) . '' . ''; + if (defined('\PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT') + && isset($this->data['resourceConfig']['ssl_do_not_verify_server_cert']) + && $this->data['resourceConfig']['ssl_do_not_verify_server_cert'] + ) { + $dbHtml .= '' + . '' + . '' . t('SSL Do Not Verify Server Certificate') . '' + . '' . $this->data['resourceConfig']['ssl_do_not_verify_server_cert'] . '' + . ''; + } if (isset($this->data['dbResourceConfig']['ssl_key']) && $this->data['dbResourceConfig']['ssl_key']) { $dbHtml .= '' .'' diff --git a/modules/setup/library/Setup/Utils/DbTool.php b/modules/setup/library/Setup/Utils/DbTool.php index a50d3aa79..0617065b8 100644 --- a/modules/setup/library/Setup/Utils/DbTool.php +++ b/modules/setup/library/Setup/Utils/DbTool.php @@ -280,6 +280,11 @@ class DbTool if ($this->config['ssl_cipher']) { $config['driver_options'][PDO::MYSQL_ATTR_SSL_CIPHER] = $this->config['ssl_cipher']; } + if (defined('PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT') + && $this->config['ssl_do_not_verify_server_cert'] + ) { + $config['driver_options'][PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT] = false; + } } $this->zendConn = new Zend_Db_Adapter_Pdo_Mysql($config); } elseif ($this->config['db'] === 'pgsql') { @@ -330,6 +335,11 @@ class DbTool if ($this->config['ssl_cipher']) { $driverOptions[PDO::MYSQL_ATTR_SSL_CIPHER] = $this->config['ssl_cipher']; } + if (defined('PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT') + && $this->config['ssl_do_not_verify_server_cert'] + ) { + $driverOptions[PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT] = false; + } } $this->pdoConn = new PDO(