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

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

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

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

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

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

DNSサーバー設定について

学生実験


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

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

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

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

PowerPoint プレゼンテーション

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

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

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

Microsoft PowerPoint Windows-DNS.pptx

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

BIND 9 BIND 9 IPv6 BIND 9 view lwres

DNSSEC の仕組みと現状 平成 22 年 11 月 DNSSEC ジャパン

Microsoft PowerPoint - private-dnssec

jus.ppt

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

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

untitled

058 LGWAN-No155.indd

Microsoft PowerPoint - DNSSECとは.ppt

キャッシュポイズニング攻撃対策

音声認識サーバのインストールと設定

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

2.

DNS誕生日攻撃再び

rndc BIND

ドメイン ネーム システムの概要

Contents CIDR IPv6 Wildcard MX DNS

conf_example_260V2_inet_snat.pdf

030717kuri.txt - メモ帳

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

SOC Report

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

Zone Poisoning

DNS浸透の都市伝説を斬る~ランチのおともにDNS~

rndc BIND DNS 設定 仕組み

TCP/IP Internet Week 2002 [2002/12/17] Japan Registry Service Co., Ltd. No.3 Internet Week 2002 [2002/12/17] Japan Registry Service Co., Ltd. No.4 2

情報通信の基礎

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

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

ブロードバンドルータにおける問題(オープンリゾルバ)の解説、対策の説明

DNSOPS.JP BoF nginxを利 した DNS over TLS 対応フルリゾルバの作り ( 株 ) ハートビーツ滝澤隆史

1 TCP/IPがインストールされていて正常に動作している場合は ループバックアドレィング5.3 ネットワークのトラブルシューティング スでリプライが返ってきます リプライが返ってこない場合 なんらかの原因でサービスが無効になっていたり TCP/IPプロトコルが壊れていたりする可能性があります 2

LPI-Japan セミナー資料 Sugimatsu Hidetoshi 10 Sep LPIC レベル 2 技術解説無料セミナー 今回のセミナーでは 次の 4 つの項目をテーマにして解説します 1. 出題範囲の把握 2. 受験対策 3. DNS サーバを構成する 4. NFS サーバを

TeamViewer マニュアル – Wake-on-LAN

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

2014/07/18 1

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

UNIVERGE SG3000 から SG3600 Ver.6.2(2012 年モデル ) への 移行手順 All Rights Reserved, Copyright(C) NEC Corporation 2017 年 11 月 4 版

DNSSECの基礎概要

untitled

JPRS JANOG13 1. JP DNS Update 2. ENUM (ETJP) 3. JP ( ) 3 1. JP DNS Update

untitled

TeamViewer 9マニュアル – Wake-on-LAN

PC にソフトをインストールすることによって OpenVPN でセキュア SAMBA へ接続することができます 注意 OpenVPN 接続は仮想 IP を使用します ローカル環境にて IP 設定が被らない事をご確認下さい 万が一仮想 IP とローカル環境 IP が被るとローカル環境内接続が行えなくな

PowerPoint Presentation

SAMBA Stunnel(Windows) 編 1. インストール 1 セキュア SAMBA の URL にアクセスし ログインを行います xxx 部分は会社様によって異なります xxxxx 2 Windows 版ダウンロード ボ

Microsoft PowerPoint - BIND9新機能.ppt

Microsoft PowerPoint 版_Root_JPの状況.ppt

HP Device Manager 4.7新機能紹介資料

R80.10_FireWall_Config_Guide_Rev1

Microsoft Word JA_revH.doc

Microsoft Word - 08平成23年度広報_内藤.docx

2014 年電子情報通信学会総合大会ネットワークシステム B DNS ラウンドロビンと OpenFlow スイッチを用いた省電力法 Electric Power Reduc8on by DNS round- robin with OpenFlow switches 池田賢斗, 後藤滋樹

任意の間隔での FTP 画像送信イベントの設定方法 はじめに 本ドキュメントでは AXIS ネットワークカメラ / ビデオエンコーダにおいて任意の間隔で画像を FTP サー バーへ送信するイベントの設定手順を説明します 設定手順手順 1:AXIS ネットワークカメラ / ビデオエンコーダの設定ページ

untitled

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

スライド 1

2

セキュアなDNS運用のために

アライドテレシス ディストリビューション・スイッチ AT-x600シリーズで実現するMicrosoft® NAP

MPサーバ設置構成例

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

スケジュールによるメール送信イベントの設定方法 ( ファームウエア v6.5x 以降 ) はじめに 本ドキュメントでは Axis ネットワークカメラのファームウエア v6.5x 以降で 指定された曜日と時間帯に 画像を添付したメールを送信するための設定方法を説明します 設定手順 手順 1:Axis

DNSSEC機能確認手順書v1.2

2 1 事前準備する バージョンアップ操作を行う前に 次の準備を行います (1-1) ひかり電話対応 VoIP アダプタ (AD-200NE) にログインするための パスワード を用意します ひかり電話対応 VoIP アダプタ (AD-200NE) に初めてログインする場合 パスワード設定を行う必要

InfoPrint 5577/5579 ネットワーク設定ガイド(第5章 UNIX/Linux環境で使用する)

InfoPrint 5577/5579 ネットワーク設定ガイド(第4章 UNIX/Linux環境で使用する)

スライド 1

(Microsoft PowerPoint - TASKalfa256ci\274\330\260\275\336_FAX\216\363\220ME\322\260\331\223]\221\227\220\335\222\350Ver1.1.ppt)

Cisco Unified Communications Manager サーバ アドレスとユーザ名の自動的な入力

1.indd

LGWAN-1.indd

(Microsoft PowerPoint - TASKalfa5550ci\274\330\260\275\336_E\322\260\331\221\227\220M\220\335\222\350Ver1.2.ppt)

VG シリーズ用ローカルファームアップ / 自動ファームウェア更新設定手順書 VG400aⅡ ローカルファームアップ / 自動ファームウェア更新設定手順書

DJM-900nexus アップデート方法 for Microsoft Windows 7 A. 展開したファイルの内容を確認してください : 1. ダウンロードしたファイルを展開します ダウンロードしたファイルを右クリックし 表示されたメニューから すべて展開 を選びます 展開先を指定してファイル

PowerPoint Presentation

MIRACLE LoadBalancerを使用したネットワーク構成と注意点

人類の誕生と進化

8. Windows の補足情報 コマンドの使用についての説明です Windows からのファイル直接印刷 Windows でコマンドを使用したファイル直接印刷の方法についての説明です この機能はネットワーク接続をしているときに使用できます この方法で印刷できるファイルは 本機が搭載しているエミュレ

Microsoft認定資格問題集DEMO(70-642)

MIND-Wireless-Win7_1x

マニュアル訂正連絡票

Transcription:

DNS サーバーの安全な設定 民田雅人 minmin@jprs.co.jp 株式会社日本レジストリサービス DNS DAY Internet Week 2003

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

DNS の復習 DNS(Domain Name System) は サーバーとクライアントから成り立つ ネームサーバー 専用のサービスプログラム named(bind), tinydns(djbdns), MicrosoftDNS(Windows), etc リゾルバ ライブラリ サービスプログラム 3

2 種類のネームサーバー (1) クライアントの問い合わせ ( 再帰的問い合わせ ) に答える www.example.jp の IP アドレスを検索する要求 IP アドレスが 10.20.30.40 のホスト名を検索する要求 回答を持っていない場合 DNS の検索を行う 結果をキャッシュして同一の問い合わせに備える トラフィックと負荷の削減 キャッシュサーバー と呼ぶ フルリゾルバ とも呼ぶ 4

キャッシュサーバー PCなどのクライアントに設定する マニュアルで設定する /etc/resolv.confでnameserver 行に設定 ダイアルアップのネームサーバーの設定 自動で設定する DHCP サーバーでクライアントに配布 PPP でクライアントに配布 5

www.example.jp の IP アドレスの検索 Japan Registry Service NS PC. jp example.jp PCからNSへwww.example.jpのIPアドレスの問い合わせ NSが. ( ルート ) のnsにIPアドレスを問い合わせ. のnsがjpのnsを返答 NSがjpのnsへIPアドレスを問い合わせ jpのnsがexample.jpのnsを返答 NSがexample.jpのnsへIPアドレスを問い合わせ example.jpのnsがwww.example.jpのip アドレスを返答 NSがPCへIPアドレスを返答 ネームサーバー (nsと略す) 問い合わせ返答 6

2 種類のネームサーバー (2) 管理しているドメインについての問い合わせ ( 非再帰的問い合わせ ) に答える www.example.jpのipアドレスは? 10.20.30.40のホスト名は? 主にキャッシュサーバーからの問い合わせ 問い合わせが管理外のドメインの場合 回答しない エラーを返す or 何も返さない コンテンツサーバー と呼ぶ 7

コンテンツサーバー 上位ドメインに登録し管理を委任するネームーサーバー % dig @a.dns.jp 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 xx.xxx.xxx.xx ns1.example.jp. 1D IN A yy.yyy.yyy.yy 8

www.example.jp の IP アドレスの検索 Japan Registry Service NS PC. jp example.jp PCからNSへwww.example.jpのIPアドレスの問い合わせ NSが. ( ルート ) のnsにIPアドレスを問い合わせ. のnsがjpのnsを返答 NSがjpのnsへIPアドレスを問い合わせ jpのnsがexample.jpのnsを返答 NSがexample.jpのnsへIPアドレスを問い合わせ example.jpのnsがwww.example.jpのip アドレスを返答 NSがPCへIPアドレスを返答 ネームサーバー (nsと略す) 問い合わせ返答 9

コンテンツサーバーなのに ある組織のネームーサーバーである ns.example.jpへ その組織と関係ない www.example.comのipアドレスを問い合せると回答がある dig @ns.example.jp www.example.com a コンテンツ キャッシュサーバーを兼用し 適切なアクセス制限ができていない 10

第三者による キャッシュサーバーの不正利用 Japan Registry Service 不正にドメインの検索を大量に行える 負荷の増大 キャッシュメモリの増大 BIND9 ならキャッシュメモリに制限をかけられるのでまだまし プログラムの穴を突く可能性もありうる キャッシュ汚染の可能性もある いずれも DoS 攻撃につながる コンテンツサーバーに影響があると致命的になる 普通に使われて通常のドメインを検索するならおそらくほとんど問題は発生しない 11

アクセス制限を考慮した BIND の設定例 再帰的検索は管理対象ネットワークのみに制限 管理するゾーンへの問い合わせは何処からでも options {... recursion yes ; fetch-glue no ; 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" { type master ; file "example.jp.zone" ; allow-query { any; }; }; 自組織のネットワークが 10.0.0.0/8 の例 12

コンテンツサーバーと Japan Registry Service キャッシュサーバーは別に運用する キャッシュ汚染からコンテンツサーバーを守る よりセキュアな設定に 一方のトラブルで他方が巻き込まれるのを防ぐ BIND はコンテンツ キャッシュの明示的な区別が無い named で両方を兼用 Windows の DNS サーバーも BIND と同様 BIND, WindowsDNS は設定で分離可能 djbdns ではもともと別のプログラムとして実装 tinydns( コンテンツ ) と dnscache( キャッシュ ) で兼用不可 13

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" ; } ; 14

BIND でのキャッシュサーバー Japan Registry Service ゾーンとしては左の 2 つのみ 自組織関連ゾーンのセカンダリーを設定してもよい recursion yes; hint 情報が必要 allow-query でアクセス制限して第三者に不正に利用させない 127.0.0.1 (localhost) の情報も加える ::1 もお忘れなく 1 台のサーバーでも BIND を複数起動することは可能 付録参照 options {... recursion yes; fetch-glue no; 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"; }; 15

Windows の DNS サービスの場合 DNS のプロパティの 詳細 タブ 再帰を無効にする チェックするとコンテンツ専用サーバーになる DNS サーバーの設定だけではアクセスコントロールはできない ルータによるフィルターまたは Windows 用 BIND に変更 16

ゾーン転送可能なホストを制限する セカンダリー以外には転送できないように ゾーン転送は DNS 的に重い処理なのでサービス不能攻撃の原因になりかねない BIND の場合 options や zone に allow-transfer でセカンダリーサーバーの IP アドレスを記述 zone example.jp { };... allow-transfer { x.x.x.x ; y.y.y.y ; };... 17

Windows の DNS サービスでのゾーン転送制限 該当ゾーンのプロパティで設定する デフォルトでは NS レコードに指定したホストのみ転送を許可する Japan Registry Service 18

BIND のバージョン 2003 年 11 月 28 日現在の BIND BIND 9 系 Version 9.2.3 2003 年 10 月 23 日リリース BIND 8. 系 Version 8.4.3 2003 年 11 月 26 日リリース 過去のバージョンでは侵入される危険がある いうまでもないことですが 19

万が一 named 経由で侵入されたときへの備え root とは別の named 専用ユーザーを用意しその権限で稼動するようにする named u <user> /var/run/named.pid などのオーナーに注意 named を chroot 環境で稼動させて アクセスできるファイルを制限する named t <chroot ディレクトリ > BIND9 での設定例 http://www.unixwiz.net/techtips/bind9-chroot.html djbdns は chroot 環境下で動作する Japan Registry Service 20

セカンダリーネームサーバー 用意するなら違うネットワークに配置する 負荷分散目的なら同一ネットワークもありうる セカンダリーの運用状況は本当に大丈夫か? 第三者 ( 接続先プロバイダ等 ) に任せるなら十分信頼できるところへ プライマリがセキュアでも セカンダリが セカンダリサーバーの情報が正常かどうかを 定期的に確認する ある日気づくと ということの無いように 21

ルータでの acl や IDS ネームサーバーへの acl 設定するのはかまわないけど 動作が妨げられない程度に DNS は条件によっては TCP も利用する IDS 正常なパケットを侵入と検出したりしない 誤検出によって しなくてもいい問い合わせ 生半可な設定は世間へ迷惑 設定した本人も余計なコストがる Japan Registry Service 22

DNS パケットの横取り対策 Japan Registry Service ネームサーバーと同一 LANセグメントでパケットを覗けば 横取りはたやすい ネットワーク的にも近いため 正しい回答より先に嘘を返せる確立が高まる スイッチングハブにすればパケットは覗けない と安心するのは大きな誤り ARP PoisoningとかARP Spoofingと呼ばれる手法 Googleで検索 ARP Poisoning 7,610 件 ARP Spoofing 57,800 件 23

ARP Poisoning (1/2) Japan Registry Service スイッチングハブにhostA( キャッシュサーバー ) hostb( 管理の甘いサーバ ) gw( ルータ ) が接続 IP アドレス MAC アドレス gw 10.10.10.1 0:1:1:1:1:1 hosta 10.10.10.2 0:2:2:2:2:2 hostb 10.10.10.3 0:3:3:3:3:3 アタッカーはhostBに侵入し楽々 root 権限を入手 hostbから偽のarp 応答を送る hosta へ 10.10.10.1 のMACaddrは 0:3:3:3:3:3 gw へ 10.10.10.2 のMACaddrは 0:3:3:3:3:3 hostaとgwのarpテーブルが書き換わる すべての通信はhostBを経由するようになる 24

ARP Poisoning (2/2) Japan Registry Service hostb では入ってくるパケットを覗き そのまま本来の IP アドレスへ転送する Layer2 的には hostb 宛なので ネットワークインターフェースをプロミスキャスにする必要も無い ARP Poisoning されても通常の通信は問題なく行えるため気づきにくい OS によっては ARP テーブルが変化すると syslog に残る 25

ARP Poisoning 対策 同一セグメントに繋がっているホストをすべて正しく管理 セキュリティホールを残さないこと パスワード管理も正しく行う ARP テーブルをスタティックに登録する 手間はかかるが 管理したマシンしか接続できなくなるため セキュリティ的には強固になる 26

まとめ 古き良き時代は過去の話 メールサーバーのオープンリレーと同様 十分なアクセス制限 十分なセキュリティ対策 今一度 自分の管理してるネームサーバーとファイアウォール周りの点検をしてみましょう 27

付録

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 Japan Registry Service 29

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 だけなのでアクセス制限は不要 Japan Registry Service 30

1 台でキャッシュサーバーとコンテンツサーバーを運用 (3/3) dump-file, memstatistics-file, statistics-file にも注意 Japan Registry Service 2 つの named プロセスで上書きの可能性があるため一方を名前を変更する 例 (BIND8 の場合 ) dump-file "cache_dump.db" ; memstatistics-file "cache.memstats" ; statistics-file "cache.stats" ; 31

キャッシュサーバーに 加えるべき逆引きゾーンの設定 Private Address Space - RFC 1918 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 IPv4 Link-Local Address Japan Registry Service Dynamic Configuration of IPv4 Link-Local Addresses draft-ietf-zeroconf-ipv4-linklocal-07.txt 169.254.0.0/16 特に ISP のネームサーバー担当の方は是非! 32

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