DNS キャッシュポイズニング 対 策 ~DNSの 役 割 と 関 連 ツールの 使 い 方 ~ 1. DNSキャッシュポイズニング 2. DNSの 動 作 と 関 連 ツール 3. 検 査 ツールの 使 い 方 と 注 意 点 4. 再 帰 動 作 の 設 定 2009 年 8 月 独 立 行 政 法 人 情 報 処 理 推 進 機 構 セキュリティセンター 0
1. DNSキャッシュポイズニング 1.1 DNSの 仕 組 み 1.2 DNSキャッシュポイズニング DNS(Domain Name System)とは DNSは ホスト 名 ( 例 :www.ipa.go.jp)とipアドレス( 例 :202.229.63.242)とを 紐 付 ける 情 報 を 提 供 します Webサー バへのアクセスやメール 送 受 信 など インターネット 上 の 多 くのアプリケーションはDNSを 前 提 としていることから DNSはインターネットの 基 盤 サービスとも 言 われています DNSキャッシュポイズニングとは DNSキャッシュポイズニングは DNSサービスを 提 供 している(DNS)に 偽 の 情 報 を 覚 えこませる 攻 撃 手 法 です 攻 撃 が 成 功 すると DNSは 覚 えた 偽 の 情 報 を 提 供 してしまうことになります このため ユーザは 正 しいホスト 名 ( 例 :www.ipa.go.jp)のwebに 接 続 しているつもりでも 提 供 された 偽 の 情 報 により 攻 撃 者 が 罠 をはったWebに 誘 導 されてしまうことになります このような 危 険 性 から 身 を 守 るためにも DNSとDNSキャッシュポイズニングの 特 性 を 理 解 し 安 全 なDNSに よる 基 盤 サービスを 実 現 しましょう 1
1.1 DNSの 仕 組 み DNSの 役 割 DNSは ホスト 名 ( 例 :www.ipa.go.jp)をipアドレス ( 例 :202.229.63.242)に 変 換 したり ドメイン( 例 :ipa.go.jp)で 利 用 するメール( 例 :ipa-ns.ipa.go.jp)を 教 えたりするなどの 役 割 を 担 っています クライアント www.ipa.go.jpの IPアドレスを 教 えてください DNS www.ipa.go.jpのipアドレスは 202.229.63.242です DNS 設 定 クライアントでは 手 動 あるいは 自 動 (DHCPなど)で 自 分 が 利 用 するDNSを 設 定 します クライアントでは 手 動 あるいは 自 動 (DHCPなど)で 設 定 されたDNSに 問 合 せを 行 い ホスト 名 をIPアドレ スに 変 換 したり ドメインで 利 用 するメールなどの 情 報 を 得 たりしています このような 操 作 のことをDNSサー バによる 名 前 解 決 と 呼 びます ここで ホストとはやクライアントなどコンピュータを 総 称 で ホスト 名 はサー バやクライアントなどコンピュータに 付 けられた 名 前 のことです 2
1.1 DNSの 仕 組 み DNSサービスを 実 現 する 機 能 DNSには コンテンツ と キャッシュ の2 種 類 があり, これらが 連 携 してDNSサービスを 実 現 しています コンテンツ ドメインの( 原 本 ) 情 報 を 管 理 するDNSです キャッシュ クライアントに 代 わってコンテンツに 問 合 せを 行 うDNS です 問 合 せた 結 果 (3)を 複 製 (4)として 一 時 的 に 記 憶 (キャッ シュ)することから キャッシュと 呼 ばれています また クライ アントに 代 わって 問 合 せ(2)を 行 うことを 再 帰 動 作 と 呼 びます 1 再 帰 的 な 問 合 せ 2 問 合 せ クライアント 5 回 答 ( 代 理 ) 4キャッシュ 複 製 DNS キャッシュ 3 回 答 原 本 DNS コンテンツ DNSサービスは インターネット 上 で 稼 動 するホストの 名 前 とIPアドレスを 管 理 して 名 前 解 決 を 行 う 必 要 があります 効 率 的 な 名 前 解 決 が 必 要 であることから 原 本 情 報 を 管 理 するコンテンツと キャッシュと 呼 ぶ 一 時 的 な 複 製 を 管 理 するキャッシュという2 種 類 のが 連 携 しています 用 語 定 義 第 3 版 から RFC1035(DNSの 仕 様 を 記 載 した 文 書 )にあわせ 次 のように 用 語 を 使 用 しています 再 帰 的 な 問 合 せ DNSに 再 帰 動 作 を 期 待 する クライアントからの 問 合 せのことを 示 します 再 帰 動 作 DNSが クライアントに 代 わって 問 合 せを 代 行 する 動 作 を 示 します Stub Resolver 上 図 のクライアントに 相 当 します Recursive Server 再 帰 動 作 を 行 なうDNSのことであり 上 図 のキャッシュに 相 当 します Foreign Name Server 上 図 のコンテンツに 相 当 します Local Hosts Foreign +---------+ responses Stub <--------------------+ Resolver ----------------+ +---------+ recursive queries 再 帰 的 な 問 合 せ V +---------+ recursive +----------+ 問 合 せ +--------+ queries queries Stub --------------> Recursive --------- -> Foreign Resolver Server Name <-------------- <-------- -- Server +---------+ responses ( 再 帰 動 作 ) responses +----------+ 回 答 +--------+ 回 答 ( 代 理 ) Central cache +----------+ http://www.ietf.org/rfc/rfc1035.txt 3
1.2 DNSキャッシュポイズニング DNSキャッシュポイズニングの 実 現 手 法 偽 の 再 帰 的 な 問 合 せ(1)に 対 して 本 物 のコンテンツの 回 答 (5) よりも 先 に 偽 の 回 答 (3)を 送 り 込 むことで キャッシュに 偽 の 情 報 (4)を 覚 えこませる(キャッシュさせる) 攻 撃 です 1 偽 の 再 帰 的 な 問 合 せ クライアントの 役 割 を 果 たす 攻 撃 者 3 偽 の 回 答 ( 本 物 の 回 答 よりも 先 に 送 り 込 む) 2 問 合 せ DNSの 役 割 を 果 たす 攻 撃 者 偽 の 原 本 クライアント 4キャッシュ 偽 の 複 製 DNS キャッシュ 5 回 答 原 本 DNS コンテンツ キャッシュポイズニングの 実 現 手 法 を 簡 潔 に 説 明 すると 本 物 の 回 答 よりも 先 に 偽 の 回 答 をキャッシュに 送 り 込 むことで 偽 の 情 報 を 記 憶 させることです このため DNSキャッシュポイズニング 対 策 では 偽 の 回 答 を 送 り 込 みにくい 環 境 を 整 備 し キャッシュが 偽 の 情 報 を 覚 えないという 状 況 を 作 ることが 重 要 となります 4
1.2 DNSキャッシュポイズニング DNSキャッシュポイズニングによる 脅 威 (その1) 攻 撃 者 が 罠 をはったWebへの 誘 導 キャッシュは クライアントの 再 帰 的 な 問 合 せ(1)に 対 する 回 答 (キャッシュされた 偽 の 複 製 2)を 持 っている 場 合 には その 複 製 を 回 答 (3)します 結 果 として クライアントは 提 供 された 偽 の 情 報 により 攻 撃 者 が 罠 をはったWeb(4)に 誘 導 されてしまうことになります 偽 の 複 製 に 登 録 された 攻 撃 者 Web 4 偽 Webにアクセス 原 本 に 登 録 された 正 規 Web 1 再 帰 的 な 問 合 せ クライアント 3 回 答 ( 代 理 ) 2キャッシュ 偽 の 複 製 DNS キャッシュ 原 本 DNS コンテンツ DNSキャッシュポイズニングによるひとつめの 脅 威 は 偽 の 情 報 を 記 憶 したキャッシュを 利 用 してしまった 場 合 その 偽 の 情 報 に 誘 導 され 攻 撃 者 が 罠 をはったWebにアクセスしてしまうことです 学 校 や 企 業 の 場 合 には 学 校 や 企 業 で 運 用 管 理 しているDNSに 対 してキャッシュポイズニング 対 策 をして おかないと イントラネットからインターネット 上 のWebを 利 用 している 多 くの 学 生 や 社 員 が 偽 の 情 報 に 誘 導 され 攻 撃 者 が 罠 をはったWebにアクセスする 可 能 性 を 高 めてしまいます 脅 威 の 説 明 については 次 の 資 料 を 参 考 にしてください DNSキャッシュポイズニングの 脆 弱 性 に 関 する 注 意 喚 起 http://www.ipa.go.jp/security/vuln/documents/2008/200809_dns.html DNSの 脆 弱 性 に 関 する 再 度 の 注 意 喚 起 http://www.ipa.go.jp/security/vuln/documents/2008/200812_dns.html 5
1.2 DNSキャッシュポイズニング DNSキャッシュポイズニングによる 脅 威 (その2) DoS 攻 撃 ための 増 幅 装 置 データサイズの 大 きな 偽 の 複 製 (2)を 覚 えこませた(キャッシュさせた) 後 キャッシュに 対 して 発 信 元 を 詐 称 した 再 帰 的 な 問 合 せ(1)を 行 います 結 果 として データサイズの 大 きな 偽 の 複 製 (3)を 攻 撃 対 象 サー バに 送 信 してしまうことになります 理 論 的 に49 倍 程 度 のトラフィック 増 幅 が 可 能 であると 報 告 されています 理 論 的 には 49 倍 程 度 の 増 幅 可 攻 撃 対 象 1 再 帰 的 な 問 合 せ( 発 信 元 詐 称 ) 3 回 答 ( 代 理 ) 攻 撃 者 2キャッシュ 偽 の 複 製 DNS キャッシュ 原 本 DNS コンテンツ DNSキャッシュポイズニングによるふたつめの 脅 威 は DoS(Denial of Service) 攻 撃 のための 増 幅 装 置 として 利 用 されてしまう 可 能 性 があることです ふたつめの 脅 威 を 悪 用 した 活 動 は 1999 年 にオーストラリアのCSIRT(Computer Security Incident Response Team)から 報 告 されています また 2006 年 には JPCERT/CC @policeから DNSの 再 帰 的 な 問 合 せを 使 った DDoS 攻 撃 について 報 告 されています DNSの 再 帰 的 な 問 合 せを 使 ったDDoS 攻 撃 については 次 の 資 料 を 参 考 にしてください DNSの 再 帰 的 な 問 い 合 わせを 悪 用 したDDoS 攻 撃 手 法 の 検 証 について http://www.cyberpolice.go.jp/server/rd_env/pdf/20060711_dns-ddos.pdf AL-1999.004 -- Denial of Service (DoS) attacks using the Domain Name System (DNS) http://www.auscert.org.au/render.html?it=80 6
2. DNSの 動 作 と 関 連 ツール 2.1 DNSの 動 作 概 説 2.2 whoisサービス 2.3 nslookupコマンド 2.4 まとめ 2. DNSの 動 作 と 関 連 ツール では DNSの 問 合 せ 動 作 と その 関 連 ツールであるwhoisサービスとnslookupの 使 い 方 を 説 明 します 7
2.1 DNSの 動 作 概 説 インターネット 直 接 接 続 PCの 場 合 (ブラウザでプロキシ 設 定 なし) example.com ドメイン インターネット Web コンテンツ 1URL 入 力 http://www.example.com/ 5HTTPアクセス 4 回 答 208.77.188.166 3 問 合 せ クライアント PC DNS 設 定 キャッシュ 2 再 帰 的 な 問 合 せ www.example.com 通 常 Webへアクセスする 際 にDNSがどのように 使 用 されているかを 説 明 します インターネットに 直 接 接 続 されているPCの 場 合 1ブラウザへURL(http://www.example.com/)を 入 力 すると 2クライアントPCは OSで 設 定 されているDNS 設 定 (キャッシュ)に 対 して www.example.com の 名 前 解 決 を 要 求 ( 再 帰 的 な 問 合 せ)します 3キャッシュは example.com ドメインを 管 理 しているコンテンツに 問 合 せを 行 い 4コンテンツからの 回 答 (208.77.188.166)をキャッシュ 経 由 でクライアントPCに 転 送 します 5クライアントPCのブラウザは 回 答 (208.77.188.166)で 示 されたWebにHTTPアクセスを 行 います 8
2.1 DNSの 動 作 概 説 イントラネット 接 続 PCの 場 合 (ブラウザでプロキシ 設 定 あり) example.com ドメイン インターネット Web コンテンツ ファイア ウォール 1URL 入 力 http://www.example.com/ 6HTTPアクセス プロキシ DNS 設 定 5 回 答 キャッシュ 4 問 合 せ クライアント PC 2HTTPアクセス DNS 設 定 3 再 帰 的 な 問 合 せ ブラウザでプロキシ 設 定 ありの 場 合 クライアントPCはDNSに 再 帰 的 な 問 合 せをしません イントラネットに 接 続 されているPCの 場 合 一 般 的 にはブラウザの 設 定 で プロキシが 指 定 されています ブラウザでプロキシ 設 定 のあるPCの 場 合 1ブラウザへURL(http://www.example.com/)を 入 力 すると 2クライアントPCのブラウザはプロキシにHTTPアクセスを 行 います 3プロキシは 設 定 されているDNS 設 定 (キャッシュ)に 対 して www.example.comの 名 前 解 決 を 要 求 ( 再 帰 的 な 問 合 せ)します 4キャッシュは example.com ドメインを 管 理 しているコンテンツへ 問 合 せを 行 い 5コンテンツからの 回 答 (208.77.188.166)をキャッシュ 経 由 でプロキシに 転 送 します 6プロキシは 回 答 (208.77.188.166)で 示 されたWebにHTTPアクセスを 行 います ブラウザにプロキシの 設 定 がある 場 合 は クライアントPCはDNS 設 定 を 参 照 せず プロキシがDNS 設 定 を 参 照 して 名 前 解 決 を 行 います ここが 前 述 のインターネット 直 接 接 続 PCの 場 合 と 異 なる 点 です 9
2.2 whoisサービス whoisサービスとは IPアドレスやドメイン 名 の 登 録 者 などに 関 する 情 報 を インターネットユーザ が 誰 でも 参 照 できるサービスです このサービスを 使 用 することで ドメイン の( 原 本 ) 情 報 管 理 を 行 うDNS(コンテンツ)を 確 認 できます whoisサービスは トップレベルドメイン 別 にサービスサイトが 存 在 します トッ プレベルドメインとは.jp.com.net などを 示 します JPRS whois (.jp の 場 合 ) http://whois.jprs.jp/ InterNIC WHOIS(.com.net などの 場 合 ) http://www.internic.net/whois.html その 他 以 下 の whois サービスサイトがあります APNIC WHOIS AfriNIC WHOIS ARIN WHOIS RIPE NCC WHOIS LACNIC WHOIS IPアドレスやドメイン 名 の 登 録 者 などドメイン 関 連 する 情 報 を 参 照 できるwhoisサービスについて 紹 介 します whois サービスに 掲 載 されている 情 報 は ドメイン 登 録 時 / 更 新 時 に 申 請 した 情 報 です トップレベルドメインは 分 野 別 トップレベルドメインである gtld(generic Top Level Domain)と 国 コードトップレベ ルドメインである cctld(country code Top Level Domain)に 分 けられます internic WHOIS のサービスサイトで gtld である.com や.net の 情 報 が 検 索 でき JPRSのwhoisサービスサイトで jp の 情 報 は 検 索 できます.jp は cctldに 属 します JPRS 以 外 に cctldのサービスサイトはそれぞれの 地 域 に 存 在 します アジア 太 平 洋 地 域 :APNIC WHOIS アフリカ 地 域 :AfriNIC WHOIS 北 米 地 域 :ARIN WHOIS 欧 州 アフリカ 地 域 :RIPE NCC WHOIS 南 米 カリブ 海 地 域 :LACNIC WHOIS トップレベルドメインの 詳 細 については 次 の 資 料 を 参 照 してください ドメイン 名 の 種 類 http://www.nic.ad.jp/ja/dom/types.html 10
2.2 ドメイン( 原 本 ) 情 報 管 理 の 確 認 方 法.jp ドメインの whois サービスサイト 1whoisサービスにアクセス http://whois.jprs.jp/ 2ドメイン 名 を 入 力 ipa.go.jp 3 結 果 ipa.go.jpドメインの ( 原 本 ) 情 報 管 理 をしている DNS(コンテンツ) JPドメイン 用 のwhoisサービスの 使 い 方 です Webベースのツールですので ブラウザから http://whois.jprs.jp/ にアクセスして 対 象 のドメイン 名 を 入 力 後 検 索 ボタンをクリックしてください 11
2.2 ドメイン( 原 本 ) 情 報 管 理 の 確 認 方 法.com の whois サービスサイト 1whoisサービスにアクセス http://www.internic.net/whois.html 2ドメイン 名 を 入 力 example.com 3 結 果 example.comドメインの ( 原 本 ) 情 報 管 理 をしている DNS(コンテンツ).comドメイン 用 のwhoisサービスの 使 い 方 です Webベースのツールですので ブラウザから http://www.internic.net/whois.html にアクセスして 対 象 のドメイン 名 を 入 力 後 Submit ボタンをクリック してください 12
2.3 nslookup コマンド nslookupは DNSに 登 録 されている 情 報 を 参 照 するコマンドです 参 照 可 能 な 情 報 の 例 ホスト 名 からIPアドレス IPアドレスからホスト 名 ドメイン( 原 本 )を 管 理 しているDNS ドメインのメール ホスト 名 からIP IPアドレスの 検 索 クライアントPC PCにおける における DNS 設 定 の 確 認 クライアントPCで 設 定 している DNSの 名 前 とアドレス クライアントPCにおける DNS 設 定 の 確 認 と DNSに 登 録 されている 情 報 を 参 照 するコマンドである nslookupについて 紹 介 します Windowsの 場 合 コマンドプロンプトを 開 いた 後 ipconfig を 入 力 すると 左 側 の クライアントPCにおける DNS 設 定 の 確 認 で 示 す 通 り 現 在 設 定 されている DNS を 確 認 できます DHCPでネットワーク 設 定 が 自 動 設 定 されている 場 合 も 確 認 できます nslookupは コマンドに 引 き 続 いて ホスト 名 を 入 力 することでIPアドレスを 参 照 できます 右 側 の ホスト 名 からIP アドレスの 検 索 は nslookupを 用 いて www.example.com. のIPアドレスを 参 照 した 例 です 13
2.3 nslookupコマンド nslookupコマンドの 表 示 結 果 の 例 を 環 境 別 に 説 明 します 使 用 コマンド 書 式 nslookup [ 検 索 するホスト 名 ] [ 使 用 するDNS] [ 使 用 するDNS]を 指 定 しない 場 合 には クライアントPCにおける DNS 設 定 が 使 用 されます 接 続 環 境 インターネット 直 接 接 続 PC イントラネット 接 続 PC 使 用 するDNS DNS アクセス 制 限 なし アクセス 制 限 あり 組 織 内 キャッシュ 組 織 外 キャッシュ パターン 1 2 3 4 nslookupは コマンドに 引 き 続 いて 検 索 するホスト 名 使 用 するDNS を 入 力 することで 使 用 するDNSサー バ に 対 して 検 索 するホスト 名 の 名 前 解 決 を 依 頼 できます 例 : DNS(ipa-ns.ipa.go.jp)に www.example.comを 問 合 せる 場 合 nslookup www.example.com. ipa-ns.ipa.go.jp また [ 使 用 するDNS]を 指 定 しない 場 合 には クライアントPCの DNS 設 定 で 指 定 されているDNSに 対 して 名 前 解 決 を 依 頼 します なお www.example.com.の 右 端 に ドット がついているのは 名 前 が 終 端 してい ることを 意 味 します 例 : クライアントPCの DNS 設 定 で 指 定 されているDNSに www.example.comを 問 合 せる 場 合 nslookup www.example.com. 14
2.3 nslookupコマンド1 インターネット 直 接 接 続 PCの 場 合 [ 使 用 するDNS]としてインターネット 上 のアクセス 制 限 されていない キャッシュ( 含 むコンテンツ 兼 用 )を 指 定 した 場 合 インターネット example.com ドメイン コンテンツ C: >nslookup www.example.com. 202.229.63.xxx Server: aaa.aaa.xxx Address: 202.229.63.xxx Non-authoritative answer: Name: www.example.com Address: 208.77.188.166 クライアント PC 3 回 答 208.77.188.166 [ 使 用 するDNS] 1 再 帰 的 な 問 合 せ www.example.com 2 問 合 せ キャッシュ コンテンツ 202.229.63.xxx クライアントPCからの 再 帰 的 な 問 合 せ の 回 答 が キャッシュを 経 由 した 回 答 の 場 合 には Non-authoritative answer: と 表 示 されます これは コンテンツサー バからのオリジナルの 回 答 ではないこ とを 意 味 します パターン1 インターネットに 直 接 接 続 しているPCが インターネット 上 のアクセス 制 限 されていないキャッシュ( 含 むコン テンツ 兼 用 )を 指 定 した 場 合 のnslookupコマンド 実 行 結 果 の 例 です 15
2.3 nslookupコマンド2 インターネット 直 接 接 続 PCの 場 合 [ 使 用 するDNS]としてインターネット 上 のアクセス 制 限 されている キャッシュ( 含 む コンテンツ 兼 用 )を 指 定 した 場 合 インターネット クライアント PC example.com ドメイン 2 回 答 NG コンテンツ [ 使 用 するDNS] キャッシュ コンテンツ 202.229.63.yyy C: >nslookup www.example.com. 202.229.63.yyy Server: aaa.aaa.yyy Address: 202.229.63.yyy *** 202.229.63.yyy can't find www.example.com.: Query refused クライアントPCにキャッシュへの アクセス 許 可 権 限 がない 場 合 には 再 帰 的 な 問 合 せは 拒 否 されます 1 再 帰 的 な 問 合 せ www.example.com パターン2 インターネットに 直 接 接 続 しているPCが インターネット 上 のアクセス 制 限 されているキャッシュ( 含 むコンテ ンツ 兼 用 )を 指 定 した 場 合 のnslookupコマンド 実 行 結 果 の 例 です クライアントPCがキャッシュへのアクセス 許 可 権 限 がない(BIND の 設 定 :allow-query { address_match_list }; を 用 いた) 場 合 には 再 帰 的 な 問 合 せを 受 け 付 けないため キャッシュからの 回 答 が Query refused という 拒 否 された 内 容 となります 16
2.3 nslookupコマンド3 イントラネット 接 続 PCの 場 合 [ 使 用 するDNS]として 自 組 織 のキャッシュを 指 定 した 場 合 example.com ドメイン C: >nslookup www.example.com. 10.10.10.10 Server: dns-internal.ipa.go.jp Address: 10.10.10.10 インターネット 3 回 答 208.77.188.166 コンテンツ 2 問 合 せ Non-authoritative answer: Name: www.example.com Address: 208.77.188.166 ファイア ウォール クライアント PC キャッシュ 10.10.10.10 [ 使 用 するDNS] ipa.go.jp ドメイン コンテンツ nslookupコマンド1と 同 じ 結 果 が 得 ら れます 1 再 帰 的 な 問 合 せ www.example.com パターン3 イントラネットに 接 続 されたPCが 自 組 織 のキャッシュを 指 定 した 場 合 のnslookupコマンド 実 行 結 果 の 例 で す 実 行 結 果 は パターン1と 同 じです クライアントPCからの 再 帰 的 な 問 合 せが キャッシュを 経 由 した 回 答 の 場 合 には Non-authoritative answer と 表 示 されます これは コンテンツからのオリジナルの 回 答 で はないことを 意 味 します 17
2.3 nslookupコマンド4 イントラネット 接 続 PCの 場 合 [ 使 用 するDNS]としてインターネット 上 のキャッシュを 指 定 した 場 合 インターネット example.com ドメイン キャッシュ 199.7.69.1 C: >nslookup www.example.com. 199.7.69.1 DNS request timed out. timeout was 2 seconds. *** Can't find server name for address 199.7.69.1: Timed out Server: UnKnown Address: 199.7.69.1 ファイア ウォール [ 使 用 するDNS] クライアント PC キャッシュ 1 再 帰 的 な 問 合 せ www.example.com ipa.go.jp ドメイン コンテンツ DNS request timed out. timeout was 2 seconds. *** Request to UnKnown timed-out ファイアウォールなどで [ 使 用 するDNS ]へのアクセスが 制 限 されている 場 合 には タイムアウトが 発 生 します パターン4 イントラネットに 接 続 されたPCがインターネット 上 のキャッシュを 指 定 した 場 合 のnslookupコマンド 実 行 結 果 の 例 です クライアントPCからインターネット 上 のキャッシュへの 再 帰 的 な 問 合 せがファイアウォールやルータなどでアク セス 制 限 がされている 場 合 タイムアウトが 発 生 します 18
2.4 まとめ whoisサービスに 登 録 されているDNS(コンテンツ) と nslookupで 表 示 されるDNS(コンテンツ)は 一 致 していますか? C: >nslookup -q=ns example.jp. Server: dns-internal.ipa.go.jp Address: 10.10.10.10 Non-authoritative answer: example.jp nameserver = wed.example.jp example.jp nameserver = sun.example.jp example.jp nameserver = mon.example.jp example.jp nameserver = fri.example.jp example.jp nameserver = sat.example.jp 5 件 example.jp Domain Information: [ドメイン 情 報 ] [Domain Name] EXAMPLE.JP [ 登 録 者 名 ] [Registrant] [ネーム] sun.example.jp [ネーム] mon.example.jp [ネーム] fri.example.jp [ネーム] sat.example.jp 4 件 wed.example.jp internet address = 202.229.xxx.5 sun.example.jp internet address = 202.229.xxx.1 mon.example.jp internet address = 202.229.xxx.2 fri.example.jp internet address = 202.229.xxx.3 sat.example.jp internet address = 202.229.xxx.4 ドメイン 名 の 登 録 と DNS の 設 定 に 関 する 注 意 喚 起 http://www.ipa.go.jp/security/vuln/20050627_dns.html DNSの 問 合 せ 動 作 と その 関 連 ツールであるwhoisサービスとnslookupの 使 い 方 を 説 明 しました まとめでは whoisサービスとnslookupを 使 った DNS(コンテンツ)の 一 致 について 補 足 したいと 思 います whois サービスに 掲 載 されている 情 報 は ドメイン 登 録 時 / 更 新 時 に 申 請 した 情 報 です 一 方 nslookupコマンド で 参 照 できる 情 報 は 実 際 に 稼 動 しているコンテンツに 登 録 されている 情 報 です この 事 例 (example.jp)の 場 合 whois に 登 録 されているネーム(=DNS)は4 件 で nslookupで 参 照 できたDNSは5 件 です これは ドメイン 登 録 時 / 更 新 時 に 申 請 した 内 容 と 実 際 に 稼 動 しているコンテンツ に 登 録 されている 情 報 とに 乖 離 があることを 意 味 します 一 般 的 には whoisサービスに 登 録 されている 情 報 とnslookupにて 参 照 できる 情 報 が 同 じであることが 推 奨 されています この 機 会 にwhoisサービスに 登 録 されて いる 情 報 とnslookupにて 参 照 できる 情 報 ( 実 際 に 管 理 している 情 報 )が 一 致 しているかを 確 認 し 整 合 性 のとれ た 運 用 管 理 をしましょう 詳 細 については 次 の 資 料 を 参 照 してください ドメイン 名 の 登 録 とDNSの 設 定 に 関 する 注 意 喚 起 http://www.ipa.go.jp/security/vuln/20050627_dns.html 19
3. 検 査 ツールの 使 い 方 と 注 意 点 3.1 Cross-Pollination Check 3.2 DNS-OARC Randomness Test (Web 版 ) 3.3 DNS-OARC Randomness Test (コマンドライン 版 ) 3.4 まとめ 3. 検 査 ツールの 使 い 方 と 注 意 点 では DNSに 対 してキャッシュポイズニング 対 策 の 検 査 ができるツールの 使 い 方 と 注 意 点 を 説 明 します Cross-Pollination Check DNS-OARC Randomness Test (Web 版 ) DNS-OARC Randomness Test (コマンドライン 版 ) 事 前 に 次 に 示 す 用 語 の 意 味 を 理 解 しておく 必 要 があります コンテンツ キャッシュ 再 帰 的 な 問 合 せ nslookup 20
3.1 Cross-Pollination Checkの 使 い 方 (1/2) http://recursive.iana.org/ コンテンツを 検 査 するツールです ドメイン 名 を 入 力 すると そのド メインのコンテンツを 調 べて 1) 再 帰 動 作 の 可 否 2) 送 信 元 ポー ト 番 号 のランダム 性 有 無 を 確 認 し 結 果 を 表 示 してくれます 自 分 の 管 理 しているドメイン 名 を 入 力 することで 自 ドメインのコンテンツ を 検 査 可 能 です 1 検 査 ページにアクセス 2ドメイン 名 を 入 力 例 :ipa.go.jp 3クエリ 送 信 をクリック コンテンツを 検 査 するツール Cross-Pollination Check の 使 い 方 です Webベースのツールですので ブラ ウザから http://recursive.iana.org/ にアクセスして 検 査 対 象 のドメイン 名 を 入 力 後 クエリ 送 信 ボタンを クリックしてください 21
3.1 Cross-Pollination Checkの 使 い 方 (2/2) コンテンツ 毎 に 結 果 が 表 示 されます 結 果 は Highly Vulnerable Vulnerable Safeのいずれかになります Safeの 場 合 は 再 帰 的 な 問 合 せに 回 答 しなかったことを 示 しており 再 帰 動 作 が 無 効 化 もしくは 制 限 されていることがわかります Safe 以 外 の 場 合 は 再 帰 的 な 問 合 せに 回 答 したことを 示 しており セキュリティ 修 正 プログラム(ポート 番 号 のランダム 化 )が 適 用 されていればVulnerable さ れていなければHighly Vulnerableになります < 検 査 結 果 の 例 > < 検 査 結 果 の 見 方 > Highly Vulnerable Vulnerable 再 帰 動 作 無 効 No No 送 信 元 ホ ート のランタ ム 化 No Yes Safe Yes - Cross-Pollination Check の 検 査 結 果 の 見 方 は 上 記 の 通 りです 結 果 は Highly Vulnerable Vulnerable Safeの3つのうち いずれかになります 22
3.1 Cross-Pollination Checkの 仕 組 みと 注 意 点 インターネット 側 から 再 帰 的 な 問 合 せを 送 信 し 回 答 があれば 送 信 元 ポート 番 号 のランダム 性 を 検 査 します IANA Cross-Pollination Check 3ipa.go.jpドメインの コンテンツを 調 査 ルート jpドメイン co.jpドメイン インターネット 4ipa.go.jpドメインのコンテンツに 対 して 1) 再 帰 動 作 の 確 認 2) 送 信 元 ポート 番 号 の ランダム 性 の 検 査 を 行 う ipa.go.jpドメイン 2HTTPアクセス コンテンツ #1 コンテンツ #2 コンテンツ #3 キャッシュ 1 検 査 したいドメイン(ipa.go.jp)を 入 力 ツール 実 行 PC コンテンツとして 登 録 されて いなければ 検 査 されない Cross-Pollination Check が 実 施 する 検 査 の 仕 組 みについて 説 明 します ここでのポイントは 1)インターネットからの 再 帰 的 な 問 合 せに 回 答 するDNSに 対 してのみ セキュリティ 修 正 プログラム 適 用 有 無 の 検 査 ができるという 点 と 2)コンテンツとして 登 録 されていないDNS(キャッシュ)は 検 査 対 象 とならない 点 です 23
3.1 検 査 ツールが 送 信 元 ポート 番 号 を 確 認 する 仕 組 み 検 査 ツールは 自 身 のコンテンツへ 問 合 せが 発 生 するように 検 査 対 象 に 再 帰 的 な 問 合 せを 送 信 することで 再 帰 動 作 時 の 送 信 元 ポート 番 号 を 調 査 しま す また 複 数 回 の 問 合 せを 行 うことで ポート 番 号 のランダム 性 を 検 査 していま す 検 査 ツール 検 査 対 象 DNS DNSクライアント 送 信 元 :6001/ 宛 先 :53 送 信 元 :6002/ 宛 先 :53 送 信 元 :6003/ 宛 先 :53 検 査 用 コンテンツ への 問 合 せ 検 査 用 コンテンツ IANA Cross-Pollination Check DNS-OARC Randomness Test 宛 先 :53/ 送 信 元 :1025 宛 先 :53/ 送 信 元 :1026 宛 先 :53/ 送 信 元 :1027 再 帰 動 作 再 帰 動 作 再 帰 動 作 検 査 ツールでは 送 信 元 ポート 番 号 のランダム 性 を 検 査 します 上 記 では 検 査 ツールがどのようにして 検 査 対 象 DNSの 送 信 元 ポート 番 号 と そのランダム 性 について 確 認 しているかを 補 足 説 明 しています 24
3.2 DNS-OARC(Web 版 )の 使 い 方 (1/2) https://www.dns-oarc.net/oarc/services/dnsentropy 自 分 が 使 用 しているキャッシュを 検 査 するツールです Test My DNS ボタンをクリックすると 自 動 的 に 検 査 が 開 始 され 1) 送 信 元 ポー ト 番 号 のランダム 性 有 無 2)トランザクションIDのランダム 性 有 無 の 検 査 結 果 が 新 しいウインドウに 表 示 されます 1 検 査 ページにアクセス 2クリックして 検 査 開 始 前 述 した 通 り Cross-Pollination Check では コンテンツでないDNSを 検 査 できません このため キャッシュを 検 査 する 場 合 は DNS-OARC Randomness Test を 使 用 する 必 要 があります このツールに は Web 版 とコマンドライン 版 があります まずWeb 版 について 説 明 します https://www.dns-oarc.net/oarc/services/dnsentropy にアクセスし Test My DNS ボタンをクリックする と 検 査 が 開 始 されます なお このボタンは PCの 環 境 によっては 黒 く 塗 り 潰 された 画 像 として 表 示 される 場 合 があります 25
3.2 DNS-OARC(Web 版 )の 使 い 方 (2/2) キャッシュ 毎 に 送 信 元 ポート 番 号 及 びトランザクションIDのランダム 性 が GREAT GOOD POORの3 段 階 で 表 示 されます 注 ) 必 ずしも 全 てのキャッシュ が 検 査 対 象 になる 訳 ではありません < 検 査 結 果 の 例 > < 検 査 結 果 の 見 方 > DNS-OARC Randomness Test(Web 版 ) の 検 査 結 果 は 上 記 の 通 りです 画 面 上 部 に 結 果 のサマリが 表 示 され GREAT GOOD POORの3 段 階 で 評 価 されます 以 降 結 果 の 詳 細 がグラフとともに 表 示 されます ここでの 注 意 点 は 設 定 している 全 てのキャッシュが 検 査 対 象 となる 訳 ではありませんので 意 図 したDNSが 全 て 検 査 されているかを 確 認 する 必 要 があります GREAT GOOD POORの 評 価 は 送 信 元 ポート 番 号 及 びトランザクションIDの 値 が16ビットをどの 程 度 まんべんな く 使 用 しているかに 基 づいています なお この2つの 値 が 推 測 できるということは キャッシュポイズニング 攻 撃 が 実 現 しやすいことを 意 味 しています 右 図 は 送 信 元 ポート 番 号 のランダム 性 POORと 判 定 された 事 例 です 値 にばらつきがないと 次 に 発 生 しうる 値 を 容 易 に 類 推 できます DNSキャッシュポイズニング 対 策 においては 送 信 元 ポート 番 号 及 びトランザクションIDの 値 を 推 測 されにくい 状 況 すなわち POORと 評 価 さ れないこと GOODよりは GREATと 評 価 される ような 状 況 を 作 り 出 すことが 重 要 です 26
3.2 DNS-OARC(Web 版 )の 仕 組 み Webアクセス 時 に 名 前 解 決 を 行 ったキャッシュが 検 査 対 象 となります すなわち OSに 設 定 しているDNS(=DNS 設 定 )です DNS-OARC インターネット 5[ 乱 数 ].et.dns-oarc.netに 問 合 せを 送 信 したキャッシュに 対 して 1) 送 信 元 ポート 番 号 のランダム 性 2)トランザクションIDのランダム 性 の 検 査 を 行 う 4[ 乱 数 ].et.dns-oarc.netを DNS-OARCに 問 合 せ 1"Test My DNS" をクリック 2[ 乱 数 ].et.dns-oarc.net にリダイレクトを 指 示 キャッシュ ツール 実 行 PC DNS 設 定 3[ 乱 数 ].et.dns-oarc.netを キャッシュに 再 帰 的 な 問 合 せ 上 記 は インターネットに 直 接 接 続 しているPCで DNS-OARC Randomness Test(Web 版 ) を 実 行 した 場 合 の 検 査 の 流 れを 示 しています ツール 実 行 PC 上 に 設 定 しているDNS(=DNS 設 定 の 参 照 するキャッシュ)がDNS-OARCのコンテンツ に 問 合 せを 行 うため そのDNSが 検 査 対 象 となります 27
3.2 DNS-OARC(Web 版 )の 注 意 点 プロキシ 環 境 においては プロキシに 設 定 されているキャッシュが 検 査 対 象 となるため 必 ずしもツール 実 行 PCに 設 定 されたキャッシュが 検 査 対 象 となる 訳 ではありません DNS-OARC インターネット 4DNS-OARCに 対 して 問 合 せを 行 ったキャッシュが 検 査 対 象 となる ここでは 構 成 上 外 部 キャッシュが 検 査 対 象 となる 3 問 合 せ ファイア ウォール 1HTTPアクセス プロキシ 2 再 帰 的 な 問 合 せ 外 部 キャッシュ キャッシュ #2 ツール 実 行 PC DNS 設 定 内 部 キャッシュ イントラネットに 接 続 したPCの 場 合 Webのアクセスにはプロキシ 経 由 であることが 一 般 的 です この 場 合 は ツール 実 行 PC 自 身 がDNSに 名 前 解 決 を 行 うのではなく プロキシがDNSに 名 前 解 決 を 行 います したがって ツール 実 行 PCに 設 定 しているDNSが 検 査 対 象 になる 訳 ではありません また この 場 合 プロキシが 使 用 しないDNS( 上 記 の 場 合 キャッシュ#2 )は 検 査 対 象 になりま せん 検 査 したい 場 合 は コマンドライン 版 を 使 用 する 必 要 があります 28
3.3 DNS-OARC(コマンドライン 版 )の 使 い 方 (1/2) DNS-OARCには Web 版 の 他 にコマンドライン 版 があります コマンドライン 版 では 検 査 対 象 のDNSを 任 意 に 指 定 可 能 です コマンドライン 版 は WindowsもしくはLinuxのnslookupコマンドで 実 行 します(digコ マンドでも 同 様 に 実 行 できます 詳 しくは 下 記 解 説 ページを 参 照 ください) 送 信 元 ポート 番 号 のランダム 性 検 査 の 場 合 nslookup -q=txt -timeout=10 porttest.dns-oarc.net. [ 検 査 対 象 DNS] トランザクションIDのランダム 性 検 査 の 場 合 nslookup -q=txt -timeout=10 txidtest.dns-oarc.net. [ 検 査 対 象 DNS] 解 説 ページ https://www.dns-oarc.net/oarc/services/porttest https://www.dns-oarc.net/oarc/services/txidtest http://itpro.nikkeibp.co.jp/article/column/20080811/312660/ DNS-OARC Randomness Test(コマンドライン 版 ) では OSに 標 準 搭 載 されているnslookupコマンドを 使 用 しま す なお nslookupコマンド 以 外 に digコマンドを 使 用 することも 可 能 です なお コマンドライン 版 の 場 合 は 送 信 元 ポート 番 号 とトランザクションIDは 別 々に 検 査 する 必 要 があります 使 い 方 については 次 の 資 料 を 参 照 してください porttest.dns-oarc.net -- Check your resolver's source port behavior https://www.dns-oarc.net/oarc/services/porttest txidtest.dns-oarc.net -- Check your resolver's transaction ID behavior https://www.dns-oarc.net/oarc/services/txidtest 詳 細 が 明 かされたDNSキャッシュ ポイズニングの 新 手 法 http://itpro.nikkeibp.co.jp/article/column/20080811/312660/ 29
3.3 DNS-OARC(コマンドライン 版 )の 使 い 方 (2/2) 検 査 対 象 ns.example.com(192.168.0.2) の 実 行 結 果 は 次 の 通 りです C: >nslookup -q=txt -timeout=10 porttest.dns-oarc.net. ns.example.com. Server: ns.example.com Address: 192.168.0.2 Non-authoritative answer: porttest.dns-oarc.net canonical name =porttest.y.x.w.v.u.t.s.r.q.p.o.n.m.l.k. j.i.h.g.f.e.d.c.b.a.pt.dns-oarc.net porttest.y.x.w.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.pt.dns-oarc.net text = "192.168.0.2 is GREAT: 26 queries in 3.6 seconds from 26 ports with std dev 17332" y.x.w.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.pt.dns-oarc.net nameserver = ns.y.x.w.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.pt.dns-oarc.net DNS-OARC Randomness Test(コマンドライン 版 ) の 実 行 例 です ns.example.com の 送 信 元 ポート 番 号 のラ ンダム 性 を 検 査 した 結 果 GREAT であることがわかります 30
3.3 DNS-OARC(コマンドライン 版 )の 注 意 点 (1/2) コマンドライン 版 では Web 版 (プロキシ 経 由 )では 検 査 対 象 とならないキャッ シュをイントラネット 内 から 検 査 可 能 です ただし ツール 実 行 PCと 検 査 対 象 DNS 間 のDNS 通 信 が 遮 断 されていない 場 合 に 限 ります DNS-OARC インターネット 3 検 査 実 行 2 問 合 せ 1 再 帰 的 な 問 合 せ ファイア ウォール プロキシ DNS 設 定 外 部 キャッシュ 検 査 対 象 DNS ツール 実 行 PC DNS-OARC Randomness Test(コマンドライン 版 ) 使 用 時 の 注 意 点 です 検 査 できるのは ツール 実 行 PCと 検 査 対 象 DNS 間 のDNS 通 信 が 遮 断 されていない 場 合 に 限 ります 31
3.3 DNS-OARC(コマンドライン 版 )の 注 意 点 (2/2) ファイアウォールなどにより ツール 実 行 PCと 検 査 対 象 DNS 間 のDNS 通 信 が 遮 断 されている 場 合 は イントラネットから 正 しく 検 査 が 行 えません その 場 合 は インターネットに 直 接 接 続 しているPCから 実 行 してください DNS-OARC インターネット ツール 実 行 PC 3 検 査 実 行 2 問 合 せ DNS 通 信 が 遮 断! 1 再 帰 的 な 問 合 せ ファイア ウォール プロキシ DNS 設 定 外 部 キャッシュ 検 査 対 象 DNS ツール 実 行 PC ツール 実 行 PCと 検 査 対 象 DNS 間 のDNS 通 信 が 遮 断 されている 場 合 は 検 査 できませんので インターネット に 直 接 接 続 しているツール 実 行 PCから 検 査 する 必 要 があります 32
3.4 まとめ 検 査 ツールでの 確 認 は 終 了 しましたか? Cross-Pollination Checkツールでは コンテンツに 対 して 1) 再 帰 動 作 の 可 否 2) 送 信 元 ポート 番 号 のランダム 性 有 無 を 検 査 できます DNS-OARCツールでは キャッシュに 対 して 1) 送 信 元 ポート 番 号 のラ ンダム 性 有 無 2)トランザクションIDのランダム 性 有 無 を 検 査 できます コンテンツの 検 査 には Cross-Pollination Checkを 使 用 しましょう キャッシュの 検 査 には DNS-OARC Randomness Test (Web 版 )を 使 用 しましょう Cross-Pollination CheckとDNS-OARC Randomness Test (Web 版 )のいず れでも 検 査 できない 場 合 は DNS-OARC Randomness Test (コマンドライン 版 )を 使 用 しましょう その 際 環 境 によっては イントラネットからは 正 しく 検 査 ができない 場 合 があ り インターネットに 直 接 接 続 しているPCから 検 査 を 行 う 必 要 があります DNSキャッシュポイズニング 対 策 の 検 査 ツールに 関 するポイントをまとめてありますので ぜひ 検 査 ツールで 確 認 してみてください 33
4. 再 帰 動 作 の 設 定 4.1 BIND DNSでの 対 策 4.2 Windows DNSでの 対 策 4.3 まとめ 4. 再 帰 動 作 の 設 定 では BINDとWindows DNSの 再 帰 動 作 の 設 定 について 説 明 します 事 前 に 次 に 示 す 用 語 の 意 味 を 理 解 しておく 必 要 があります コンテンツ キャッシュ 再 帰 的 な 問 合 せ 34
4.1 BIND DNSでの 対 策 BIND DNSでの 対 策 ポイントは 次 の 通 りです コンテンツ 再 帰 動 作 が 無 効 になっていることを 確 認 する キャッシュ 兼 コンテンツ コンテンツ 単 独 ( 再 帰 動 作 を 無 効 とし キャッシュとして 動 作 させない あるいは キャッシュとコンテンツを 物 理 装 置 的 に 分 離 する)での 稼 動 を 検 討 する コンテンツ 単 独 での 稼 動 が 可 能 な 場 合 には コンテンツでの 対 策 を 実 施 する キャッシュ 兼 コンテンツで 運 用 する 必 要 がある 場 合 には 再 帰 的 な 問 合 せは イントラネットからのアクセスのみを 許 可 する キャッシュ 再 帰 的 な 問 合 せは イントラネットからのアクセスのみを 許 可 する BIND DNSでの 対 策 では 次 の 資 料 を 基 に コンテンツ キャッシュ 兼 コンテンツ キャッシュサー バの3つにわけ 再 帰 的 な 問 合 せに 関 するアクセス 制 御 設 定 について 説 明 します DNSの 再 帰 的 な 問 合 せを 使 ったDDoS 攻 撃 の 対 策 について http://jprs.jp/tech/notice/2006-03-29-dns-cache-server.html 対 策 にあたっては 製 品 開 発 ベンダから 提 供 されているJVNVU#800113 対 応 のセキュリティ 修 正 プログラムの 適 用 を 前 提 とします なお ISC(Internet Systems Consortium) BIND 9については サービス 運 用 妨 害 (DoS)の 脆 弱 性 (JVNVU#725188)が 報 告 されています named.confに type master; の 設 定 がある 場 合 には 脆 弱 性 の 影 響 を 受 けることになりますのでJVNVU#725188 対 応 のセキュリティ 修 正 プログラムの 適 用 も 検 討 してください 複 数 のDNS 実 装 にキャッシュポイズニングの 脆 弱 性 ( 公 開 日 :2008/07/09) http://jvn.jp/cert/jvnvu800113/ ISC BIND 9におけるサービス 運 用 妨 害 (DoS)の 脆 弱 性 ( 公 開 日 :2009/07/29) http://jvn.jp/cert/jvnvu725188/ バージョンの 確 認 type master 設 定 有 無 の 確 認 35
4.1 コンテンツでの 対 策 セカンダリDNS (バックアップ) 202.229.63.234 インターネット ファイア ウォール メール my-network 192.168.1.0/24 コンテンツ 5ドメイン 情 報 の 転 送 要 求 example.jpドメイン Web 3 問 合 せ 1 問 合 せ コンテンツ プライマリDNS 192.218.88.1 // グローバルオプションの 設 定 options { fetch-glue no ; // BIND 9 では 不 要 recursion no ; directory "/etc/ns" ; allow-transfer { none ; } ; }; // example.jp のマスタ DNS 設 定 zone "example.jp" { type master ; file "example.jp.zone" ; allow-transfer { 202.229.63.234 ; } ; }; // ルートへの hint 情 報 zone "." { type hint ; file "/dev/null" ; // ファイル 名 に /dev/null を 指 定 } ; コンテンツでは イントラネットからの 問 合 せ(1) インターネットからの 問 合 せ(3) セカンダリDNS からのドメイン 情 報 の 転 送 (ゾーン 転 送 ) 要 求 (5)を 許 可 します 設 定 ファイルのポイント recursion no ; 再 帰 動 作 を 無 効 とすることで 問 合 せ(13)のみを 受 け 付 けるよう 設 定 します この 設 定 の 場 合 問 合 せに 対 し てアクセス 制 限 を 行 う 必 要 はありません allow-transfer { 202.229.63.234 ; } ; ドメイン 情 報 の 転 送 (ゾーン 転 送 )(5)をセカンダリDNSのみに 制 限 します file "/dev/null" ; ルートへの hint 情 報 は 再 帰 動 作 を 有 効 としている 場 合 のみ 必 要 になります ここでは 利 用 しないことを 明 示 するために ファイル 名 として /dev/null を 指 定 します 36
4.1 キャッシュ 兼 コンテンツでの 対 策 セカンダリDNS (バックアップ) 202.229.63.234 インターネット ファイア ウォール メール my-network 192.168.1.0/24 コンテンツ 5ドメイン 情 報 の 転 送 要 求 example.jpドメイン Web 2 再 帰 的 な 問 合 せ 3 問 合 せ 1 問 合 せ 4 再 帰 的 な 問 合 せ キャッシュ コンテンツ プライマリDNS 192.218.88.1 // イントラネットからのアクセス 設 定 acl my-network { 192.168.1.0/24 ; } ; // グローバルオプションの 設 定 options { fetch-glue no ; // BIND 9では 不 要 recursion yes ; directory "/etc/ns" ; allow-query { localhost ; my-network ; } ; allow-transfer { none ; } ; }; // example.jp のプライマリ DNS 設 定 zone "example.jp" { type master ; file "example.jp.zone" ; allow-query { any ; } ; allow-transfer { 202.229.63.234 ; } ; }; zone "." { type hint ; file "named.root" ; } ; 再 帰 動 作 を 期 待 する 問 合 せを 再 帰 的 な 問 合 せ と 記 載 しています キャッシュ 兼 コンテンツでは イントラネットからの 問 合 せ(1)と 再 帰 的 な 問 合 せ(2) インターネットからの 問 合 せ(3) セカンダリDNSからのドメイン 情 報 の 転 送 (ゾーン 転 送 ) 要 求 (5)を 許 可 します また インター ネットからの 再 帰 的 な 問 合 せ(4)を 拒 否 します 設 定 ファイルのポイント acl my-network { 192.168.1.0/24 ; } ; イントラネットを 定 義 します recursion yes ; キャッシュとして 稼 動 させるため 再 帰 動 作 を 有 効 とします allow-query { localhost ; my-network ; } ; allow-queryを 用 いて 問 合 せ( 含 む 再 帰 的 な 問 合 せ)のアクセス 制 御 を 実 施 します キャッシュ 兼 コンテンツサー バ(localhost)とイントラネット(my-network)からの 問 合 せ( 含 む 再 帰 的 な 問 合 せ)(12)のみを 許 可 します allow-query { any ; } ; example.jpドメインに 関 する 問 合 せのみ イントラネットからの 問 合 せ(1)とインターネットからの 問 合 せ(3)のい ずれも 許 可 します allow-transfer { 202.229.63.234 ; } ; ドメイン 情 報 の 転 送 (ゾーン 転 送 )(5)をセカンダリDNSのみに 制 限 します file "named.root" ; 再 帰 動 作 を 有 効 としているので ルートへの hint 情 報 が 格 納 されたファイルを 指 定 します 最 新 の hint 情 報 は 次 のURLから 取 得 してください ftp://ftp.internic.net/domain/named.root 37
4.1 キャッシュ 兼 コンテンツでの 対 策 ( 留 意 事 項 1) BIND9.2.6ならびに それ 以 前 の 実 装 で allow-queryを 使 ってアクセス 制 御 した 場 合 アクセス 制 御 は 有 効 に 機 能 するのですが(status: REFUSED) 再 帰 動 作 の 有 効 フラグ(ra: Recursion available)がon(flags: ra)となるため Cross-Pollination Check(http://recursive.iana.org/) では Vulnerable(Is recursive, could not detect source port randomisation) と 判 定 されま す ; <<>> DiG <<>> @bind926.ipa.go.jp. www.example.com. ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 62833 ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0 BIND 最 新 版 では この 問 題 は 解 決 されていますので BIND 最 新 版 にアップデートすることを 推 奨 します なお allow-recursionを 併 記 することで 再 帰 動 作 の 有 効 フラグをOFFできますが あくま でも 暫 定 対 策 として 利 用 してください options { fetch-glue no ; // BIND 9では 不 要 recursion yes ; directory "/etc/ns" ; allow-query { localhost ; my-network ; } ; allow-recursion { localhost ; my-network ; } ; // BIND 9.2.6 以 前 への 暫 定 対 策 allow-transfer { none ; } ; }; 古 いバージョンのBINDを 利 用 している 場 合 の 留 意 事 項 です BIND9.2.6ならびに それ 以 前 の 実 装 で allow-queryを 使 ってアクセス 制 御 した 場 合 アクセス 制 御 は 有 効 に 機 能 するのですが(status: REFUSED) 回 答 に 格 納 される 再 帰 動 作 の 有 効 フラグ(ra: Recursion available)がon (flags: ra)となるため Cross-Pollination Check(http://recursive.iana.org/)では Vulnerable(Is recursive, could not detect source port randomisation) と 判 定 されます なお フラグの 情 報 については digコマンドを 使 って 確 認 できます 使 い 方 : dig @[ 使 用 するDNS] [ 検 索 するホスト 名 ] dig @bind926.ipa.go.jp. www.example.com. BIND 最 新 版 では この 問 題 は 解 決 されていますので BIND 最 新 版 にアップデートすることを 推 奨 します なお allow-recursionを 併 記 することで 再 帰 動 作 の 有 効 フラグをOFFできますが あくまでも 暫 定 対 策 として 利 用 して ください allow-query { localhost ; my-network ; } ; allow-queryを 用 いて 問 合 せ( 含 む 再 帰 的 な 問 合 せ)のアクセス 制 御 を 実 施 します キャッシュ 兼 コンテンツサー バ(ローカルホスト)とイントラネットからの 問 合 せ( 含 む 再 帰 的 な 問 合 せ)(12)のみを 許 可 します allow-recursion { localhost ; my-network ; } ; allow-recursionを 用 いて 再 帰 的 な 問 合 せに 対 してアクセス 制 御 を 実 施 します キャッシュ 兼 コンテンツ(ロー カルホスト)とイントラネットからの 再 帰 的 な 問 合 せ(2)のみを 許 可 します 38
4.1 キャッシュ 兼 コンテンツでの 対 策 ( 留 意 事 項 2) allow-queryとallow-recursionのアクセス 制 御 の 違 い allow-queryを 使 用 したアクセス 制 御 の 場 合 には 再 帰 的 な 問 合 せ 自 身 を 拒 否 (status: REFUSED)し 何 もデータを 含 まない 回 答 を 返 信 します ; <<>> DiG <<>> @allow-query.ipa.go.jp. www.example.com. ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 54392 ;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0 allow-recursionを 使 用 したアクセス 制 御 の 場 合 には 再 帰 的 な 問 合 せを 受 入 れ ます(status: NOERROR) ただし 名 前 解 決 をせず(ANSWER: 0) 次 に 問 合 せ るべきDNS(AUTHORITY: 2, ADDITIONAL: 2)を 返 信 します ; <<>> DiG <<>> @allow-recursion.ipa.go.jp. www.example.com. ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 535 ;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 2, ADDITIONAL: 2 digコマンドの 結 果 を 使 って allow-queryとallow-recursionのアクセス 制 御 の 違 いについて 説 明 します アクセス 制 御 なしの 場 合 アクセス 制 御 なしの 場 合 には 再 帰 的 な 問 合 せを 受 入 れ(status: NOERROR) 名 前 解 決 (ANSWER: 1)を 実 施 し ます ; <<>> DiG <<>> @any.ipa.go.jp www.example.com ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7322 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2 allow-queryの 場 合 allow-queryを 使 用 したアクセス 制 御 の 場 合 には 許 可 されていないネットワークからの 再 帰 的 な 問 合 せに 対 して 再 帰 的 な 問 合 せ 自 身 を 拒 否 (status: REFUSED)し 何 もデータを 含 まない 回 答 (ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0)を 返 信 します allow-recursionyの 場 合 allow-recursionを 使 用 したアクセス 制 御 の 場 合 には 許 可 されていないネットワークからの 再 帰 的 な 問 合 せに 対 して 再 帰 的 な 問 合 せを 受 入 れます(status: NOERROR) ただし 名 前 解 決 をせず(ANSWER: 0) 名 前 解 決 処 理 を 進 めるために 次 に 問 合 せるべきDNS(AUTHORITY: 2, ADDITIONAL: 2)を 返 信 します 39
4.1 キャッシュ 兼 コンテンツでの 対 策 allow-queryを 用 いたアクセス 制 御 を 推 奨 します allow-recursionを 用 いた アクセス 制 御 の 場 合 再 帰 的 な 問 合 せを 受 け 入 れて しまいます allow-queryを 用 いた アクセス 制 御 の 場 合 再 帰 的 な 問 合 せを 拒 否 できます 2009 年 にはいってから DDoS(Distributed DoS) 攻 撃 に 活 用 するため 外 部 からの 再 帰 的 な 問 合 せに 回 答 して しまうキャッシュに 対 して ルート( 名 前 解 決 の 基 点 となるDNS)のIPアドレスを 繰 り 返 し 要 求 す る 活 動 が 報 告 されています BINDを 用 いて 構 築 したキャッシュでは allow-recursionを 用 いたアクセス 制 御 ではなく 問 合 せ( 含 む 再 帰 的 な 問 合 せ) 自 身 を 拒 否 するallow-queryを 用 いたアクセス 制 御 を 推 奨 します 報 告 された 活 動 については 次 の 資 料 を 参 照 してください DNS queries for "." http://isc.sans.org/diary.html?storyid=5713 DNS DDoS - let's use a long term solution http://isc.sans.org/diary.html?storyid=5773 40
4.1 キャッシュでの 対 策 セカンダリDNS (バックアップ) 202.229.63.234 インターネット ファイア ウォール メール my-network 192.168.1.0/24 コンテンツ example.jpドメイン Web 2 再 帰 的 な 問 合 せ 3 再 帰 的 な 問 合 せ キャッシュ プライマリDNS 192.218.88.1 // イントラネットからのアクセス 設 定 acl my-network { 192.168.1.0/24 ; } ; // グローバルオプションの 設 定 options { fetch-glue no ; // BIND 9では 不 要 recursion yes ; directory "/etc/ns" ; allow-query { localhost ; my-network ; } ; }; // ルートへの hint 情 報 zone "." { type hint ; file "named.root" ; } ; 再 帰 動 作 を 期 待 する 問 合 せを 再 帰 的 な 問 合 せ と 記 載 しています キャッシュでは イントラネットからの 再 帰 的 な 問 合 せ(2)を 許 可 します また インターネットからの 再 帰 的 な 問 合 せ(4)を 拒 否 します 設 定 ファイルのポイント acl my-network { 192.168.1.0/24 ; } ; イントラネットを 定 義 します recursion yes ; キャッシュとして 稼 動 させるため 再 帰 動 作 を 有 効 とします allow-query { localhost ; my-network ; } ; allow-queryを 用 いて 問 合 せ( 含 む 再 帰 的 な 問 合 せ)のアクセス 制 御 を 実 施 します キャッシュ(localhost) とイントラネット(my-network)からの 問 合 せ( 含 む 再 帰 的 な 問 合 せ)(2)のみを 許 可 します file "named.root" ; 再 帰 動 作 を 有 効 としているので ルートへの hint 情 報 が 格 納 されたファイルを 指 定 します 最 新 の hint 情 報 は 次 のURLから 取 得 してください ftp://ftp.internic.net/domain/named.root 41
4.2 Windows DNSでの 対 策 Windows DNSでの 対 策 ポイントは 次 の 通 りです コンテンツ 再 帰 動 作 が 無 効 になっていることを 確 認 する キャッシュ 兼 コンテンツ Windows DNSは 再 帰 的 な 問 合 せを 受 け 付 けるか/ 否 かしか 設 定 できないため(BIND DNSのような 細 かなアクセス 制 御 機 能 な し) キャッシュとコンテンツを 物 理 装 置 的 に 分 離 して 運 用 す る キャッシュ ファイアウォールなどのパケットフィルタリング 機 能 を 用 いて イントラネット からの 再 帰 的 な 問 合 せのみを 許 可 するよう 制 限 する Windows DNSでの 対 策 では 次 の 資 料 を 基 に コンテンツ キャッシュ 兼 コンテンツ キャッシュ の3つにわけ 再 帰 動 作 に 関 するアクセス 制 御 設 定 について 説 明 します DNS > DNSの 操 作 方 法 http://technet.microsoft.com/ja-jp/library/cc757540.aspx なお 対 策 にあたっては 製 品 開 発 ベンダから 提 供 されているセキュリティ 修 正 プログラムの 適 用 を 前 提 とします 複 数 のDNS 実 装 にキャッシュポイズニングの 脆 弱 性 http://jvn.jp/cert/jvnvu800113/ 42
4.2 コンテンツでの 対 策 // 再 帰 動 作 の 設 定 セカンダリDNS (バックアップ) 202.229.63.234 コンテンツ 3 問 合 せ インターネット 5ドメイン 情 報 の 転 送 要 求 // ドメイン 情 報 の 転 送 設 定 ファイア ウォール メール my-network 192.168.1.0/24 example.jpドメイン Web 1 問 合 せ コンテンツ プライマリDNS 192.218.88.1 コンテンツでは イントラネットからの 問 合 せ(1) インターネットからの 問 合 せ(3) セカンダリDNS からのドメイン 情 報 の 転 送 (ゾーン 転 送 ) 要 求 (5)を 許 可 します 設 定 のポイント 再 帰 動 作 の 設 定 再 帰 を 無 効 にする(フォワーダも 無 効 になります) のチェックボックスをONにします ドメイン 情 報 の 転 送 設 定 ゾーン 転 送 を 許 可 するのチェックボックスをONにします また ネームータブの 一 覧 にあるー のみ 次 のーのみ のいずれかを 使 用 して ドメイン 情 報 の 転 送 (ゾーン 転 送 )(5)をセカンダリDNS のみに 制 限 します 43
4.2 コンテンツでの 対 策 ( 設 定 画 面 拡 大 ) // 再 帰 動 作 の 設 定 // ドメイン 情 報 の 転 送 設 定 設 定 のポイント 再 帰 動 作 の 設 定 再 帰 を 無 効 にする(フォワーダも 無 効 になります) のチェックボックスをONにします ドメイン 情 報 の 転 送 設 定 ゾーン 転 送 を 許 可 するのチェックボックスをONにします また ネームータブの 一 覧 にあるー のみ 次 のーのみ のいずれかを 使 用 して ドメイン 情 報 の 転 送 (ゾーン 転 送 )(5)をセカンダリDNS のみに 制 限 します 44
4.2 キャッシュ 兼 コンテンツでの 対 策 セカンダリDNS (バックアップ) 202.229.63.234 コンテンツ 3 問 合 せ 4 再 帰 的 な 問 合 せ Windows DNSは 再 帰 的 な 問 合 せを 受 け 付 けるか/ 否 か しか 設 定 できないため(BIND DNS のような 細 かなアクセス 制 御 機 能 なし) キャッシュと コンテンツを 物 理 装 置 的 に 分 離 して 運 用 します インターネット 5ドメイン 情 報 の 転 送 要 求 ファイア ウォール メール my-network 192.168.1.0/24 example.jpドメイン Web 2 再 帰 的 な 問 合 せ 1 問 合 せ キャッシュ コンテンツ プライマリDNS 192.218.88.1 Windows DNSの 場 合 には キャッシュとコンテンツを 物 理 装 置 的 に 分 離 した 運 用 を 推 奨 します 45
4.2 キャッシュでの 対 策 セカンダリDNS (バックアップ) 202.229.63.234 コンテンツ 4 再 帰 的 な 問 合 せ ファイアウォール 製 品 などのパケッ トフィルタリング 機 能 を 用 いて イ ントラネットからの 再 帰 的 な 問 合 せのみを 許 可 するよう 制 限 します また Windows DNSのセキュ リティ 機 能 を 活 用 します インターネット ファイア ウォール メール my-network 192.168.1.0/24 example.jpドメイン Web 2 再 帰 的 な 問 合 せ キャッシュ プライマリDNS 192.218.88.1 // セキュリティ 機 能 の 設 定 再 帰 動 作 を 期 待 する 問 合 せを 再 帰 的 な 問 合 せ と 記 載 しています キャッシュでは イントラネットからの 再 帰 的 な 問 合 せ(2)を 許 可 します また インターネットからの 再 帰 的 な 問 合 せ(4)を 拒 否 します 設 定 のポイント 再 帰 動 作 の 設 定 再 帰 を 無 効 にする(フォワーダも 無 効 になります) のチェックボックスをOFFにします ファイアウォールなどを 用 いたアクセス 制 御 の 実 施 Windows DNSは 再 帰 的 な 問 合 せを 受 け 付 けるか/ 否 かしか 設 定 できません イントラネットからの 再 帰 的 な 問 合 せ(2)を 許 可 し インターネットからの 再 帰 的 な 問 合 せ(4)を 拒 否 するために ファイアウォールなどを 用 い て アクセス 制 御 を 実 施 してください セキュリティ 機 能 の 設 定 Pollution に 対 してセキュリティでキャッシュを 保 護 する のチェックボックスをONにします この 機 能 は 回 答 に 含 まれている 無 関 係 なデータ(コンテンツが 管 理 する 原 本 以 外 のデータ)をキャッシュしないという 機 能 です 46
4.2 キャッシュでの 対 策 ( 設 定 画 面 拡 大 ) // 再 帰 動 作 の 設 定 // セキュリティ 機 能 の 設 定 設 定 のポイント 再 帰 動 作 の 設 定 再 帰 を 無 効 にする(フォワーダも 無 効 になります) のチェックボックスをOFFにします セキュリティ 機 能 の 設 定 セキュリティ 機 能 の 設 定 詳 細 については 次 の 資 料 を 参 照 してください ーのキャッシュを 名 前 の 汚 染 から 保 護 する http://technet.microsoft.com/ja-jp/library/cc758810.aspx DNS ーの [Pollution に 対 してセキュリティでキャッシュを 保 護 する] 設 定 について http://support.microsoft.com/kb/316786/ja Pollution に 対 してセキュリティでキャッシュを 保 護 する は 回 答 に 含 まれている 無 関 係 なデータ(コンテンツサー バが 管 理 する 原 本 以 外 のデータ)をキャッシュしないという 機 能 です 例 えば ドメインexample.comを 管 理 するコ ンテンツからの 回 答 の 場 合 には example.com 以 外 のデータ(www.ipa.go.jpなど)はキャッシュしないことに なります 47
4.3 まとめ DNSの 設 定 は 適 切 ですか? キャッシュとして 動 作 しているDNSが インターネットからの 再 帰 的 な 問 合 せ(1)に 対 して 再 帰 動 作 による 問 合 せ(2)をしてしまう 場 合 DNSキャッシュポイズニング 攻 撃 (3)を 受 ける 可 能 性 が 高 くなりま す 攻 撃 者 偽 の 原 本 3 偽 の 回 答 2 問 合 せ example.comドメイン インターネット 1 再 帰 的 な 問 合 せ www.example.comの IPアドレスを 教 えてください コンテンツ DNS ファイア ウォール メール イントラネット Web ipa.go.jpドメイン コンテンツ DNS キャッシュ コンテンツ DNS 偽 の 複 製 キャッシュ DNS 2 問 合 せ 偽 の 複 製 DNSのアクセス 制 御 設 定 についてまとめます キャッシュとして 動 作 しているDNSが インターネットからの 再 帰 的 な 問 合 せ(1)に 対 して 再 帰 動 作 による 問 合 せ(2)をしてしまう 場 合 DNSキャッシュポイズニング 攻 撃 を 受 ける 可 能 性 が 高 くなります 基 本 的 なア クセス 制 御 設 定 は インターネットからの 再 帰 的 な 問 合 せ(1)に 対 する 再 帰 動 作 を 無 効 にすることです DNSの 設 定 を 再 確 認 して 安 全 なDNSによる 基 盤 サービスを 実 現 していきましょう [ 発 行 ] [ 執 筆 ] 2009 年 1 月 14 日 2009 年 2 月 6 日 2009 年 8 月 11 日 第 1 版 : 新 規 第 2 版 :DNS-OARCの 使 い 方 (P26)とDDoS 対 策 の 注 意 事 項 (P40)を 追 記 第 3 版 :RFC1035にあわせた 用 語 定 義 (P3 他 )に 変 更 JVNVU#725188(P35)を 追 記 IPA( 独 立 行 政 法 人 情 報 処 理 推 進 機 構 )セキュリティセンター 寺 田 真 敏 48
情 報 セキュリティに 関 する 届 出 について IPA セキュリティセンターでは 経 済 産 業 省 の 告 示 に 基 づき コンピュータウイルス 不 正 ア クセス 脆 弱 性 関 連 情 報 に 関 する 発 見 被 害 の 届 出 を 受 け 付 けています ウェブフォームやメールで 届 出 ができます 詳 しくは 下 記 のサイトを 御 覧 ください URL: http://www.ipa.go.jp/security/todoke/ コンピュータウイルス 情 報 コンピュータウイルスを 発 見 またはコン ピュータウイルスに 感 染 した 場 合 に 届 け 出 てく ださい 不 正 アクセス 情 報 ネットワーク(インターネット LAN WAN パソ コン 通 信 など)に 接 続 されたコンピュータへの 不 正 アクセスによる 被 害 を 受 けた 場 合 に 届 け 出 て ください ソフトウエア 製 品 脆 弱 性 関 連 情 報 OSやブラウザ 等 のクライアント 上 のソフトウ エア ウェブ 等 の 上 のソフトウエ ア プリンタやICカード 等 のソフトウエアを 組 み 込 んだハードウエア 等 に 対 する 脆 弱 性 を 発 見 した 場 合 に 届 け 出 てください ウェブアプリケーション 脆 弱 性 関 連 情 報 インターネットのウェブサイトなどで 公 衆 に 向 けて 提 供 するそのサイト 固 有 のサービスを 構 成 するシステムに 対 する 脆 弱 性 を 発 見 した 場 合 に 届 け 出 てください 脆 弱 性 関 連 情 報 流 通 の 基 本 枠 組 み 情 報 セキュリティ 早 期 警 戒 パートナーシップ 脆 弱 性 関 連 情 報 流 通 体 制 ソフトウェア 製 品 の 脆 弱 性 発 見 者 脆 弱 性 関 連 情 報 届 出 受 付 分 析 機 関 受 付 機 関 報 告 された 報 脆 告 弱 された 性 関 連 脆 情 弱 報 性 の 関 連 内 情 容 報 確 の 認 検 証 内 容 確 認 分 析 支 援 機 関 分 析 機 関 脆 弱 性 関 連 情 報 通 知 調 整 機 関 公 表 日 の 決 定 海 外 の 調 整 機 関 との 連 携 等 対 応 状 況 の 集 約 公 表 日 の 調 整 等 対 策 情 報 ポータル 脆 弱 性 対 策 情 報 ポータル ソフト 開 発 者 等 システム 導 入 支 援 者 等 セキュリティ 対 策 推 進 協 議 会 等 対 策 応 方 状 法 況 等 公 表 公 表 ユーザー 政 府 企 業 個 人 Webサイトの 脆 弱 性 脆 弱 性 関 連 情 報 届 出 報 告 された 脆 弱 性 産 総 研 など 脆 弱 性 関 連 脆 情 弱 報 性 通 関 知 連 情 報 通 知 関 連 情 報 の 検 証 Webサイト 運 営 者 Webサイト 運 営 者 検 証 対 策 実 施 個 人 情 報 の 漏 洩 えい 時 は 時 事 は 実 事 関 実 係 関 を 係 公 を 表 公 表 IPA: 独 立 行 政 法 人 情 報 処 理 推 進 機 構 JPCERT/CC: 一 般 社 団 法 人 JPCERT コーディネーションセンター 産 総 研 : 独 立 行 政 法 人 産 業 技 術 総 合 研 究 所 独 立 行 政 法 人 情 報 処 理 推 進 機 構 113-6591 東 京 都 文 京 区 本 駒 込 二 丁 目 28 番 8 号 文 京 グリーンコートセンターオフィス16 階 http://www.ipa.go.jp セキュリティセンター TEL: 03-5978-7527 FAX 03-5978-7518 http://www.ipa.go.jp/security/