DNSとは何ですか?

ドメイン名(例:microsoft.com)がIPアドレスにどのように変換されるかご存知ですか?インターネットはDomain Name System(DNS)と呼ばれるサービスを使用しています。この記事では、DNSが何かを学び、それがドメイン名をIPアドレスに変換する方法を理解します。これにより、ブラウザや他のインターネット接続アプリやサービスがウェブサーバーを見つけることができます。

さらに、DNSの仕組みを迅速に理解するための便利なインフォグラフィックをご覧ください。

広告

DNSとは?

ドメイン名システムは、ブラウザが情報を読み込むために、ドメイン名がIPアドレスに変換されるサーバーです。具体的には、DNSはドメイン名に対応するIPアドレス(IPv6またはIPv4アドレス)を見つけるために、ウェブブラウザがドメインに添付された情報を見つけられるようにします。

ドメイン名(またはウェブサイトのドメイン)はウェブアドレスです。ドメイン名はウェブサイトのUniform Resource Locators(URL)で使用されます。たとえば、Googleのウェブサイトを訪れるにはウェブブラウザに「www.google.com」と入力する必要があります。Facebookのウェブサイトには「www.facebook.com」と入力します。

IPアドレス

IPアドレスは、インターネット上のデバイスやサーバーなどのリソースを識別するために使用されるユニークなアドレスです。IPアドレスは、デバイスがインターネットやローカルネットワーク上で互いに接続するのを容易にする番号です。電話番号が特定の人にダイヤルするのに役立つのと同様です。

IPアドレスには、IPv4とIPv6の2種類があります。

広告

IPv4アドレス

IPv4は32ビットのアドレス方式です。ドット付き10進表記を使用します。IPv4には42億以上のアドレスを付与する機能があります。たとえば、IPv4アドレスは192.0.2.1のようになります。

IPv6アドレス

IPv6は128ビットのアドレス方式です。IPv4のドット付き10進表記の代わりに英数字表記を使用します。約3.4×1038個のユニークIPアドレスを収容する能力があります。つまり、340兆兆兆のIPアドレスです!

IPv6はIPv4よりも設計上高度で安全です。IPv6アドレスの例は2001:0db8:85a3:0000:0000:8a2e:0370:7334です。

DNSは何に使用されますか?

DNSの主な用途はドメイン名をIPアドレスに変換することですが、他にもさまざまな用途があります。DNSサーバーは、検索している情報リソースへの迅速なアクセスを確保し、インターネットメールサーバーへのメールの送信を容易にします。 DNSはまた、サーバーとモノのインターネット(IoT)デバイスとの通信を可能にします。

広告

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

DNSがどのように機能するかを理解するためには、裏で起こるプロセスを学ぶことが重要です。以下に、ドメイン名をIPアドレスに解決するための手順が示されています。

DNSがドメイン名をIPアドレスに解決する方法は?

DNSの主な役割は、ウェブブラウザに入力するドメイン名をIPアドレスに変換することです。ドメイン名をIPアドレスに変換するプロセスは、DNSルックアップまたはDNS解決と呼ばれます。 DNSには、次のようなさまざまなコンポーネントが使用されます:

  • ドメイン名サーバー
  • DNSクエリ
  • DNSレコード
  • DNSキャッシュ
  • DNS伝播
  • など
How DNS queries work infographic

ウェブページを読み込むための4つのドメイン名システムのコンポーネント

DNSは、ドメイン名をIPアドレスに解決するために4つの異なるサービスを使用します。

DNSリゾルバ

A DNS resolver, also known as a DNS recursive resolver, is the primary function of a DNS query. It either directly provides the required information from its stored cache, or it sends requests to other DNS servers including the root nameserver, top-level domain (TLD) nameserver, and authoritative nameserver.

DNSルートサーバ

ルートネームサーバ、またはDNSルートサーバは、再帰リゾルバからのクエリを受け入れ、再帰リゾルバをTLDネームサーバに誘導し、再帰リゾルバが一致するIPアドレスを見つけることができます。

TLDネームサーバ

トップレベルドメイン(TLD)ネームサーバは、.com、.net、.orgなどのトップレベルドメインに基づくドメイン名に関連するすべての情報を管理する責任があります。たとえば、.com TLDネームサーバは、.comで終わるドメインのすべての情報を保持しています。2つのTLDサーバグループがあります。.com、.edu、.govなどの一般的なトップレベルドメインと、.uk、.us、.ruなどの国コードトップレベルドメインです。

権威あるネームサーバ

権威あるネームサーバは、IPアドレスを解決する旅の最後の段階です。DNSレコードから特定のドメイン名に一致するIPアドレスを再帰リゾルバに提供できます。

ドメインに別名がある場合、権威ある名前サーバーはリソースを参照するために標準名レコード(CNAME)を使用します。例えば、DNSクエリが ‘blog.google.com’ の場合、’google.com’ は blog.google.com の標準名または別名です。

3種類のDNSクエリ

DNSクエリは、特定の情報を取得するためにDNSクライアントからDNSサーバーに送信されるリクエストです。基本的に、DNSクエリはドメイン名に関連するIPアドレスのリクエストです。

以下は、トップ3のDNSクエリの種類です:

再帰クエリ

このタイプのクエリでは、DNSサーバーはあなたの代わりに他のDNSサーバーに問い合わせてクエリに答えます。 DNSサーバーは、DNSレコードからリクエストされたリソースを提供するか、再帰リゾルバーがクエリに関連する情報を見つけられない場合にはエラーメッセージを提供します。

反復クエリ

反復クエリでは、DNSサーバーはクエリに対して回答できる場合には回答を返します。再帰的なDNSクエリがリクエストに対する対応するIPアドレスを返さなかった場合、別の権威DNSサーバーまたはルートサーバーに問い合わせて回答を提供します。

非再帰クエリ

A non-recursive query occurs when a DNS server answers your query from a record that exists in its cache. An immediate response is available with non-recursive queries as they are stored the necessary information is stored locally.

ドメインネームサーバーとは何ですか?

ドメインネームサーバーは、Aレコード、CNAMEレコード、およびMXレコードを含むドメイン名のすべてのDNSレコードを保存および保守する責任があります(以下でこれらが何であるかを説明します)。依存する複数のネームサーバーがあり、通常、1つのプライマリと複数のセカンダリがあります。

複数のネームサーバーの利用可能性は、1つのネームサーバーが利用できなくなった場合に他のネームサーバーを使用できるため、DNSの信頼性を高めます。ネームサーバーは、すべてのDNSレコードの正確な情報を保存および保守します。

DNSゾーンとは何ですか?

A DNS zone is a specific portion of the namespace in DNS. And it’s managed by an administrator or organization. DNS zones provide better control over DNS components such as TLD nameservers, authoritative nameservers, and more.

A DNS zone is implemented in a domain name server and it includes a zone file that contains all DNS records of domains in a zone. Domain name servers can contain multiple DNS zones. And a DNS zone can contain several subdomains.  

主要なDNSレコードの種類は何ですか?

DNSレコードは、ドメイン名に関連するすべての詳細を提供し、これらのDNSレコードの詳細はDNSゾーンファイルに見つけることができます。DNSレコードは、DNSがクエリに応答するのに役立ちます。

以下は、異なるタイプのDNSレコードです:

  • A record: An A record includes IPv4 addresses for FQDNs (Fully Qualified Domain Name). An FQDN has four parts: hostname (www, ftp, etc.), domain name (Google, Facebook, etc.), Top Level Domain (.com, .org, etc.), and a period (.).
  • AAAAレコード: Aレコードとは対照的に、AAAAレコード(または四重A)はドメイン名をIPv6アドレスにマップします。
  • MXレコード: メール交換(またはMXレコード)は、IPアドレスの代わりにメールサーバーを指すことで、電子メールのルーティングを容易にします。
  • TXT レコード: このレコードを使用すると、管理者は DNS レコードにテキストを格納できます。主にフレンドリーな言語で書かれたメモですが、DNS には機械が読めるテキストも入力できます。 TXT レコード は、主にドメイン名の所有権を検証し、スパムメールを防止するために使用されます。
  • NS(ネームサーバ): NS レコード は、ドメインまたはサブドメインの権威あるネームサーバを指します。
  • CNAME: カノニカル名(またはエイリアス)レコードは、ドメイン名を他のドメインやサブドメインにマップするエイリアスです。

DNS キャッシュとは何ですか?

DNS キャッシュは、近い将来に同じクエリが行われる際に再利用するために一時的に DNS レコードの情報を保存するプロセスを指します。キャッシュはオペレーティングシステムレベルまたはウェブブラウザレベルのいずれかで有効にできます。したがって、DNS サーバは、デバイスが DNS をクエリするたびやウェブサイトを訪れるたびに DNS ルックアップを処理する必要がありません。

DNS プロパゲーションはどのように機能しますか?

DNS プロパゲーションとは、DNS レコードがインターネットまたはローカルネットワーク上のすべての DNS サーバに更新されるまでにかかる時間を指します。プロパゲーションは、誰かが新しい DNS レコードを名前サーバに追加すると開始されます。

プロパゲーションには最大72時間かかる場合があります。なぜなら、ドメイン名サーバーは異なるDNSレコード用に構成された個別のTTL(Time To Live)値を持つからです。

独自のDNSサーバーを設定できますか?

一般的に、DNSサーバーはインターネットサービスプロバイダー(ISP)によって提供されます。ただし、独自のDNSサーバーを運用することで、システムやネットワークに対するより良い制御が可能になります。Windows DNS Server、PowerDNSTechnitiumなどのDNSサーバーソフトウェアをインストールして独自のDNSサーバーを設定できます。DNSサーバーソフトウェアはWindows、Linux、iOSなどのさまざまなオペレーティングシステム向けに提供されています。

DNSとセキュリティ

DNSは他のいくつかのインターネットプロトコルと同様に、セキュリティを考慮して設計されていませんでした。ただし、DNSセキュリティは、DNSコンポーネントを攻撃し、DNSサービスの安定性と可用性に影響を与えるあらゆるレベルの攻撃から保護するために重要な役割を果たします。したがって、DNSインフラを保護するために、DNSSEC、DNSログ記録などを含む効果的なセキュリティ戦略を策定することが不可欠です。

DNSにはセキュリティの脆弱性がありますか?

DNSはさまざまなセキュリティ脅威に対して脆弱であり、ハッカーはDNSサーバーを標的とする高度な攻撃手法を見出しています。一般的なDNS攻撃には次のものがあります:

DNSキャッシュポイズニング

DNS キャッシュポイズニングまたはDNS スプーフィングは、攻撃者がDNS キャッシュに偽の情報を追加することで、Web トラフィックを悪意のあるWeb ページにリダイレクトするDNS 攻撃の一種です。

DNS トンネリング

DNS トンネリングは、DNS プロトコルを利用して、DNS クエリやレスポンスパケットに機密データをトンネリングする方法です。

ファントムドメイン攻撃

A type of Denial of Service (DoS) attack in which attackers create a bunch of phantom domains that restrict servers from responding to DNS queries.

ランダムサブドメイン攻撃

A random subdomain attack is a type of Distributed Denial of Service (DDoS) attack in which many queries are sent to a targeted domain. Due to the high volume of traffic from multiple sources, requested information or services become unavailable to users.

DNSSEC とは?

DNS セキュリティ拡張(DNSSEC)は、DNS コンポーネントを攻撃から保護するために開発されたセキュリティ対策で、デジタル署名処理を実装することで署名を行います。このプロセスでは、DNS ルックアッププロセスの各段階で署名が行われ、返されたDNS レコードの妥当性が確認され、ルックアッププロセスがセキュリティ強化されます。

DNS の未来

DNS の将来の進化は、セキュリティに重点が置かれており、元々の形態では基本的にセキュアではありません。暗号化されたクエリがセキュアなDNS をある程度守ることができますが、DNS サーバーは一般にインターネット上で広くアクセス可能なため、機密性の問題が残ります。

DNS クエリの最初のステップは暗号化されておらず、誰でも見ることができます。したがって、DNS レコードの暗号化はセキュリティを向上させ、ドメイン攻撃の防止に効果的です。

リゾルバーレス DNS の導入により、パフォーマンスとプライバシーが向上する可能性があります。DNS ルックアップを行う時間を短縮し、正確かつ検証済みの DNS レコードを提供できます。

Source:
https://petri.com/what-is-dns/