Зашифрован ли порт MySQL 3306, и если нет, то как его зашифровать?

26

Я работаю через аудит безопасности для системы на моей работе, и одним из требований является шифрование всего трафика через общедоступные / незащищенные сети. Поскольку мы обращаемся к базе данных MySQL (через порт 3306) на одном из наших внешних серверов из нашей офисной сети, соединение с MySQL должно быть зашифровано.

Это уже зашифровано, и если нет, как я могу зашифровать его?

Я использую инструменты и сценарии, которые не могут использовать причудливые переадресации портов SSH или VPN ... это все еще возможно?

Стивен Р.К.
источник
1
Просто для людей, наталкивающихся на эту тему. Документ теперь (2018) находится по еще одной ссылке; dev.mysql.com/doc/refman/5.7/en/encrypted-connections.html
CeD

Ответы:

14

Нет, по умолчанию трафик mysql не шифруется. Настройка MySQL для работы с OpenSSL для каждого соединения - ваш лучший выбор. Большинство бинарных файлов в настоящее время построены с поддержкой SSL, но достаточно просто проверить, будет ли ваша версия их поддерживать. Из документации:

Чтобы проверить, скомпилирован ли двоичный файл сервера с поддержкой SSL, запустите его с параметром --ssl. Произойдет ошибка, если сервер не поддерживает SSL:

shell> mysqld --ssl --help
060525 14:18:52 [ERROR] mysqld: unknown option '--ssl'
nedm
источник
Гиперссылка мертва.
JellicleCat
Ссылка для v5.6: dev.mysql.com/doc/refman/5.6/en/ssl-connections.html (также обновлен выше)
smhg
6

По умолчанию MySQL не шифрует соединение клиент / сервер:

Вы можете настроить MySQL на прием соединений через SSL и требовать, чтобы пользователи использовали SSL. Вот руководство по настройке SSL:

sreimer
источник
ссылки не работают
knocte