DNSOPS.jp BoF * 開会にあたって (JPIX 石田さん) オフレコにして欲しいときは言ってください。 * アジェンダ ・DNSSEC導入事例紹介 ・Simplified DNS Query under IPv4/IPv6 Mixed Environment ・World IPv6 Day(AAAA Filter) ・LT - 「重複をお許しください」ができるまで - Number of DNSSEC Validators seen at .JP - DNSSEC World Map * DNSSEC導入とトラブル事例 (SANNET 其田さん) - ご注意 社名は口走っても記録しないように - まとめ キャッシュサーバへのDNSSECが起因でトラブルが報告 された事例は無し(.ukなどのTLDのトラブルはあるが) 権威サーバの対応は慎重に。ずばりqmailトラブル maillogでqmailの数を調べておいた方が良い qmailつかってるひとはpatchあてて! - 昨年度のSANNETのDNSSECへの取り組み 2010/07/16 root zone署名 2010/07/20 本番キャッシュサーバ署名検証開始 ついでにfilter-aaaa-on-ipv6有効化 2010/07-12 権威サーバ用署名システム開発・テスト 2010/12 ホスティングサービス署名開始 2011/01/16 JPDNS署名 2011/01/17 ホスティングサービスユーザ向け署名サービス開始 2011/02/07 sannet.ne.jp署名 2011/03 IPv6対応, minimum response on - キャッシュサーバ構成 LBが上にあり、下に何台かCNSがいる普通の構成 - 権威サーバ構成 導入前 レコードデータサーバ → 設定/ゾーンファイル配布サーバ -(rsync)→ 権威サーバ - 署名 鍵管理システム OpenDNSSECを使いたかった HSM買うお金ない SoftHSMが重くて使えない(Sparc T1で1threadあたりの性能は...) DBの冗長性がx なので自分で作った - 概要図 OpenDNSSECを模倣 署名をする:signer, ゾーンと鍵の状態遷移を管理するデーモン:zone-manager ゾーンと鍵の状態遷移を監査するデーモン:auditor signer, zone-managerを自分で作ったので信用できないので auditorでチェックする。 DBに鍵の状態を入れておいて、その状態になっているかをauditor で毎日4回checkしている。 - トラブル事例 * トランスファー時のトラブル DNSホスティングを利用している顧客がドメインをトランスファーアウト したらそのドメインのWebページが見れない。 フローでは消すようになっているが、ミスった → DSレコードを削除しないでトランスファーアウトしちゃったから 対処法: DSを消して検証を無効にする ユーザに移管先の会社に連絡してDSレコードを削除してもらうように依頼 → 移管先がDSのas駆除に対応していることが必要 Q: mailでDNS変更依頼を出すときにDSが(?)書いてなかったらDSってどうなる? A: 書いてなかったら消えるようにしてる トランスファーのときはそのままレコードを転送するので消えない。 > 空白にしたら消えてないような… > あとは個別で...(笑) * メール受信トラブル qmailが512byteを超える応答を扱えない 送受信先のメールサーバ管理者にパッチを当ててもらうように依頼 SANNETのDNSSECのページにqmail関係の注意文を追加 JPRSからのアナウンスで非常に説明しやすくなった、助かった qmail問題はDNSSECに限らない問題。パッチ当てて! - Q&A Q: IIJ山本 デフォルト署名っていうのは社内で議論にならなかった? A: お客様の安全安心が第一だ、という論調だった。 qmailの問題だけが想定外だった Q: IIJ山本 .jp直下のドメインじゃなくて、サブドメインだけ預かって るというパターンはあるか?.jp直下ならDSの登録をJPRSに依頼すれば いいけど、サブドメインだとDSを上位ゾーンに依頼してください、と お客さんに言わないといけない。とりあえずIIJのサービスでは.jp直下 だけにしたけど、どうしてる? A: 「このDSレコード登録してね」と表示するかメールするかするかとも考 えたが、場合分け・考えることが多すぎて止めた Q: SO-NET山田 リソース食うよとか、データがデカくなるよと言う話があ ったかとおもうが、実運用して気がついた点があれば教えてください。 A: CNSのCPU使用量は上がってない、メモリ使用量もたいして上がってない。 DNSSECに対応しているところが少ないからだと思う。 * Simplified DNS Query under IPv4/IPv6 Mixed Environment IPv4/IPv6混在通信環境における適切なDNS名前解決方式(NEC/電通大 北村さん) 表題の件で現在IETF DNSEX WGでI-dを議論中 内容紹介および議論とコメントをお願いしたい 現状1つのノードについてv4/v6両方のアドレスが設定 = A/AAAAと、種類 の異なる複数アドレスが設定されている。これっていいの?もっとシンプ ルなトラブルの少ない方法があるんじゃないの?という想い。 IPv6導入促進的な意味でユーザにとってA/AAAAはどうでもよくて、FQDNが 重要で唯一のもの。DNSのクエリの所で失敗したらv6ダメじゃん。というこ とになってしまう。 v4 onlyの世界でも、あるFQDNに対してAが複数というのはありうる。でも、 これは1回qtype Aの問い合わせをして1つのパケットで応答が返ってくる。 1pairである。 v4/v6 dualではA/AAAA独立した問い合わせ・応答(2pair)になる。 これは以下のような理由のため、2pairになっている。 ・v6黎明期にv4に影響を与えないようにするため ・AAAAに対応していない権威サーバのため ・AAAAを優先させるため A/AAAA別に名前解決する場合、4種類の仕方がある ・4-6 serial(Windows7/FreeBSD) ・6-4 serial(WindowsXP) ・4-6 parallel ・6-4 parallel 2pairの名前解決の問題点とは「複雑である」こと 1pair片方だけ落ちたらどうするの?再送とか頭痛い simpleさを損なう serialでやると2倍時間がかかる。ペナルティを受けている DNSサーバのAAAA対応が進んだ。非対応のANSはほとんど無い クライアント側もAAAAにほとんど対応している 提案:1pairでA/AAAAを取得できるようにしよう! 1. two existing records combined型 2. one new special record型 3. one existing record w/ mapper transformation型 1. query setcionのtypeにA/AAAA 2つ書けるようにする 構造的には出来る。でも、そんな例はない クライアント側に手を入れるのが大変 1queryには1つしか入れないという暗黙的なルール(?)を破ることになる 2. 新しいquery typeを作る AAAAA?(ペンタA?) やっぱりクライアントに手を入れる必要がある 3. AAAAを聞いたらIPv4のmapped addressも返してあげる 独創的 全てののアドレスはIPv6アドレスで、AAAAレコードだけで事足りると考える クライアントに手を入れなくてもよい いささかトリッキーだが、基本的には問題ない まとめ 長期・理想的な視点だとクライアント側の実装を変更する1, 2 実用的な普及を重視するなら3.が有力 ご意見 Q: これって権威サーバでやる必要ある? A: キャッシュサーバでやってもいい。権威サーバでも良い 2.はIPv6の次を考えないといけないから無いなぁ 1.はまぁ動くんじゃないかな? mappedアドレスってもうobsoじゃないの?まだ生きてる。rfc3484で。 mappedアドレスでびっくりするクライアントが無いか? > 何個かためしたが平気っぽい(?) > ホームゲートウェイあたりであるかも… mapped addresはLinux系では有効、BSD系では実装されているけど設定で無効 になっている。 DNSSECとかANYで聞かれたときのことも考えないとダメだね 会場でアンケートとってみたら? 取るなら現状維持もお願いします。 アンケート結果: 今のままがいい: いっぱい(短期的にはという声有り) 1: ちらほら 2: ほとんどいない 3: ちらほら(1と3同じくらいか3が若干多いか?) * AAAA filter(World IPv6 day) (IIJ 松崎さん) - めでたいこと APNIC IPv4通常在庫枯渇 そろそろ心配してください /127がRFC(standar track)に ベンダーのみなさん実装をお願いします 結婚しました!! おめでとうー! - (サーバー側)IPv6対応で生じる接続障害 主にv6->v4 fallbackがうまく動作しない IE7だとよくわからないけど5%くらい失敗するらしい IPv6のInternetの疎通があれば問題ない - ごまかす方法 キャッシュサーバーでAAAAを応答しない IPv6対応接続用のキャッシュサーバーには削らないものを、IPv4しかなくて IPv6閉域網に接続してる接続用のキャッシュサーバーには削るものを用意する - BINDでの設定方法 ./configure --enable-aaaa-filter named.confのoptionsに"filter-aaaa-on-v4 yes"追加 二回踏み抜いてください - BINDでfilterをONにしたときの挙動 A/AAAA → AAAAを応答しない AAAAのみ → AAAAを応答する AAAAのみのホストを聞いていると言うことは、ユーザがなんらかv6の reachabilityがあるのではという推測から filterをonにするとちょこっと権威サーバへのqueryが増える キャッシュに乗ってない初回だけちょっと応答が遅くなる - 対応の利点 コンテンツ事業者が安心してIPv6対応出来る IPv6閉域網に接続したユーザでfallbackが無くなる(遅延がなくなる) - 対応の懸念点 IPv6閉域網に接続したユーザがインターネット側のAAAAを検索できなくなる IPv6トンネルとか使っててISPのキャッシュサーバーを見ていた場合 ISPが運用するDNSサーバが増える - ご意見、Q&A Q:ISPは設定したらいつまでやる? A:状況が改善するまで。根本的にはIPv6の接続を提供すればいい Q: filterしたときのパフォーマンス劣化って計測した? A: 応答パケットを作るときにちょっと細工するだけだから、そんなに 劣化しないはず。でもACLの行数は気にした方が良いと思うよ breakdnssecにしないと署名している場合は削らないよ IPv4アドレスベースでfilterするしないのACLを書けるので、1種類でも 出し分けが出来る そのうち対策推奨の文章がでるかと。 * LT/「重複をお許しください」ができるまで (JPRS 森下さん) - アジェンダ - 生い立ちと状況 - なぜいつも同じ書き出しなのか? - 主な分類 - ケーススタディ - 出来るまでの流れ - ( - 生い立ち 技術コミュニティ系MLにマルチポストの形式で出す「お知らせ」の書き出し 初出10/06/09 [janog:09571]/[DNSOPS dnsops 929] 11/04/19までに24通。2週間に1通。DNSSEC関連アナウンス15通, BIND脆弱性5通 たいして多くない! - なぜいつも同じ書き出し? MewでEと打つと過去メールの再利用。自然と同じ書き出しに IW-2010の会場で「「重複をお許しください」をMLで見ると緊張が走る」 「仕事が増えるフラグ」と言われた… 私が増やしているわけではないはずです! - 主な分類 DNSに関連する… セキュリティホールや不具合などの注意喚起 インターネット全体に影響がある情報のアナウンス 技術文章公開のお知らせ 今日は1番目を解説 - ケーススタディ BIND9の脆弱性 ISCからの"Advance Security Notification(ASN)"が重要な情報源 JPRSがbind forumに入っていてpremimサービスを受けている 大体1週間前にお知らせが来る 2009/07のBINDコロリではASNでの公開から間を置かず公開された ASNが届いたら… 1) ASNをざっと分析 危険度/対象/既にExploitがあるか など 2) 出すかどうかを判断 severity:highだと青くなる 3) ASNを再度詳しく分析 何が悪いのか:実装?プロトコル?設計?構造? できちゃうことはなにか? 何をすればいいか: workaroundとsolution 4) 文章の素案を作成 タイトルを決める 「(緊急)」の有無、推奨度(「〜を(強く)推奨」(など 構成を決める 基本的にはテンプレ 5) 文章の中身を作成 作成とレビュー テクニカルレビュー(正しい事を書いているか) 広報的レビュー(わかりやすい文章か) 6) 動作の確認(追試) 書いてあることが実際に起こるかどうか。重要な事項では特に注意して実施 7) アナウンス - ISCのWebで公開されているか。CVE/CERTも確認 - JPRS Webの更新 - MLへ送信 8) アフターフォロー 情報の広まり具合 重要な2メディア: twitter, セキュリティホールmemo セキュリティホールmemoに載ると急速に広まる 検索エンジンの状況(掲載状況、順位の変化) blog、各種メディアなど 問い合わせ対応 - 気をつけていること 「概要」を読むだけで対象、何の不具合か、何が出来てしまうか、情報源、 危険性、どうする必要があるか、をわかるようにする 「対策」は簡潔に記述する。かつWorkaroundとsolutionを明確に区別 「詳細」はこの場に来ているような人向け。興味を持った人のために記述 「詳細」を読まなくても必要な対応が出来るように 「例外条件」はここに記述 - ケーススタディ: qmailの512byte問題 開発元の公式発表などではないので情報源の項目がない=JPRSが発表した ことになる なので「背景」に根拠と事実を書いた - まとめ 必要に応じて、出来るだけ迅速に出す予定です 文章作成技術や広報技術に関する様々なノウハウを蓄積・共有していけれ ばいいなと思います 繰り返しますがさんが仕事を増やしているわけではないです 淡々と必要な対応をお願いします - 番外: qmailの件について5+1の「まずいところ」 - 送り側が何年も設定を変えていないのにおかしくなる → 送れないのは自分の性だという認識が薄い - 受け側がDNSSECを入れたところだけがおかしくなる → 相手が設定を間違えたに違いないと思われる - SMTPセッションが張られる前にこける → 受け側でエラーが起こっていることがわからない - エラーメッセージからは真の原因がわかりにくい。しかも4xx(tempfail) "CNAME lookup failed temporarily. (#4.4.3)" - デフォルトでは1週間後に初めてエラーメールが戻る → 受け側でのDNSSEC導入後、しばらくは発覚しない - +1: qmailの"q"は大文字じゃねぇ!というご指摘 * LT/Number of DNSSEC Validators seen at .JP (JPRS 藤原さん) - DNSSECの普及率を数えろとのお達し - どうやって数えるか .jpのDNSKEYのTTLは1日 → DNSSEC対応のキャッシュサーバはJPのDNSKEYを1日に1回取りに来るはず → a.dns.jpで数えて7倍すりゃ良いじゃん - JPRSのデータ 年2回のpacket capture 7年分のquery log - captureした1日でvalidator 2400-2700くらいでした - 緩やかに増えていってる。震災直後はちょっと減りました。 * LT/各ccTLDのDNSSECのステータス地図を作ってみました。 (ブロードバンドタワー 大本さん) - きっかけ DNSSECジャパンの技術検証WGで海外動向を調べていこう .toドメイン持ちだったので - 作り方 最初はtwitterやwebサイトの情報収集で手作業 自動収集にしたい - 自動収集 メールで定期的にdigして結果をおくるshell scriptを作った KSKの存在確認していたが、.nuがZSKのみの運用だったので変更した - 地図あそび 初めはkmzファイルをgoogle earthでas区政 kmlファイルの作成が大変 Google earthで国境をなぞってポリゴン作って、色つけて… これでもccTLDのDNSSEC対応のスピードが緩やかだったので事足りていた rootが署名された7月以降、2010/9から急に速度が上がった とても間に合わない そうこうしていたら公開していた地図・資料が10末頃から消えた > 師匠に相談したら「自分で作ったら?」 - 作ろう Helio WorldでWeb向け地図を生成できるらしい phpで理解しやすいコードとconfig できた。けど、ヨーロッパは国が小さくてわかりずらい モンテネグロがなぜか色が出ない。というか国がない マレーシアとシンガポールが逆 プエルトリコは島自体がない > 国境定義用のphpコードを弄って変更 完成した直後に.net/.asiaがDNSKEY公開したのでgTLDの更新状況も対応 させるようにした 履歴を残すようにした 最終的には現在の1枚ページになりました http://www.ohmo.to/dnssec/maps/ - 傾向 小さい島国のDNSSEC対応速度が速い - 今後 IDNどうするかなぁ DNSSECテストしているというアナウンスを自動的に拾う仕組みがない .gi .li .scとか小さい国はhelioは元々地図表記を準備していない > とりあえず.liは書いてみた 白地図だとどこの国が対応したかわかんない > ヨーロッパは国コードを埋め込むようにした