完全修飾ドメイン名オブジェクトの概要

完全修飾ドメイン名(FQDN)オブジェクトを使用すると、特定の IP アドレスではなくドメイン名を使用してファイアウォール ルールを定義できます。このドキュメントでは、FQDN オブジェクトが IP アドレスにマッピングされ、さまざまな Cloud DNS サービスをサポートする方法について説明します。

このドキュメントは、ファイアウォール ポリシーを構成して管理するネットワーク管理者とセキュリティ エンジニアを対象としています。

FQDN オブジェクトを使用するには、Virtual Private Cloud(VPC)ネットワークで代替ネームサーバーを含む送信サーバー ポリシーを使用できません。詳細については、VPC ネットワークの解決順序をご覧ください。

FQDN オブジェクトを IP アドレスにマッピングする

Cloud Next Generation Firewall(Cloud NGFW)は、FQDN オブジェクトを IP アドレスに定期的に解決します。Cloud NGFW は、ファイアウォール ルールのターゲットを含む VPC ネットワークで、Cloud DNS の VPC 名前解決の順序に従います。

Cloud NGFW は、IP アドレスの解決に次の動作を使用します。

  • CNAME 追跡をサポート。Cloud NGFW は、FQDN オブジェクト クエリの回答が CNAME レコードの場合、Cloud DNS の CNAME 追跡を使用します。

  • プログラムの IP アドレス。Cloud NGFW は、FQDN オブジェクトを使用するファイアウォール ルールをプログラムするときに、解決された IP アドレスを使用します。各 FQDN オブジェクトは、最大 32 個の IPv4 アドレスと 32 個の IPv6 アドレスにマッピングできます。

    FQDN オブジェクト クエリの DNS 応答が 32 個を超える IPv4 アドレスまたは 32 個を超える IPv6 アドレスに解決される場合、Cloud NGFW は、ファイアウォール ルールでプログラムされた IP アドレスを最初の 32 個の IPv4 アドレスと最初の 32 個の IPv6 アドレスに制限します。

  • FQDN オブジェクトを無視する。Cloud NGFW が FQDN オブジェクトを IP アドレスに解決できない場合、FQDN オブジェクトは無視されます。次の場合、Cloud NGFW は FQDN オブジェクトを無視します。

    • NXDOMAIN 件の回答を受信した場合。NXDOMAIN 応答は、FQDN オブジェクト クエリの DNS レコードが存在しないことを示すネームサーバーからの明示的な応答です。

    • 回答に IP アドレスが存在しない場合。この場合、FQDN オブジェクト クエリの結果は、Cloud NGFW がファイアウォール ルールのプログラミングに使用できる IP アドレスになりません。

    • Cloud DNS サーバーにアクセスできない場合。回答を提供する DNS サーバーに到達できない場合、Cloud NGFW は FQDN オブジェクトを無視します。

    FQDN オブジェクトが無視されると、Cloud NGFW は可能であればファイアウォール ルールの残りの部分をプログラムします。

FQDN オブジェクトに関する考慮事項

FQDN オブジェクトについては、次の点を考慮してください。

  • FQDN は他のパラメータと組み合わせることができます。上り(内向き)ルールのソース パラメータの組み合わせの詳細については、上り(内向き)ルールの送信元をご覧ください。下り(外向き)ルールの宛先パラメータの組み合わせの詳細については、下り(外向き)ルールの宛先をご覧ください。

  • FQDN オブジェクトは IP アドレスとしてマッピングされ、プログラムされるため、2 つ以上の FQDN オブジェクトが同じ IP アドレスにマッピングされる場合、Cloud NGFW は次の動作を使用します。同じターゲットに適用される次の 2 つのファイアウォール ルールがあるとします。

    • ルール 1: 優先度 100、送信元 FQDN example1.com からの上り(内向き)を許可
    • ルール 2: 優先度 200、送信元 FQDN example2.com からの上り(内向き)を許可

    example1.comexample2.com の両方が同じ IP アドレスに解決される場合、example1.comexample2.com の両方からの上り(内向き)パケットは、優先度の高い最初のファイアウォール ルールと一致します。

  • FQDN オブジェクトを使用する際の考慮事項は次のとおりです。

    • DNS クエリでは、リクエスト元のクライアントの場所に基づく一意の結果が返されることがあります。

    • DNS ベースのロード バランシング システムが関与している場合、DNS 応答は大きく変動する可能性があります。

    • DNS 応答には 32 個を超える IPv4 アドレスが含まれる場合があります。

    • DNS 応答には 32 個を超える IPv6 アドレスが含まれる場合があります。

    上記の状況では、Cloud NGFW はファイアウォール ルールが適用される VM ネットワーク インターフェースを含む各リージョンで DNS クエリを実行するため、ファイアウォール ルールにプログラムされた IP アドレスには、FQDN に関連付けられたすべての IP アドレスが含まれていません。

    googleapis.com などの Google のほとんどのドメイン名は、これらの状況の 1 つ以上に該当します。代わりに IP アドレスまたはアドレス グループを使用してください。

  • TTL(有効期間)が 90 秒未満の DNS A レコードで FQDN オブジェクトを使用することは避けてください。

ドメイン名の形式

FQDN オブジェクトは、標準の FQDN 形式に準拠している必要があります。この形式は、RFC 1035RFC 1123RFC 4343 で定義されています。Cloud NGFW は、次のすべての形式ルールを満たさないドメイン名を含む FQDN オブジェクトを拒否します。

  • 各 FQDN オブジェクトは、2 つ以上のラベルを含むドメイン名である必要があります。

    • 各ラベルは、次の文字のみを使用した正規表現と一致する必要があります。[a-z]([-a-z0-9][a-z0-9])?.
    • 各ラベルの長さは 1 ~ 63 文字にする必要があります。
    • ラベルはドット(.)で連結する必要があります。

    そのため、FQDN オブジェクトでは、ワイルドカード文字(*)やトップレベル(ルート)ドメイン名(*.example.com..org など)はサポートされていません。これらには単一のラベルのみが含まれているためです。

  • FQDN オブジェクトは国際化ドメイン名(IDN)をサポートしています。IDN は Unicode 形式または Punycode 形式で指定できます。次の点を考慮してください。

    • Unicode 形式で IDN を指定すると、Cloud NGFW は IDN を Punycode 形式に変換してから処理します。

    • IDN コンバータを使用して、IDN の Punycode 表現を作成できます。

    • Punycode 形式に変換した後は、IDN に対して、1 ラベルあたり 1 ~ 63 文字の制限が適用されます。

  • 完全修飾ドメイン名(FQDN)のエンコード長は 255 バイト(オクテット)以下にする必要があります。

Cloud NGFW は、同じファイアウォール ルール内の同等のドメイン名をサポートしていません。たとえば、2 つのドメイン名(または IDN の Punycode 表現)の末尾のドット(.)が異なっている場合、Cloud NGFW はこれらを同等とみなします。

次のステップ