私のここでの理解不足はご容赦ください。私はローカルのmysqlサーバーを持っており、Webホスト上で実行されているJava Webアプリケーションから暗号化されたチャンネルを介してそのデータにアクセスできる必要があります。誰もがこれを行うための最善の方法をお勧めしますか?サーバーの設定に関する質問
ありがとうございました! Joshua
私のここでの理解不足はご容赦ください。私はローカルのmysqlサーバーを持っており、Webホスト上で実行されているJava Webアプリケーションから暗号化されたチャンネルを介してそのデータにアクセスできる必要があります。誰もがこれを行うための最善の方法をお勧めしますか?サーバーの設定に関する質問
ありがとうございました! Joshua
AFAIK MySQLは暗号化されたストリームをサポートしていません(私が間違っている場合は修正してください)。
私が見ることができる1つの解決策は、MySQLサーバとWebホスト間で暗号化されたトンネルを実行し、それを介してデータベースへの接続をルーティングすることです。
SSH tunnelを設定する必要があります。
MySQLはSSL接続をサポートしています。
チェック支援のため、この文書: http://dev.mysql.com/doc/refman/5.0/en/connector-j-reference-using-ssl.html
SSHポートフォワーディングこの場合
、1でしポートフォワードDB_SERVER:3306:3306 WEB_SERVERへ。それで、ポート3306でリッスンしているWebサーバーにローカルで実行されているMySQLデータベースがあるように見えますが、Webサーバー上のlocalhost:3306は実際にデータベースサーバーのlocalhost:3306に安全に転送されています。
これを設定するには、パスワードなしの鍵ペアを使用して、SSHトンネルを自動的に開始できるようにします。
db_serv$ ssh-keygen -t rsa
db_serv$ scp .ssh/id_rsa.pub webserver:
web_serv$ cd ~; mkdir .ssh
web_serv$ cat id_rsa.pub >> .ssh/authorized_keys2
web_serv$ chmod -R go-rwx .ssh; rm id_rsa.pub
db_serv$ ssh webserver
最後のコマンドは、パスワードを入力せずにデータベースサーバーからSSHを実行させる必要があります。鍵ペアが認証を行います。 SSHトンネルを開くために
コマンドは次のとおりです。
DB_SERVER $ sshの-f -q -N -R3306:DB_SERVER:3306ウェブサーバを
あなたはその後、Webサーバ上のローカルデータベースへのアクセスをテストすることができます。あなたは使用しているユーザーとパスワードのために、MySQLデータベースの権限を正しく設定する必要があります。
web_serv $のmysql -h 127.0.0.1 -P 3306 -uユーザー-p db_nameの
おそらく(/etc/rc.d/rc.localのに上記の 'sshの' 行を追加したいと思いますRed Hat上で)再起動時にトンネルが開くようにします。トンネルがダウンした場合、Webアプリケーションはデータベースにアクセスできません。
はい、MySQLはSSLによる暗号化接続をサポートしています。
OpenSSLまたはバンドルされたyaSSLでビルドされたMySQL Serverのバージョンが必要です。 MySQLサーバがSSLをサポートして構築されていない場合は、--ssl
および関連するオプションでエラーが発生します。
--ssl
オプションを使用してMySQLサーバ(mysqld
)を起動し、SSLキーと証明書を指定する必要があります。 MySQLサーバでSSLを有効にする方法の詳細については、http://dev.mysql.com/doc/refman/5.1/en/secure-connections.htmlを参照してください。
JavaクライアントもSSLをサポートしている必要があります。接続時にクライアント証明書を提供する必要があります。JavaからMySQLへの安全な接続を確立する方法の詳細については、http://dev.mysql.com/doc/refman/5.1/en/connector-j-reference-using-ssl.htmlを参照してください。
これは基本的に他のすべての回答と同じですが、ここにはとにかく行きます。通信を暗号化するには、openVPNなどのVPNトンネルを使用します。それに関する最も良い点は、透明性です。 VPNを利用しているときは、これ以上考える必要はなく、安全な通信を送信するだけです。もちろん、それを設定するのは簡単な部分ではありません...
はserverfault.comに属しています! –