A.9 MySQL 9.2 FAQ: Безопасность
- A.9.1. Где я могу найти документацию, посвященную вопросам безопасности MySQL?
- A.9.2. Какой плагин аутентификации используется по умолчанию в MySQL 9.2?
- A.9.3. Поддерживает ли MySQL протокол SSL?
- A.9.4. Включена ли поддержка SSL в бинарниках MySQL, или мне нужно перекомпилировать их для её активации?
- A.9.5. Поддерживает ли MySQL встроенную аутентификацию против каталогов LDAP?
- 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 9.2? |
|
Подключаемый модуль аутентификации по умолчанию начиная с 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. Последствия этого удаления описаны в . Поддержка 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, когда сообщественный сервер перешел на OpenSSL для MySQL 5.6, 5.7 и 8.0 в 2019 году. Для MySQL Enterprise Edition, OpenSSL добавил поддержку TLS 1.2 в 2015 году, в MySQL Server 5.7.10. Как можно посмотреть, какие версии 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.