LBaaSセキュリティ
Compute Cloud@Customerでは、ロード・バランサをサービスとして構成および保護できます(LBaaS)。
ロード・バランサ(LB)は、クライアントのアプリケーションと顧客のVCNを接続します。LBでは、デフォルトでTLS1.2が使用されます。Compute Cloud@CustomerのパブリックIPアドレスまたはプライベートIPアドレスを使用するようにLBを構成できます。
- SSL終了:ロード・バランサは、着信SSLトラフィックを扱い、暗号化されていないリクエストをバックエンド・サーバーに渡します。
- エンドツーエンド(ポイントツーポイント)SSL:ロード・バランサは、受信トラフィック・クライアントからのSSL接続を終了し、バックエンド・サーバーへの別のSSL接続を開始します。
- SSLトンネリング:ロード・バランサ・リスナーがTCPトラフィック用に構成されている場合、ロード・バランサは受信SSL接続をアプリケーション・サーバーにトンネリングします。
- HTTP: HTTPまたはHTTPSを使用するLBは、LB自体でTLS接続を終了します。
- TCP: TCPを使用するLBは、バックエンド・サーバーでTLS接続を終了します。
LBは、これらのタイプのプロトコルのIPアドレスをリスニングします。
LBaaSサービスの管理の詳細は、サービスとしてのロード・バランサを参照してください。
SSL証明書
Compute Cloud@Customerでは、LBaaSにセキュアな証明書を使用する必要があります。LBとそのリソースに標準SSLを使用するには、証明書を指定する必要があります。使用可能な証明書がない場合は、SSL証明書をアップロードできます。関連付けるリスナーまたはバックエンド・セットを作成する前に、使用する証明書をアップロードしておくことをお薦めします。
Compute Cloud@Customer LBaaSでは、SSL証明書は生成されません。すでに所有している既存の証明書のみをインポートできます。証明書は、VerisignやGoDaddyなどのベンダーが発行したものにすることができます。また、OpenSSLやLet's Encryptなどのオープン・ソース・ツールを使用して生成する自己署名証明書を使用することもできます。自己署名証明書を生成する方法の手順は、対応するツールのドキュメントを参照してください。
バックエンドSSLの自己署名証明書を送信する場合は、対応するCA証明書フィールドに同じ証明書を送信する必要があります。
Compute Cloud@Customerは、x.509タイプの証明書をPEM形式でのみ受け入れます。次に、PEMエンコード証明書の例を示します:
-----BEGIN CERTIFICATE-----
<Base64_encoded_certificate>
-----END CERTIFICATE-----証明書の詳細は、SSL証明書の管理を参照してください。
セキュリティ・リスト
Compute Cloud@Customerでは、VCNネットワーク・セキュリティ・グループ(NSG)またはセキュリティ・リストを使用して、ロード・バランサへのネットワーク・アクセスを制御します。この方法では、Compute Cloud@Customerに従来のLBファイアウォールと同様の機能が提供されます。ロード・バランサ・ルールを構成するには、LSGまたはLBのサブネット・セキュリティ・リストを構成します。リスナーを作成する場合は、VCNセキュリティ・リストも更新して、そのLBリスナーへのトラフィックを許可する必要があります。
-
ソースCIDR (LBを使用してネットワークをカバーするブロックを入力します)。0.0.0.0/0を指定できます。)
-
プロトコルTCP
- 宛先ポート範囲80 (リスナー・ポート)
他のリスナーを作成した場合は、各リスナー・ポートのイングレス・ルールを追加して、トラフィックがリスナーに到達できるようにする必要があります。たとえば、ポート443でリスナーを作成した場合は、ポート443のトラフィックを許可する必要があります。
NSGおよびセキュリティ・リストの詳細は、セキュリティ・リストを使用したトラフィックの制御およびネットワーク・セキュリティ・グループを使用したトラフィックの制御を参照してください。
バックエンド・サーバーのセキュリティ
Compute Cloud@Customer上のパブリックLBの場合、パブリックLBのトラフィックのみを受け入れるように、バックエンド・サーバーのVCN NSGまたはセキュリティ・リストを構成する必要があります。バックエンド・サーバー・サブネットで使用されるセキュリティ・リストを更新して、LBサブネットからのイングレス・トラフィックを許可できます。たとえば、LBがサブネット10.0.4.0/24にあり、Webサーバーのトラフィックのバランシングを行う場合は、TCPプロトコル、すべてのソース・ポートおよび宛先ポート80を使用して、ソースIPアドレス10.0.4.0/24からのトラフィックを許可するステートフル・イングレス・ルールを追加する必要があります。この新しいルールでは、LBサブネットからのイングレス・トラフィックが許可されます。
VCNサブネット・セキュリティ・リスト(NSGが使用されている場合はNSG)をNSGに関連付けることができ、LB、リスナーおよびバックエンドの作成後に更新する必要があります。通常、ロード・バランサはバックエンド・サーバーとは異なるサブネットに作成されます。たとえば、パブリック・サブネットで作成されたパブリックLBは、トラフィックをプライベート・サブネット内のバックエンド・サーバーに転送します。
ただし(推奨されませんが)、LBはバックエンド・サーバーと同じサブネットに作成できます。いずれの場合も、LBおよびバックエンド・サーバーを含むすべてのサブネットのセキュリティ・リストを更新する必要があります。
- Subnet1上のバックエンド・サーバーへのエグレス・トラフィックを許可します
-
Subnet2上のバックエンド・サーバーへのエグレス・トラフィックを許可します
- ソース・タイプ: CIDR
- ソースCIDR: 0.0.0.0/0
- IPプロトコル: TCP
- 宛先ポート範囲: 80 (リスナー・ポート)
LBがサブネット10.0.4.0/24にある場合、ロード・バランサ・サブネットからのイングレス・トラフィックを許可するには、バックエンド・サーバー・サブネットで使用されるセキュリティ・リストに対するステートフル・ルールの更新が必要です:
- ソース・タイプ: CIDR
- ソースCIDR: 10.0.4.0/24
- IPプロトコル: TCP
- 宛先ポート範囲: 80 (リスナー・ポート)
この新しいステートフル・イングレス・ルールにより、TCPトラフィックがバックエンド・サーバーに到達できるようになります。ステートフルな性質は、応答を許可します。
最後に、すべてのエグレス・ルールを削除します。バックエンド・サーバーにはエグレス・ルールを設定できません。
ルート表に関する考慮事項
Compute Cloud@Customerでは、VCNルート表はリクエストをLBの様々なバックエンド・セットにルーティングする必要があります。仮想ホスト名をリスナーに割り当てるか、この目的でルート・ルールを作成できます。
ルート表の一般的な構成の詳細は、「ルート表の使用」を参照してください。