透過プロキシモードは、さまざまなタイプのオリジンサーバーでサポートされています。 オリジンサーバーは、Application Load Balancer (ALB) 、Layer 7 Server Load Balancer (SLB) 、Layer 4 SLB、およびElastic Compute Service (ECS) インスタンスです。 このトピックでは、透過プロキシモードでWeb Application Firewall (WAF) に追加されるドメイン名のトラフィックリダイレクトポートを設定する方法について説明します。 トラフィックリダイレクトポートが設定されると、ポート上のトラフィックはWAFにリダイレクトされます。
- 透過プロキシモードでドメイン名を追加する
透過プロキシモードでドメイン名を追加していない場合は、次の操作を実行します。WAFコンソールにログインします。 左側のナビゲーションウィンドウで、[Webサイトアクセス] をクリックします。 [Webサイトアクセス] ページで、[Webサイトアクセス] をクリックします。 [ドメイン名の追加] ウィザードで、アクセスモードの [透過プロキシモード] を選択します。 [ドメイン名の追加] ステップで、トラフィックのリダイレクトポートを設定します。 トラフィックリダイレクトポートを設定する方法の詳細については、次のコンテンツを参照してください。
- 透過プロキシモードで追加されたドメイン名の編集
透過プロキシモードでドメイン名を追加した場合は、次の操作を実行します。WAFコンソールにログインします。 左側のナビゲーションウィンドウで、[Webサイトアクセス] をクリックします。 [Webサイトアクセス] ページで、ドメイン名を見つけ、[操作] 列の [編集] をクリックします。 [ドメイン名の追加] ステップで、トラフィックのリダイレクトポートを設定します。 トラフィックリダイレクトポートを設定する方法の詳細については、次のコンテンツを参照してください。
ALBインスタンスのトラフィックリダイレクションポートの設定
シナリオ: webサービスはALBインスタンスでホストされており、ALBインスタンスのリスニングポートに対してWAF保護を有効にする必要があります。
手順: [ポート設定] セクションで、[ALBベースのドメイン] タブをクリックします。
レイヤー7 SLBインスタンスのトラフィックリダイレクションポートの設定
シナリオ: webサービスは、レイヤー7 HTTPまたはHTTPSリスナーを使用してSLBインスタンスでホストされており、SLBインスタンスのリスニングポートに対してWAF保護を有効にする必要があります。
手順: [ポート設定] セクションで、[レイヤー7 SLBベースのドメイン] タブをクリックします。
リスニングポートのWAF保護を有効にする: WAFコンソールにログインします。 [レイヤー7 SLBベースのドメイン] タブで、[ポート] 列のHTTPまたはHTTPSリスニングポートを選択します。
[ポート] 列に [利用可能なポートなし] が表示された場合、インスタンスのHTTPまたはHTTPSリスナーは作成されません。 インスタンスのHTTPまたはHTTPSリスナーを作成するには、SLBコンソールに移動する必要があります。 次に、WAFコンソールでリスニングポートのWAF保護を有効にできます。 レイヤー7 SLBインスタンスのHTTPまたはHTTPSリスナーの作成方法の詳細については、「HTTPリスナーの追加」および「HTTPSリスナーの追加」をご参照ください。
レイヤー4 SLBインスタンスのトラフィックリダイレクションポートの設定
シナリオ: webサービスはレイヤ4 TCPリスナーを使用してSLBインスタンスでホストされており、SLBインスタンスのTCPリスニングポートに対してWAF保護を有効にする必要があります。
手順: [ポート設定] セクションで、[レイヤー4 SLBベースのドメイン] タブをクリックします。
手順
SLBインスタンスのリスニングポートをWAFに追加する必要があります。 次に、追加されたポートのWAF保護を有効にできます。 次の手順で、ポートのWAF保護を有効にする方法を説明します。
- SLBインスタンスのTCPリスニングポートをWAFに追加します。 重要 SLBコンソールでSLBインスタンスのTCPリスナーを作成した後にのみ、WAFにTCPリスニングポートを追加できます。 SLBインスタンスのTCPリスナーを作成する方法の詳細については、「TCPリスナーの追加」をご参照ください。
- [レイヤー4 SLBベースのドメイン] タブで、SLBインスタンスを見つけ、[ポート] 列の [追加] をクリックします。
- [ポートの追加] ダイアログボックスで、[ポート] ドロップダウンリストでTCPリスニングポートを選択し、HTTPまたはHTTPSを選択します。
- オプション: HTTPを選択した場合、この手順をスキップします。 HTTPSを選択した場合は、デフォルトの証明書をアップロードするか、証明書を追加します。 最大3つの証明書を追加できます。 証明書の説明:
- 既定の証明書: クライアントからのHTTPSリクエストを受信した後にサーバーによって返される既定の証明書。 サーバーが1つのSSL証明書のみを使用する場合、デフォルトの証明書をアップロードするだけで済みます。
- 拡張証明書: サーバーがクライアントからHTTPSリクエストを受信し、追加の証明書と一致したときにサーバーがクライアントに返す証明書。 追加の証明書には、リクエストのServer name Indication (SNI) フィールドと同じドメイン名を含める必要があります。 サーバーがSNIフィールドに基づいて追加の証明書と一致できない場合、サーバーはデフォルトの証明書を返します。
SNIフィールドは、SSLおよびTLSプロトコルの拡張である。 サーバーは、SNIフィールドに基づいて複数のドメイン名と証明書を使用できます。 クライアントがサーバーへのSSL接続を確立する前に、クライアントはリクエストにアクセスするドメイン名を含めます。 次に、サーバーは要求されたドメイン名に一致する証明書を返します。
次のいずれかの方法を使用して、証明書をアップロードできます。- 手動アップロード: 証明書名、証明書ファイル、および秘密鍵ファイルパラメーターを手動で設定する必要があります。
- [既存の証明書の選択]: [SSL certificates Serviceコンソール] で管理されている既存の証明書のリストから必要な証明書を選択するだけです。 この方法を使用することを推奨します。
アップロードする証明書がリストにない場合は、[クラウドセキュリティ-証明書サービス] をクリックして、必要な証明書をSSL証明書サービスコンソールにアップロードする必要があります。 次に、リストから証明書を選択できます。
- 追加したポートのWAF保護を有効にします。 これを行うには、WAFコンソールにログインし、[レイヤー4 SLBベースのドメイン] タブで、[ポート] 列で追加したポートを選択します。 ポートを選択すると、ポート上のトラフィックはWAFにリダイレクトされ、WAFはトラフィックを検出してフィルタリングします。 選択されていないポートのトラフィックは、クライアントから配信元サーバーに直接送信され、WAFを通過しません。重要 複数のドメイン名のトラフィックを同時にリッスンするポートを選択した場合、ポートがリッスンするトラフィックを持つすべてのドメイン名に対してWAF保護が有効になります。 この場合、特定のドメイン名に対してWAF保護を有効にすることはできません。
ECSインスタンスのトラフィックリダイレクションポートの設定
シナリオ: webサービスはECSインスタンスでホストされており、ECSインスタンスのHTTPまたはHTTPSトラフィックに対してWAF保護を有効にする必要があります。
手順: [ポート設定] セクションで、[ECSベースのドメイン] タブをクリックします。
手順
ECSインスタンスのポートをWAFに追加する必要があります。 次に、追加されたポートのWAF保護を有効にできます。 次の手順で、ポートのWAF保護を有効にする方法を説明します。
- ECSインスタンスのポートをWAFに追加します。
- [ECSベースのドメイン] タブで、[ポート] 列の [追加] をクリックします。
- [ポートの追加] ダイアログボックスで、[ポート] フィールドにECSインスタンスのHTTPポートまたはHTTPSポートを入力し、HTTPまたはHTTPSを選択します。
- オプション: HTTPを選択した場合、この手順をスキップします。 HTTPSを選択した場合は、デフォルトの証明書をアップロードするか、証明書を追加します。 最大3つの証明書を追加できます。 証明書の説明:
- 既定の証明書: クライアントからのHTTPSリクエストを受信した後にサーバーによって返される既定の証明書。 サーバーが1つのSSL証明書のみを使用する場合、デフォルトの証明書をアップロードするだけで済みます。
- 拡張証明書: サーバーがクライアントからHTTPSリクエストを受信し、追加の証明書と一致したときにサーバーがクライアントに返す証明書。 追加の証明書には、リクエストのServer name Indication (SNI) フィールドと同じドメイン名を含める必要があります。 サーバーがSNIフィールドに基づいて追加の証明書と一致できない場合、サーバーはデフォルトの証明書を返します。
SNIフィールドは、SSLおよびTLSプロトコルの拡張である。 サーバーは、SNIフィールドに基づいて複数のドメイン名と証明書を使用できます。 クライアントがサーバーへのSSL接続を確立する前に、クライアントはリクエストにアクセスするドメイン名を含めます。 次に、サーバーは要求されたドメイン名に一致する証明書を返します。
次のいずれかの方法を使用して、証明書をアップロードできます。- 手動アップロード: 証明書名、証明書ファイル、および秘密鍵ファイルパラメーターを手動で設定する必要があります。
- [既存の証明書の選択]: [SSL certificates Serviceコンソール] で管理されている既存の証明書のリストから必要な証明書を選択するだけです。 この方法を使用することを推奨します。
アップロードする証明書がリストにない場合は、[クラウドセキュリティ-証明書サービス] をクリックして、必要な証明書をSSL証明書サービスコンソールにアップロードする必要があります。 次に、リストから証明書を選択できます。
- WAFに追加されたポートのWAF保護を有効にします。 これを行うには、WAFコンソールにログインし、[ECSベースのドメイン] タブで [ポート] 列のポートを選択します。 ポートを選択すると、ポート上のトラフィックはWAFにリダイレクトされ、WAFはトラフィックを検出してフィルタリングします。 選択されていないポートのトラフィックは、クライアントから配信元サーバーに直接送信され、WAFを通過しません。重要 複数のドメイン名のトラフィックを同時にリッスンするポートを選択した場合、ポートがリッスンするトラフィックを持つすべてのドメイン名に対してWAF保護が有効になります。 この場合、特定のドメイン名に対してWAF保護を有効にすることはできません。