問題
Catoファイアウォールは、Cloudflareにホストされたウェブサイトでファイアウォールルールを適用できません。 例えば、research.cloudflare.comというウェブサイトはデータベースとして分類されていますが、このカテゴリをブロックするルールがあるにもかかわらず許可されています。
関連するイベントは異なるドメイン名cloudflare-ech.comを示しており、意図されたサイトと一致せず、ファイアウォールのルールをバイパスします。 このイベントはウェブサイトの宛先IPアドレスをフィルタリングして見つけることができます。
環境
- 特定のカテゴリをブロックするファイアウォールルール。
- TLSインスペクションは有効化されていません。
トラブルシューティング
イベントの中でドメイン名cloudflare-ech.comが存在することは、暗号化されたクライアントハロー(ECH)プロトコルが使用されていることを示唆しています。
ECHとは何ですか?
Cloudflareのドキュメンテーションで記述されているように、ECHはサーバー名インディケーション(SNI)をマスクするなど、TLSクライアントハローパケットの一部を暗号化します。これにより、通常はTLSセッションの確立に使用されます。 これは、CatoがCloudflareへの接続を見ていても、特定のウェブサイトを識別できないことを意味します。 これが機能するには、クライアントとサイトの両方でECHをサポートしている必要があります。
ECHの仕組み
- 公開キー配布: サーバーは、ECH構成内で公開キーをDNSを介して共有します(これには、通常、DoH(HTTPS上のDNS)やDoT(TLS上のDNS)のような安全なDNSプロトコルを使用します)。 しかし、UDP経由での暗号化されていないDNSも使用できます。 このキーは、クライアントがクライアントハローメッセージを暗号化するために使用されます。 以下はECH構成を含むHTTPSタイプのDNS返信の例です。
- クライアントハロー暗号化: 接続時に、クライアントはSNIなどクライアントハローの敏感な部分をサーバーの公開キーを使用して暗号化します。 この情報を復号できるのはサーバーのみです。 暗号化されていない外部クライアントハローも送信され、デフォルトのSNIなどの一般情報が表示され、実際のターゲットを明らかにしない可能性があります。 以下の例では、デフォルトのSNIはcloudflare-ech.com
- フォールバックメカニズム: ECHがサポートされている場合、サーバーは暗号化されたクライアントハローを処理し、接続を続けます。 サポートされていない場合、フォールバックメカニズムは暗号化されていないクライアントハローで接続を再試行し、従来のTLS 1.3サーバーとの後方互換性を維持します。
解決策
Catoは現在ECHをサポートしていないため、ネットワーク設定に基づいて暗号化されていないSNIのTLS接続にフォールバックを強制するための以下の回避策をお勧めします:
- インターネットファイアウォールでDoH、DoT、QUICプロトコルをブロックします。 これにより、ECH設定を交換するための安全なDNSプロトコルの使用が防止されます。
- ブラウザによっては、クライアントがUDPベースのDNSにフォールバックしてECH設定を交換する可能性があります。 その場合は、影響を受けるサイトやユーザーについてはTLSインスペクションを有効にします。 ECHは中間者攻撃(MITM)技術をサポートしていないため、接続は暗号化されていないSNIにフォールバックします。
- 最後の手段として、インターネットファイアウォールでcloudflare-ech.comドメインをブロックします。 これにより、ブラウザが暗号化されていないSNIにフォールバックし、正しいファイアウォールルールを適用できるようになります。
0件のコメント
サインインしてコメントを残してください。