質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

SSL

SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

Q&A

解決済

2回答

6257閲覧

httpsに対応させたサイトからDB接続する際に、DBもSSL対応する必要があるかどうか

退会済みユーザー

退会済みユーザー

総合スコア0

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

SSL

SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

0グッド

0クリップ

投稿2016/03/22 14:50

【現状】
Linuxサーバ(CentOS6)上でjavaのサイトを動かしています。そしてサイトでユーザ登録を行う際に同じインスタンスに入れてあるmysqlとデータのやり取りをしています。

最近GlobalSignでクイックSSL証明書を発行してもらいました。それを利用し、サイトをhttpsでアクセスできるようにしました。 それと同時にmysqlに対してサイトから接続を行う際にこれまでの通常接続ができなくなってしまい、SSLに対応しなければならない事に気づきました。そしてmysqlのSSL対応は色々とサイトで確認しました。

ちなみにSSL証明書を発行してもらった際に頂いたものはこちらです。
○サーバ証明書
○中間証明書
そして発行する際に作ったファイルはまだ残してあります。
○server.keystore

【質問】

/etc/my.cnfのところに

[mysqld]
ssl-ca=/path/to/中間証明書
ssl-cert=/path/to/サーバ証明書
ssl-key=/path/to/server.keystore

と記述し、mysqldを再起動しました。設定は読み込まれていますがhave_opensslとhave_sslはYESとなっていません。NOのままです。ログを見たところssl-keyが読めないと書かれてあったので、設定したkeystoreファイルではなく、別の鍵ファイル(ユーザ用の鍵)が必要なのかなと考えています。

/etc/my.cnfで記述した内容は間違っていますでしょうか?そしてhttpsにしたサイトからDBに接続する際にmysqlもssl対応しなければならないという考えは間違っていませんでしょうか?

宜しければアドバイスをお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

サイトを SSL 化したとしても、MySQL との通信は SSL 化する必要はないです。
サイトを SSL 化するのは、あくまで client (ブラウザ) と Web サーバ間の通信が暗号化されるだけであって、Web サーバ上で動いている Java と MySQL 間の通信は関係の無い話です。

サイトをhttpsでアクセスできるようにしました。 それと同時にmysqlに対してサイトから接続を行う際にこれまでの通常接続ができなくなってしまい

サイトを SSL 化したことと、MySQL との通信が出来なくなったことは、別の問題だと思われます。
サイトを SSL した際の設定に誤りがあるのではないでしょうか?

投稿2016/03/23 01:02

youji

総合スコア257

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/03/27 12:43

コメントありがとうございます! サイトのSSL化≠DBのSSL必要、という事が分かったおかげで問題の切り分けができました。違う部分に問題があり、そちらを解決して無事に再度サービスが動くようになりました。本当にありがとうございました!!
guest

0

CentOS 6 の openssl で秘密鍵を作ったなら下記の記事と同じ理由で動作しないかもしれません。

http://www.ah-2.com/2014/05/01/mysql56_ssl_notavailable.html

MySQL のエラーログに下記が出ていないか確認してみると良いと思われます。

SSL error: Unable to get private key from '/path/to/server.keystore'

もし、これが原因なのだとしたら、次のように変換して使うと良いです。

openssl rsa -in /path/to/server.keystore -out /path/to/server.keystore.pem

そしてhttpsにしたサイトからDBに接続する際にmysqlもssl対応しなければならないという考えは間違っていませんでしょうか?

技術的に、という意味であれば、そのような話は聞いたことありません。
Web サイトを https にしても Web サーバと DB サーバの接続には関係ありません。

投稿2016/03/23 01:05

ngyuki

総合スコア4514

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/03/27 12:41

コメントありがとうございます! そちらのサイト、私も以前確認して試してみたところ鍵の中身が違ったらしく変換できませんでした。今回DB接続の為に、サーバがhttpsに対応したからDBも同じようにしなければならない事は無いという事が分かったので問題の切り分けができました。再度問題確認したところ別の部分に問題があり、無事に解決できたので本当にありがとうございました!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問