私は職場でシステムのセキュリティ監査を行っています。要件の1つは、パブリック/保護されていないネットワークを介したすべてのトラフィックを暗号化することです。オフィスネットワークから外部サーバーの1つにある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はクライアント/サーバー通信を暗号化しません。
SSLを介した接続を受け入れ、ユーザーにSSLの使用を要求するようにMySQLを設定できます。 SSLセットアップのガイドは次のとおりです。