HTTPS トラフィックに隠された脅威は、ペイロードが暗号化されているため検出を回避します。Cloud Firewall のTLS 検査機能は、元の TLS 証明書をプライベート ルート CA に置き換えることでアウトバウンドトラフィックを復号し、IPS エンジンが平文を検査できるようにします。検査後、トラフィックは安全に配信されるように再暗号化されます。
TLS 検査はパブリックプレビュー段階であり、一般提供の前に変更される可能性があります。ご質問やフィードバックについては、アカウントマネージャーにお問い合わせください。
TLS 検査の必要性
HTTPS はリクエストのペイロードを暗号文に暗号化するため、IPS エンジンがコンテンツを解析できない死角が生まれます。TLS 検査は、クライアントとファイアウォール間で元の TLS 証明書をプライベート証明書に置き換え、トラフィックを復号してディープパケット分析を行い、高度な攻撃やデータエクスフィルトレーションを検出します。
暗号化されたトラフィックのセキュリティリスク
リスク 1:高度な攻撃とデータ侵害が IPS で検出されない
攻撃者は HTTPS トンネルを使用して、悪意のあるペイロードを配信したり、データエクスフィルトレーションを行ったり、C2 サーバーと通信したりします。暗号化されたトラフィックにより、IPS エンジンは攻撃シグネチャやデータ漏洩を特定できません。TLS 検査は平文トラフィックを可視化し、IPS がこれらの脅威を検出してブロックできるようになります。
リスク 2: ウェブフィルタリングでは HTTPS トラフィックのパスレベルでの制御ができない
ウェブフィルタリングは、HTTP リクエスト内のホスト名とパスを照合します (example.com/upload/* など)。復号しない場合、ファイアウォールは SNI からドメインを読み取ることしかできず、URL パスを抽出できません。このため、「閲覧は許可するがアップロードは拒否する」のようなきめ細かいポリシーが機能しなくなります。TLS インスペクションにより、HTTPS トラフィックでの完全なパス照合が可能になります。
リスク 3:暗号化によりアプリケーション識別の精度が低下し、制御の粒度が制限される
アプリケーション制御は、ディープパケットインスペクション (DPI) を使用してペイロードデータからアプリケーションを識別します。復号しない場合、DPI は SNI や証明書などのハンドシェイク情報にのみ依存するため、同じドメインでの異なる振る舞い (たとえば、「GitHub の閲覧」と「GitHub へのアップロード」) を区別できません。TLS 検査は、トラフィックの完全な可視性を提供し、正確な振る舞いを識別できるようになります。
注意事項
課金方法の制限:この機能は、レガシーの従量課金 1.0 の課金方法を使用する Cloud Firewall インスタンスではサポートされていません。
リージョンの制限:この機能は、次のリージョンでのみ利用できます:China (Beijing)、China (Shanghai)、China (Hangzhou)、China (Zhangjiakou)、China (Ulanqab)、China (Shenzhen)、China (Hong Kong)、Indonesia (Jakarta)、UK (London)、Malaysia (Kuala Lumpur)、Germany (Frankfurt)。
TLS プロトコルバージョンの制限:
ECH を使用しない TLS 1.3:システムは、暗号化されたクライアントハロー (ECH) 拡張機能を使用しない TLS 1.3 接続の TLS 検査をサポートしています。
ECH を使用する TLS 1.3:システムは、ECH 拡張機能を使用する TLS 1.3 接続の TLS 検査をサポートしていません。ただし、トラフィックは正常に転送できます。
レガシー SSL プロトコル:システムは、SSL 1.0、SSL 2.0、SSL 3.0 などの古いプロトコルバージョンをサポートしていません。クライアントがこれらのプロトコルを使用すると、トラフィックが中断されることがあります。
プロトコルタイプの制限:UDP を使用する QUIC トラフィックなど、TCP 以外のリクエストは転送されますが、検査はされません。
ネットワーク診断への影響:TLS 検査を有効にすると、TCP MTR (My Traceroute) はオリジンサーバーへのパスをトレースできなくなります。
認証モードの制限:この機能は、相互 TLS (mTLS) をサポートしていません。クライアントがサーバー証明書を検証する標準の TLS のみをサポートしています。
SNI 要件:TLS 検査が有効になるには、TLS の Server Name Indication (SNI) が、設定された証明書のドメイン名と一致する必要があります。
操作手順
Cloud Firewall コンソールにログインします。左側のナビゲーションペインで、 を選択して、TLS 検査 ページに移動します。
ステップ 1:TLS 検査ポリシーの設定
TLS 検査 ページで、ポリシーリストの上にある TLS 検査ポリシーを作成 をクリックします。右側に TLS 検査ポリシーを作成 ドロワーが表示されます。
[証明書を関連付ける]
パラメーター
説明
[ポリシー名]
ポリシーを識別するための分かりやすい名前を入力します。
[TLS 証明書を関連付ける]
既存の証明書を選択します。
説明最初のポリシーを作成する際、証明書のドロップダウンには トライアル証明書のリクエスト オプションが含まれています。これをクリックすると、TLS 検査を評価するためのテスト証明書が生成されます。トライアル証明書は一度しか使用できません。本番環境では、ご自身の証明書を購入して使用してください。
現在サポートされているのは、PCA 証明書のみです。証明書は次の要件を満たす必要があります:
証明書の用途は「内部エンタープライズ利用」に設定する必要があります。
中国の暗号アルゴリズム証明書はサポートされていません。
RSA 秘密キーアルゴリズムを使用する場合、キーの長さは 2048 ビット以上である必要があります。
ECC 秘密キーアルゴリズムを使用する場合は、P-256 を選択します。
利用可能な証明書がない場合は、証明書の購入 をクリックして、証明書管理サービスコンソールに移動します。証明書を購入する際は、PCA 証明書の用途が「内部エンタープライズ利用」に設定されていることを確認してください。PCA 証明書とは?
[証明書の有効期間]
選択後、証明書の有効期間が表示されます。残りの有効期間が 1 年未満になると警告が表示されます。証明書の有効期間が 1 年以上あることを確認してください。
[説明]
ポリシーの説明を入力します。
パラメーターを設定した後、次へ をクリックして 検査範囲の設定 ステップに進みます。次のステップに進むと、ポリシーが作成されて保存されます。
[検査範囲の設定]
重要すべての検査範囲の合計クォータは 20,000 です。
1 つの TLS 検査ポリシーが消費するクォータは、そのすべての検査範囲のクォータの合計です。
1 つの検査範囲が消費するクォータは、送信元 IP アドレスの数 × 送信元ポート範囲の数 × 宛先 IP アドレスの数 × 宛先ポート範囲の数として計算されます。
パラメーター
説明
[プロトコルタイプ]
現在、
TCPプロトコルのみがサポートされています。[ソース IP]
アウトバウンドトラフィックを検査するホストの IP アドレスを選択します。最大:1,000 アドレス。
説明対応アセットタイプ:
ECS EIP、ECS public IP、NAT EIP、EIP、およびENI EIP。[送信元ポート]
ポートを
start port/end port形式で指定します。有効範囲:0-65535。複数の範囲はコンマで区切ります。最大: 100 個の範囲。説明すべてのポートは、単一のポートの場合でも範囲形式を使用します。たとえば、
8080/8080はポート 8080 のみをチェックします。すべてのポートを確認するには、
0/65535を使用します。
[宛先 IP アドレス]
送信元ホストがアクセスする宛先の IP アドレス。
説明CIDR 表記の IPv4 アドレスまたはアドレス範囲を使用する必要があります。 例:
192.0.2.0/24,8.8.8.8/32。最大 100 個の IP アドレスオブジェクトを入力できます。複数のオブジェクトはカンマ (,) で区切ります。
すべてのアドレスを表すには、
0.0.0.0/0を使用します。
[宛先ポート]
宛先サービスポート。形式:
start port/end port。有効範囲:0-65535。複数の範囲はカンマで区切り、最大 100 個まで指定できます。[説明]
検査範囲の説明を入力します。
その他の操作
保存:検査範囲 セクションの下にある 保存 をクリックして、次へ をクリックせずに検査範囲を保存します。範囲が保存されると、セクションの右上に 保存が完了しました が表示されます。
追加:検査範囲を追加 をクリックして、別の検査範囲を追加します。1 つのポリシーで最大 10 個の検査範囲をサポートしています。
削除:検査範囲 セクションの右上隅にある
アイコンをクリックして、現在の検査範囲を削除します。削除を確認すると、次へ をクリックしなくても範囲はすぐに削除されます。この操作は慎重に実行してください。
パラメーターを設定した後、次へ をクリックしてポリシー設定を完了します。
ポリシー情報の確認
ポリシーが設定されると、ポリシーとその検査範囲の詳細が表示されます。ポリシー ID はログに含まれます。
ステップ 2:TLS 証明書のインストール
検査範囲内のすべてのホストに、関連付けられた証明書をインストールします。
検査対象アセットが [NAT EIP] の場合、そのインターネット NAT ゲートウェイを介してインターネットにアクセスするすべての ECS インスタンスに証明書をインストールする必要があります。そうしないと、トラフィックが中断されることがあります。
証明書のダウンロード

TLS 検査ポリシーの設定 リストで、作成したポリシーを見つけ、右側の操作列にある 証明書をダウンロード をクリックします。証明書がローカルマシンにダウンロードされます。パッケージを解凍して、証明書ファイル (
.crt) を取得します。送信元 IP ホストへのログイン
検査範囲 の作成時に 送信元 IP アドレス として指定したホストにログインします。証明書をホスト上の任意のディレクトリにアップロードします。ファイル転送方法。
証明書のインストール
証明書を OS の信頼ストアにコピーし、更新コマンドを実行します。手順はオペレーティングシステムによって異なります。
説明TLS ポリシーが下位 CA 証明書を使用している場合は、ルート CA と下位 CA の両方をインストールする必要があります。
以下の例は、信頼ストアがシステムの信頼ストアであるシナリオに適用されます。アプリケーションが異なる信頼ストアを使用している場合は、正しい信頼ストアに証明書をインストールしてください。
CentOS、Alibaba Cloud Linux、Anolis、Red Hat
証明書ファイルをコピーします:
cp <certificate_file_name> /etc/pki/ca-trust/source/anchors/証明書の更新:
sudo update-ca-trust更新された証明書を表示します:
cat /etc/ssl/certs/ca-bundle.crt出力に証明書の内容が表示されれば、インストールは成功です。

Ubuntu
証明書ファイルをコピーします:
cp <certificate_file_name> /usr/local/share/ca-certificates/証明書の更新:
sudo update-ca-certificates更新された証明書の表示:
cat /etc/ssl/certs/ca-certificates.crt出力に証明書の内容が表示されれば、インストールは成功です。

Windows
重要下位 CA (中間 CA) を参照する証明書を使用する場合、Windows 標準の証明書マネージャーは証明書チェーンファイル内のすべての CA を一度にインストールしません。ファイル内の最初の CA のみをインストールします。このシナリオでは、各 CA のコンテンツブロックを手動で別のファイルに分割し、各ファイルをインストールする必要があります。
証明書を分割するには、ダウンロードして解凍した証明書ファイルをテキストエディタで開き、
-----BEGIN CERTIFICATE-----から-----END CERTIFICATE-----までのコンテンツブロックを切り取り、それを.crt拡張子を付けて新しいファイルとして保存します。
分割後:

証明書のインストール:証明書ファイルを右クリックし、[Install Certificate] をクリックします。その後、次の手順に従います:
1
2
3



[Next] をクリックして証明書のインポートを完了します。
インポートされた証明書の表示: コマンドプロンプトで
certmgr.mscを入力し、証明書マネージャーを開きます。
SUSE
証明書ファイルをコピーします:
cp <certificate_file_name> /etc/pki/trust/anchors証明書を更新:
sudo c_rehash .更新された証明書を確認します:
sudo trust list --filter=ca-anchors |grep -C 2 <Certificate CN>証明書情報が表示されれば、証明書は正常にインストールされています。

Fedora and Fedora CoreOS
証明書ファイルをコピーします:
sudo cp <certificate-file-name> /etc/pki/ca-trust/source/anchors/証明書を更新:
sudo update-ca-trust extract更新された証明書を表示します:
sudo trust list --filter=ca-anchors |grep -C 2 <certificate_CN>証明書情報が表示されれば、証明書は正常にインストールされています。

Container Service (ACK)
アウトバウンドトラフィックが ACK クラスター内のポッドから発信される場合、コンテナ環境はホストから隔離されているため、各ポッド内に PCA 証明書をインストールする必要があります。ノードも HTTPS リクエストを開始する場合 (パブリックリポジトリからイメージをプルするなど)、ノードにも証明書をインストールします。
説明以下の手順は Alibaba Cloud Linux 3.2104 LTS 64-bit (container-optimized) を対象としており、あくまで参考です。お使いのオペレーティングシステムとビジネス要件に合わせてコマンドを調整してください。
以下のコマンドの一部はリソースを再起動します。ビジネスの中断を避けるため、これらの操作はオフピーク時に実行することを推奨します。
ノードへの証明書のインストール
各ノードにログインし、次のコマンドを実行します。
証明書ファイルをコピーします:
cp <certificate_file_name> /etc/pki/ca-trust/source/anchors/証明書を更新します:
sudo update-ca-trust更新された証明書の表示:
cat /etc/ssl/certs/ca-bundle.crt証明書の内容が表示されれば、証明書はインストールされています。
変更を反映させるには、コンテナサービスを再起動します:
sudo systemctl restart containerd。
ポッドへの証明書のインストール
ターゲットクラスターのコンソールで Secret を作成します。 以下に設定例を示します。 キー値は証明書ファイルの内容です。 Secret の作成方法の詳細については、「Secret の管理」をご参照ください。
または、次の kubectl コマンドを実行して Secret を作成することもできます。これでも同じ効果が得られます。 コマンド内の ca_chain.crtは、実際の証明書ファイル名に置き換える必要があります。kubectl create secret generic cfw-pca-cert \ --from-file=ca_chain.crt=./ca_chain.crt \ -n defaultDeployment の例として、その YAML ファイルに次の内容を追加します:
spec.template.spec.containersフィールドに移動し、証明書をマウントしてトラストストアを更新するために、次の内容を追加します。 この内容で、secretNameは、前の手順で作成した Secret の名前 (例:cfw-pca-cert) です。volumes: - name: custom-ca-volume secret: secretName: cfw-pca-cert volumeMounts: - name: custom-ca-volume mountPath: /etc/ssl/custom readOnly: true引き続き
spec.template.spec.containersフィールドに起動コマンドを追加します。説明以下の例は CentOS コンテナシステムに基づいており、あくまで参考です。お使いのオペレーティングシステムとビジネス要件に合わせてコマンドを調整してください。
command: - "/bin/sh" - "-c" - | # 1. curl をインストールします。 echo "Installing curl......" yum install -y curl # 2. 証明書がマウントされていることを確認します。ca_chain.crt を実際の証明書ファイル名に置き換えてください。 if [ ! -f /etc/ssl/custom/ca_chain.crt ]; then echo "ERROR: Certificate file not found!" exit 1 fi # 3. CentOS の手順に基づいて証明書をインストールします。 echo "Copying certificate to anchors directory..." cp /etc/ssl/custom/ca_chain.crt /etc/pki/ca-trust/source/anchors/ echo "Updating CA trust store..." update-ca-trust # 4. ポッドを実行し続けます。 echo "Pod ready for manual testing. Use 'kubectl exec' to test further." sleep infinity
ブラウザーの信頼ストア
Firefox のようなブラウザーは、システムの CA 信頼ストアを使用する代わりに、独自の証明書信頼データベースを保持しています。ブラウザーでは、update-ca-certificates を実行した後でも、証明書が信頼されていないと表示されることがあります。証明書をブラウザーの信頼データベースに直接インポートしてください。
これらのブラウザーに証明書をインポートする手順は、Linux と Windows で同じです。
1 | 2 |
|
|
ステップ 3:検査の有効化とトラフィックログのクエリ
すべてのホストに証明書をインストールした後、ポリシーを有効にします。
重要TLS 検査を有効にすると、新しい接続に対する保護は約 1 分で有効になります。既存の永続的な接続は影響を受けず、保護対象にはなりません。
すでに保護されており、TLS 検査が有効になっている EIP の場合、TLS 検査を無効にすると永続的な接続が中断されます。中断の期間は、アプリケーションの再接続時間によって異なります。

TLS 検査 ページにはすべてのポリシーが一覧表示されます。ステータススイッチを切り替えてポリシーを有効にします。有効にすると、Cloud Firewall は設定に従って暗号化されたアウトバウンドトラフィックを検査します。
説明ポリシーは無効になっている場合にのみ削除できます。
トラフィックログのクエリ
検査対象ホストがトラフィックを生成した後、Cloud Firewall コンソールの左側のナビゲーションペインで、 を選択します。
で、一致した TLS 検査ポリシーと検査範囲を含む、ホストによって生成されたトラフィックをクエリできます。
ログには、ポリシーと検査範囲の ID が表示されます。


