アプリ版:「スタンプのみでお礼する」機能のリリースについて

ネットワークセキュリティについて勉強しています。
ロードバランサーでSSLアクセラレータを使用して、SSL通信をする場合の
動作に関して教えていただきたく、よろいくお願いします。


(インターネット)----[ロードバランサ]-----------[WEBサーバ]
         【https⇒http】


上記の様に、SSLアクセラレータ機能を持つロードバランサと
WEBサーバで構成されている場合、ロードバランサ上で
httpsからhttpに変換されるという理解なのですが、
この場合、インターネットから来る全てのhttpsでの接続はロードバランサ上で
復号処理がされるのでしょうか?(質問(1))

また、この場合、WEBサーバ上でSSLのサービス(OpenSSL等)が
起動されていても、復号処理はロードバランサで行われるため、
WEBサーバ上のSSLのサービスは使用されないのでしょうか?(質問(2))

ロードバランサで復号されるということは、ロードバランサと
WEBサーバの間の通信はhttp(port:80)で行われるのでしょうか?(質問(3))

理解不足な点が多く、分かりにくい質問かもしれませんが、
詳しい方ご教授頂けるとありがたいです。
よろしくお願いします。

A 回答 (2件)

#1です。



まず、「SSLアクセラレーション」というのは
Webサーバで OpenSSLが処理している機能を「代行」していることになります。
用語でいえば「SSL(HTTPS)通信の終端」がロードバランサということです。

Webサーバで SSL終端をおこなう場合には、CSR発行→申請→証明書登録という作業をおこないます。
ロードバランサでも同じです。(CSR発行はロードバランサ上である必要はありませんが)
このような作業をおこなわないと、アクセラレーション機能は使えない。ということです。


>追加の質問なのですが、該当ホスト名宛ての通信だけが、
>SSLアクセラレーションで処理されるとすると、
>IPアドレスを直接指定した場合等はhttpsで通信に行くと何もされないのでしょうか。
いいえ、https://(IPアドレス)でも SSL通信はされます。
ただし、アクセス時に「この証明書は信頼できるものではありません」といったメッセージが表示されると思います。

こんな画面です。
https://www.verisign.co.jp/basic/alert/ie/01.html


これは、SSL証明書の「役割」によります。
SSL証明書は「ホスト名(FQDN名)の身元が正しいことを証明する」ものとなっています。
つまり、「この名前は正しいものですよ」というお墨付きを与えています。

もう一つ「暗号化」という機能がありますが、この機能自体は動きます。
ただし、その鍵が名前をもとにしていることもあり、上記のようなメッセージが出ることになります。


SSLの話+ロードバランサの話という構造になっているので、
まずはSSLの内容をしっかり押さえていくことがポイントだと思います。

参考URL:https://www.verisign.co.jp/basic/alert/ie/01.html
    • good
    • 0
この回答へのお礼

再度のご回答ありがとうございます。

> もう一つ「暗号化」という機能がありますが、この機能自体は動きます。
> ただし、その鍵が名前をもとにしていることもあり、上記のようなメッセージが出ることになります。
なるほど。
理解致しました。

まずはSSL単体についてもっと知る必要がありそうです。

お礼日時:2013/04/14 22:06

以下、ちょっと長いですが。



>この場合、インターネットから来る全てのhttpsでの接続はロードバランサ上で
>復号処理がされるのでしょうか?(質問(1))

「すべて」ではありません。
ロードバランサでは「仮想サーバ」という入り口を設けますが、
この入り口にSSLアクセラレーションの機能を持たせるかどうかで変わります。

たとえば、以下のような構成ができます。
A) 仮想サーバ:VS1は、HTTPS通信を受けて、SSLアクセラレーション有
B) 仮想サーバ:VS2は、HTTPS通信を受けるが、SSLアクセラレーション無

質問(3)の内容ともかぶりますが、この構成だと通信プロトコルは以下のようになります。
A) クライアント~ロードバランサ間は HTTPS、ロードバランサ~WEBサーバ間は HTTP
B) クライアント~ロードバランサ~WEBサーバ間は、すべて HTTPS
  (つまり、WEBサーバ上に証明書をおかなければならない)


>また、この場合、WEBサーバ上でSSLのサービス(OpenSSL等)が
>起動されていても、復号処理はロードバランサで行われるため、
>WEBサーバ上のSSLのサービスは使用されないのでしょうか?(質問(2))

上記A)の場合に該当するので、WEBサーバ上のSSLサービスは使用されません。


>ロードバランサで復号されるということは、ロードバランサと
>WEBサーバの間の通信はhttp(port:80)で行われるのでしょうか?(質問(3))

質問(1)の回答を参照してください。



SSL証明書はアクセスするホスト名(FQDN名)に紐付いた形で取得されると思います。
ですので、
ホスト名(FQDN名) ⇔ 仮想サーバのIPアドレス

という関係にあります。
そのホスト名宛ての通信だけが、ロードバランサ上でのSSLアクセラレーションにて処理されることになります。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

>「すべて」ではありません。
> ロードバランサでは「仮想サーバ」という入り口を設けますが、
> この入り口にSSLアクセラレーションの機能を持たせるかどうかで変わります。

ロードバランサがSSLアクセラレータ機能を持っているというだけでは、
ロードバランサ上でSSL通信が行われるというわけではなく、
仮装サーバ(ホスト)毎に、SSLアクセラレータ機能を有効にする/しないの設定をして、
使用するという理解で合っていますでしょうか。なんとなく分かりました。

>上記A)の場合に該当するので、WEBサーバ上のSSLサービスは使用されません。
やはり、WEBサーバ上のSSLサービスは使用されないのですね。
スッキリしました。

>質問(1)の回答を参照してください。
WEBでも色々検索してみましたが、ロードバランサ~WEBサーバ間は HTTPで通信される様ですね。
スッキリしました。
ただし、ポートは80以外を使用することもできるみたいですね。


>そのホスト名宛ての通信だけが、ロードバランサ上でのSSLアクセラレーションにて処理されることになります。
追加の質問なのですが、該当ホスト名宛ての通信だけが、SSLアクセラレーションで処理されるとすると、
IPアドレスを直接指定した場合等はhttpsで通信に行くと何もされないのでしょうか。
#的外れな質問でしたらすみません。

お礼日時:2013/04/12 23:24

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!