/DNSがよくわかる教科書 /DNSの学び方 /JPRS説明 /RFC1034の構成 /dunning-kruger /まえがき /ゾーン /ゾーンサーバ /ドメイン名 /リンク /中級 /初級 /参考tweet /導入 /木構造 /森下2012 /検索 /演習 /運用編 |
Contents
1. まえがき
このtweetを見て、「DNS入門」にふさわしい本があるかを考えたが、見当たらない。
「DNS入門」が/想定する読者とは:
実はそれがはっきりしない。-- ToshinoriMaeno 2018-04-20 02:55:18
本当に入門書が必要なのだろうか。
- なんのための入門書なのか。 webページを作りたいひとが知っておくべきDNSの知識なのか。
次の世代がDNSで困らないために、基盤技術をささえる技術者を養成する必要もある。
- 今のDNSは滅びへの道を進んでいるように思える。そのことを理解するためにもDNSの勉強は必要になる。
DNSの基本的知識を解説することにした。 -- ToshinoriMaeno <<DateTime(2018-04-23T11:07:21+0900)>>
- 高校卒業程度を想定するか、高校生を想定するか。(どっちのことも分っていない。w)
DNS用語の辞書も必要かもしれない。(検索では品質がバラバラ) DNS/索引
/リゾルバー あるいは/キャッシュサーバー
/web製作者のためのDNS入門 が求められているのだろう。
/運用入門 は中級へ進んでから。
そうそうDNSの管理にはドメイン名の管理(登録)も含めないといけない。ICANN, ccTLD, レジストリ、レジストラ、
- RFC1034が書かれたときにはICANNとかレジストリとかは成立していなかっただろうから。
1.1. 入門書が求められているのか
多くのひとが求めているのは、目の前でおきたトラブルに対処する方法であって、DNSを理解したいわけではないのだろう。
「浸透いうな」と言われても、待たないと解決しないように見えるトラブルとか。How to もの。/よくあるトラブル
/webサーバー移転のDNS対応 あたりか。
今であれば、「DNSブロッキング」とはなにか、の解説だろう。(これが入門だとはおまわない)-- ToshinoriMaeno 2018-04-23 07:05:37
BINDの設定本とか、Cook Book, JPRSの実践DNSなどもその方向に思える。
自分が書いてみたいのは、RFC1034の解説とか、間違った設定の理由(説明)だと思う。
そういうものに興味を持つひとがいるだろうか。-- ToshinoriMaeno 2018-04-23 07:18:11
警告:DNSは
- 生まれつきの脆弱性を抱えている。
あなたが期待するほどには便利な道具ではない。
- 期待するようには動作しないでしょう。
きちんと使わないと危険な道具です。
これらを理解するにも時間と忍耐が必要です。
DNS入門に欠けているもの: セキュリティへの配慮
- 権威サーバーからの返答に含まれる毒とか、ニセ返答による毒盛とか。
2. DNS入門
2.1. DNSの概要
DNSは/ドメイン名をキーにしたDNS/1/資源レコードの集まりを分散して管理・操作・検索するためのシステムです。
そして、分散管理されている/ゾーンを統合するためのシステムです。
動かすことが可能かどうかも分からない時代の作品なので、 セキュリティについてはまったく配慮されていませんでした。
DNSがどのように動作しているかを知ることが大切です。
- ドメイン名 (構成、階層構造)
- ドメイン名空間の分割管理 権威サーバーの動作
- DNSレコードの検索 リゾルバーの動作
- DNSメッセージ DNS query, response
2.2. ドメイン名
2.2.1. ドメイン名は階層になっている
名前の唯一性を実現するために木構造の階層構造になっています。
- 木構造のノード(末端を含む)は名前を持ちます。 さらに、資源レコードを持つことがあります。
2.2.2. 資源レコードは分散している
分散管理の仕組みを理解することは避けて通れません。
2.2.3. ゾーン
資源レコードの集まり(部分集合)である「ゾーン」を管理するのが、/ゾーンサーバー(権威サーバー)です。
どれかのゾーンサーバーのなかから、必要な資源レコードを探すのが/リゾルバー(の仕事)です。
[警告] 日本語が不自由で、論理的な思考も困難な方はこの先を読むのは無駄です。
twitterで beyondDNSをフォローして、質問してみてください。
「画像文明」という小説があったのを思い出した。
いらすとやのいらすとを使って、なにか伝えられないか。
基本的な姿勢:
分かりやすいと思える説明だけを読んで、分かった気になって、それ以上は考えない。 だとすると、それは危険な状態です。 きちんと理解するきっかけにするのであれば、「分かり易い説明」にも意味があるでしょう。 「分かった気にさせる」だけなら害になります。
警告: きちんとした手順を踏んで、検索しないと、偽情報(毒)をつかむことになります。
2.3. 分散管理
2.4. DNSレコード検索
2.5. DNSメッセージ
2.6. DNSはむずかしい
分かりやすいDNSの説明があるとすれば、
- 「DNSは難しい」ということを「分かりやすく」説明しているものでしょう。
それが分かるなら、DNSの基礎コースを勉強してください。
DNSを使いこなすのはむずかしい。
これが分かりやすいか。正しいか、読んでみるのもいい。(古い) -- ToshinoriMaeno 2017-01-13 00:21:18 http://www.atmarkit.co.jp/ait/articles/0112/18/news001.html
3. クラス分け
以下のように分けています。項目は検討中です。
DNS入門に続くのはDNSの基礎です。上級は考慮中ですが、多分、私には無理です。 -- ToshinoriMaeno 2016-10-03 05:06:24
3.1. 入門コース
Domain Name Systemは DNS/1/ドメイン名についての情報(/ドメイン名空間)を共有(広域、分散管理)するための /仕組みです。
DNSはどう使われているか。どんな役にたつか。(DNSの基礎/DNSとは :
3.2. 初級
DNSメッセージを理解しよう。 DNS/1/資源レコード のうち DNS/1/資源レコード/A レコードは入門でも扱わないとまずそう。
「30分で学ぶDNSの基礎の基礎」 (という嘘の説明;騙されてください)/基礎の基礎
(10分で分かるGhost Domain Names脆弱性と同じ筆者)w
3.3. DNS を信用するな
実験として提案され、実験的に実装されたものを、 「運用でカバー」してきたのがDNSです。(悪用しようとするひとはいないという時代の実験)
「運用でカバー」できるだけの人が育ってこなかった。育てなかった。育てる必要性を見抜けなかった。
実験システムから実用可能なシステムへ移れるだろうか。
DNSの入門を勉強しなければならないのは誰か。
- インターネットを使うひとは全員と言いたいところだが、使うという意識では無理だろう。
かつてのように参加しているという意識はないのだろうから。
JPRSには未熟なDNSとまで言われている。そんなものをただの利用者に使わせるのか。
より安全にDNSを利用する方法の解説が急務だろう。 -- ToshinoriMaeno 2015-07-20 00:09:30
DNSSECによる保護が有効なのは、DNSSECを設定しているゾーン(ドメイン)に対してだけである。
- リゾルバーがDNSSEC対応していなければならないことは言うまでもない。
3.4. 背景
DNSとはDomain Name System (RFC 1034, 1035 など) のことである。DNS/RFC
DNS Summerdays 2012 の 「DNS入門」が名前に過ぎた難しい内容なので、 やさしい入門の項目を考えて見た。(森下版は添付ファイル参照) 内容はこれから吟味する。
/運用がいちばん重要 だが、とても危険な状態のキャッシュサーバの理解も重要だ。 DNS/毒盛再考
ここを見直しても委譲(委任)の説明が抜けている。 -- ToshinoriMaeno 2013-07-30 11:49:25
DNS空間の説明を省いたせいか。 DNS/毒盛再考
3.5. どのコースにするか
まずはこのあたりを見て、自己評価してもらえるといいかもしれない。 DNS/理解度を自己評価してみる -- DNS/誤解集 -- DNS/基礎知識
3.6. web を見るまで
ブラウザで https://moin.qmail.jp を見るまでのDNSに関係する働きを題材にして、
- どの段階で扱うかを考えてみる。
- インターネット上の通信ではIPアドレスを使って通信相手を識別する。(パケットによる通信とかは省略)
- 人間にはIPアドレスは使いづらい。人間はドメイン名を使い、DNSを利用して、IPアドレスを管理する。
/ドメイン名(空間)についての説明
- moin.qmail.jp というドメイン名がどういう形式と意味をもつか。(構造)
/ドメイン名空間全体の話、DNSがなかったころはどうしていたかにも少し触れる。
moin.qmail.jp の IPアドレスつまりA /レコードの探しかた
ブラウザなどは(外部または同一ホスト上の)/リゾルバー(キャッシュサーバ)に問い合わせる。
DNS /キャッシュサーバはDNS/ゾーンサーバ(実際は分散データベース)に問い合わせる。
- これらの問い合わせかたには違いがある。[問い合わせの道具、演習問題]
- 目的のデータ(分散管理されている)をどう探すか。探せた結果をどう使うか。
- DNS サーバと言う呼び方は間違い。以下のように機能に分かれている。
- コンテンツサーバとリゾルバー(キャッシュサーバー)は区別しよう。
/ゾーンサーバ(分散データベース)の仕組みの説明 (一番重要で、難しい部分です。)
NSレコードによる delegation(/委譲、委任)、DNSツリーのゾーンへの分割、/ゾーンの管理 委譲されなくても、データは存在するし、使うことも可能である。 DNS/グルーレコード
DNS/IW2012/ランチセミナー も前半は参考になる。
- 原則として、ルートからたどる。TTL時間はキャッシュしてよい。
4. DNS 管理入門
この辺からはDNSレコード設定者つまり管理者向けです。/中級の話題です。
- 分けるべきですね。
4.1. 想定読者はDNS管理者とする
DNS入門講座の範囲: まずはDNSレコード管理者を読者としよう。DNS/1/資源レコード
DNS/RFC1034, DNS/RFC1035 などを読みとくためのてほどきとなることを目標にする。
web セキュリティ分野のひとにも理解してもらえればと思っている。
DNS/セキュリティ勉強会 もどうぞ。
どういう内容を知りたいか、以下に希望を書いていただけますか。
- ..
/ドメインの取得ということの意味(レジストラの役割など)
- ドメインの失効、実質的乗っ取り (visa.co.jp)
- コンテンツサーバー(ゾーンサーバ)とキャッシュサーバーの区別
- 権威サーバを動かす上で注意すべきこと (内部名、TTL)
- キャッシュは分ける。サーバの二重化
DNS/1/資源レコード 解説
- CNAME, MX なども。
UDP と TCP
DNSセキュリティ(UDPに起因する脆弱性) DNS/セキュリティ
- キャッシュサーバへの毒盛の歴史, Kaminsky 型攻撃とport 固定の危険性
- DNS と BINDの歴史など、DJBの戦い
この程度でもどれくらい時間がかかるか。一日(10時間) でも厳しいかも。
- 基本的に誰かの話を聞くだけではダメということ。 djbdns を使ってみることができるといいのだが。
-- ToshinoriMaeno 2012-12-10 00:45:16
4.2. その他の話題
- 逆引き
- DNSSEC
トリビアなど http://www.slideshare.net/OrangeMorishita/20111029-part2dns
4.3. 感想
インターネット上ではもっとも重要なサービスでありながら、 まったく理解されていないといえるサービス
コメントをお願いします。