[SC] 学習ノート④:ドメインとDNS
初めに
情報処理安全確保支援士(SC)試験対策として、著者の学習アウトプットを兼ねて作成している
必要に応じて追記等を行う予定である
ドメイン名とは
ドメイン名・・・ インターネット上の名前
ただこれは「人間が覚えやすくした名前」であり、機械は理解できない
ドメイン名の例
ドメイン名の例を挙げて考える
www.example.co.jp
このドメイン名は以下の階層に分解される
- www : ホスト名(サーバを識別する名前)であり、非必須
- example : 固有のドメイン名
- co.jp : 日本の法人向け属性型JPドメイン(1法人につき1つ)
このホスト名とドメイン名をすべて含んだ名前を FQDN (Fully Qualified Domain Name)という
ドメイン名が必要な理由
TCP/IP通信で実際に用いられるアドレスは IPアドレス だが、IPアドレスは数字の羅列のため人間には覚えられない
そこで、人間が直感的に判別できるよう ドメイン名 が必要となった
DNSとは
DNS(Domain Name System)とは、 ドメイン名に関する情報を問い合わせるための仕組み である
混合されやすいが、DNSはドメイン名を割り当てる仕組みではない点に注意
ドメイン名からIPアドレスを調べることを 名前解決 という
クライアントからDNSへの問合せに用いられるプログラムを リゾルバ という
DNSサーバの種類
- キャッシュDNSサーバ(再帰DNS/リゾルバ) : クライアントの代わりに問い合わせを行い、一定期間結果を保持する
- ルートDNSサーバ : DNS階層の最上位
- TLD DNSサーバ : 次に問い合わせるべき 権威DNS を案内
- 権威DNSサーバ : ドメイン配下の最終的な情報(IPアドレス)を管理
問合せの流れ
DNSの資源レコード
DNSは各ドメインに対し複数の情報を管理している
この管理している情報を 資源レコード(Resource Record) といい、以下のレコードを持つ
| 資源レコード | 内容 |
|---|---|
| A | ドメイン名に対するIPv4アドレスの指定 |
| AAAA | ドメイン名に対するIPv6アドレスの指定 |
| MX | ドメイン宛のメールを受け取るメールサーバの指定 |
| CNAME | ドメイン名の別名設定 |
| PTR | 逆引き(IPアドレスからドメイン名を調べる) |
| NS | ドメインの名前解決を担当する権威DNSサーバの指定 |
| SOA | DNSゾーン[1]の管理元や更新管理に関する情報を示す |
| CAA | そのドメインの証明書を発行してよい認証局(CA)を指定する |
資源レコードには TTL(Time To Live)と呼ばれる有効期間(秒数)が定められている
DNSはTCPかUDPか
結論から言うと、DNSは UDP を基本としている
UDPを用いている理由は以下の通り
- 問合せが一問一答だから
- 高速性が必要
- データ量が小さいから
しかし、例外として応答が大きくなる場合等にはTCPが用いられる点に注意
DNSのセキュリティ
DNSでは基本的にUDPが用いられるため、なりすまし等の対策を行う必要がある
DoS攻撃などはキャッシュサーバと権威DNSサーバを分離して管理することで対策出来るが、他に用いられているセキュリティ手法を以下で紹介する
DNSSEC
DNSSEC(DNS Security Extension)とは、 DNSの応答データに電子署名を付与 し、改ざん検知を可能にする仕組みである
ゾーン転送
権威DNSサーバ等にあるオリジナル(プライマリDNSサーバ)の情報を予備のサーバ(セカンダリDNSサーバ)に移すことを ゾーン転送 という
ゾーン転送を行うことにより、可用性の確保や負荷分散に貢献できる
セキュリティの観点から、このゾーン転送の通信を暗号化することもある
DNSラウンドロビン
セキュリティとは異なるが、名前解決先のサーバに対する負荷分散として DNSラウンドロビン という手法が用いられる
DNSでは1つのドメイン名に複数のIPアドレスを対応付けることが可能であるが、名前解決にて返すIPアドレスを問い合わせの 順番毎に 変えることをDNSラウンドロビンという
クライアントに届くIPアドレスが変わることで負荷分散に繋がるが、サーバの負荷情報は見ていない点に注意
試験対策ポイント
- 「ラウンドロビン」とは「複数の対象を順番に回して使う方式」を指しており、DNS以外でも「ラウンドロビン」という言葉が使われることがある
-
DNSでは、ドメイン名に関する情報を管理する範囲を「ゾーン」という ↩︎
Discussion