A.9 MySQL 8.4 FAQ: Безопасность
- A.9.1. Где можно найти документацию, посвященную вопросам безопасности MySQL?
- A.9.2. Какой плагин аутентификации используется по умолчанию в MySQL 8.4?
- A.9.3. Поддерживает ли MySQL протокол SSL?
- A.9.4. Поддержка SSL включена в двоичные файлы MySQL или мне нужно их перекомпилировать?
- A.9.5. Есть ли встроенная поддержка аутентификации против каталогов LDAP в MySQL?
- A.9.6. Поддерживает ли MySQL систему управления доступом на основе ролей (RBAC)?
- A.9.7. Поддерживает ли MySQL TLS 1.0 и 1.1?
|
A.9.1. |
Где можно найти документацию, посвященную вопросам безопасности MySQL? |
|
Лучше всего начать с Главы 8, Безопасность. Другие разделы документации MySQL, которые могут быть полезны в отношении конкретных проблем безопасности, включают следующие: Также существует Руководство по защищенному развертыванию, которое предоставляет процедуры для развертывания общей двоичной дистрибуции MySQL Enterprise Edition Server с функциями для управления безопасностью вашей установки MySQL. |
|
|
A.9.2. |
Какой механизм аутентификации по умолчанию используется в MySQL 8.4? |
|
По умолчанию, начиная с MySQL 8.0, используется Механизм Дополнительную информацию об аутентификации с подключаемыми модулями и других доступных механизмах аутентификации см. в Разделе 8.2.17, «Подключаемые модули аутентификации» и Разделе 8.4.1, «Подключаемые модули аутентификации». |
|
|
A.9.3. |
Поддерживает ли MySQL протокол SSL по умолчанию? |
|
Да, в двоичных файлах есть поддержка SSL-соединений между клиентом и сервером. Смотрите Раздел 8.3, «Использование зашифрованных соединений». Вы также можете использовать туннель через SSH, если (например), клиентское приложение не поддерживает SSL-соединения. Пример см. в Разделе 8.3.4, «Подключение к MySQL удаленно из Windows с помощью SSH». |
|
|
A.9.4. |
Поддержка SSL включена в двоичные файлы MySQL, или мне нужно перекомпилировать двоичный файл, чтобы включить её? |
Да, в двоичных файлах включена поддержка SSL для защищённых, аутентифицированных или обоих типов соединений клиент-сервер. См. Раздел 8.3, «Использование зашифрованных соединений». |
|
|
A.9.5. |
Поддерживает ли MySQL аутентификацию против каталогов LDAP? |
Издание Enterprise включает плагин аутентификации PAM, который поддерживает аутентификацию по каталогу LDAP. |
|
|
A.9.6. |
Поддерживает ли MySQL контроль доступа на основе ролей (RBAC)? |
Нет, пока нет. |
|
|
A.9.7. |
Поддерживает ли MySQL TLS 1.0 и 1.1? |
|
Поддержка протоколов подключения TLSv1 и TLSv1.1 удалена начиная с MySQL 8.0.28. Протоколы были устаревшими начиная с MySQL 8.0.26. Последствия удаления см. в статье об удалении поддержки TLSv1 и TLSv1.1. Поддержка TLS версии 1.0 и 1.1 удалена, потому что эти версии протокола устарели, выпущены в 1996 и 2006 годах соответственно. Использованные алгоритмы слабые и устаревшие. Если вы не используете очень старые версии MySQL Server или коннекторов, у вас вряд ли будут подключения с использованием TLS 1.0 или 1.1. MySQL коннекторы и клиенты по умолчанию выбирают самую высокую доступную версию TLS. Когда поддержка TLS 1.2 была добавлена в MySQL Server? MySQL Community Server добавила поддержку TLS 1.2, когда в 2019 году сервер перешел на OpenSSL для MySQL 5.6, 5.7 и 8.0. Для MySQL Enterprise Edition поддержка TLS 1.2 была добавлена в 2015 году в MySQL Server 5.7.10 с OpenSSL. Как можно просмотреть используемые версии TLS? Для MySQL 5.7 или 8.0 проверьте использование TLS 1.0 или 1.1, выполнив этот запрос:
SELECT
`session_ssl_status`.`thread_id`, `session_ssl_status`.`ssl_version`,
`session_ssl_status`.`ssl_cipher`, `session_ssl_status`.`ssl_sessions_reused`
FROM `sys`.`session_ssl_status`
WHERE ssl_version NOT IN ('TLSv1.3','TLSv1.2');
Если в списке есть поток, использующий TLSv1.0 или TLSv1.1, вы можете определить источник этого подключения, выполнив этот запрос:
SELECT thd_id,conn_id, user, db, current_statement, program_name
FROM sys.processlist
WHERE thd_id IN (
SELECT `session_ssl_status`.`thread_id`
FROM `sys`.`session_ssl_status`
WHERE ssl_version NOT IN ('TLSv1.3','TLSv1.2')
);
Или вы можете выполнить этот запрос: SELECT *
FROM sys.session
WHERE thd_id IN (
SELECT `session_ssl_status`.`thread_id`
FROM `sys`.`session_ssl_status`
WHERE ssl_version NOT IN ('TLSv1.3','TLSv1.2')
);
Эти запросы предоставляют необходимые данные для определения приложения, которое не поддерживает TLS 1.2 или 1.3, и для планирования обновлений. Есть ли другие варианты проверки TLS 1.0 или 1.1? Да, вы можете отключить эти версии перед обновлением сервера до более новой версии. Явно укажите используемую версию, либо в Все MySQL Connectors (5.7 и 8.0) поддерживают TLS 1.2 и выше? Что касается приложений C и C++ использующих $> В MacOS используйте эту команду: $> Проверьте документацию для каждого коннектора, но они поддерживают TLS 1.2 и TLS 1.3. |
© 2025 Oracle
Licensed under the GPLv2 License.