最終更新日時:2024.02.20 (公開日:2023.12.15)

ネイキッドドメインを使用するサイトへWAFを導入するには?

ネイキッドドメインを使用するサイトに対するWAFの導入を考えている皆さん、こんにちは。初めてWAFを導入するという方も、すでにWAFを導入しているがネイキッドドメインに対する制約につまずいている方も、一緒に解決の道筋を見つけていきましょう。本記事では、ネイキッドドメインとその制約事項、ネイキッドドメインに対してWAFを導入する方法について解説します。また、主にWAFを例にして説明していきますが、CDNでもほぼ同様と言えますので必要に応じて適時読み替えてください。

ネイキッドドメインとは何か

ネイキッドドメインについてお話しする前に、まずは基本となるドメインについて理解しておく必要があります。 

ドメインとは、サイトやメールサーバなどに割り当てられるインターネット上の住所のようなものです。通常、インターネット上で交わされる通信ではIPアドレスと呼ばれる識別情報を宛先として使用します。世界中には何億とも言われるほどサイトが存在していますが、どのサイトにどのIPアドレスが対応するのかを全て記憶しておくのは非常に困難です。

そこで、人間が理解しやすいテキスト形式の名称(=ドメイン)をIPアドレスと紐づけ、管理しやすくする仕組みとしてDNS(Domain Name System)が存在します。現代のようなインターネットの発展にはDNSが必要不可欠だったと言っても過言ではないと思います。

また、ドメインは階層的な構造を持ち、右から左へと階層を辿ることで特定の場所を示します。試しにいくつかのサイトのドメインを見てみると、ドメインの末尾に「.com」「.jp」のような決まった文字列の存在に気付くでしょう。

これらの「.(ドット)」を除いた「com」や「jp」はTLD(Top Level Domain)と呼ばれており、階層の最上位に位置するこれらの文字列は世界共通となっています。世界中の人々が好き勝手にドメインを使用すると管理しきれなくなったり重複が発生したりする可能性があるので、一意なドメインを表すためにこのようなルールを決めています。

さて、このようなTLDよりも左側の部分は、

  • ドメインとして使用可能な文字種を使っている 
  • 既存のドメインと重複しない 

などの条件を満たせば、新しいドメインとして登録可能です。たとえば「com」という階層の下に「example」を作ると「example.com」という独自のドメインになりますし、「jp」という階層の下に「example」を作ると「example.jp」という独自のドメインになります。さらに、当該ドメインのさらに下の階層へ「www.example.com」や「mail.example.jp」などを登録することもできます。

そして「www.example.com」や「mail.example.jp」はサブドメインと呼ばれ、それに対して「example.com」や「example.jp」はネイキッドドメインと呼ばれます。サブドメインはネイキッドドメインの下の階層に作られたドメインを表します。

一方、”naked(裸の、むき出しの)”という名前の通り、ネイキッドドメインはレジストラへ登録したドメインそのものを表します。また、ネイキッドドメインと同じものを表す用語として「APEXドメイン」「ゾーンAPEX」などがあります。ドメインが階層構造になっているとお伝えしたかと思います。しかし、”apex(頂点の)”という説明の方がイメージしやすい場合もあるかもしれません。

ネイキッドドメインの制約事項 

サブドメインであってもネイキッドドメインであっても、企業やサービスなどのサイトを閲覧するURLとして利用可能ですが、ネイキッドドメインにはいくつかの制約事項があります。主なものとして、ネイキッドドメインに対してDNSのCNAMEレコードを設定できないという制約が挙げられます。

CNAME(Canonical NAME)レコードとは、あるドメインに対して別名を付与する仕組みです。そのドメインが持つ「本名」とは別に「あだ名/ニックネーム/芸名、など」を持つイメージで、呼び方は異なるもののそれぞれの名前が指し示す対象は同一になります。

WAFサービスでは、自身のサービスへトラフィックを転送するためにCNAMEレコードを使用する場合が多く、これらのサービスを利用する場合に不都合が生じます。

よく分かりづらいので、具体例を挙げましょう。

あなたは「example.com」というドメインを取得して、サイトを立ち上げようとしています。DNSの登録を次のAあるいはBの方法で行うとしましょう。

  1. www.example.com というサブドメインを用いてサイトへアクセスさせる場合(CNAMEレコードを使用)
  2. example.com というネイキッドドメインを用いてサイトへアクセスさせる場合(Aレコードを使用)

まずはAのケースからです。サイトへアクセスする際は次の図のような流れを辿ります。図の左側にある緑色の方はサイトを運営する企業が管理するDNSで、図の右側にある黄色の方はWAFサービスを提供する企業が管理するDNSとします。

なお、正確な図を描こうとすると本来はキャッシュDNSサーバなどを記載するべきなのですが、登場人物が多すぎて逆に混乱を与えるかもしれないため、イメージ理解を優先して若干デフォルメした図としております。予めご了承ください。

この状態で、何らかの理由によりWAFのIPアドレスが変更された場合には次の図のようになりますが、WAFサービス側のDNSも併せて変更されておりサイトへの通信には特に問題がありません。

一方でBのケースは、次の図のように構築直後は問題なくサイトへアクセス可能です。

ではここで、Aと同様にWAFのIPアドレスが変更されたとします。この場合には、次の図のようになりサイトへのアクセスが正しくできません。WAFのIPアドレスが変更になるのと同時にサイト運営側のDNSも更新する必要があります。

もちろん、この状態でサイト運営側のDNSの設定を変えてあげると、再び問題なく通信できるようになります。

以上のように、DNSのAレコードを用いた運用ではサイトへのアクセスが不能になる可能性があり、サービスの可用性において懸念があります。ネイキッドドメインでは基本的にAレコードしか使用できないため、ネイキッドドメインにてサイトを運営する際にはこの懸念が当てはまります。

ネイキッドドメインを使用するサイトに対してWAFを導入する方法

ネイキッドドメインを使用するサイトへWAFを導入するにはいくつかの方法があります。

  • サブドメインの利用: 簡単かつ安全な方法は、サブドメインを作成した上でWAFを適用することです。前述した www.example.com などのサブドメインを作成し、そのCNAMEレコードをWAFサービスに向けます。既にネイキッドドメインにてサイトを運営していてURLを変えたくないという事情がある場合を除き、最も無難な選択肢となります。
  • ALIASやANAMEレコード等の利用: 一部のDNSプロバイダでは、CNAMEと同じ役割を果たすALIASやANAMEというレコードが提供されています。これらのレコードはネイキッドドメインに対して設定が可能です。ただし、利用できるDNSプロバイダが限定されますし、地理情報を正しく取得できない可能性が考えられます。
  • IPアドレスの直接利用: ネイキッドドメインに対してAレコードを設定する方法です。前述したようなサービスの可用性に関する懸念やそのリスク軽減を目的とした追加コスト、そして実際に問題が発生した場合の対応コストなどをサイト運営側にて許容することが前提となります。通信自体は可能ですが、多くのWAFベンダーでは推奨されていない方法です。

まとめ

WAFの導入はサイトのセキュリティ強化に大いに貢献します。ネイキッドドメインを利用する際の制約につまずく場合があるかもしれませんが、それらを理解し適切な対策を講じることで克服できます。
対策としての選択肢はいくつかありますが、長期にわたって安全にサイトを運営していくためにも、可能であればぜひサブドメインの利用をご検討頂けたらと考えます。また、サブドメインを使用しない場合には何らかの制約が生じる可能性が高いため、

  • どのような制約が発生するか
  • その制約を回避あるいは許容できるか

について事前にしっかりと整理しておきましょう。
これらの情報が皆さんのサイト運営の一助となれば幸いです。

当サイトではWebサイト、モバイル、IoTへの脆弱性のリスクを考えている方や、サイバー攻撃の脅威から守るWAFに興味がある方へ、ダウンロード資料をご用意しております。ぜひ資料をダウンロードいただき、ご活用ください。

Copyright © VALTES CO.,LTD. All Rights Reserved.