PowerPoint プレゼンテーション

Similar documents
2 注意事項 教材として会場を提供していただいている ConoHa さんのドメイン名とその権威ネームサーバを使 用しています conoha.jp ns1.gmointernet.jp


e164.arpa DNSSEC Version JPRS JPRS e164.arpa DNSSEC DNSSEC DNS DNSSEC (DNSSEC ) DNSSEC DNSSEC DNS ( ) % # (root)

日本語ドメイン名運用ガイド

初心者のためのDNSの設定とよくあるトラブル事例

目次 1 本マニュアルについて 設定手順 (BIND 9 利用 ) 設定例の環境 設定例のファイル構成 named.conf の設定例 逆引きゾーンの設定例 動作確認 ( ゾーン転送 )

2 フルサービスリゾルバ スタブリゾルバ からリクエストを 受け取る フルサービスリゾルバは権威ネームサーバに 対して反復復的に 問い合わせを 行行う ルートゾーンの権威サーバ スタブリゾルバ の IP アドレスを教えて? の IP アドレ

初心者のためのDNSの設定とよくあるトラブル事例

上位 DNS の設定 YaST > Network Device > Network Card > HostName and DNS Server を開き DNS サーバとなる自分自身と上位となる ( プロバイダの指定 あるいは社内のマスター )DNS サーバを確認します この結果は /etc/re

PowerPoint プレゼンテーション

DNSSEC機能確認手順書v1.2

あなたのDNS運用は 来るべきDNSSEC時代に耐えられますか

初心者のためのDNSの設定とよくあるトラブル事例

JJ SIP ドメイン解決のための DNS 相互接続共通インタフェース Common interconnection interface for SIP domain name resolution based on DNS 第 1.0 版 2018 年 8 月 29 日 一般社団法人情

Microsoft PowerPoint - BIND9新機能.ppt

学生実験

DNSのセキュリティとDNSに関する技術

DNSを「きちんと」設定しよう

学生実験 3 日目 DNS IP ネットワークアーキテクチャ 江崎研究室

DNSSEC技術実験報告書

スライド 1

DNS DNS 2002/12/19 Internet Week 2002/DNS DAY 2

DNS Summer Days 2014 チュートリアル DNS 再 入 門 株式会社ハートビーツ滝澤隆史

スライド 1

enog-ryuichi

PowerPoint プレゼンテーション

janog12enum _fujiwara.PDF

030717kuri.txt - メモ帳

Contents CIDR IPv6 Wildcard MX DNS

DNSハンズオンDNS運用のいろは

−uDNSƒzƒXƒeƒB?ƒOƒT?ƒrƒX−v??ƒU?ƒ}ƒj?ƒA?_

クラウドDNS へのネームサーバー切替手順

JAIPA-DNSSEC

MUA (Mail User Agent) MTA (Mail Transfer Agent) DNS (Domain Name System) DNS MUA MTA MTA MUA MB mailbox MB

Microsoft PowerPoint - IW2011-D1_simamura [互換モード]

BIND9.9から9.11へ移行のポイント(権威DNSサーバー編)

DNS Summer Days 2013 チュートリアル DNS 再 入 門 株式会社ハートビーツ滝澤隆史

DNS(BIND9) BIND9.x のエラーをまとめたものです エラーと原因 ジオシティーズ容量大幅アップ セキュリティならお任せ! マイクロソフト 少ない初期導入コストで クラウド環境を構築! Ads by Yahoo!JAPAN 主にゾーン転送に関するエラー

本書は 一般社団法人情報通信技術委員会が著作権を保有しています 内容の一部又は全部を一般社団法人情報通信技術委員会の許諾を得ることなく複製 転載 改変 転用 及びネットワーク上での送信 配布を行うことを禁止します TS-1021

065763J ping ping pw ping % ping -c 5 pw193.cs.ie.u-ryukyu.ac.jp PING pw193.cs.ie.u-ryukyu.ac.jp ( ): 56 data bytes 64 bytes from

dns-troubleshoot.pptx

Microsoft PowerPoint - private-dnssec

DNS (BIND, djbdns) JPNIC・JPCERT/CC Security Seminar 2005

Solaris フリーソフトウェア導入手順書 -BIND によるDNS サーバの構築-

DNS DNS(Domain Name System) named(bind), tinydns(djbdns), MicrosoftDNS(Windows), etc 3 2 (1) ( ) IP IP DNS 4

poisoning_ipsj

DNSとメール

DNSSEC性能確認手順書v1.2

PowerPoint Presentation

SOC Report

Root KSK更新に対応する方法

のコピー

自己紹介 IIJ というところで DNS の運用やってます お客様用参照サーバ お客様のゾーンを預かる権威サーバ DNSSEC まわりの開発 某 cctld のセカンダリ 最初の DNS のお仕事は BIND4 BIND8 の移行 前世紀末 でも本業はメール屋さん 3 月までは Web 屋さんでした

DNSチュートリアル(仮)

目次 1 BIND 9 (UNIX) を利用する 設定例の環境 インストール 設定例のファイル構成 named.conf の設定例 ルート DNS サーバの設定 ループバックアドレス用ゾーンの

Microsoft PowerPoint Windows-DNS.pptx

2/10 ページ 医 者 : すいませんが 少 々お 待 ち 下 さい 主 婦 : はぁ... 医 者 : カタカタカタカタ (AWS SDK Java をセットアップ 中 下 記 をご 参 照 下 さい ) サンプルコード 使 用 例 (インストール& DNS 編 ) 主 婦 : カルテを 書 き

untitled

DNSサーバー設定について

目次 1. サービス概要 提供機能... 2 DNS ゾーン... 2 正引き 逆引き... 2 レコードタイプ... 2 初期ゾーン... 3 コントロールパネル操作メニュー一覧 コントロールパネル ユーザ認証 ドメイン所有者確認

HDE Controller X 1-5. DNS サーバー

I j

DNSチュートリアル(仮)

<4D F736F F D20444E D C F834B >

DNSの負荷分散とキャッシュの有効性に関する予備的検討

kohi-p1.pptx

Microsoft Word - (修正)101.BLU-103のVoIP設定方法.docx

目次 1. サービス概要 提供機能... 2 DNS ゾーン... 2 正引き 逆引き... 2 権威ネームサーバへの反映... 2 レコードタイプ... 2 初期ゾーン... 3 GUI 操作メニュー一覧 エンドユーザ GUI ユーザ認証... 4

ご挨拶

提案書タイトルサブタイトルなし(32ポイント)

ict4.key

新しいDNSサーバ、 NSDの紹介

サーバーで安全な設定とは 正しい情報を正しく提供する 不確かな情報を提供したりしない ( 安全というより正しい設定 ) サービス経由で侵入されない 万が一侵入されても被害を最小限にする 2

テクニカルレポート 多国籍企業の中国における Web 配信の状況 株式会社クララオンライン / クララオンライン中国 2013 年 3 月 TOKYO NAGOYA BEIJING SHANGHAI SINGAPORE TAIPEI SEOUL Copyright CLARA O

第 5 部 特集 5 YETI - A Live Root-DNSTestbed 第 5 部 特集 5 YETI - A Live Root-DNSTestbed One World, One Internet, One Namespace - Paul Vixie(2014) 加藤朗 第 1 章は

30分で学ぶDNSの基礎の基礎~DNSをこれから勉強する人のために~

Microsoft PowerPoint - RFC4035.ppt

(1) 鍵の更改 に追従するために 1 のソフトウェア ( 一般に BIND 又は Windows Server を利用 ) を最新版に更新する ( 今回の対策だけでなく 脆弱性への対応のためにも 最新版への更新は必須 ) 2 において DNSSEC のトラストアンカーの自動更新 の設定を行う 3

DNSにおけるキャッシュ汚染攻撃

目次 1. はじめに 動作環境と操作上の注意事項 動作環境 操作上の注意事項 開始と終了 開始 終了 レコード情報編集 レコード情報編集の表示と基本操作

untitled

TFTP serverの実装

Microsoft PowerPoint - ie ppt

Microsoft PowerPoint JPRS-DNSSEC-Act-03.pptx

見抜く力を!データを見て対策を考える(権威サーバ)

ict2-.key

I B :

Cisco CSS HTTP キープアライブと ColdFusion サーバの連携

2.

Greatだねー

PowerPoint プレゼンテーション

Microsoft PowerPoint attacktool.pptx

DNSSECチュートリアル

Microsoft PowerPoint - lpi ppt [互換モード]

Microsoft Global Briefing Technical Briefing

DNSSECチュートリアル ~実践編~

アプリケーション インスペクションの特別なアクション(インスペクション ポリシー マップ)

tcp/ip.key

ENUM

CDNを最大限活用する為の ZenlogicCDN導入チェックリスト

Transcription:

SIer Developer から見た BIND からの移行 DNS Summer Day 2018 2018 年 6 月 27 日

発表者 名前 佐藤匠 ( さとうたくみ ) 所属 三菱電機インフォメーションシステムズ株式会社 (MDIS) 仕事内容 SIer 通信キャリア向けネットワークインフラシステム構築 (RADIUS DHCP DNS)

発表者 名前 矢島崇史 ( やじまたかし ) 所属 株式会社 XACK 仕事内容 通信キャリア向けのソフトウェア開発 (RADIUS DHCP DNS)

XACK DNS 100% 自社開発の DNS サーバー UNIX 系 OS で動作するソフトウェア アプライアンス 権威サーバー フルリゾルバー フォワーダー etc... モジュール化による機能の足し引きが可能

BIND を XACK DNS にしてみよう! お客様から DNS サーバ更新の提案機会をいただきました Master キャッシュ共用パターンもアリ! 1 自社ドメイン権威 DNS Slave Slave 2 セカンダリ用権威 DNS 3 フルリゾルバ 更新対象 ユーザ運営 Master - 現在はBINDだが 次回はOSS 以外がよい - 権威キャッシュ共用を現 IPで継続したい - 123パターンができるDNSソフトウェア そうだ! XACK DNSなら全部できる!

結果 BINDは懐が深くてやさしくて適当で 学ぶことが多くありました!

事例 1: ゾーン転送 よくあるシーケンス スレーブ マスター Notify 要求 Notify 応答 SOA 要求 SOA 応答 IXFR 要求 IXFR 応答

事例 1: ゾーン転送 ケース 1: 色々応答してくれない スレーブ マスター タイムアウト Notify 要求 Notify 応答 SOA 要求 SOA 応答 AXFR 要求 AXFR 応答 SOA だめ UDP だめ EDNS0 だめ スレーブに対しても Hidden Primary?

事例 1: ゾーン転送 ケース 2: RR 毎に DNS パケットを分割する ID 違いで スレーブ マスター DNS パケットの最大サイズは 64KB 64KB 超のゾーンはパケット分割して送信する IXFR 応答 (ID=aaaaa, ANCOUNT=1) ( 中略 ) IXFR 要求 IXFR 応答 (ID=bbbbb, ANCOUNT=1) IXFR 応答 (ID=ccccc, ANCOUNT=1) IXFR 応答 (ID=zzzzz, ANCOUNT=1) 何も全部分割しなくても

事例 1: ゾーン転送 ケース 3: AXFR 応答の最初と最後の SOA が違う スレーブ マスター 分割されたパケットの先頭 終端は SOA レコードで判別する 一度のゾーン転送に 2 つの SOA レコードがある AXFR 要求 AXFR 応答 SOA( シリアル =2018062701) SOA( シリアル =2018062702) シリアルは差分ゾーン転送時に重要な情報 値が異なると出来上がるゾーンが異なってしまうかも どっちのシリアル使えばいいんです?

事例 1: ゾーン転送 対処 : 色々失敗してもフォールバック 応答のチェックを許容的に スレーブ SOA 要求 (UDP/EDNS0 有り ) 不正な応答または無応答 SOA 要求 (UDP/EDNS0 無し ) 不正な応答または無応答 SOA 要求 (TCP/EDNS0 無し ) 不正な応答または無応答 IXFR 要求 (TCP/EDNS0 無し ) 不正な応答または無応答 AXFR 要求 (TCP/EDNS0 無し ) AXFR 応答 (TCP/EDNS0 無し ) マスター 結果として BIND よりもゾーン転送に対応できるようになりました (BIND は IXFR から AXFR にはフォールバックしないパターンあり )

事例 2: ゾーンファイル読み込み ケース 4: 委任先のグルーがない 委任先内部名のグルーがないと委任先の権威サーバーの IP アドレスが分からずその先の問い合わせができない 設定でそのようなゾーンファイルを許容できる機能を追加 ( 推奨しません ) $ORIGIN example.com. $TTL 300 @ IN SOA (SOA RDATA 略 ) NS ns1 ns1 A 192.0.2.1 sub NS no-glue ;no-glueのaレコードはなし

事例 2: ゾーンファイル読み込み ケース 5: TTL が 10 進数でない RFC1035 5.1 項では以下のように書かれています The RR begins with optional TTL and class fields, followed by a type and RDATA field appropriate to the type and class. Class and type use the standard mnemonics, TTL is a decimal integer. しかし色々なゾーンファイルを見てみると $TTL 1w3d12h59m1s $TTL 1m1m1m1m1m $TTL 39m421S899s981M1h4M9H187232131s TTL は 10 進数の整数である SOA の RDATA でこんなの見たことある! TTL でも許容するようにしました

事例 3: この応答の違い 分かりますか? ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21963 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;example.com. IN A ;; ANSWER SECTION: example.com. 12715 IN A 93.184.216.34 ;; Query time: 3 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Fri Jun 15 11:35:35 2018 ;; MSG SIZE rcvd: 45 ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21963 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;example.com. IN A ;; ANSWER SECTION: example.com. 12715 IN A 93.184.216.34 ;; Query time: 3 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Fri Jun 15 11:35:35 2018 ;; MSG SIZE rcvd: 56

事例 3: メッセージサイズが違う! ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21963 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21963 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;example.com. IN A ;; ANSWER SECTION: example.com. 12715 IN A 93.184.216.34 ;; Query time: 3 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Fri Jun 15 11:35:35 2018 ;; MSG SIZE rcvd: 45 ;; QUESTION SECTION: ;example.com. IN A ;; ANSWER SECTION: example.com. 12715 IN A 93.184.216.34 ;; Query time: 3 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Fri Jun 15 11:35:35 2018 ;; MSG SIZE rcvd: 56

事例 3: メッセージ圧縮 同一の名前が存在する場合 他方を参照するポインター を設定することで圧縮することが出来ます ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21963 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;example.com. IN A ;; ANSWER SECTION: example.com. 12715 IN A 93.184.216.34 ;; Query time: 3 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Fri Jun 15 11:35:35 2018 ;; MSG SIZE rcvd: 45

事例 3: メッセージ圧縮 ケース 6: 後方参照圧縮 $ORIGIN example.jp. $TTL 3600 @ IN SOA ns1.test.jp. a.test.jp. ( 3147483648 ; serial 3000 ; refresh 3000 ; retry 100 ; expire 3000 ; minimum ) PTR foo.bar. NS a.foo.bar. NS b.foo.bar. example.jp. の PTR レコードを問い合わせると

事例 3: メッセージ圧縮 ケース 6: 後方参照圧縮 drill の場合 ;; ->>HEADER<<- opcode: QUERY, rcode: NOERROR, id: 44216 ;; flags: qr aa ; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 0 ;; QUESTION SECTION: ;; example.jp. IN PTR ;; ANSWER SECTION: example.jp. 3600 IN PTR foo.bar. ;; AUTHORITY SECTION: example.jp. 3600 IN NS a.foo.bar. example.jp. 3600 IN NS b.foo.bar. ;; ADDITIONAL SECTION: ;; Query time: 0 msec ;; SERVER: 127.0.0.1 ;; WHEN: Wed Dec 20 17:17:16 2017 ;; MSG SIZE rcvd: 81

事例 3: メッセージ圧縮 ケース 6: 後方参照圧縮 dig の場合 ;; Got bad packet: bad compression pointer 81 bytes 2a d4 84 80 00 0c 00 01 00 02 00 00 07 65 78 61 *...exa 6d 70 6c 65 02 6a 70 00 00 01 00 01 c0 0c 00 0c mple.jp... 00 01 00 00 0e 10 00 04 01 62 c0 3a c0 0c 00 02...b.:... 00 01 00 00 0e 10 00 0b 01 61 03 66 6f 6f 03 62...a.foo.b 61 72 00 c0 0c 00 02 00 01 00 00 0e 10 00 02 c0 ar... 28 (

事例 3: メッセージ圧縮 ケース 6: 後方参照圧縮 ;; ->>HEADER<<- opcode: QUERY, rcode: NOERROR, id: 44216 ;; flags: qr aa ; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 0 ;; QUESTION SECTION: ;; example.jp. IN PTR ;; ANSWER SECTION: example.jp. 3600 IN PTR foo.bar. (2)PTRは後方にある1 番目のNSを参照 後方参照 ;; AUTHORITY SECTION: example.jp. 3600 IN NS a.foo.bar. example.jp. 3600 IN NS b.foo.bar. ;; ADDITIONAL SECTION: (1)2 番目の NS は前方にある PTR を参照 BIND は (2) の解釈に失敗しますが Unbound は対応しているようです

事例 4: 誰も守っていない RFC ケース 7: 応答の EDNS0 のサイズ RFC6891 6.1.2 項では以下のように記載されています The fixed part of an OPT RR is structured as follows: +------------+--------------+------------------------------+ Field Name Field Type Description +------------+--------------+------------------------------+ NAME domain name MUST be 0 (root domain) TYPE u_int16_t OPT (41) CLASS u_int16_t requestor's UDP payload size TTL u_int32_t extended RCODE and flags RDLEN u_int16_t length of all RDATA RDATA octet stream {attribute,value} pairs +------------+--------------+------------------------------+ OPT RR の CLASS フィールドには 要求者 つまるところクエリを送信した側の UDP ペ イロードサイズを設定するように定められているようです ( 昔は sender's UDP payload size でした )

事例 4: 誰も守っていない RFC ケース 7: 応答の EDNS0 のサイズ 尚 実際の所誰も守っていません 皆さん自身のサーバーの設定を返すようです $ dig +norec @198.41.0.4 +bufsize=1024 a.root-servers.net. A; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 5940 ;; flags: qr aa; QUERY: 1, ANSWER: 1, AUTHORITY: 13, ADDITIONAL: 26 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 1472

これらの事例を受けて RFC に書かれていること 書かれていないこと含めて様々な 想定外の動作 差分があることが判明 差分を洗い出したい! どうやって? 全通り試せばいい ( 白目 )

対象となる通信 マスター権威サーバー Notify 要求ゾーン転送応答 リゾルバー クエリー XACK DNS 反復問い合わせの応答 権威サーバー Notify 応答ゾーン転送要求 スレーブ権威サーバー

やったこと ヘッダーについては概ね全通り試せる 1 1 1 1 1 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ ID +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ QR Opcode AA TC RD RA Z RCODE +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ QDCOUNT +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ ANCOUNT +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ NSCOUNT +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ ARCOUNT +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ *COUNT は RR の数に依存するので 気にしなければならな いのは先頭 32 ビットだけ しかもうち 16 ビットは ID

やったこと 質問部の数については 0 個 1 個 2 個で試す (2 個以上の質問部をサ ポートしていないことを想定 ) 1 1 1 1 1 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ / QNAME / / / +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ QTYPE +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ QCLASS +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 要求の場合 QTYPE QCLASS は 32 ビットなので全通り試せる 応答の場合 QNAME QTYPE QCLASS は要求との一致不一致の 2 通 りに畳み込む

やったこと 資源レコード ( 回答部 権威部 追加部 ) はパターン分けする ポジティブ応答 ネガティブ応答 委任 etc これらから回答部 権威部 追加部のパターンを作成して組み合わせる ざっくり 10 億通りくらい 現実的!!

やりたいこと DNSパケットのビットレベルでの比較 思い付き + 提供いただけたものについては実施様々なゾーンファイルの読み込み 思い付き + 提供いただけたものについては実施資源レコード 個々のリソースレコードタイプ毎に深堀したい

おわりに 今回の経験を得てXACK DNSもよりやさしく 懐深くなりました 今後も安心 安定してご使用いただけるソフトウェア システムを目指して参ります ( 新設 更改のお声掛けお待ちしております!) ご注意 本書の内容の一部又は全部を三菱電機インフォメーションシステムズ株式会社および株式会社 XACK に断りなく いかなる形でも転載又は複製することは 固くお断りします 本文記載の社名 製品名 ロゴは各社の商標または登録商標です