MailData

DNSSECとは何で、どのように機能するのか?

DNSSECとは何で、どのように機能するのか?

2025年1月26日
著者: Milena Baghdasaryan
翻訳: 逆井 晶子

この記事はPowerDMARCのブログ記事 What is DNSSEC and How Does it Work? の翻訳です。
Spelldataは、PowerDMARCの日本代理店です。
この記事は、PowerDMARCの許可を得て、翻訳しています。


DNSSEC(Domain Name System Security Extensions)は、Domain Name System(DNS)に重要なセキュリティ層を追加するものです。
DNSは、ドメイン名をIPアドレスに変換する仕組みです。
しかし、DNSシステムは、DNSスプーフィングやDNSキャッシュポイズニングのようなサイバー攻撃に対して脆弱です。
そう聞くと驚くかもしれませんが、これらの攻撃は、ユーザを悪意あるWebサイトへリダイレクトし、データの盗難や金銭的損失を引き起こす可能性があります。

IDCのGlobal DNS Threat Reportによると、2022年には88%の企業がDNS攻撃を受け、平均で94万2,000ドルの損害を被ったと報告されています。
DNSSECは、ユーザが正規のWebサイトに確実に接続できるようにすることで、こうした攻撃の防止に役立ちます。

したがって、オンライン上の安全性に不安がある方は、DNSSECについてしっかり理解しておくことが大切です。

重要なポイント

  1. DNSSECを実装することは、DNSスプーフィングやキャッシュポイズニングなどの脅威から守るために不可欠です。
  2. DNSSECは、DNSデータが正規のソースからのものであることを保証し、偽のWebサイトへのリダイレクトを防ぐことで信頼性を高めます。
  3. GDPR、HIPAA、NISTなどのサイバーセキュリティ規制への準拠は、DNSSECの導入によって達成可能です。
  4. DNSSECが提供する電子署名は、DNS応答の完全性と真正性を保証し、改竄されたデータをブロックするのに役立ちます。
  5. DNSSECチェッカーツールを使用して、実装が正しく機能しているかどうかを確認することを推奨します。

DNSSECとは?

DNSSECは、DNSにセキュリティ層を追加し、情報が正しく、攻撃者によって改竄されていないことを検証する仕組みです。
DNSSECは、DNSを多様なサイバー攻撃から保護するためのセキュリティ機能を備えた、DNSプロトコルの拡張仕様です。

DNSは、インターネットのディレクトリとして機能し、「example.com」のような名前を、コンピュータが接続に使用するIPアドレスに変換します。
しかし、従来のDNSはセキュリティを重視して設計されていなかったため、多様なサイバー攻撃に対して脆弱なままでした。

はっきりさせておきたいのは、DNSSECはデータを暗号化することを目的としていないという点です。
DNSSECの目的は、DNS応答の正確性と真正性を保証することです。
そのため、DNSSECはフィッシング攻撃、中間者攻撃、その他のセキュリティ脅威からユーザや組織を保護するための不可欠なツールとなっています。

DNSSECがサイバーセキュリティにおいて重要な理由

DNSSECを導入することで、組織は自らとそのユーザを特定のサイバー攻撃から保護することができます。
サイバー脅威は日々進化し、より高度化しています。
88%の企業が攻撃を受けた中で、31%がブランドイメージの損失を経験し、消費者の信頼を失いました。
これは、予防策を講じなければどれほど壊滅的な影響を受けるかを示しています。

DNSSECの実装は、進化する脅威への対策として、組織とお客様の安全なデジタル環境を維持するための有効な手段です。

DNSSECはどのように機能するのか?

DNSの仕組みの図

以下は、DNSSECの仕組みを段階的に説明したものです。

1. DNSレコードへの電子署名の追加
ドメインがDNSSECで保護されると、そのDNSレコード(A、MX、TXTレコードなど)は電子署名されます。
これらの暗号署名は、公開鍵暗号方式を用いて作成されます。
ドメイン所有者は、DNSSECを使用する際に暗号鍵のペアを生成します。
  • 秘密鍵はDNSデータに署名するために使用され、これによりDNSKEYレコードが作成されます。
    各レコードには固有のデジタル署名が生成されます。
  • DNSSECでは、ゾーン署名鍵(公開鍵)がDNSシステムに公開されており、誰でもDNSレコードの署名を検証することができます。
    これにより、DNS応答の暗号技術による正当性の確認とデータの完全性が保証されます。
2. ドメインの要求

ユーザがWebサイトにアクセスしようとすると、そのデバイスはリカーシブリゾルバに対して、ドメイン名に対応するIPアドレスの照会を行います。
ユーザがブラウザにドメイン名を入力した瞬間から、DNSの名前解決プロセスが開始されます。
ブラウザは、ISPなどが運用するリカーシブリゾルバに対して、再帰的なDNSクエリを送信します。

リカーシブリゾルバにそのIPアドレスがキャッシュされていない場合、DNSルートサーバ、トップレベルドメイン(TLD)サーバ、権威DNSサーバの順に問い合わせが行われます。
これらのサーバは連携して正しいIPアドレスを特定し、それをリカーシブリゾルバに返します。
リカーシブリゾルバはこの情報をキャッシュに保存し、ユーザのブラウザにIPアドレスを返してWebページを表示します。
もし権威DNSサーバがその情報を保持していない場合、DNSSECが有効なゾーンでは「存在しないことの認証済み証明(authenticated denial of existence)」が返されます。

3. 電子署名の検証

リカーシブリゾルバは、そのドメインにDNSSECが有効かどうかを確認します。
有効であれば、公開鍵を使ってDNSレコードの電子署名を検証します。
この際、以下の2つのシナリオが考えられます。

  1. 署名が一致すれば、DNSデータが正当で改竄されていないと判断します。
  2. 署名が一致しなければ、応答は拒否されます。
    これにより、ユーザが悪意あるWebサイトに接続するのを防ぎます。

DNSレコード名が分からない場合は、DNSレコードチェッカーを使用して調べることができます。

4. 信頼の連鎖

DNSSECは「信頼の連鎖」という概念に基づいて動作します。
この連鎖の最上位には、デジタル署名されたDNSのルートゾーンがあります。

続いて、DNSの各階層(例:ルート → .com → example.com)が、下位の階層を検証することで、信頼の連鎖が構築されます。
この仕組みにより、すべてのDNS応答が正当な権威DNSサーバから提供されたものであることが保証されます。

5. 攻撃からの保護
最後に、DNSSECは以下のような攻撃からユーザを保護します。
  • DNSスプーフィング:DNS応答が正当であることを保証することで、攻撃者による偽のWebサイトへのリダイレクトを防止します。
  • キャッシュポイズニング:DNSリゾルバに悪意あるデータが保存されるのを防止します。

DNSSECの役割とは?

DNSSECは、DNSプロトコルデータが改竄されないように保護することで、インターネットをより安全なものにします。
ご存じのとおり、DNSはドメイン名をIPアドレスに変換しますが、その情報の出所を検証することはありません。
これが攻撃のリスクを生み出す原因となりますが、DNSSECはその問題を解決します。

DNSSECは、情報の送信中に誰かがDNSデータを改竄していないかをチェックすることで、改竄を防止します。
攻撃者が情報を変更しようとした場合、DNSSECがそれを検知し、応答をブロックします。
これにより、ユーザは安心して正しいWebサイトに接続できます。

DNSSECでは、あらかじめ信頼された「トラストアンカー(trust anchor)」を起点として、各階層で署名の検証を行う「信頼の連鎖(chain of trust)」が構築されます。
これにより、DNSデータが正当な送信元から提供されたものであることが保証され、攻撃者が権威DNSサーバを装って偽のWebサイトへユーザを誘導することを防止します。
特に、銀行や医療など、セキュリティが極めて重要とされる業界においては、このような信頼性の確保が非常に重要です。

加えて、DNSSECは最新のセキュリティ基準への準拠も支援します。
多くの組織や政府機関は、サイバーセキュリティ規制を満たすためにDNSSECの使用を義務付けています。
また、オンライン活動をさらに保護するための高度なセキュリティツールの導入も促進します。

DNSSECの設定方法

ドメインをサイバー攻撃から保護するために、DNSSECを有効にすることは重要なステップです。
以下は、その設定手順をわかりやすく段階的に説明したものです。

1. ドメインレジストラのDNS設定にアクセスする
まず、ドメイン名を登録したアカウントにログインします。
次に、DNS設定セクションに移動します。
ここでは、Aレコード、CNAME、MXレコードなどのDNSレコードを管理することができます。
多くのドメインレジストラでは、「DNSSEC」と表示された専用のオプションが用意されています。
2. DNSSECを有効にする
DNSSECを有効にするオプションを探します。
一部のレジストラには、DNSSECを有効にするためのボタンやスイッチがあります。
有効化すると、レジストラはDNSSEC専用のレコードを作成します。
これらのレコードは、次のステップに必要な情報です。
3. DSレコードをドメインのDNS設定に追加する
DSレコード(Delegation Signer record)は、ドメインをDNSSECシステムにリンクさせるためのDNSレコードです。
DSレコードには、鍵やアルゴリズムなど、DNSSEC設定を検証するための重要な情報が含まれています。
レジストラから提供されたDSレコードをコピーし、「レコードを追加」オプションを使ってDNS設定に貼り付けます。
最後に、正しいレコードが追加され、設定が確実に保存されていることを確認してください。
4. 設定の検証

DSレコードを追加した後、DNSSECが正しく動作しているかどうかを確認します。
このためには、DNSSECチェッカーツールを使用する必要があります。
多くのレジストラでは、設定を確認するための組み込み検証ツールも提供しています。

使用するツールは、DNSSECの構成をテストし、エラーがあるかどうかを表示します。
すべてが正しく設定されていれば、あなたのドメインはDNSSECによって保護されていることになります。

DNSSECの課題と制限事項

DNSSECの課題と制限事項の図

DNSSECはDNSのセキュリティを強化しますが、いくつかの課題もあります。
以下にその主要な問題点を挙げます。

1. 実装の複雑さ
DNSSECの設定は、DNSの管理に不慣れな人にとっては非常に難解な作業です。
そのため、設定に小さなミスがあるだけで、DNSの解決に失敗する可能性があります。
2. DNS応答サイズの増加

DNSSECはDNSレコードに電子署名を追加するため、DNS応答のサイズが大幅に増加します。
これは、特に通信速度の遅いネットワークや古いシステムではパフォーマンスの問題を引き起こします。
Webサイトのパフォーマンス、特にDNS解決時間は、ユーザの離脱率に大きな影響を与えます。

Googleの調査は、ページの読み込み時間とユーザーの離脱率との間に明確な相関関係があることを示しています。
ページの読み込み時間が1秒から3秒に増加すると、離脱率は32%に上昇し、5秒になるとその確率は90%に急増します。
最適なユーザー体験を提供するためには、DNSルックアップは理想的には100ミリ秒未満、できれば50ミリ秒以内であるべきです。
これにより、Webサイトのコンテンツがブラウザで1~2秒以内に読み込まれるようになります。

webpagetest.orgによるcisco.comの分析はこの概念をよく示しています。
cisco.comの最初のDNSルックアップには25ミリ秒かかり、その後のwww.cisco.comへのリダイレクトによるルックアップにはさらに33ミリ秒かかっています。
これらのDNS解決時間は、全体的な接続遅延およびページの読み込み時間に影響を与え、ユーザー体験や潜在的なお客様のエンゲージメントに直接関わります。

3. 普及率の低さ
その利点にもかかわらず、DNSSECは世界中でまだ広く利用されていません。
APNICの2023年のレポートによると、世界中のドメインのうちDNSSECを導入しているのは約40%に過ぎません。
これは、非対応ドメインにアクセスするユーザを保護できないことを意味し、DNSSEC全体の効果を低下させます。
4. データの暗号化がされない
DNSSECはデータの完全性と真正性を保証しますが、DNSクエリや応答自体を暗号化することはありません。
そのため、DNSリクエストの内容が攻撃者に傍受される可能性があります。
この問題を解決するために、多くの企業はDNSSECに加えて、DNS over HTTPS(DoH)やDNS over TLS(DoT)も併用しています。
5. DNSフォワーディングとの互換性
DNSクエリを他のサーバに転送するDNSフォワーディングは、DNSSECと競合することがあります。
もし転送先のサーバがDNSSEC署名の検証を行わなければ、未認証の応答が通ってしまい、システム全体のセキュリティが弱まります。

DNSSECを使用する利点

DNSSECは、DNSのセキュリティと信頼性を強化するために、以下のようなさまざまな利点を提供します。

1. サイバー攻撃からの保護
DNSSECは、DNSデータが攻撃者によって改竄されていないことを保証します。
DNSレコードに電子署名を行うことで、このセキュリティ対策はサイバー攻撃を防ぎます。
この保護は、機密データを守り、オンライン上の信頼を維持する上で極めて重要です。
2. オンラインサービスへの信頼を強化

DNSSECを導入することで、ユーザはアクセス先のWebサイトが正当なものであると安心して利用できます。
これは、銀行、医療、eコマースなど、信頼性が特に重要な業界にとって極めて重要です。
DNSSECは、ルートDNSネームサーバから各ドメインまで信頼の連鎖を構築することで、インターネットサービス全体の信頼を高めます。

金融機関にとっては、DNSSECはお客様と機関自身の両方を詐欺行為から保護する上で非常に重要です。
オンラインバンキング取引における機密性の高い情報を守るために有効です。
また、eコマースにおいても、お客様が悪意あるWebサイトへ誘導されることを防ぎ、金銭情報の保護とフィッシング攻撃の防止につながります。

医療機関にとってもDNSSECは大きな利点があります。
オンライン診療や医療記録の管理において、個人の健康情報を守るための不可欠な防御手段となります。

3. 規制遵守を支援

DNSSECは、GDPR、HIPAA、NISTなどのサイバーセキュリティフレームワークに準拠するために、組織にとって重要です。
また、DNSリソースレコード(SPFやDKIMなど)を保護することで、DMARCのコンプライアンスにも貢献します。

DNSSECを導入することで、組織は強固なセキュリティ対策とデータ保護への取り組みを示すことができます。
これは、監査や評価などの規制遵守プロセスにおいて特に有効です。

さらに、DNSSECはDNSスプーフィングやキャッシュポイズニング攻撃を防止するため、データのプライバシーと完全性に関わる重要な課題に対処します。
サイバー脅威が進化し続ける中、DNSSECの役割はますます明確で重要になっています。

4. ビジネスの中断を防止
DNSへのサイバー攻撃は、Webサイトのダウンタイム、お客様の信頼喪失、金銭的損失を引き起こします。
DNSSECの検証プロセスにより、こうした攻撃のリスクが軽減され、企業が安定したサービスを維持できるようになります。

結論

DNSSECは、ドメインのセキュリティを向上させ、サイバー脅威から保護するための最も重要なツールの一つです。
DNSデータが改竄されず、正当であることを保証することで、信頼を築き、ユーザの安全を確保します。

もしあなたがWebサイトやオンラインサービスを管理しているのであれば、DNSSECの導入を検討すべきです。
それにより、あなたのドメインをサイバー攻撃から守ることができます。

すでにドメインにDNSSECを実装している場合は、今すぐPowerDMARCのDNSSECチェックツールを使って確認してみましょう ― 興味のある方は下記よりお問い合わせください。