Spec-Zone .ru
спецификации, руководства, описания, API
|
Этот раздел описывает опции, которые используются, чтобы определить, использовать ли SSL и имена сертификата SSL и файлов ключей. Эти опции могут быть даны на командной строке или в файле опции. Они не доступны, если MySQL не был создан с поддержкой SSL. См. Раздел 6.3.9.2, "Конфигурируя MySQL для SSL".
Таблица 6.16. Сводка Опции/Переменной SSL
Имя | Cmd-строка | Файл опции | Системный Var | Var состояния | Контекст Var | Динамичный |
---|---|---|---|---|---|---|
have_openssl | Да | Глобальная переменная | Нет | |||
have_ssl | Да | Глобальная переменная | Нет | |||
пропустить-ssl | Да | Да | ||||
ssl | Да | Да | ||||
ssl-приблизительно | Да | Да | Глобальная переменная | Нет | ||
- Переменная: ssl_ca | Да | Глобальная переменная | Нет | |||
ssl-capath | Да | Да | Глобальная переменная | Нет | ||
- Переменная: ssl_capath | Да | Глобальная переменная | Нет | |||
ssl-свидетельство | Да | Да | Глобальная переменная | Нет | ||
- Переменная: ssl_cert | Да | Глобальная переменная | Нет | |||
ssl-шифр | Да | Да | Глобальная переменная | Нет | ||
- Переменная: ssl_cipher | Да | Глобальная переменная | Нет | |||
ssl-crl | Да | Да | Глобальная переменная | Нет | ||
- Переменная: ssl_crl | Да | Глобальная переменная | Нет | |||
ssl-crlpath | Да | Да | Глобальная переменная | Нет | ||
- Переменная: ssl_crlpath | Да | Глобальная переменная | Нет | |||
ssl-ключ | Да | Да | Глобальная переменная | Нет | ||
- Переменная: ssl_key | Да | Глобальная переменная | Нет | |||
ssl-verify-server-cert | Да | Да |
Для сервера эта опция определяет, что сервер разрешает соединения SSL. Для клиентской программы это
разрешает клиенту соединяться с сервером, используя SSL, но эта опция не достаточна сам по себе
заставить соединение SSL использоваться. Как рекомендуемый набор опций, чтобы включить соединениям
SSL, используйте, по крайней мере, --ssl-cert
и --ssl-key
на стороне сервера и --ssl-ca
на стороне клиента.
--ssl
подразумевается другим --ssl-
опции как обозначено в описаниях для тех
опций. Поэтому xxx
--ssl
обычно не определяется явно. Это чаще используется явно в
его противоположной форме, чтобы переопределить другие опции SSL и указать, что SSL не должен использоваться. Чтобы сделать это, определите опцию как --skip-ssl
или --ssl=0
.
Например, Вам можно было бы определить опции SSL в [client]
группа
Вашего файла опции, чтобы использовать соединения SSL по умолчанию, когда Вы вызываете клиентские
программы MySQL. Чтобы использовать незашифрованное соединение вместо этого, вызовите клиентскую
программу с --skip-ssl
на командной строке, чтобы переопределить опции в файле
опции.
Использование --ssl
не требует, чтобы
соединение SSL использовалось, оно только разрешает это. Например, если Вы определяете эту опцию для
клиентской программы, но сервер не был сконфигурирован, чтобы разрешить соединения SSL,
незашифрованное соединение используется.
Безопасный способ потребовать использования соединения SSL состоит в том, чтобы создать учетную
запись MySQL, которая включает, по крайней мере, a REQUIRE SSL
пункт в
GRANT
оператор. В этом случае соединения для той учетной записи будут отклонены, если MySQL не будет
поддерживать соединения SSL, и сервер и клиент были запущены с надлежащих опций SSL.
REQUIRE
пункт разрешает другие связанные с SSL ограничения также. Они
могут использоваться для более строгих требований чем REQUIRE SSL
.
Описание REQUIRE
в Разделе 13.7.1.4,"GRANT
Синтаксис", обеспечивает дополнительную деталь, о
которой опции команды SSL могут или должны быть определены клиентами, которые соединяют учетные
записи использования, которые создаются, используя различное REQUIRE
опции.
Путь к файлу в формате PEM, который содержит список доверяемых центров сертификации SSL. Эта опция
подразумевает --ssl
.
Если Вы используете SSL, устанавливая клиентское соединение, можно сказать клиенту не
аутентифицировать сертификат сервера, не определяя ни одного --ssl-ca
ни --ssl-capath
. Сервер все еще проверяет клиент согласно любым
применимым требованиям, установленным, используя GRANT
операторы для клиента, и это все еще использует любого --ssl-ca
/--ssl-capath
значения, которые передали к серверу при запуске.
Путь к каталогу, который содержит доверяемые сертификаты центра сертификации SSL в формате PEM. Эта
опция подразумевает --ssl
.
Если Вы используете SSL, устанавливая клиентское соединение, можно сказать клиенту не
аутентифицировать сертификат сервера, не определяя ни одного --ssl-ca
ни --ssl-capath
. Сервер все еще проверяет клиент согласно любым
применимым требованиям, установленным, используя GRANT
операторы для клиента, и это все еще использует любого --ssl-ca
/--ssl-capath
значения, которые передали к серверу при запуске.
Дистрибутивы MySQL, созданные с OpenSSL, поддерживают --ssl-capath
опция. Дистрибутивы, созданные с yaSSL, делают, не потому
что yaSSL не смотрит ни в каком каталоге и не следует за цепочечным деревом сертификата. yaSSL
требует, чтобы все компоненты дерева сертификата CA содержались в пределах единственного дерева
сертификата CA и что каждый сертификат в файле сделал, чтобы уникальный SubjectName оценил. Чтобы
работать вокруг этого yaSSL ограничения, свяжите отдельные файлы сертификата, включающие дерево
сертификата в новый файл. Затем определите новый файл как значение --ssl-capath
опция.
Имя файла сертификата SSL в PEM форматирует, чтобы использовать для того, чтобы установить
безопасное соединение. Эта опция подразумевает --ssl
.
Список допустимых шифров, чтобы использовать для шифрования SSL. Если никакой шифр в списке не будет
поддерживаться, то соединения SSL не будут работать. Эта опция подразумевает --ssl
.
Для самой большой мобильности, cipher_list
должен быть
список одного или более имен шифра, разделенных двоеточиями. Этот формат понимается и под OpenSSL и
под yaSSL. Примеры:
--ssl-cipher=AES128-SHA--ssl-cipher=DHE-RSA-AES256-SHA:AES128-SHA
OpenSSL поддерживает более гибкий синтаксис для того, чтобы определить шифры, как описано в
документации OpenSSL в
Путь к файлу, содержащему списки аннулированных сертификатов в формате PEM. Эта опция подразумевает
--ssl
. Если
ни один --ssl-crl
ни --ssl-crlpath
дается, никакие проверки CRL не выполняются, даже
если путь CA содержит списки аннулированных сертификатов.
Дистрибутивы MySQL, созданные с OpenSSL, поддерживают --ssl-crl
опция. Дистрибутивы, созданные с yaSSL, делают, не потому
что yaSSL списки аннулирования не работают с yaSSL.
Эта опция была добавлена в MySQL 5.6.3.
Путь к каталогу, который содержит файлы, содержащие списки аннулированных сертификатов в формате
PEM. Эта опция подразумевает --ssl
. Если ни один --ssl-crl
ни --ssl-crlpath
дается, никакие проверки CRL не выполняются, даже
если путь CA содержит списки аннулированных сертификатов.
Дистрибутивы MySQL, созданные с OpenSSL, поддерживают --ssl-crlpath
опция. Дистрибутивы, созданные с yaSSL, делают, не
потому что yaSSL списки аннулирования не работают с yaSSL.
Эта опция была добавлена в MySQL 5.6.3.
Имя файла ключей SSL в PEM форматирует, чтобы использовать для того, чтобы установить безопасное соединение.
Если распределение MySQL было создано, используя OpenSSL или (с MySQL 5.6.3) yaSSL, и файл ключей защищается паролем, программа запросит пользователя пароль. Пароль должен быть дан в интерактивном режиме; это не может быть сохранено в файле. Если пароль является неправильным, программа продолжается, как будто это не могло считать ключ. Перед MySQL 5.6.3, если распределение MySQL было создано, используя yaSSL и файл ключей, защищается паролем, ошибка происходит.
Эта опция доступна для клиентских программ только, не сервера. Это заставляет клиент проверять значение Общего названия сервера в сертификат, который сервер отправляет клиенту. Клиент проверяет, что имя против имени хоста, которое клиент использует для того, чтобы соединиться с сервером, и сбоями соединения, если есть несоответствие. Эта функция может быть использована, чтобы предотвратить атаки "человек посередине". Проверка отключается по умолчанию.