web-dev-qa-db-ja.com

MySQLポート3306は暗号化されていますか?暗号化されていない場合、どのように暗号化できますか?

私は職場でシステムのセキュリティ監査を行っています。要件の1つは、パブリック/保護されていないネットワークを介したすべてのトラフィックを暗号化することです。オフィスネットワークから外部サーバーの1つにあるMySQLデータベース(ポート3306を介して)にアクセスしているため、MySQLへの接続を暗号化する必要があります。

すでに暗号化されていますか?暗号化されていない場合、どうすれば暗号化できますか?

派手なSSHポート転送やVPNを使用できないツールやスクリプトを使用していますが、それでも可能ですか?

27
Stephen RC

いいえ、デフォルトではmysqlトラフィックは暗号化されていません。 MySQLのセットアップ OpenSSLで動作する 接続ごとに=最善の策です。最近、ほとんどのバイナリはSSLサポートを使用して構築されていますが、ご使用のバージョンでサポートされているかどうかを確認するのは簡単です。ドキュメントから:

サーバーバイナリがSSLサポート付きでコンパイルされているかどうかを確認するには、-sslオプションを使用してサーバーバイナリを呼び出します。サーバーがSSLをサポートしていない場合、エラーが発生します。

Shell> mysqld --ssl --help
060525 14:18:52 [ERROR] mysqld: unknown option '--ssl'
15
nedm

デフォルトでは、MySQLはクライアント/サーバー通信を暗号化しません。

SSLを介した接続を受け入れ、ユーザーにSSLの使用を要求するようにMySQLを設定できます。 SSLセットアップのガイドは次のとおりです。

6
sreimer