A.9 MySQL 5.7 FAQ: Безопасность
- A.9.1. Где можно найти документацию, посвященную вопросам безопасности MySQL?
- A.9.2. Какой плагин аутентификации по умолчанию используется в MySQL 5.7?
- 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? |
|
Лучше всего начать с Главы 6, Безопасность. Другие разделы документации MySQL, которые могут быть полезны в отношении конкретных проблем безопасности, включают: Также имеется Руководство по защищенному развертыванию, которое содержит процедуры для развертывания общей двоичной дистрибуции MySQL Enterprise Edition Server с возможностями управления безопасностью вашей установки MySQL. |
|
|
A.9.2. |
Какая подключаемая модуль аутентификации по умолчанию в MySQL 5.7? |
Подключаемый модуль аутентификации по умолчанию в MySQL 5.7 — |
|
|
A.9.3. |
Поддерживает ли MySQL SSL по умолчанию? |
|
Да, двоичные файлы поддерживают SSL-соединения между клиентом и сервером. См. Раздел 6.3, «Использование шифрованных соединений». Также вы можете использовать туннель с помощью SSH, если (например), приложение-клиент не поддерживает SSL-соединения. Пример см. в Разделе 6.3.5, «Подключение к удалённому MySQL из Windows с использованием SSH». |
|
|
A.9.4. |
Поддержка SSL включена в двоичные файлы MySQL, или мне нужно перекомпилировать двоичные файлы, чтобы её включить? |
Да, в двоичных файлах поддержка SSL включена для защищенных, аутентифицированных или обоих типов клиентских/серверных соединений. См. Раздел 6.3, «Использование шифрованных соединений». |
|
|
A.9.5. |
Поддерживает ли MySQL аутентификацию на основе LDAP-каталогов? |
В Enterprise Edition имеется подключаемый модуль аутентификации 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. Поддержка 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 году community сервер перешел на OpenSSL для MySQL 5.6, 5.7 и 8.0. Для 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.