Привет , недавно я установил SSL-сертификат, связанный с моей базой данных, для защиты передачи данных между моей базой данных и моим веб-сервером.Для информации я использую MysqlServer (например, BDD) и PDO на своем веб-сервере для отправки запросов.
Я выполнил следующие инструкции для установки SSL-сертификата на MysqlServer:
sudo mysql_ssl_rsa_setup --uid=mysql
Я также включилэта опция защищает все биржи (require_secure_transport = ON).Таким образом, установка работала очень хорошо на стороне сервера Mysql.
Теперь, когда я хочу подключиться к моей базе данных через PDO с моего веб-сервера, я использую это:
<?php
//Connexion à la base de données.
$options = array(
PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8",
PDO::MYSQL_ATTR_SSL_CA => "-----BEGIN CERTIFICATE-----
BLABLABLA
-----END CERTIFICATE-----
",
PDO::MYSQL_ATTR_SSL_CERT => "-----BEGIN CERTIFICATE-----
BLABLABLA
-----END CERTIFICATE-----
",
PDO::MYSQL_ATTR_SSL_KEY => "-----BEGIN RSA PRIVATE KEY-----
BLABLABLA
-----END RSA PRIVATE KEY-----
",
PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT => false,);
try
{
$bdd = new PDO('mysql:host=***;dbname=***;charset=utf8', '***', '***', $options);
}
catch(Exception $e)
{
echo "Problème de connexion à la base de données. Réessayez !";
exit();
}
?>
Здесь тоже всеработает, но я хотел бы убедиться, что соединения зашифрованы.Поэтому из PDO я выполнил следующую команду: SHOW SESSION STATUS LIKE "Ssl_cipher";и я получаю это: DHE-RSA-AES256-SHA.Так что все в порядке.Однако, как только я изменяю свой сертификат (например, удаляю несколько букв и цифр), соединение всегда «защищено».То же самое относится и к неправильному расположению сертификатов.Таким образом, у меня сложилось впечатление, что даже без сертификатов соединение PDO остается безопасным.Можете ли вы уточнить это для меня?
Спасибо вам;)