民田雅人 WIDE Project DNS DAY - Internet Week 2002

Slides:



Advertisements
Similar presentations
1 ENUM における 個人情報保護システム 2004 年度卒業論文 横澤 一 岐 発表者:梶 沙夜香.
Advertisements

Samba日本語版の設定と運用のノウハウ 応用編
EpDNSサーバ 北海道大学 理学院 宇宙理学専攻 M1 古田裕規.
Layer8輪講 詳解TCP/IP DNS – ドメインネームシステム ~第1部~ DNSの基礎
2005年度 情報システム構成論 第9回 分散ファイルシステム
情報基礎A 情報科学研究科 徳山 豪.
揮発性情報 2003/05/25 伊原 秀明(Port139).
はじめての DNS 村上健、古家健次(宇宙物理)、井谷優花(地球および惑星大気科学).
DNS再入門 2002年12月19日 発表 2003年1月16日 最終更新 Internet Week 2002/DNS DAY
ファイルキャッシュを考慮したディスク監視のオフロード
第一回 プロキシサーバーを駆使したセキュリティシステムの構築
最新ファイルの提供を保証する代理FTPサーバの開発
セキュリティ機構のオフロードを考慮した仮想マシンへの動的メモリ割当
佐藤 緩奈(地球および惑星大気科学研究室 B4)
赤松紀美 宇宙物理学研究室 B4 高橋由実子 地球および惑星大気科学研究室 B4
クラスタ分析手法を用いた新しい 侵入検知システムの構築
国際化ドメイン名 (Internationalized Domain Name)
join NASS ~つながりあうネットワーク監視システム~
DNSサーバDNSサーバ 第9回 DNSサーバ 水野嘉明
Dynamic DNS 情報工学専攻 谷口研究室 山本 淳.
2002年12月19日 DNS Day DNSQC-TF 石田慶樹
早稲田大学大学院 理工学研究科情報科学専攻 後藤滋樹研究室 1年 渡辺裕太
キャンパスクラウドによる 実験環境の構築 情報ネットワーク特論 講義資料.
ネットワークコミュニケーション よく使われるアプリケーション DNS 7/5/07.
Networkゼミ 特別講義 ~仕組みがわかればネットワークはもっと楽しくなる~ [TCP/IPアプリケーション編]
日本国内のドメイン名はJPRSが管理 (株)日本レジストリサービス (2002年4月1日より)
2004年度 情報システム構成論 第8回 分散ファイルシステム
WindowsNTによるLAN構築 ポリテクセンター秋田 情報・通信系.
輪講: 詳解TCP/IP ACE B3 suzuk.
DNS 特論 今回はアプリケーションプロトコルの中で特にDNSを扱います
Japan Registry Service (JPRS) Izuru Shirai
情報コミュニケーション入門 総合実習(1) 基礎知識のポイント(2)
サスペンドした仮想マシンの オフラインアップデート
第2章 第1節 情報通信の仕組み 1 ネットワークの仕組み 2 通信プロトコル 3 認証と情報の保護
サーバ負荷分散におけるOpenFlowを用いた省電力法
情報検索概説II(99秋) 第3回 1999/10/21 インターネットの仕組み(2).
コンピュータとネットワークの利用 国際経営学科 牧野ゼミ3年 足立龍哉.
Linux リテラシ 2006 第4回 ネットワーク CIS RAT.
FreeBSDインストール 2002年4月10日.
大阪大学 大学院情報科学研究科 博士前期課程2年 宮原研究室 土居 聡
第17章 ドメインネームシステム.
DNS に関する質問 授業の後に寄せられた質問に答えます
7. セキュリティネットワーク (ファイアウォール)
分散IDSの実行環境の分離 による安全性の向上
早稲田大学大学院 理工学研究科情報科学専攻 後藤研究室 修士1年 荒井 祐一
2009年度卒業論文発表 CDNコンテンツサーバの動的負荷分散
DNS 特論 今回はアプリケーションプロトコルの中で特にDNSを扱います
DNS 特論 今回はアプリケーションプロトコルの中で特にDNSを扱います
Cisco Umbrella のご紹介 2018 年 1 月.
複数ホストに分割されたメモリを用いる仮想マシンの監視機構
RD セッション ホストにおける RDC クライアントの シングル サインオン (SSO) について
Internet広域分散協調サーチロボット の研究開発
第16章 BOOTP:ブートストラップ・プロトコル
Cisco Configuration Professional Express 3.3 アップデート
IP over DVB-RCSの設計と実装
DNSクエリーパターンを用いたOSの推定
サーバ・クライアントシステム ( X Window System) 2006/01/20 伊藤 和也 original: 前坂たけし
Intel SGXを用いた仮想マシンの 安全な監視機構
DNS に関する質問 授業の後に寄せられた質問に答えます
ICMPを用いた侵入検知システムの負荷軽減
仮想環境を用いた 侵入検知システムの安全な構成法
gate登録システム: 設計ポリシーから使い方まで
トラフィックプロファイラAGURIの設計と実装
卒業研究 JCSPを用いたプログラム開発  池部理奈.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
CO-Client Opeartion 1.1 利用履歴データベースの設計 (スキーマ バージョン 対応)
DNS 特論 今回はアプリケーションプロトコルの中で特にDNSを扱います
Uni Directional Link Routing 片方向通信路に於ける経路制御
情報ネットワーク 岡村耕二.
Presentation transcript:

民田雅人 WIDE Project DNS DAY - Internet Week 2002

はじめに ネームサーバーのおさらい ネームサーバーの設定 セカンダリーネームサーバーを 運用する上で注意点 主に、BINDで運用する場合の注意点 セカンダリーネームサーバーを 運用する上で注意点 DNS DAY - IW2002 DNSを「きちんと」設定しよう

ネームサーバーのおさらい

DNSの復習 DNS(Domain Name System)は、 サーバーとクライアントから成り立つ ネームサーバー リゾルバ 専用のサービスプログラム named(BIND), tinydns(djbdns), MicrosoftDNS(Windows), etc… リゾルバ ライブラリ サービスプログラム DNS DAY - IW2002 DNSを「きちんと」設定しよう

2種類のネームサーバー(1) 管理しているドメインへの問い合わせに答える 上位ドメインに登録するネームーサーバー www.example.jpのIPアドレスは10.100.200.1 10.20.30.40のホスト名はftp.example.jp 上位ドメインに登録するネームーサーバー % dig example.jp ns ;; ANSWER SECTION: example.jp. 1D IN NS ns0.example.jp. example.jp. 1D IN NS ns1.example.jp. ;; ADDITIONAL SECTION: ns0.example.jp. 1D IN A 10.10.10.10 ns1.example.jp. 1D IN A 192.168.10.10 以下「ドメインサーバー」と呼ぶ DNS DAY - IW2002 DNSを「きちんと」設定しよう

2種類のネームサーバー(2) クライアントの要求により検索を行う /etc/resolv.confでnameserverに設定 www.example.jpのIPアドレスはいくつ? IPアドレスが10.20.30.40のホスト名は? /etc/resolv.confでnameserverに設定 DHCPサーバーでクライアントに配布 結果をキャッシュしてトラフィックを削減 以下「キャッシュサーバー」と呼ぶ DNS DAY - IW2002 DNSを「きちんと」設定しよう

ドメイン・キャッシュ それぞれのサーバーの区別 ドメイン・キャッシュ それぞれのサーバーの区別 BINDは明示的な区別が無い namedで両方を兼用 WindowsのDNSサーバーもBINDと同様 BINDを元にWindows用に変更? djbdnsは別のプログラムとして実装 tinydns – ドメインサーバー dnscache – キャッシュサーバー 兼用はできない DNS DAY - IW2002 DNSを「きちんと」設定しよう

ドメイン・キャッシュ 兼用ネームサーバー BINDで極めて多い設定(Windowsも?) キャッシュ情報管理の問題 便利だから? ドメイン・キャッシュ 兼用ネームサーバー BINDで極めて多い設定(Windowsも?) 便利だから? そういう設定例ばかりだから? resolv.conf の設定がわかりやすくなるから? キャッシュ情報管理の問題 検索結果のキャッシュによるメモリ肥大 キャッシュした情報がゾーンに混ざる可能性 ドメインサーバーに影響が出る可能性 DNS DAY - IW2002 DNSを「きちんと」設定しよう

第三者の キャッシュサーバーの不正利用 普通に使われて必要なドメインを検索するなら ほとんど問題は発生しないが… 普通に使われて必要なドメインを検索するなら ほとんど問題は発生しないが… 不正にドメインの検索を大量に行われる 負荷の増大 キャッシュの増大 BIND9ならキャッシュメモリに制限をかけられるけど… プログラムの穴を突く可能性もありうる いずれもDOS攻撃につながる 兼用の場合、ドメインサーバーへ影響 DNS DAY - IW2002 DNSを「きちんと」設定しよう

Cache Poisoning キャッシュサーバーへの不正情報の注入 古くから知られている問題 example.gr.jp側でexample.jpへのいやがらせ www.example.gr.jp NS ns.example.jp ns.example.jp A 1.2.3.4 dig @<nameserver> www.example.gr.jp ;; AUTHORITY SECTION: www.example.gr.jp. 1D IN NS ns.example.jp. ;; ADDITIONAL SECTION: ns.example.jp. 1D IN A 1.2.3.4 結果を鵜呑みにするキャッシュサーバー 古くから知られている問題 過去のBINDでは確実に問題が発生する DNS DAY - IW2002 DNSを「きちんと」設定しよう

BINDを設定する

ドメインサーバーと キャッシュサーバーは分離する 広く指摘されている運用TIPS 「DNS and BIND」にも記述がある キャッシュサーバーにトラブルがあっても ドメインサーバーを守る あるいはその逆もある djbdnsではもともと分離する設計 セキュアなアプローチ DNS DAY - IW2002 DNSを「きちんと」設定しよう

BINDでのドメインサーバー named.confで 自ドメインのみを記述 recursion no; fetch-glue no; BIND9では常にno hint情報不要(zone “.”) セカンダリは、zoneの記述が変わるだけ options { ... recursion no; fetch-glue no; } ; zone "example.jp" { type master ; file "example.jp.zone" ; DNS DAY - IW2002 DNSを「きちんと」設定しよう

BINDでのキャッシュサーバー recursion yes; hint情報が必要 allow-queryでアクセス制限して第三者に不正に利用させない 127.0.0.1 (localhost)の情報も加える。 ::1もお忘れなく。 options { ... recursion yes; allow-query { 10.0.0.0/8 ; }; }; zone "." { type hint; file "named.root"; zone "0.0.127.IN-ADDR.ARPA" { type master; file "localhost.rev"; DNS DAY - IW2002 DNSを「きちんと」設定しよう

1台でキャッシュサーバーと ドメインサーバーを運用(1/3) namedプロセスを2つ起動する 但しBIND9はv6 を有効にすると1プロセスのみ listen-on-v6 {any;}; のみ機能 → 将来修正される(?) ドメインサーバー用/etc/named.conf options { ... recursion no; fetch-glue no; listen-on { 10.10.10.1 ; } ; } ; listen-onでサーバーのIPアドレスのみ /etc/resolv.confでは“nameserver 127.0.0.1” DNS DAY - IW2002 DNSを「きちんと」設定しよう

1台でキャッシュサーバーと ドメインサーバーを運用(2/3) キャッシュサーバー用/etc/cache.conf named –c /etc/cache.conf で起動 options { ... pid-file "/var/run/cache-named.pid" ; listen-on { 127.0.0.1 ; } ; }; controls { unix "/var/run/cache-ndc" perm 0600 owner 0 group 0; } ; 127.0.0.1だけなのでアクセス制限は不要 DNS DAY - IW2002 DNSを「きちんと」設定しよう

1台でキャッシュサーバーと ドメインサーバーを運用(3/3) dump-file, memstatistics-file, statistics-fileにも注意 2つのnamedプロセスで上書きの可能性があるため一方を名前を変更する 例 (BIND8の場合) dump-file "cache_dump.db" ; memstatistics-file "cache.memstats" ; statistics-file "cache.stats" ; DNS DAY - IW2002 DNSを「きちんと」設定しよう

設定の確認 dig @10.10.10.1 example.jp ns dig @10.10.10.1 <適当なドメイン名> ;;flags に注目 ;; flags: qr aa rd; なら正常 ;; flags: qr aa rd ra; なら recursion yes ; のまま dig @10.10.10.1 <適当なドメイン名> 管理ドメイン以外は検索できないのを確認 dig @127.0.0.1 <適当なドメイン名> 正常に検索できるか 可能なら、自ネットワーク外から動作チェック DNS DAY - IW2002 DNSを「きちんと」設定しよう

やむを得ず 1プロセスのnamedで兼用 再帰的検索は管理対象ネットワークのみに制限 管理するゾーンへの問い合わせは何処からでも options { ... allow-query { localhost ; 10.0.0.0/8 ; } ; }; zone "." { type hint; file "named.root" ; }; zone "0.0.127.IN-ADDR.ARPA" { type master ; file "localhost.rev" ; zone "example.jp" { file "example.jp.zone" ; allow-query { any; }; DNS DAY - IW2002 DNSを「きちんと」設定しよう

キャッシュサーバーに 加えるべき逆引きゾーンの設定 Private Address Space - RFC 1918 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 IPv4 Link-Local Address Dynamic Configuration of IPv4 Link-Local Addresses draft-ietf-zeroconf-ipv4-linklocal-07.txt 169.254.0.0/16 特にISPのネームサーバー担当の方は是非! DNS DAY - IW2002 DNSを「きちんと」設定しよう

キャッシュサーバーに加えるべき 逆引きゾーンの設定例 named.conf zone "10.in-addr.arpa" { type master; file "dummy.zone"; }; zone "16.172.in-addr.arpa" { ....... zone "31.172.in-addr.arpa" { zone "168.192.in-addr.arpa" { zone "254.169.in-addr.arpa" { dummy.zone SOAとNSを記述 他は不要 $TTL 1D @ IN SOA ns.example.jp. root.example.jp. ( 1 1H 15M 1W 1D ) IN NS ns.example.jp. DNS DAY - IW2002 DNSを「きちんと」設定しよう

BINDをよりセキュアに(1/2) ゾーン転送可能なホストを制限する named –u bind ...... セカンダリー以外は転送できないように optionsやzoneにallow-transfer zone “xxx.zone” { ... allow-transfer { x.x.x.x ; y.y.y.y ; }; }; BIND8まではゾーン転送はforkで実装されている named –u bind ...... bind というnamed専用ユーザーを用意し その権限で起動する 万が一、named経由で侵入されたときへの備え DNS DAY - IW2002 DNSを「きちんと」設定しよう

BINDをよりセキュアに(2/2) chroot環境でnamedを動かす named –t <chrootディレクトリ> 設定は少々手間がかかる Rob‘s DNS Data Page http://www.cymru.com/DNS/ の Secure BIND Template に設定例 djbdnsはchroot環境下で動作する DNS DAY - IW2002 DNSを「きちんと」設定しよう

ルータでのacl や IDS ネームサーバーへのacl IDS 生半可な設定は世間へ迷惑 設定するのはかまわないけど… 動作が妨げられない程度に IDS 正常なパケット侵入と検出したりしない 語検出によって、しなくてもいい問い合わせ 生半可な設定は世間へ迷惑 設定した本人も余計なコストがる DNS DAY - IW2002 DNSを「きちんと」設定しよう

ゾーンファイル 一般的な注意 NS RRに記述してあるドメインは、 上位に登録しているドメインと一致しているか SOAの各フィールドの値は適正か NSの値の指すものがCNAMEになっていたりしないか MXの値の指すものがCNAMEになっていたりしないか MXの値がIPアドレスになっていたりしないか 不必要にCNAMEを多用してないか? NS RRに記述してあるドメインは、 上位に登録しているドメインと一致しているか 不一致でも動作することも多いが、 不具合になることもある 自ドメイン外の情報を記述していたりしないか DNS DAY - IW2002 DNSを「きちんと」設定しよう

セカンダリーネームサーバー

セカンダリーの誤解 セカンダリーネームサーバーは プライマリーネームサーバーが 停止したときのための予備である プライマリネームサーバーが動いてる間はセカンダリーネームサーバーは働かない 大きな誤り! DNS DAY - IW2002 DNSを「きちんと」設定しよう

セカンダリーは予備では無い! 稼動中はマスターネームサーバーと同じ プライマリとの違いはゾーンデータを プライマリからコピーすること 常時マスターネームーサーバーと 同じデータを保持する 常時クライアントからの問い合わせがある プライマリとの違いはゾーンデータを プライマリからコピーすること ゾーン転送 DNS DAY - IW2002 DNSを「きちんと」設定しよう

よくあるモデル 専用線接続のエンドユーザー インターネット ISPによるセカンダリネームサーバー ns.example.jp www.example.jp ユーザーサイト プライマリネームサーバー WWWサーバー ns.provider.dom DNS DAY - IW2002 DNSを「きちんと」設定しよう

専用線にトラブル発生! 専用線(or その接続ルータ)トラブル www.example.jpへのアクセス不能 ns.example.jpへのアクセス不能 ns.provider.domがあるので www.example.jpのIPアドレスは検索可能 しかしながら、その意義は? DNS DAY - IW2002 DNSを「きちんと」設定しよう

セカンダリーの効果的配置 「セカンダリーネームサーバーは絶対必要」 というのはウソである 用意するなら違うネットワークに配置する もちろんプライマリーを一時停止する場合には役立つ 用意するなら違うネットワークに配置する 純粋に負荷分散目的なら同一ネットワークもありうる 第三者(接続先プロバイダ等)に任せるなら 十分信頼できるところへ プライマリがセキュアでも、セカンダリが… セカンダリサーバーの情報が 正常かどうかを、必ず確認する DNS DAY - IW2002 DNSを「きちんと」設定しよう

まとめ 「なんとなく動いてる」ではいけません 古き良き時代は終わりました 過去の遺物に頼っていてはいけない アクセス制限しなくても問題は発生しない キャッシとドメインサーバー兼用している メールサーバーのオープンリレーと同じ話 過去の遺物に頼っていてはいけない 今一度、自分の管理してる ネームサーバーの点検を  DNS DAY - IW2002 DNSを「きちんと」設定しよう