Я прохожу аудит безопасности системы на моей работе, и одно из требований - шифрование всего трафика через общедоступные / незащищенные сети. Поскольку мы получаем доступ к базе данных MySQL (через порт 3306) на одном из наших внешних серверов из нашей офисной сети, соединение с MySQL необходимо зашифровать.
Он уже зашифрован, и если нет, как его зашифровать?
Я использую инструменты и сценарии, которые не могут использовать причудливые SSH-переадресацию портов или VPN ... возможно ли это?
Нет, по умолчанию трафик mysql не зашифрован. Установка MySQL работать с OpenSSL на основе количества подключений - ваш лучший выбор. В наши дни большинство двоичных файлов построено с поддержкой SSL, но достаточно легко проверить, поддерживает ли его ваша версия. Из документации:
Чтобы проверить, скомпилирован ли двоичный файл сервера с поддержкой SSL, вызовите его с параметром --ssl. Произойдет ошибка, если сервер не поддерживает SSL:
shell> mysqld --ssl --help 060525 14:18:52 [ERROR] mysqld: unknown option '--ssl'
По умолчанию MySQL не шифрует обмен данными между клиентом и сервером:
Вы можете настроить MySQL для приема соединений через SSL и требовать от пользователей использования SSL. Вот руководство по настройке SSL: