DNS ブロッキングによる 児 童 ポルノ 対 策 ガイドライン 第 2 版 2012 年 11 月 2 日 安 心 ネットづくり 促 進 協 議 会 調 査 研 究 委 員 会 児 童 ポルノ 対 策 作 業 部 会 ISP 技 術 者 サブワーキンググループ
改 訂 履 歴 版 数 発 行 日 改 訂 履 歴 第 1 版 2011 年 4 月 28 日 初 版 発 行 第 2 版 2012 年 10 月 日 BIND Response Policy Zone を 使 用 した DNS ブロッキング の 記 述 を 追 加 ( 6 項 ) 商 用 DNS 製 品 を 使 用 した DNS ブロッキングの 概 要 説 明 を 追 加 ( 9 項 ) 2
1. 本 ガイドラインの 目 的... 6 2. 児 童 ポルノ 流 通 防 止 におけるブロッキングの 位 置 づけ... 6 3. DNS ブロッキング 方 式 の 概 要... 6 4. DNS ブロッキング 方 式 の 具 体 的 な 設 定 例... 8 4.1 キャッシュサーバ 上 でブロッキングリストを 保 持 する 方 式 ( 方 式 1)の 設 定 例... 8 4.1.1 構 成... 8 4.1.2 DNS キャッシュサーバの 設 定... 9 4.1.2.1 BIND での 設 定 例... 9 4.1.2.2 unbound での 設 定 例... 10 4.1.3 リダイレクト 用 Web サーバの 設 定... 10 4.1.4 動 作 確 認... 12 4.1.5 DNS ブロッキング 設 定 により 回 答 が 書 き 換 えられる 影 響 範 囲... 15 4.2 別 サーバにてブロッキングリストを 保 持 する 方 式 ( 方 式 2)の 設 定 例... 16 4.2.1 構 成... 16 4.2.2 DNS キャッシュサーバの 設 定 例... 17 4.2.2.1 BIND での 設 定 例... 17 4.2.2.2 unbound での 設 定 例... 18 4.2.3 ブロッキングリスト 管 理 DNS サーバの 設 定... 18 4.2.3.1 BIND での 設 定 例... 18 4.2.3.2 unbound での 設 定 例... 19 4.2.4 リダイレクト 用 Web サーバの 設 定... 19 4.2.5 動 作 確 認... 19 4.2.6 DNS ブロッキング 設 定 により 回 答 が 書 き 換 えられる 影 響 範 囲... 23 4.3 方 式 比 較 および 考 察... 24 4.4. 導 入 手 順... 25 4.4.1 導 入 の 全 体 の 流 れ... 25 4.4.2 具 体 的 な 設 定 例... 26 5. DNS ブロッキング 導 入 に 際 しての 懸 念 事 項... 38 5.1 サービス 提 供 へ 与 える 影 響... 38 5.1.1 ブロッキング 設 定 が DNS サービスに 与 える 影 響... 38 5.1.2 ブロッキングアドレスリスト 更 新 処 理 が DNS サービスに 与 える 影 響... 39 5.1.2.1 BIND の 場 合... 39 5.1.2.2 unbound の 場 合... 39 5.2 DNSSEC 導 入 による 影 響... 40 5.2.1 キャッシュサーバ 上 でブロッキングリストを 保 持 する 方 式 ( 方 式 1)の 場 合 3
... 40 5.2.2 別 サーバにてブロッキングリストを 保 持 する 方 式 ( 方 式 2)の 場 合... 41 6. BIND Response Policy Zone (RPZ) を 使 用 した DNS ブロッキング 方 式... 44 6.1 RPZ 概 要 説 明... 44 6.2 RPZ 構 成 例... 44 6.2.1 RPZ に 対 応 したキャッシュサーバ 上 でブロッキンリストの 更 新 を 行 う 方 式... 44 6.2.2 RPZ に 対 応 したリスト 配 信 サーバから RPZ に 対 応 したキャッシュサーバに ブロッキングリストを 配 信 する 方 式... 45 6.3 設 定 例... 46 6.3.1 RPZ に 対 応 したキャッシュサーバ 上 でブロッキングリストの 更 新 を 行 う 方 式... 46 6.3.2 RPZ に 対 応 したリスト 配 信 サーバから RPZ に 対 応 したキャッシュサーバに ブロッキングリストを 配 信 する 方 式... 51 6.3.2.1 リスト 配 信 サーバの 設 定... 51 6.3.2.2 キャッシュサーバの 設 定... 55 6.4 リダレクト 用 Web サーバの 設 定... 59 6.5 動 作 確 認... 59 6.6 DNS ブロッキング 設 定 により 回 答 が 書 き 換 えられる 範 囲... 59 6.7 RPZ 方 式 比 較 および 考 察... 60 6.7.1 RPZ を 使 用 しない 方 式 と RPZ を 使 用 する 方 式 について... 60 6.7.2 RPZ を 使 用 する 構 成 : リスト 配 信 サーバを 用 意 する 構 成 と 用 意 しない 構 成 について... 60 6.8 DNSSEC 導 入 による 影 響... 61 6.9 導 入 手 順... 61 6.9.1 リスト 配 信 サーバなし 導 入 全 体 の 流 れ... 61 6.9.1.1 リスト 配 信 サーバなし 具 体 的 な 設 定 例... 62 6.9.2 リスト 配 信 サーバを 用 意 する 場 合 導 入 全 体 の 流 れ... 69 6.9.2.1 リスト 配 信 サーバを 用 意 する 場 合 具 体 的 な 設 定 例... 70 7. アドレスリスト 管 理 団 体 とのインタフェース 仕 様... 78 7.1 アドレスリストフォーマット 仕 様... 78 7.2 リスト 受 渡 方 式... 78 7.3 ブロッキング 警 告 画 面... 78 7.4 利 用 者 からの 問 合 せ 対 応... 79 7.5 サイト 管 理 者 からの 問 合 せ 対 応... 79 4
7.6 ブロッキング 警 告 画 面 へのアクセスログの 扱 い... 79 8. 総 括... 80 9. 参 考 : 商 用 DNS 製 品 を 使 用 した DNS ブロッキングの 紹 介... 81 9.1 Infoblox を 使 用 した DNS ブロッキング... 81 9.1.1 Infoblox 会 社 概 要... 81 9.1.2 Infoblox ソリューション 概 要... 81 9.1.3 製 品 概 要... 82 9.1.4 構 成 例... 82 9.1.5 キャッシュサーバ 上 でブロッキングリストを 保 持 する 方 式 の 構 成 例... 82 9.1.6 日 本 国 内 第 一 種 事 業 者 様 での 実 構 成 例... 84 9.1.7 Infoblox 問 い 合 わせ 先... 84 9.2 Nominum を 使 用 した DNS ブロッキング... 84 9.2.1 Nominum 会 社 概 要... 84 9.2.3 Nominum ソリューション 概 要... 85 9.2.4 製 品 概 要... 85 9.2.5 構 成 例... 86 9.2.6 キャッシュサーバ 上 でブロッキングリストを 保 持 する 方 式 の 構 成 例... 86 9.2.7 アドレスリスト 配 信 サーバにてリストを 管 理 保 持 する 方 式 の 構 成 例.. 87 9.2.8 Nominum 問 い 合 わせ 先... 88 5
1. 本 ガイドラインの 目 的 2010 年 7 月 の 犯 罪 対 策 閣 僚 会 議 において 策 定 された 児 童 ポルノ 排 除 総 合 対 策 において 児 童 ポルノ 掲 載 アドレスリストの 迅 速 な 作 成 提 供 等 実 効 性 のあるブロッキングの 自 主 的 導 入 に 向 け た 環 境 整 備 ISP による 実 効 性 のあるブロッキングの 自 主 的 導 入 の 促 進 が 盛 り 込 まれ 民 間 主 導 による 検 討 が 進 められてきた 児 童 ポルノ 掲 載 アドレスリスト( 以 下 アドレスリスト)の 管 理 作 成 団 体 については 民 間 により 一 般 社 団 法 人 インターネットコンテンツセーフティ 協 会 1 がアドレスリスト 管 理 団 作 成 団 体 として 設 立 選 定 され 2011 年 4 月 1 日 より ISP 事 業 者 や 検 索 事 業 者 等 へのアドレスリストの 提 供 が 開 始 されることとなった 一 方 で ISP においてもア ドレスリスト 提 供 に 合 わせてブロッキング 実 施 に 向 けた 検 討 を 各 社 行 ってきている 2010 年 6 月 に ISP 技 術 者 サブワーキンググループでとりまとめた 報 告 書 では ブロッキングに 関 する ISP へのアンケート 結 果 として 採 用 可 能 なブロッキング 方 式 として 回 答 のあった ISP の 4 割 強 が DNS を 利 用 したブロッキング( 以 下 DNS ブロッキング 方 式 )をあげていることから 広 く 利 用 されることが 想 定 される DNS ブロッキング 方 式 についての 標 準 的 な 実 施 方 法 等 をドキュメント 化 することが 児 童 ポルノ 対 策 を 推 進 する 上 でも 重 要 となってきている 本 ガイドラインでは DNS ブロッキング 方 式 について 具 体 的 な 設 定 方 法 や 導 入 において 注 意 す べき 点 について 運 用 面 も 含 めて 解 説 を 行 うものであり DNS を 利 用 したブロッキング 導 入 に 向 け て ISP が 検 討 を 行 う 上 での 参 考 に 資 することを 目 的 としている 2. 児 童 ポルノ 流 通 防 止 におけるブロッキングの 位 置 づけ ブロッキングは 利 用 者 がアクセスしようとするサイトのホスト 名 IP アドレス URL 等 の 情 報 を ISP が 監 視 し それがブロッキング 対 象 であった 場 合 に 利 用 者 の 同 意 を 得 ることなくその 通 信 を 遮 断 する 行 為 であるが これは 通 信 の 秘 密 を 侵 害 する 行 為 である しかし 児 童 の 権 利 を 著 し く 侵 害 し 児 童 からの 性 的 搾 取 ないし 性 的 虐 待 というべき 児 童 ポルノ 画 像 を 掲 載 しているサイト に 対 するアクセスについては そのサイトの 検 挙 や 削 除 が 著 しく 困 難 な 場 合 に 限 り より 侵 害 性 の 少 ない 手 法 と 考 えられるブロッキングを 実 施 することでサイトへのアクセスを 抑 止 すること は 許 容 されるものであると 考 えられる 2 3. DNS ブロッキング 方 式 の 概 要 ブロッキングの 方 式 には 大 きく 分 けて 1DNS により ホスト 名 あるいはドメイン 名 を IP ア ドレスに 変 換 する 際 にブロッキングを 行 う DNS ブロッキング 方 式 2 本 通 信 の 際 に IP ヘッダ 内 の 宛 先 IP アドレスもしくは HTTP コンテンツ 部 に 含 まれるアクセス 先 URL 情 報 を 元 にブロッキ 1 http://www.netsafety.or.jp/ 2 詳 細 については 法 的 問 題 検 討 SWG 報 告 書 参 照 のこと(http://good-net.jp/files/20110210114454.pdf) 6
ングを 行 う パケットフィルタリング 方 式 3HTTP プロキシにより HTTP 通 信 を 一 旦 終 端 した 上 でアクセス 先 URL 情 報 を 元 にブロッキングを 行 う プロキシ 方 式 4これらの 方 式 の 組 合 せ によりブロッキングを 行 う ハイブリッドフィルタリング 方 式 の4つの 方 式 に 分 類 することが できる 3 このうちの DNS ブロッキング 方 式 は 通 信 の 際 に 行 う DNS の 名 前 解 決 の 要 求 に 対 して 該 当 の ドメインあるいはホスト 名 に 対 応 する 実 際 の IP アドレスを 端 末 側 に 応 答 するのではなく 児 童 ポルノ 掲 載 サイトへアクセスしようとしていることを 警 告 するサイトの IP アドレスを 代 わりに 応 答 することで 利 用 者 が 児 童 ポルノサイトに 閲 覧 することをブロックする 方 式 である 新 たに 大 きな 設 備 投 資 を 行 うことなく 導 入 が 容 易 であると 考 えられている 一 方 で ドメイン 単 位 あるい はホスト 名 単 位 のブロッキングであるため 児 童 ポルノとは 関 係 ないコンテンツまでブロックし てしまう オーバーブロッキング が 発 生 することが 問 題 であると 考 えられている DNS ブロッキングを 実 施 するに 際 しては 児 童 ポルノ 掲 載 サイトについて 一 律 にドメイン 部 分 を 抽 出 してアドレスリストを 作 成 するのではなく ドメインあるいはホスト 単 位 でのブロッキン グが 許 容 されると 考 えられる 判 定 基 準 を 策 定 し DNS ブロッキング 用 のアドレスリストを 作 成 す ることでオーバーブロッキングを 極 力 回 避 するしくみとすることが 重 要 である 4 一 方 で DNS ブロッキング 方 式 は 画 像 単 位 でブロッキング 可 能 な 方 式 と 比 較 するとブロッキング 可 能 なサイ トが 少 ないと 考 えられることから 効 果 は 限 定 的 である ただし 導 入 が 簡 単 なことから 広 く ISP として 普 及 させることが 容 易 な 方 式 であると 考 えられ 最 低 限 としての 対 策 としては 一 定 の 効 果 は 創 出 することができるものと 考 えられる 3 各 方 式 の 詳 細 は ISP 技 術 者 サブワーキング 報 告 書 を 参 照 のこと (http://good-net.jp/usr/imgbox/pdf/20110411182350.pdf) 4 アドレスリスト 作 成 管 理 の 在 り 方 サブワーキンググループ 最 終 報 告 書 を 参 照 のこと (http://) 7
4. DNS ブロッキング 方 式 の 具 体 的 な 設 定 例 DNS によるブロッキングを 実 現 する 方 法 としては ブロッキング 対 象 のアドレスリスト( 以 下 ブロッキングアドレスリスト)をどこで 管 理 するかによって 1DNS キャッシュサーバそれ 自 体 でアドレスリストを 保 持 管 理 する 方 法 2DNS キャッシュサーバとは 別 サーバにてアドレスリ ストを 保 持 管 理 する 方 法 の2つの 方 法 が 考 えられる ここでは 一 般 的 に 広 く ISP にて 利 用 さ れていると 思 われる Internet Systems Consortium の BIND 5 と NLnet Labs の unbound 6 の2つの オープンソースソフトによって これらの2つの 方 法 における 具 体 的 な 設 定 例 を 紹 介 する 4.1 キャッシュサーバ 上 でブロッキングリストを 保 持 する 方 式 ( 方 式 1)の 設 定 例 4.1.1 構 成 example.jp ドメイン 内 の Web サイト www.example.jp (192.168.0.1)へのアクセスに 対 してブ ロッキングを 行 い その 通 信 をリダイレクト 用 Web サーバ(192.168.0.10)に 誘 導 し そこでブロ ッキング 警 告 画 面 を 表 示 させる 設 定 について 説 明 する 図 1にあるように ISP にて 運 用 中 の DNS キャッシュサーバに 加 えて ブロッキング 警 告 画 面 として 利 用 するリダイレクト 用 Web サーバを 準 備 する 必 要 がある 5 http://www.isc.org/software/bind 6 http://www.unbound.net/ 8
図 1 DNS キャッシュサーバでブロッキングリストを 保 持 する 場 合 の 構 成 例 4.1.2 DNS キャッシュサーバの 設 定 7 4.1.2.1 BIND での 設 定 例 ここでは BIND9.7.2-P3 (2010 年 11 月 30 日 リリース)での 設 定 方 法 について 説 明 する 1 DNS キャッシュサーバ 上 にブロッキングする www.example.jp ゾーンを 作 成 する ブロッキングする www.example.jp をマスタゾーンとして named.conf ファイルにて 下 記 のよう に 定 義 する named.conf zone "www.example.jp" { type master; file "www.example.jp.db"; }; 2 www.example.jp のゾーンファイル www.example.jp.db を 作 成 する www.example.jp の A AAAA レコードとして リダイレクトさせるリダイレクト 用 Web サーバ の IPアドレス 192.168.0.10 および fe80::216:36ff:fe68:51e4 を www.example.jp.db ファイル に 登 録 する www.example.jp.db $TTL 10 www.example.jp. 10 IN SOA admin.www.example.jp. admin.www.example.jp. ( 2010120908 ; serial 7200 ; refresh (2 hours) 3600 ; retry (1 hour) 604800 ; expire (1 week) 600 ; minimum (10 minutes) ) 7 BIND で 特 定 のドメインへの DNS 問 合 せをブロッキングする 機 能 をもつ Response Policy Zone が 開 発 中 であり BIND9.8 から 実 装 される 予 定 である(ベータ 版 が BIND9.8.0 b1 でリリース 済 ) 9
10 IN NS ns.www.example.jp. ns.www.example.jp. 10 IN A 192.168.0.100 ns.www.example.jp. 10 IN AAAA fe80::216:36ff:fed9:5790 www.example.jp. 10 IN A 192.168.0.10 www.example.jp. 10 IN AAAA fe80::216:36ff:fe68:51e4 4.1.2.2 unbound での 設 定 例 unbound 1.4.7 (2010 年 11 月 8 日 リリース)での 設 定 方 法 について 説 明 する DNS キャッシュサーバにおいて local-data オプションを 使 用 し www.example.jp の A レコ ードおよび AAAA レコードとして リダイレクト 先 となるリダイレクト 用 Web サーバの IP アドレ ス 192.168.0.10 および fe80::216:36ff:fe68:51e4 を unbound.conf ファイルに 登 録 する unbound.conf local-data: "www.example.jp 10 IN A 192.168.0.10" local-data: "www.example.jp 10 IN AAAA fe80::216:36ff:fe68:51e4" 4.1.3 リダイレクト 用 Web サーバの 設 定 ここでは Apache2.2.14 を 使 用 して リダイレクト 用 Web サーバの 設 定 方 法 について 説 明 する リダイレクト 用 Web サーバにおいては 実 際 にアクセスしようとするドメイン 部 分 がこの Web サーバの IP アドレスに 変 換 されるが HTTP ホストヘッダ URL パスはそのまま 引 き 継 がれるこ とを 想 定 して HTTP ホストヘッダ URL パスがどのような 文 字 列 があってもブロッキング 警 告 画 面 を 表 示 することが 必 要 となる 1 ブロッキングされた 旨 を 警 告 する 警 告 画 面 index.html を 準 備 する 8 index.htm <html> <body> DNS ブロッキングにより リダイレクトされました </body> </html> 8 実 施 のブロッキング 警 告 画 面 についてはアドレスリスト 管 理 団 体 から ISP に 対 して 共 通 なものが 提 供 さ れる(7.3 項 参 照 ) 10
2 ブロッキング 対 象 アドレス(www.example.jp)に 対 するアクセスに 対 してブロッキング 警 告 画 面 (www.redirect-example.jp/index.html)が 表 示 されるように httpd.conf ファイルにて VirtualHost を 2 つ 作 成 し リダイレクト 先 の 指 定 を 行 うことで1 台 のサーバにて 設 定 を 行 うこ とが 可 能 になる 下 記 の httpd.conf の 例 において 1 番 目 の VirtualHost は ブロッキング 警 告 画 面 にリダイ レクトするための 設 定 で RedirectMatch (.*)の 記 述 により このサイトにアクセスしようとす る URL パスがどのような 文 字 列 でも www.redirect-example.jp/index.html にリダイレクトさ れる このリダイレクトに 際 しては HTTP ステータスコードとしては 307 Temporary Redirect を 返 すことにする また ServerName * により HTTP ホストヘッダがどのような 文 字 列 でも (www.redirect-example.jp は 除 く) 1 番 目 の VirtualHost にヒットする この 設 定 により HTTP ホストヘッダ URL パスがどのような 文 字 列 でも 1 番 目 の VirtualHost にマッチし ブロッキ ング 警 告 画 面 (www.redirect-example.jp/index.html)にリダイレクトされる リダイレクト 後 の HTTP ホストヘッダは www.redirect-example.jp となり 2 番 目 の ServerName www.redirect-example.jp と 文 字 列 が 一 致 するため 2 番 目 の VirtualHost にマッチし 警 告 画 面 (http://www.redirect-example.jp/index.html)が 表 示 される httpd.conf # ブロッキング 警 告 画 面 へのリダイレクト 用 VirtualHost <VirtualHost 192.168.0.10:80> RedirectMatch 307 (.*) http://www.redirect-example.jp/index.html リダイレクト 先 ServerName * ErrorLog /var/log/httpd/bad_error_log TransferLog /var/log/httpd/bad_access_log </VirtualHost> # ブロッキング 警 告 画 面 表 示 用 <VirtualHost 192.168.0.10:80> DocumentRoot /var/www/html/redirect ServerName www.redirect-example.jp 警 告 画 面 ホストのドメイン 名 を 指 定 する ErrorLog /var/log/httpd/redirect_error_log TransferLog /var/log/redirect_access_log </VirtualHost> 11
4.1.4 動 作 確 認 1 DNS キャッシュサーバ 上 で dig により www.example.jp に 対 する 名 前 解 決 を 実 施 すし 回 答 として 書 き 換 えられた 192.168.0.10 (A レコード)および fe80::216:36ff:fe68:51e4 (AAAA レコード)が 得 られるかどうかを 確 認 する [BIND を 使 用 した 場 合 の 動 作 確 認 による 表 示 例 ] A レコード キャッシュサーバ# dig @127.0.0.1 www.example.jp A ; <<>> DiG 9.7.2-P3 <<>> @127.0.0.1 www.example.jp ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26252 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2 ;; QUESTION SECTION: ;www.example.jp. IN A ;; ANSWER SECTION: www.example.jp. 10 IN A 192.168.0.10 ;; AUTHORITY SECTION: www.example.jp. 10 IN NS ns.www.example.jp. 12
;; ADDITIONAL SECTION: ns.www.example.jp. 10 IN A 192.168.0.100 ns.www.example.jp. 10 IN AAAA fe80::216:36ff:fed9:5790 AAAA レコード root@ubuntu-4:~# dig @::1 www.example.jp AAAA ; <<>> DiG 9.7.2-P3 <<>> @::1 www.example.jp AAAA ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28992 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2 ;; QUESTION SECTION: ;www.example.jp. IN AAAA ;; ANSWER SECTION: www.example.jp. 10 IN AAAA fe80::216:36ff:fe68:51e4 ;; AUTHORITY SECTION: www.example.jp. 10 IN NS ns.www.example.jp. ;; ADDITIONAL SECTION: ns.www.example.jp. 10 IN A 192.168.0.100 ns.www.example.jp. 10 IN AAAA fe80::216:36ff:fed9:5790 2 同 様 に リゾルバが DNS キャッシュサーバに www.example.jp の 名 前 解 決 を 依 頼 すると そ の 回 答 として 書 き 換 えられた 192.168.0.10 (A レコード)および fe80::216:36ff:fe68:51e4 (AAAA レコード)を 得 られることを 確 認 する [BIND を 使 用 した 場 合 の 動 作 確 認 による 表 示 例 ] A レコード リゾルバ# dig @192.168.0.100 www.example.jp A 13
; <<>> DiG 9.7.0-P1 <<>> @192.168.0.100 www.example.jp A ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55703 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2 ;; QUESTION SECTION: ;www.example.jp. IN A ;; ANSWER SECTION: www.example.jp. 10 IN A 192.168.0.10 ;; AUTHORITY SECTION: www.example.jp. 10 IN NS ns.www.example.jp. ;; ADDITIONAL SECTION: ns.www.example.jp. 10 IN A 192.168.0.100 ns.www.example.jp. 10 IN AAAA fe80::216:36ff:fed9:5790 AAAA レコード リゾルバ# dig @fe80::216:36ff:fed9:5790 www.example.jp AAAA ; <<>> DiG 9.7.0-P1 <<>> @fe80::216:36ff:fed9:5790 www.example.jp AAAA ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10709 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2 ;; QUESTION SECTION: ;www.example.jp. IN AAAA ;; ANSWER SECTION: www.example.jp. 10 IN AAAA fe80::216:36ff:fe68:51e4 14
;; AUTHORITY SECTION: www.example.jp. 10 IN NS ns.www.example.jp. ;; ADDITIONAL SECTION: ns.www.example.jp. 10 IN A 192.168.0.100 ns.www.example.jp. 10 IN AAAA fe80::216:36ff:fed9:5790 3 リゾルバ 上 の Web ブラウザで www.example.jp へアクセスしようとした 際 に 本 来 アクセス しようとしたサイトではなくリダイレクト 用 Web サーバへアクセスされ ブロッキング 警 告 画 面 が 表 示 さ れ る こ と を 確 認 す る こ の 際 に は リ ゾ ル バ は DNS キ ャ ッ シ ュ サ ー バ と し て 192.168.0.100 または fe80::216:36ff:fed9:5790 を 設 定 しているものとする 4.1.5 DNS ブロッキング 設 定 により 回 答 が 書 き 換 えられる 影 響 範 囲 4.1.2 項 での 設 定 のように www.example.jp がアドレスリストに 掲 載 されている 場 合 の 設 定 を DNS キャッシュサーバに 行 うことで ブロッキング 対 象 としてブロッキングの 設 定 がされたドメ インあるいはホスト 名 (この 例 の 場 合 は www.example.jp)については 表 1および 表 2のように DNS のリソースレコードが 書 き 換 えられる www.example.jp 以 外 の example.jp ドメインのサブ ドメインあるいはホスト 名 については それがブロッキング 対 象 のものと 同 一 ドメイン (example.jp)であったとしても 完 全 に 一 致 しない 場 合 には 該 当 ドメインの 正 規 な 権 威 サーバに 対 して DNS キャッシュサーバから 問 合 せを 行 うことにより 書 き 換 えられていない 正 常 な DNS の 回 答 を 返 すことができる ただし example.jp ドメイン 自 体 がアドレスリストに 掲 載 され example.jp ドメイン 自 体 の 設 定 が 行 われた 場 合 かつ BIND を 利 用 する 場 合 においては example.jp ドメインのサブドメインあるいはホスト 名 に 対 する 名 前 解 決 については NXDOMAIN が 返 され 名 前 解 決 に 失 敗 することとなるため 注 意 が 必 要 である unbound を 利 用 する 場 合 にはこの 15
ようなことは 発 生 しない クエリ クエリタイプ 問 い 合 わせ 先 名 前 解 決 結 果 *.example.jp (www.example.jpは 除 く) www.example.jp 全 てのクエリタイプ example.jpの 権 威 サーバ example.jpの 権 威 サーバからの 回 答 SOA NS A AAAA その 他 キャッシュサーバ 上 の ゾーンファイル キャッシュサーバ 上 のSOA キャッシュサーバ 上 のNS キャッシュサーバ 上 のA キャッシュサーバ 上 のAAAA 登 録 されていないレコードの 回 答 は 得 られない 表 1 DNS キャッシュサーバが BIND の 場 合 の 名 前 解 決 結 果 ( 注 : * は 任 意 の 文 字 列 ) クエリ クエリタイプ 問 い 合 わせ 先 名 前 解 決 結 果 *.example.jp (www.example.jpは 除 く) www.example.jp 全 てのクエリタイプ example.jpの 権 威 サーバ example.jpの 権 威 サーバからの 回 答 A AAAA その 他 unbound.confのlocal-data の 情 報 local-data A の 情 報 local-data AAAA の 情 報 表 2 DNS キャッシュサーバが unbound の 場 合 の 名 前 解 決 結 果 local-dataに 登 録 されていないレコードの 回 答 は 得 られない ( 注 : * は 任 意 の 文 字 列 ) 4.2 別 サーバにてブロッキングリストを 保 持 する 方 式 ( 方 式 2)の 設 定 例 4.2.1 構 成 図 2 にあるように ブロッキングの 対 象 となるドメインについてのゾーンファイルを 一 元 的 に 管 理 するブロッキングリスト 管 理 DNS サーバを DNS キャッシュサーバとは 別 に 用 意 し DNS キャ ッシュサーバはブロッキングアドレスリスト 対 象 のドメインあるいはホスト 名 に 対 する DNS 問 合 せについてはブロッキングリスト 管 理 DNS サーバへその 問 合 せを 転 送 する ブロッキングリス ト 管 理 DNS サーバでは 問 合 せに 対 してリダイレクト 先 Web サーバの IP アドレスを 回 答 するこ とで 閲 覧 者 に 対 してブロッキング 警 告 画 面 を 表 示 させる 以 下 では example.jp ゾーンの Web サイト www.example.jp (192.168.0.1)へのアクセスをブロックし リダイレクト 先 Web サーバ (192.168.0.10)に 誘 導 する 方 法 について 説 明 する 16
図 2 別 サーバにてブロッキングリストを 保 持 する 方 式 場 合 の 構 成 例 4.2.2 DNS キャッシュサーバの 設 定 例 4.2.2.1 BIND での 設 定 例 ここでは BIND9.7.2-P3 (2010 年 11 月 30 日 リリース)を 使 用 した 設 定 例 について 説 明 する named.conf ファイルにおいて forward オプションを 使 用 し ブロッキング 対 象 である www.example.jp に 関 す る DNS 問 合 せ に つ い て は ブ ロ ッ キ ン グ リ ス ト 管 理 DNS サ ー バ (192.168.0.200 および fe80::216:36ff:fed9:5790)に 転 送 させるよう 設 定 する その 場 合 forward only とすることで ブロッキングリスト 管 理 DNS サーバのみに 問 合 せを 行 うよう 設 定 を 行 う name.conf zone "www.example.jp" { type forward; forward only; forwarders { 192.168.0.200; fe80::216:36ff:fe92:9fb; }; 17
}; 4.2.2.2 unbound での 設 定 例 ここでは unbound 1.4.7 (2010 年 11 月 8 日 リリース)を 使 用 した 設 定 例 について 説 明 する unbound.conf ファイルにおいて forward-zone オプションを 使 用 し ブロッキング 対 象 である www.example.jp に 関 す る DNS 問 合 せ に つ い て は ブ ロ ッ キ ン グ リ ス ト 管 理 DNS サ ー バ (192.168.0.200 および fe80::216:36ff:fe92:9fb)に 転 送 させるように 設 定 を 行 う unbound.conf forward-zone: name: "www.example.jp" forward-addr: 192.168.0.200 forward-addr: fe80::216:36ff:fe92:9fb 4.2.3 ブロッキングリスト 管 理 DNS サーバの 設 定 4.2.3.1 BIND での 設 定 例 ここでは BIND9.7.2-P3 (2010 年 11 月 30 日 リリース)を 使 用 した 設 定 例 について 説 明 する 1 ブロッキング 対 象 である www.example.jp をゾーンとして named.conf ファイルに 登 録 し www.example.jp をマスタゾーンとして 定 義 する named.conf zone "www.example.jp" { type master; file "www.example.jp.db"; }; 2 www.example.jp ゾーンのゾーンファイル として www.example.jp.db ファイルを 作 成 する www.example.jp.db ファイルでは www.example.jp の A レコードとして リダイレクト 先 Web サーバの IP アドレス 192.168.0.10 および fe80::216:36ff:fe68:51e4 を 登 録 する 18
www.example.jp.db $TTL 10 www.example.jp. 10 IN SOA admin.www.example.jp. admin.www.example.jp. ( 2010120908 ; serial 7200 ; refresh (2 hours) 3600 ; retry (1 hour) 604800 ; expire (1 week) 600 ; minimum (10 minutes) ) 10 IN NS ns.www.example.jp. ns.www.example.jp. 10 IN A 192.168.0.200 ns.www.example.jp. 10 IN AAAA fe80::216:36ff:fe92:9fb www.example.jp. 10 IN A 192.168.0.10 www.example.jp. 10 IN AAAA fe80::216:36ff:fe68:51e4 4.2.3.2 unbound での 設 定 例 ここでは unbound 1.4.7 (2010 年 11 月 8 日 リリース)を 使 用 した 設 定 例 について 説 明 する unbound.conf ファイルにおいて local-data オプションを 使 用 し ブロッキング 対 象 である www.example.jp の A レコードおよび AAAA レコードとしてリダイレクト 先 Web サーバの IP アド レス 192.168.0.10 および fe80::216:36ff:fe68:51e4 を 登 録 する unbound.conf local-data: "www.example.jp 10 IN A 192.168.0.10" local-data: "www.example.jp 10 IN AAAA fe80::216:36ff:fe68:51e4" 4.2.4 リダイレクト 用 Web サーバの 設 定 方 式 1の 場 合 と 同 様 の 手 順 により 設 定 を 行 う(4.1.3 項 参 照 ) 4.2.5 動 作 確 認 1 ブロッキングリスト 管 理 DNS サーバが 正 常 にブロッキングドメインを 読 み 込 んでいるか 確 認 するため ブロッキングリスト 管 理 DNS サーバ 上 で www.example.jp の 名 前 解 決 を 行 い それに 対 する 回 答 として Answer Section に 書 き 換 えられた 回 答 である IP アドレス 192.168.0.10(A レコ 19
ード) および fe80::216:36ff:fe68:51e4(aaaa レコード)が 得 られることを 確 認 する [BIND を 使 用 した 場 合 の 動 作 確 認 による 表 示 例 ] A レコード ブロッキングリスト 管 理 DNS# dig @127.0.0.1 www.example.jp A ; <<>> DiG 9.7.2-P3 <<>> @127.0.0.1 www.example.jp A ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45864 ;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2 ;; WARNING: recursion requested but not available ;; QUESTION SECTION: ;www.example.jp. IN A ;; ANSWER SECTION: www.example.jp. 10 IN A 192.168.0.10 AAAA レコード ブロッキングリスト 管 理 DNS# dig @::1 www.example.jp AAAA root@ubuntu-4:~# dig @::1 www.example.jp AAAA ; <<>> DiG 9.7.2-P3 <<>> @::1 www.example.jp AAAA ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55955 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2 ;; QUESTION SECTION: ;www.example.jp. IN AAAA 20
;; ANSWER SECTION: www.example.jp. 10 IN AAAA fe80::216:36ff:fe68:51e4 2 次 に DNS キャッシュサーバ 上 で www.example.jp の 名 前 解 決 を 実 施 することで それに 対 す る 回 答 と し て 書 き 換 え ら れ た 回 答 で あ る 192.168.0.10(A レ コ ー ド ) お よ び fe80::216:36ff:fe68:51e4(aaaa レコード)が 得 られることを 確 認 する [BIND を 使 用 した 場 合 の 動 作 確 認 による 表 示 例 ] A レコード キャッシュサーバ# dig @127.0.0.1 www.example.jp A ; <<>> DiG 9.7.2-P3 <<>> @127.0.0.1 www.example.jp A ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43660 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2 ;; QUESTION SECTION: ;www.example.jp. IN A ;; ANSWER SECTION: www.example.jp. 10 IN A 192.168.0.10 AAAA レコード root@ubuntu-4:~# dig @::1 www.example.jp AAAA ; <<>> DiG 9.7.2-P3 <<>> @::1 www.example.jp AAAA ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 36821 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2 21
;; QUESTION SECTION: ;www.example.jp. IN AAAA ;; ANSWER SECTION: www.example.jp. 10 IN AAAA fe80::216:36ff:fe68:51e4 3 同 様 に リゾルバが DNS キャッシュサーバ(192.168.0.100)に www.example.jp の 名 前 解 決 を 実 施 することで それに 対 する 回 答 として 書 き 換 えられた 回 答 192.168.0.10(A レコード)およ び fe80::216:36ff:fe68:51e4(aaaa レコード)が 得 られることを 確 認 する [BIND を 使 用 した 場 合 の 動 作 確 認 による 表 示 例 ] A レコード リゾルバ# dig @192.168.0.100 www.example.jp A ; <<>> DiG 9.7.0-P1 <<>> @192.168.0.100 www.example.jp A ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60923 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2 ;; QUESTION SECTION: ;www.example.jp. IN A ;; ANSWER SECTION: www.example.jp. 10 IN A 192.168.0.10 AAAA レコード リゾルバ# dig @fe80::216:36ff:fed9:5790 www.example.jp AAAA ; <<>> DiG 9.7.0-P1 <<>> @fe80::216:36ff:fed9:5790 www.example.jp AAAA ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28214 22
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2 ;; QUESTION SECTION: ;www.example.jp. IN AAAA ;; ANSWER SECTION: www.example.jp. 10 IN AAAA fe80::216:36ff:fe68:51e4 4 リゾルバ 上 の Web ブラウザからブロッキング 対 象 サイト www.example.jp にアクセスすると リダイレクト 先 Web サーバでブロッキング 警 告 画 面 が 表 示 されるかを 確 認 する リゾルバにおいて DNS キャッシュサーバは 192.168.0.100 に 設 定 しているものとする 4.2.6 DNS ブロッキング 設 定 により 回 答 が 書 き 換 えられる 影 響 範 囲 4.1.5 と 同 様 www.example.jp を DNS キャッシュサーバに 設 定 した 場 合 には ブロッキング 対 象 ドメインあるいはホスト 名 (この 例 の 場 合 は www.example.jp)に 完 全 一 致 した 場 合 にのみ DNS 問 合 せの 回 答 が 書 き 換 えられ www.example.jp 以 外 の example.jp ドメインのサブドメイン やホスト 名 についてはブロッキング 対 象 のドメイン 名 (example.jp)が 含 まれている 場 合 におい ても DNS 問 合 せは 正 規 な 権 威 サーバに 対 して DNS キャッシュサーバから 問 合 せが 行 われること で 書 き 換 えられていない 正 常 な DNS の 回 答 を 返 すことができる ただし example.jp ドメイ ン 自 体 がアドレスリストに 掲 載 され example.jp ドメイン 自 体 を DNS キャッシュサーバに 設 定 した 場 合 かつ BIND を 利 用 する 場 合 においては example.jp ドメインのサブドメインおよび ホスト 名 に 対 する 名 前 解 決 については NXDOMAIN が 返 され 名 前 解 決 に 失 敗 することとなるため 注 意 が 必 要 である unbound を 利 用 する 場 合 には このようなことは 発 生 しない 23
( 注 : * は 任 意 の 文 字 列 ) 表 3 DNS キャッシュサーバが BIND の 場 合 の 名 前 解 決 結 果 クエリ クエリタイプ 問 い 合 わせ 先 名 前 解 決 結 果 *.example.jp (www.example.jpは 除 く) www.example.jp 全 てのクエリタイプ example.jpの 権 威 サーバ example.jpの 権 威 サーバからの 回 答 A AAAA その 他 forwardで 指 定 したDNS 表 4 DNS キャッシュサーバが unbound の 場 合 の 名 前 解 決 結 果 forwardで 指 定 したDNSのlocal-data A forwardで 指 定 したDNSのlocal-data AAAA 登 録 されていないレコードの 回 答 は 得 られない ( 注 : * は 任 意 の 文 字 列 ) 4.3 方 式 比 較 および 考 察 これまでに 設 定 方 法 について 述 べてきた2つの 方 式 ブロッキングアドレスリストを DNS キ ャッシュサーバにて 保 持 する 方 式 と 別 なドメインリスト 管 理 サーバにて 保 持 する 方 式 について 比 較 を 行 うと 後 者 はブロッキング 対 象 ドメインのゾーンファイル 自 体 は 集 中 管 理 が 可 能 ではあ るが 設 定 作 業 に 際 して DNS キャッシュサーバ 側 においてもドメインリスト 管 理 サーバへの DNS 問 合 せの 転 送 設 定 がリスト 追 加 に 際 して 必 要 であること およびリスト 更 新 に 際 しては DNS キャ ッシュサーバ 側 においてもキャッシュクリア 作 業 も 必 要 となることからリストの 集 中 管 理 によ る 運 用 管 理 上 のメリットはそれほど 大 きくないと 考 えられる また 詳 細 は 5.2 項 において 詳 し く 述 べるが ブロッキング 対 象 ドメインが DNSSEC 対 応 となった 場 合 ドメインを 管 理 している サーバにおいて 鍵 の 生 成 を 行 わないと 該 当 ドメインへの 問 合 せが ServFail により 名 前 解 決 がで きなくなることから ドメインリストを 別 のドメインリスト 管 理 サーバに 保 持 した 場 合 は DNSSEC の 鍵 生 成 作 業 がドメインリスト 管 理 サーバにおいて 必 要 となってくる これらのことを 考 えると ブロッキングアドレスリストを DNS キャッシュサーバにて 保 持 する 方 式 の 方 が 運 用 的 な 面 からは 望 ましいと 考 えられる 24
ブロッキングリストを 保 持 するサーバ ブロッキングリストの 更 新 対 象 サーバ ブロッキングリスト 更 新 時 のキャッシュクリア DNSSEC の 干 渉 表 5 方 式 比 較 DNS キャッシュサーバ 上 にリ ストを 保 持 ( 方 式 1) DNS キャッシュサーバ DNS キャッシュサーバのリス トを 更 新 必 要 なし キャッシュされているブロッ キング 対 象 ドメインの 情 報 は リスト 更 新 を 実 施 することで リスト 更 新 情 報 が DNS キャッ シュサーバに 反 映 される ブロッキング 対 象 ドメインへ の DNS 問 合 せの 回 答 は BIND unbound ともに DNSSEC 対 応 で はない 回 答 がリゾルバに 対 し て 返 される DNS キャッシュサーバとは 別 サー バ 上 にリストを 保 持 ( 方 式 2) DNS キャッシュサーバ ブロッキングリスト 管 理 サーバ DNS キャッシュサーおよびブロッ キングリスト 管 理 サーバでのリ ストを 更 新 必 要 あり キャッシュされているブロッキ ング 対 象 ドメインの 情 報 は DNS キャッシュサーバのクリアがさ れない 限 りそれが expire するま で ブロッキングリスト 管 理 サー バの 更 新 された 情 報 への 問 合 せ を 行 わない ブロッキング 対 象 ドメイン 用 に ついて 署 名 するための 秘 密 鍵 お よび 公 開 鍵 をブロッキングリス ト 管 理 サーバにて 作 成 する 必 要 がある この 鍵 生 成 を 行 わない 場 合 該 当 ドメインへの 問 合 せは ServFail エラーがリゾルバに 対 して 返 され ブロッキング 警 告 画 面 の 表 示 ができない 4.4. 導 入 手 順 本 項 では DNS ブロッキングの 設 定 を 行 うためにいくつかのサンプルスクリプトを 用 いて 具 体 的 なブロッキングを 導 入 するための DNS キャッシュサーバの 設 定 を 説 明 する 4.4.1 導 入 の 全 体 の 流 れ ブロッキングアドレスリストをアドレスリスト 管 理 団 体 から 取 得 し そのリストからブロッキ 25
ング 対 象 ドメインを 抽 出 したリストについて DNS キャッシュサーバに 設 定 を 行 い ブロッキング 対 象 ドメインを DNS キャッシュサーバに 読 み 込 む この 一 連 の 手 順 は 以 下 のような 流 れになる 1アドレスリスト 管 理 団 体 からリストを 取 得 2 取 得 したリストからDNSブロッキング 用 のゾ ーンリストを 作 成 3DNSブロッキング 用 のゾーンリストをDNS キャッシュサーバにアップロードする 4DNSキャッシュサーバにブロッキング 用 のゾ ーンを 登 録 する 4.4.2 具 体 的 な 設 定 例 以 下 に 上 記 の 手 順 に 従 って 具 体 的 な 設 定 例 の 説 明 を 行 う 1 アドレスリスト 管 理 団 体 からリストを 取 得 アドレスリスト 管 理 団 体 からブロッキングアドレスリストを 取 得 する リストの 受 渡 方 法 は 7.2 項 を 参 照 されたい 取 得 したリストは セキュリティ 上 セキュアな 領 域 に 保 存 アクセス 制 限 を 行 うことが 望 ましい 26
2 取 得 したリストから DNS ブロッキング 用 のゾーンリストを 作 成 DNS ブロッキング 用 ゾーンリストの 作 成 について awk スクリプトを 使 用 した 例 を 用 いて 説 明 を 行 う awk スクリプトを 実 行 できるマシン 上 にアドレスリスト 管 理 団 体 より 取 得 したリストが あるとして DNS ブロッキング 用 ゾーンリストの 作 成 方 法 について 説 明 する ここでは 取 得 したリスト(CSV ファイル)の 2 列 目 を 掲 載 ページのホスト 名 5 列 目 を 掲 載 ページのブロッキング 可 否 として それらの 項 目 を 抽 出 する 例 について 記 述 する 下 記 の awk スクリプトによって DNS ブロッキング 用 のリスト 作 成 で 必 要 となる 2 列 目 と 5 列 目 のみを 抽 出 したときの 表 示 例 である ( 1 はブロッキング 可 0 はブロッキング 否 を 意 味 する) # awk -F, '{print $2,$5}' blocking_list_sample.csv 2 5 掲 載 ページのホスト 名 掲 載 ページの DNS ブロッキング 可 否 bad.example1.jp 1 ブロッキング 可 abc.example1.jp 0 ブロッキング 否 bad.example2.jp 1 bad.example3.jp 1 bad.example4.jp 1 abc.example2.jp 0 bad.example5.jp 1 bad.example6.jp 1 abc.example3.jp 0 bad.example7.jp 1 bad.example8.jp 1 bad.example9.jp 1 bad.example7.jp 1 bad.example8.jp 1 bad.example9.jp 1 bad.example10.jp 1 awk ス ク リ プ ト で DNS ブ ロ ッ キ ン グ 可 の ホ ス ト 名 の み 抽 出 し た リ ス ト blocking_list_sample.txt を 作 成 する このスクリプトは リストの 5 列 目 ( 掲 載 ページのブロ ッキング 可 否 )のフラグが 1(DNS ブロッキング 可 )のホスト 名 を 抽 出 する # awk -F, '$5==1{print $2}' blocking_list_sample.csv > blocking_list_sample.txt 27
awk スクリプトを 実 行 すると 下 記 のリスト( blocking.txt)が 生 成 される # cat blocking_list_sample.txt bad.example1.jp bad.example2.jp bad.example3.jp bad.example4.jp bad.example5.jp bad.example6.jp bad.example7.jp bad.example8.jp bad.example9.jp bad.example10.jp 3 DNS ブロッキング 用 のゾーンリストを DNS キャッシュサーバにアップロードする 上 記 2で 作 成 した blocking_list_sample.txt を DNS キャッシュサーバにアップロードする セキュリティ 上 SFTP SCP などセキュアな 通 信 でアップロードすることが 望 ましい 4 DNS キャッシュサーバにブロッキング 用 のゾーンを 登 録 する [ BIND を 利 用 する 場 合 のゾーンの 登 録 の 設 定 例 ] 次 の2つのサンプルスクリプトを 用 いて 具 体 的 にブロッキング 用 ゾーンファイルおよび named.conf の 作 成 を 具 体 的 に 実 施 する まず 設 定 用 ファイルとして 以 下 の3つのファイルを 準 備 する blocking_list_sample.txt 上 記 2で 作 成 したブロッキング 対 象 ドメインをリストとして 記 述 したファイル template_zone.txt ブロッキング 対 象 ドメインのゾーンファイルのテンプレートファイル テンプレートファイ ルの 中 では リダイレクト 先 Web サーバの IP アドレスや DNS キャッシュサーバの IP アドレス についてはあらかじめ 記 入 しておく 28
# less -N template_zone.txt 1 $TTL 10 2 @ IN SOA DOMAIN. root.domain. ( 3 2011011701 ; Serial 4 3600 ; Refresh 5 900 ; Retry 6 3600000 ; Expire 7 3600 ) ; Minimum 8 IN NS ns1.domain. 9 IN NS ns2.domain. 10 IN A 192.168.0.1 リダイレクト 先 Web サーバの IP 11 ns1 IN A 10.0.0.1 DNS キャッシュサーバの IP 12 ns2 IN A 10.0.0.2 DNS キャッシュサーバの IP template_named.conf named.conf のテンプレートファイル ここで 文 字 列 DOMAIN は ブロッキングリスト blocking_list_sample.txt に 記 載 されているドメインに 置 換 される # less -N template_named.conf.txt 1 zone "DOMAIN" { 2 type master; 3 file "/var/named/blocking/domain.zone"; 4 notify no; 5 allow-update { none; }; 6 } create_blocking_zone.sh テンプレートゾーンを 記 述 した template_zone.txt ファイルとブロッキング 対 象 ドメインの リストである blocking_list_sample.txt ファイルからブロッキング 用 ドメインのゾーンファイ ルを 作 成 するスクリプト # less -N create_blocking_zone.sh 1 #!/bin/bash 2 3 DATAFILE=blocking_list_sample.txt 4 TEMPLATE=template_zone.txt 5 6 for data in $(cat $DATAFILE) 29
7 do 8 dom=${data%:*} 9 sed "{ s/domain/$dom/g; }" $TEMPLATE > $dom.zone 10 done create_blocking_named.conf.sh ブロッキング 対 象 ドメインのリストである blocking_list_sample.txt ファイルと named.conf ファイルのテンプレートである template_named.conf.txt ファイルからブロッキングを 実 施 す る DNS キャッシュサーバの named.conf である blocking_zone_named.conf を 作 成 するスクリプト # less -N create_blocking_named.conf.sh 1 #!/bin/bash 2 3 DATAFILE=blocking_list_sample.txt 4 TEMPLATE=template_named.conf.txt 5 6 rm -f blocking_zone_named.conf 7 8 for data in $(cat $DATAFILE) 9 do 10 dom=${data%:*} 11 sed "{ s/domain/$dom/g; }" $TEMPLATE >> blocking_zone_named.conf 12 done (a) create_blocking_zone.sh を 実 行 することにより 実 行 したディレクトリ 上 にブロッキン グ 対 象 ドメインのゾーンファイルがドメイン 名.zone というファイル 名 で 生 成 される #./create_blocking_zone.sh # ls *.zone bad.example1.jp.zone bad.example3.jp.zone bad.example6.jp.zone bad.example9.jp.zone bad.example10.jp.zone bad.example4.jp.zone bad.example7.jp.zone bad.example2.jp.zone bad.example5.jp.zone bad.example8.jp.zone また ドメイン 毎 のゾーンファイルが 下 記 のように 生 成 される # cat bad.example1.jp.zone $TTL 10 30
@ IN SOA bad.example1.jp. root.bad.example1.jp. ( 2011011701 ; Serial 3600 ; Refresh 900 ; Retry 3600000 ; Expire 3600 ) ; Minimum IN NS ns1.bad.example1.jp. IN NS ns2.bad.example1.jp. IN A 192.168.0.1 ns1 IN A 10.0.0.1 ns2 IN A 10.0.0.2 (b) create_blocking_named.conf.sh を 実 行 することにより 実 行 したディレクトリに ブロッ キングを 実 施 する DNS キャッシュサーバ 用 の named.conf である blocking_zone_named.conf ファ イルが 生 成 される #./create_blocking_named.conf.sh # cat blocking_zone_named.conf zone "bad.example1.jp" { type master; file "/var/named/blocking/bad.example1.jp.zone"; notify no; allow-update { none; }; }; zone "bad.example2.jp" { type master; file "/var/named/blocking/bad.example2.jp.zone"; notify no; allow-update { none; }; }; zone "bad.example3.jp" { type master; file "/var/named/blocking/bad.example3.jp.zone"; notify no; 31
allow-update { none; }; }; zone "bad.example4.jp" { type master; file "/var/named/blocking/bad.example4.jp.zone"; notify no; allow-update { none; }; }; zone "bad.example5.jp" { type master; file "/var/named/blocking/bad.example5.jp.zone"; notify no; allow-update { none; }; }; zone "bad.example6.jp" { type master; file "/var/named/blocking/bad.example6.jp.zone"; notify no; allow-update { none; }; }; zone "bad.example7.jp" { type master; file "/var/named/blocking/bad.example7.jp.zone"; notify no; allow-update { none; }; }; zone "bad.example8.jp" { type master; file "/var/named/blocking/bad.example8.jp.zone"; notify no; allow-update { none; }; 32
}; zone "bad.example9.jp" { type master; file "/var/named/blocking/bad.example9.jp.zone"; notify no; allow-update { none; }; }; zone "bad.example10.jp" { type master; file "/var/named/blocking/bad.example10.jp.zone"; notify no; allow-update { none; }; }; (c) ブ ロ ッ キ ン グ 用 ゾ ー ン フ ァ イ ル (bad.example1.jp.zone bad.example10.jp.zone) を /var/named/blocking ディレクトリ 配 下 にコピーする # mv bad.example*.jp.zone /var/named/blocking/ # ls /var/named/blocking/ bad.example1.jp.zone bad.example3.jp.zone bad.example6.jp.zone bad.example9.jp.zone bad.example10.jp.zone bad.example4.jp.zone bad.example7.jp.zone bad.example2.jp.zone bad.example5.jp.zone bad.example8.jp.zone (d) ブロッキング 用 の blocking_zone_named.conf を /etc ディレクトリ 配 下 にコピーする # mv blocking_zone_named.conf /etc/ (e) include オプションを 使 用 し blocking_zone_named.conf を 読 み 込 むように named.conf を 編 集 する named.conf # Add blocking zones as master include "/etc/blocking_zone_named.conf"; 33
(f) rndc reload でコンフィグレーションファイルのリロードを 実 施 する # rndc reload server reload successful (g) syslog にブロッキング 用 のゾーンを 読 み 込 んだログが 表 示 されることを 確 認 する named[17097]: zone bad.example1.jp/in: loaded serial 2011011701 named[17097]: zone bad.example10.jp/in: loaded serial 2011011701 named[17097]: zone bad.example2.jp/in: loaded serial 2011011701 named[17097]: zone bad.example3.jp/in: loaded serial 2011011701 named[17097]: zone bad.example4.jp/in: loaded serial 2011011701 named[17097]: zone bad.example5.jp/in: loaded serial 2011011701 named[17097]: zone bad.example6.jp/in: loaded serial 2011011701 named[17097]: zone bad.example7.jp/in: loaded serial 2011011701 named[17097]: zone bad.example8.jp/in: loaded serial 2011011701 named[17097]: zone bad.example9.jp/in: loaded serial 2011011701 (h) 上 記 作 業 を 各 DNS キャッシュサーバに 対 して 実 施 する (i) ブロッキング 対 象 ドメインに 対 し dig により 名 前 解 決 を 実 施 すると リダイレクト 先 Web サーバの IP アドレス 192.168.0.1 の 応 答 が 戻 ってくることを 確 認 する # dig @127.0.0.1 bad.example1.jp ; <<>> DiG 9.7.2-P3 <<>> @127.0.0.1 bad.example1.jp ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64216 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2 ;; QUESTION SECTION: ;bad.example1.jp. IN A ;; ANSWER SECTION: bad.example1.jp. 10 IN A 192.168.0.1 34
;; AUTHORITY SECTION: bad.example1.jp. 10 IN NS ns1.bad.example1.jp. bad.example1.jp. 10 IN NS ns2.bad.example1.jp. ;; ADDITIONAL SECTION: ns1.bad.example1.jp. 10 IN A 10.0.0.1 ns2.bad.example1.jp. 10 IN A 10.0.0.2 [ unbound を 利 用 する 場 合 のゾーンの 登 録 の 設 定 例 ] ここでも 以 下 の2つのサンプルスクリプトを 用 いて 具 体 的 にブロッキング 用 ゾーンファイルお よび unbound.conf の 作 成 を 具 体 的 に 実 施 する create_blocking_unbound.conf.sh ブロッキングアドレスリスト blocking_list_sample.txt から DNS キャッシュサーバにおける ブロッキング 用 のコンフィグレーションファイル blocking_unbound.conf を 作 成 する このスク リプトでは 12 行 目 の IP アドレスにリダイレクト 先 Web サーバの IP アドレスを 記 述 する 12 行 目 の 文 字 列 $dom はブロッキングリスト blocking_list_sample.txt に 記 載 されているドメ インに 置 換 される # less -N create_blocking_unbound.conf.sh 1 #!/bin/bash 2 3 DATAFILE=blocking_list_sample.txt 4 5 rm -f blocking_unbound.conf 6 7 echo "server:" >> blocking_unbound.conf 8 9 for data in $(cat $DATAFILE) 10 do 11 dom=${data%:*} 12 echo "local-data: \"$dom. 10 IN A 192.168.0.1\"" >> blocking_unbound.conf 13 done (a) create_blocking_unbound.conf.sh を 実 行 する 実 行 したディレクトリ 上 に 35
blocking_unbound.conf というファイルが 生 成 される #./create_blocking_unbound.conf.sh # cat blocking_unbound.conf server: local-data: "bad.example1.jp. 10 IN A 192.168.0.1" local-data: "bad.example2.jp. 10 IN A 192.168.0.1" local-data: "bad.example3.jp. 10 IN A 192.168.0.1" local-data: "bad.example4.jp. 10 IN A 192.168.0.1" local-data: "bad.example5.jp. 10 IN A 192.168.0.1" local-data: "bad.example6.jp. 10 IN A 192.168.0.1" local-data: "bad.example7.jp. 10 IN A 192.168.0.1" local-data: "bad.example8.jp. 10 IN A 192.168.0.1" local-data: "bad.example9.jp. 10 IN A 192.168.0.1" local-data: "bad.example10.jp. 10 IN A 192.168.0.1" (b) include オプションを 使 用 し blocking_unbound.conf を 読 み 込 むように unbound.conf を 編 集 する unbound.conf # Add for blocking include: "/usr/local/etc/unbound/blocking_unbound.conf" (c) blocking_unbound.conf を include オプションで 指 定 したディレクトリにコピーする # mv blocking_unbound.conf /usr/local/etc/unbound/ (d) unbound-control reload を 実 行 しコンフィグレーションファイルをリロードする # unbound-control reload ok (e) unbound-control list_local_data コマンドで local-data として 読 み 込 んでいるドメイ ン 名 がブロッキング 対 象 ドメインであることを 確 認 する # unbound-control list_local_data grep bad bad.example1.jp. 10 IN A 192.168.0.1 bad.example10.jp. 10 IN A 192.168.0.1 bad.example2.jp. 10 IN A 192.168.0.1 bad.example3.jp. 10 IN A 192.168.0.1 36
bad.example4.jp. 10 IN A 192.168.0.1 bad.example5.jp. 10 IN A 192.168.0.1 bad.example6.jp. 10 IN A 192.168.0.1 bad.example7.jp. 10 IN A 192.168.0.1 bad.example8.jp. 10 IN A 192.168.0.1 bad.example9.jp. 10 IN A 192.168.0.1 (f) ブロッキングリストに 表 示 されているドメインに 対 して dig コマンドを 実 施 し リダイレ クト 先 Web サーバの IP アドレス(192.168.0.1)が 応 答 として 返 ってくることを 確 認 する (g) 上 記 作 業 をキャッシュサーバごとに 実 施 する 37
5. DNS ブロッキング 導 入 に 際 しての 懸 念 事 項 5.1 サービス 提 供 へ 与 える 影 響 ブロッキングを 導 入 するに 際 して 最 も 懸 念 される 点 は ブロッキングの 導 入 が DNS のシステム リソースに 対 してどのように どの 程 度 の 影 響 を 与 えるか さらにはその 影 響 により 自 社 サービ スのサービス 品 質 への 影 響 が 発 生 するのかどうかがある ブロッキングの 導 入 による DNS のシス テムリソースに 対 する 影 響 を 判 断 することで サービス 品 質 への 影 響 を 回 避 するために 設 備 増 設 の 対 応 を 考 慮 しなければならないのか 設 備 増 設 が 必 要 な 場 合 はどれくらいの 規 模 の 投 資 が 新 た に 必 要 なのかということを 検 討 することが 必 要 となる サービスへの 影 響 を 検 討 するに 際 しては 主 に2つの 観 点 からの 影 響 を 考 慮 する 必 要 がある 1つは ブロッキングに 関 する 設 定 を DNS キャッシュサーバに 行 うことによる DNS のシステムリ ソースに 対 する 影 響 もう1つは ブロッキングアドレスリストを 更 新 する 処 理 がシステムリソ ースに 与 える 影 響 である 本 項 では DNS キャッシュサーバに 対 して 一 定 量 の DNS 問 合 せクエリ による 負 荷 をかけた 状 態 にて DNS キャッシュサーバに 対 してブロッキングの 設 定 を 行 う 前 後 で のシステムリソースの 変 化 およびブロッキングアドレスリストの 更 新 処 理 を 行 った 際 のシステ ムリソースの 変 化 DNS キャッシュサーバへの 問 合 せクエリに 対 する 応 答 の 変 化 について 測 定 を 行 った 測 定 に 際 しては 以 下 のパラメータを 変 化 させて 性 能 測 定 を 行 った 1 一 定 量 の DNS 問 合 せクエリ 数 (500qps 1000qps) 2 ブロッキングアドレスリスト 数 (500 1000 3000 5000) 3 DNS キャッシュサーバにおけるキャッシュヒット 率 (0% 50% 80%) 4 ハードウェアスペック(Intel Pentium4 2.4GHz/メモリ 1GB Intel Xeon X5650 2.67GHz/メ モリ 8GB) また 利 用 する DNS ソフトウェアとしては 広 く 利 用 されているオープンソースである BIND9.7.2-P3 および unbound1.4.7 にて 測 定 を 行 った 以 下 に それぞれのソフトウェアを 使 用 した 場 合 においての 性 能 評 価 の 結 果 から 観 察 できた 特 徴 について 説 明 する 5.1.1 ブロッキング 設 定 が DNS サービスに 与 える 影 響 DNS キャッシュサーバのマシンスペックやブロッキングアドレスリスト 数 キャッシュヒット 率 DNS 問 合 せクエリ 数 使 用 ソフトウェアについてどれを 変 化 させたとしても ブロッキング 設 定 の 前 後 で DNS キャッシュサーバの CPU 使 用 率 は 変 わることはなかった メモリ 使 用 率 につい ては BIND を 利 用 した 場 合 においては ブロッキングアドレスリスト 数 が 増 えるに 応 じてメモ リ 増 加 量 も 増 え アドレスリスト 数 が 1,000 で 約 15MB 3,000 で 約 30MB 10,000 で 約 90MB の 増 38
加 量 があった また unbound を 利 用 した 場 合 においては BIND の 場 合 と 比 較 してメモリ 増 加 量 は 少 なく 抑 えられ アドレスリスト 数 が 10,000 の 場 合 においても 約 15MB の 増 加 になった 全 体 のメモリ 量 から 考 えると これらのメモリ 増 加 量 はシステムが 動 作 する 上 では 比 較 的 小 さ い 影 響 であることから CPU およびメモリの 使 用 量 の 増 加 量 の 観 点 からは ブロッキング 導 入 に よるシステムへの 影 響 は 特 に 考 慮 するほどのことでもないと 考 えられる 5.1.2 ブロッキングアドレスリスト 更 新 処 理 が DNS サービスに 与 える 影 響 5.1.2.1 BIND の 場 合 ハードウェアスペックの 低 いマシン(CentOS 5.5 Intel Pentium4 2.4GHz メモリ 1GB)にお いては アドレスリスト 数 を 3,000 までにするとリストの 読 み 込 み 時 に DNS からの 応 答 がなくな りサービス 断 状 態 となった 処 理 できるアドレスリスト 数 はキャッシュヒット 率 が 増 えるに 従 っ て 多 くなり キャッシュヒット 率 が 0%においてはリスト 数 300 キャッシュヒット 率 50%におい てはリスト 数 500 キャッシュヒット 率 80%においてはリスト 数 1,000 でリスト 更 新 の 際 に DNS 問 合 せクエリに 対 する 応 答 がリスト 更 新 を 実 施 している 約 4 秒 間 の 間 処 理 できなくなる 場 合 が 発 生 することが 観 察 できた この 傾 向 は DNS 問 合 せクエリ 数 が 500qps および 1,000qps どちら の 場 合 においても 同 様 な 傾 向 が 見 られ クエリ 処 理 数 にはあまり 依 存 することなく 性 能 劣 化 がみ られた ハードウェアスペックの 高 いマシン(CentOS 5.5 Intel Xeon X5650 2.67GHz メモリ 8GB)で 同 様 な 性 能 試 験 を 実 施 すると アドレスリスト 数 が 1,000 においても リスト 更 新 処 理 時 におい ても DNS 問 合 せクエリの 処 理 を 欠 落 させることなく 動 作 させることができ 低 スペックマシンと 比 較 して 処 理 できるリスト 数 はかなり 改 善 することがわかった アドレスリスト 数 が 3,000 の 場 合 には リスト 更 新 処 理 中 に 通 常 時 と 比 較 して CPU 使 用 率 が 約 3 4 倍 に アドレスリスト 数 が 5,000 の 場 合 には CPU 使 用 率 が 約 5 6 倍 に 上 昇 し DNS 問 合 せクエリに 対 して 処 理 が 欠 落 する 場 合 が 発 生 した また アドレスリスト 数 が 10,000 になると リロード 中 に 約 3 秒 間 無 応 答 状 態 となった これらの 傾 向 はキャッシュヒット 率 および DNS 問 合 せクエリ 数 が 500qps と 1,000qps のどちらの 場 合 もほぼ 同 様 な 傾 向 となった 5.1.2.2 unbound の 場 合 unbound を 利 用 した 場 合 では BIND を 利 用 した 場 合 と 比 べてハードウェアマシンのスペックに 関 わらずより 多 くのアドレスリスト 数 に 対 して サービスへの 影 響 を 与 えることなく 処 理 が 可 能 であった ハードウェアスペックの 低 いマシン(CentOS 5.5 Intel Pentium4 2.4GHz メモリ 1GB)においては キャッシュヒット 率 が 大 きいほど 処 理 可 能 なアドレスリスト 数 も 大 きくなり キャッシュヒット 率 0%においてアドレスリスト 数 300 ヒット 率 50%でアドレスリスト 数 3,000 39
ヒット 率 80%でアドレスリスト 数 10,000 までサービスに 影 響 なく 処 理 が 可 能 であった また ハードウェアスペックの 高 いマシン(CentOS 5.5 Intel Xeon X5650 2.67GHz メモリ 8GB)にお いては キャッシュヒット 率 の 値 に 関 わらずアドレスリスト 数 10,000 においてもサービスに 影 響 なくリスト 更 新 処 理 を 行 うことができた これらのことから 提 供 サービスへの 影 響 を 回 避 するためにはアドレスリスト 数 の 増 加 に 応 じ てシステムのハードウェアスペックを 高 性 能 なものに 見 直 す もしくは 利 用 する DNS ソフトウェ アを unbound に 変 更 する 等 の 対 応 を 検 討 していく 必 要 がある 5.2 DNSSEC 導 入 による 影 響 DNSSEC(DNS SECurity extentions)は DNS への 問 合 せに 対 する 回 答 を 偽 装 する 攻 撃 に 対 して DNS の 応 答 に 署 名 情 報 を 付 加 することで DNS の 応 答 が 正 当 であることを 検 証 するしくみである 2010 年 7 月 からドメインネームシステムの 最 上 位 のゾーンであるルートゾーンへの DNSSEC 導 入 が 開 始 され jp ゾーンにおいても DNSSEC 署 名 が 2010 年 10 月 17 日 より 開 始 されている 2011 年 1 月 16 日 からは jp ドメイン 名 サービスへの 署 名 鍵 の 登 録 受 付 を JPRS が 開 始 しており 9 今 後 一 般 的 に 広 くドメインの DNSSEC 対 応 が 進 んでいくことが 想 定 される DNS によるブロッキング 方 式 は 正 当 な DNS 応 答 をブロッキングのために 別 なものに 書 き 換 える ことを 行 うことから DNSSEC とブロッキングが 併 存 した 場 合 の 影 響 を 把 握 しておくことは 非 常 に 重 要 である ここでは DNSSEC 導 入 による DNS キャッシュサーバ リゾルバへの 影 響 を 説 明 す る 4 項 で 述 べた 2 つの 方 式 DNS キャッシュサーバ 上 でブロッキングリストを 保 持 する 方 式 ( 方 式 1)と 別 サーバにてブロッキングリストを 保 持 する 方 式 ( 方 式 2)について DNSSEC とブロッ キングが 併 存 した 場 合 にどのような 影 響 があるかを 説 明 する 10 5.2.1 キャッシュサーバ 上 でブロッキングリストを 保 持 する 方 式 ( 方 式 1)の 場 合 DNSSEC は DNS クエリに 対 して 外 部 から 受 け 取 った DNS 回 答 の 妥 当 性 正 当 性 を 検 証 する 仕 組 みであり DNSSEC の 検 証 は DNS キャッシュサーバおよびリゾルバにおいて 行 われる DNS キャ ッシュサーバは 権 威 サーバからの DNS 回 答 を 検 証 し リゾルバは DNS キャッシュサーバからの 回 答 を 検 証 することとなる DNS キャッシュサーバ 上 にブロッキングリストをマスターゾーンとして 保 持 しているばあ においては 該 当 ドメインに 関 しての 権 威 ゾーンとして 動 作 するため DNS キャッシュサーバに おいては DNSSEC の 検 証 は 行 われない そのため この DNS キャッシュサーバからの 回 答 は ブ 9 プレスリリース JPRS が JP ドメイン 名 サービスに DNSSEC を 導 入 (http://jprs.co.jp/press/2011/110117.html) 10 JPRS においても 本 件 の 考 察 がなされている DNS ブロッキングと DNSSEC を 共 存 させるための 手 法 について (http://jprs.jp/tech/notice/2010-07-28-dns-blocking-dnssec.html) 40
ロッキングリストにあるドメインが DNSSEC 対 応 していたとしても 本 来 の 権 威 サーバへの 問 合 せ を 行 うことなく DNS キャッシュサーバより 直 接 DNSSEC 対 応 ではない 回 答 を 行 うこととなり そ の 回 答 内 容 に 従 って 該 当 通 信 はブロッキング 警 告 画 面 の Web サーバにリダイレクトさせること ができる ただし リゾルバ 自 身 が DNSSEC による 名 前 検 証 を 実 証 する 場 合 には リゾルバや 利 用 するアプリケーションの 実 装 によっては DNSSEC 対 応 でない 回 答 を 受 けることでリゾルバや 利 用 するアプリケーションが 正 常 に 動 作 することができず 利 用 者 が 影 響 を 受 ける 可 能 性 がある 5.2.2 別 サーバにてブロッキングリストを 保 持 する 方 式 ( 方 式 2)の 場 合 この 方 式 では ブロッキングリスト 管 理 サーバがブロッキング 対 象 ホストの 権 威 サーバとな り DNS キャッシュサーバはブロッキングリスト 管 理 サーバから 受 け 取 った DNS 回 答 に 対 して DNSSEC の 検 証 を 行 う キャッシュサーバは DNSSEC の 検 証 を 実 施 した 際 ルートサーバの 鍵 を 使 用 した 検 証 を 行 い それが 本 来 の 情 報 から 書 き 換 えられた 回 答 となっているため 検 証 失 敗 とな る その 結 果 DNS キャッシュサーバはリゾルバに 対 して DNS エラー(ServFail)を 返 すため ブ ロッキング 警 告 画 面 のある Web サイトに 該 当 通 信 をリダイレクトすることができない この 通 信 不 可 事 象 を 回 避 する 方 法 としては 該 当 ドメインに 対 する 名 前 解 決 を DNSSEC での 検 証 の 対 象 外 とする 方 法 がある BIND においては 現 状 ではこのような 設 定 をすることができない が unbound においては domain-insecure オプションを 利 用 することで 設 定 が 可 能 である 下 記 に unbound.conf の 設 定 例 を 示 す unbound.conf # ブロッキングする www.example.jp は DNSSEC の 検 証 を 実 施 しない domain-insecure: "www.example.jp" forward-zone: name: "www.example.jp" forward-addr: 192.168.0.200 # ルートゾーンの 鍵 trust-anchor: ". DNSKEY 257 3 5 AwEAAcXQXclcC0EAHjGmYCqr0ppFUL/1XET/U+4Z7EJBEIiBr1SktS1y GGEn5RPsW3+M2HvN/tCdOlJYB9CEVukBhsgpXjadBrGt4U24U80rKl1V ang3zmmvgdysun4p7k+hbghmaof3qze7ywtru7hfr5b4mrldiecudu0n vqncmt1jdppjmnpozbotf4zfh4xwjen3svuhhy6qgru8wq0ezebqfqkp 41
if0vet1eukbewvepvnnsomfqemsyi5z00qp36/zo+zj1o31q4n65js4p yvbcaknfszvnb+wgujyehyp2e/ebzv3713ij0mrivfaamka4+grjtbra LPStMsqafXU=" この 例 では ルートゾーンの 鍵 の 設 定 を 行 い DNS キャッシュサーバとしては DNSSEC の 検 証 を 行 う 設 定 をしているが domain-insecure オプションを 設 定 することで 該 当 ドメインについては DNSSEC 検 証 の 対 象 外 となる この 設 定 での 実 際 の 動 作 について 見 てみると キャッシュサーバ# dig @127.0.0.1 www.example.jp +dnssec +multiline ; <<>> DiG 9.7.2-P3 <<>> @127.0.0.1 www.example.jp +dnssec +multiline ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 8305 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags: do; udp: 4096 ;; QUESTION SECTION: ;www.example.jp. IN A ;; ANSWER SECTION: www.example.jp. 10 IN A 192.168.0.10 リゾルバから DNS キャッシュサーバに 対 して DO ビットを ON にした www.example.jp に 関 する の DNS クエリに 対 して DNS 回 答 は DNSSEC の 署 名 のない 回 答 としてブロッキング 警 告 画 面 の IP アドレスが 回 答 される 42
図 5 DNSSEC に 対 応 させた 場 合 の 影 響 BIND においては 特 定 のドメインを DNSSEC 対 象 からはずすこのような 設 定 オプションがない ため 通 信 ができない 事 象 を 回 避 する 方 法 としては ブロッキングリスト 管 理 サーバ 側 の 該 当 ド メインのゾーンについて DNSSEC の 署 名 を 作 成 し それを DNS キャッシュサーバに 登 録 すること で DNS キャッシュサーバでの DNSSEC 検 証 を 成 功 させることは 可 能 ではある この 場 合 は 問 合 せを 受 けたリゾルバに 対 しては DNSSEC の 署 名 付 きの 回 答 として DNS 回 答 は 行 われるが 正 当 な 回 答 とは 違 う 偽 の 署 名 付 きの 回 答 をすることになる そのため リゾルバにおいて DNS キャッシュ サーバからの 回 答 の 検 証 を 行 った 場 合 には DNSSEC の 検 証 が 失 敗 することになるため この 方 法 により 完 全 に 通 信 ができない 事 象 を 回 避 する 方 法 とはならないことに 気 を 付 ける 必 要 がある 43
6. BIND Response Policy Zone (RPZ) を 使 用 した DNS ブロッキング 方 式 BIND 9.8 以 降 に 実 装 された Response Policy Zone ( 以 降 RPZ)を 使 用 した DNS ブロッキングに ついて 説 明 する 6.1 RPZ 概 要 説 明 RPZ は 設 定 されたルールに 基 づき DNS 応 答 の 書 き 換 え リゾルバへ DNS 応 答 する 機 能 である BIND 9.8 以 降 では 前 述 した 方 式 1 方 式 2 に 加 え RPZ を 使 用 することでも DNS によるブロ ッキングが 可 能 である RPZ を 実 装 したリスト 配 信 サーバ(BIND)を 用 意 し 配 信 サーバ 上 でブロッキングリストの 一 元 管 理 リスト 配 信 サーバから 複 数 台 のキャッシュサーバへリストの 一 括 配 信 が 可 能 である なお RPZ は BIND9.8 以 降 に 実 装 された 機 能 で RPZ による DNS ブロッキングを 実 現 するため には BIND9.8 以 降 のバージョンを 使 用 する 必 要 がある なお 今 回 の 検 証 では RPZ 使 用 時 のパフォーマンス 測 定 は 実 施 していないので RPZ を 使 用 した DNS ブロッキングを 導 入 する 際 は 導 入 前 にパフォーマンス 測 定 サイジング 設 計 を 実 施 さ れたい 6.2 RPZ 構 成 例 RPZ を 使 用 した DNS ブロッキングの 構 成 例 を 2 つ 説 明 する 6.2.1 RPZ に 対 応 したキャッシュサーバ 上 でブロッキンリストの 更 新 を 行 う 方 式 example.jp ドメイン 内 の Web サイト www.example.jp (192.168.0.1)へのアクセスに 対 してブ ロッキングを 行 い その 通 信 をリダイレクト 用 Web サーバ(192.168.0.10)に 誘 導 し そこでブロ ッキング 警 告 画 面 を 表 示 させる 設 定 について 説 明 する 図 6にあるように ISP にて 運 用 中 のキャッシュサーバを RPZ に 対 応 させ DNS ブロッキング を 行 う ブロッキングリストの 更 新 は RPZ を 実 装 したキャッシュサーバ 上 で 行 う また ブロッキング 警 告 画 面 として 利 用 するリダイレクト 用 Web サーバを 準 備 する 必 要 がある 44
example.jp の 権 威 サーバ キャッシュサーバ (PRZ 対 応 済 み) 192.168.0.100 リダイレクト W 192.168.0 fe80:36ff:fe68 1 www.example.jp A? リゾルバ 2 www.example.jp A = 192.168.0.10 3 リダイレクト Web サーバにアクセス 図 6 RPZ に 対 応 したキャッシュサーバでブロッキンリストの 更 新 を 行 う 方 式 6.2.2 RPZ に 対 応 したリスト 配 信 サーバから RPZ に 対 応 したキャッシュサーバにブ ロッキングリストを 配 信 する 方 式 図 7にあるように RPZ に 対 応 したキャッシュサーバに 加 え リスト 配 信 サーバ ブロッキン グ 警 告 画 面 として 利 用 するリダイレクト 用 Web サーバを 準 備 する 必 要 がある リスト 配 信 サーバは キャッシュサーバにブロッキングリストの 配 信 を 行 うサーバである ブ ロッキングリストの 管 理 はリスト 配 信 サーバ 上 で 実 施 し 更 新 したリストは リスト 配 信 サーバ から 複 数 台 のキャッシュサーバに 対 しゾーン 転 送 により 一 括 配 信 することが 可 能 である リスト 配 信 サーバ キャッシュサーバは RPZ を 実 装 している BIND 9.8 以 降 のバージョンを 使 用 する 必 要 がある 45
リスト 配 信 サーバ (RPZ-Server) 192.168.0.200 example.jp の 権 威 サーバ 複 数 台 のキャッシュサーバに ブロッキングリストを 配 信 キャッシュサーバ (PRZ 対 応 済 み) 192.168.0.100 リダイレクト W 192.168.0 fe80:36ff:fe68 1 www.example.jp A? リゾルバ 2 www.example.jp A = 192.168.0.10 3 リダイレクト Web サーバにアクセス 図 7 RPZ に 対 応 したリスト 配 信 サーバから RPZ に 対 応 したキャッシュサーバにブロッキング リストを 配 信 する 方 式 6.3 設 定 例 RPZ を 使 用 した 具 体 的 な 設 定 方 法 について 説 明 する 6.3.1 RPZ に 対 応 したキャッシュサーバ 上 でブロッキングリストの 更 新 を 行 う 方 式 BIND 9.8.1-P1(2011 年 11 月 18 日 リリース)を 使 用 し RPZ の 具 体 的 な 設 定 例 を 説 明 する まず RPZ に 対 応 したキャッシュサーバに ブロッキング 用 のゾーンを 登 録 する ここでは ブロッキング 専 用 のゾーン 名 を block とする RPZ で 使 用 するブロッキング 用 のゾ ーン 名 は 任 意 の 名 前 を 設 定 できる response-policy ステートメントにブロッキング 用 の RPZ ゾーン 名 zone ステートメントに RPZ で 使 用 するゾーンファイル 名 を 指 定 する ブロッキング 用 のゾーン block はキャッシュサーバのみが 参 照 し 外 部 の DNS サーバ リゾル 46
バは 参 照 する 必 要 がないため allow-query allow-transfer で 外 部 からの 参 照 ゾーン 転 送 を 受 け 付 けないようにアクセス 制 限 を 行 うのが 望 ましい named.conf options { response-policy { zone "block"; }; }; zone "block" { type master; allow-query { 127.0.0.1; ::1; }; file "block.db"; notify no; allow-transfer { none; }; }; ブロッキング 用 のゾーンファイル block.db を 作 成 する block.db ゾーンファイルにブロッキ ングする FQDN を 記 述 し DNS ブロッキングを 実 現 する まず ブロッキング 用 ゾーン block の SOA NS ネームサーバの A AAAA レコードを 登 録 する その 次 に ブロッキングするドメイン 名 クエリタイプ ( A AAAAA ) リダイレクト 先 Web サーバの IP アドレスを 記 述 する 下 記 の 設 定 では リゾルバから www.example.jp の A または AAAA クエリの 名 前 解 決 要 求 が あると RPZ により リダイレクト 先 Web の IP アドレスを 返 答 する block.db $TTL 0 @ SOA localhost. root.localhost. ( 01 1h 15m 30d 2h ) 47
IN NS ns1.block. ns1 IN A 127.0.0.1 IN AAAA ::1 www.example.jp A 192.168.0.10 AAAA fe80::216:36ff:fe68:51e4 named プロセスを 起 動 する # /usr/local/sbin/named シスログより ゾーン block をロードしていることを 確 認 する シスログ named[1768]: zone block/in: loaded serial 1 キャッシュサーバ 上 で www.example.jp の 名 前 解 決 をしたときに リダイレクト 先 Web の IP アドレスが 返 されるか 確 認 する A クエリ # dig @127.0.0.1 www.example.jp a ; <<>> DiG 9.8.1-P1 <<>> @127.0.0.1 www.example.jp a ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 61343 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2 ;; QUESTION SECTION: ;www.example.jp. IN A ;; ANSWER SECTION: www.example.jp. 0 IN A 192.168.0.10 ;; AUTHORITY SECTION: 48
block. 0 IN NS ns1.block. ;; ADDITIONAL SECTION: ns1.block. 0 IN A 127.0.0.1 ns1.block. 0 IN AAAA ::1 AAAA クエリ # dig @::1 www.example.jp aaaa ; <<>> DiG 9.8.1-P1 <<>> @::1 www.example.jp aaaa ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28007 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2 ;; QUESTION SECTION: ;www.example.jp. IN AAAA ;; ANSWER SECTION: www.example.jp. 0 IN AAAA fe80::216:36ff:fe68:51e4 ;; AUTHORITY SECTION: block. 0 IN NS ns1.block. ;; ADDITIONAL SECTION: ns1.block. 0 IN A 127.0.0.1 ns1.block. 0 IN AAAA ::1 リゾルバからキャッシュサーバに 対 し www.example.jp の 名 前 解 決 をしたときに リダイレク ト 先 Web の IP アドレスが 返 されるか 確 認 する A クエリ リゾルバ# dig @192.168.0.100 www.example.jp a ; <<>> DiG 9.7.3 <<>> @192.168.0.100 www.example.jp a 49
; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58445 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0 ;; QUESTION SECTION: ;www.example.jp. IN A ;; ANSWER SECTION: www.example.jp. 0 IN A 192.168.0.10 ;; AUTHORITY SECTION: block. 0 IN NS ns1.block. AAAA クエリ リゾルバ# dig @192.168.0.100 www.example.jp aaaa ; <<>> DiG 9.8.1-P1 <<>> @192.168.0.100 www.example.jp aaaa ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10570 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2 ;; QUESTION SECTION: ;www.example.jp. IN AAAA ;; ANSWER SECTION: www.example.jp. 0 IN AAAA fe80::216:36ff:fe68:51e4 ;; AUTHORITY SECTION: block. 0 IN NS ns1.block. ;; ADDITIONAL SECTION: ns1.block. 0 IN A 127.0.0.1 50
ns1.block. 0 IN AAAA ::1 6.3.2 RPZ に 対 応 したリスト 配 信 サーバから RPZ に 対 応 したキャッシュサーバにブロ ッキングリストを 配 信 する 方 式 RPZ に 対 応 したリスト 配 信 サーバと RPZ に 対 応 したキャッシュサーバを 連 携 した 場 合 の 設 定 例 を 説 明 する 6.3.2.1 リスト 配 信 サーバの 設 定 まず ブロッキング 専 用 のゾーン( 任 意 のゾーン 名 )を response-policy ステートメント zone ステートメントに 登 録 する ここではブロッキング 用 のゾーン 名 を block とする リスト 配 信 サーバからキャッシュサーバへのブロッキングリストの 配 信 はゾーン 転 送 (AXFR IXFR)により 行 われる ブロッキングリストの 配 信 は ブロッキングを 行 うキャッシュサーバの みに 限 定 する 具 体 的 には also-notify ステートメントで リストを 配 信 するキャッシュサー バの IP アドレスを 記 述 する また セキュリティの 観 点 から DNS ブロッキングを 行 うキャッシュサーバのみから リスト 配 信 サーバに 対 し リスト 更 新 有 無 の 確 認 要 求 (SOA 要 求 )を 許 可 するように 設 定 する 具 体 的 には allow-query ステートメントで SOA 要 求 を 許 可 する IP アドレスを DNS ブロッキ ングを 行 うキャッシュサーバの IP アドレスに 限 定 する named.conf ( リスト 配 信 サーバ) options { response-policy { zone "block"; }; }; zone "block" { type master; allow-query { 127.0.0.1; ::1; 192.168.0.100; }; also-notify { 192.168.0.100; }; file "block.db"; }; 51
ブロッキングリストの 配 信 は セキュリティを 考 慮 し 送 信 元 の 認 証 通 信 経 路 での 改 ざんを 検 知 できる TSIG (Transaction Signature)を 使 用 し リストの 配 信 を 行 うのが 望 ましい dnssec-keygen コマンドで リスト 配 信 サーバ 上 でリスト 配 信 用 の TSIG 鍵 を 作 成 する dnssec-keygen a アルゴリズム b 鍵 長 n HOST ゾーン 名 リスト 配 信 サーバ# dnssec-keygen -a HMAC-SHA256 -b 256 -n HOST block Kblock.+163+36767 # dnssec-keygen を 実 行 すると 拡 張 子 が key private の 2 つのファイルが 作 成 される TSIG を 使 用 したゾーン 転 送 設 定 では 拡 張 子 が.key (Kblock.+163+36767.key)を 使 用 する リスト 配 信 サーバ# ls Kblock.+163+36767.key Kblock.+163+36767.private リスト 配 信 サーバ# cat Kblock.+163+36767.key block. IN KEY 512 3 163 keicqwi41+/22ekh+ja5nqwwvnxvuzrrn0grmejchdi= 上 記 赤 字 の 文 字 列 (TSIG 鍵 )を 鍵 名 block-tsig-key として key ステートメントに 登 録 する ゾーン block の allow-transfer ステートメントに TSIG 鍵 block-tsig-key を 登 録 し この TSIG 鍵 を 保 持 しているキャッシュサーバに 対 してのみ ブロッキングリストの 配 信 を 許 可 する ように 設 定 する named.conf ( リスト 配 信 サーバ ) options { response-policy { zone "block"; }; }; key "block-tsig-key" { algorithm hmac-sha256; secret "keicqwi41+/22ekh+ja5nqwwvnxvuzrrn0grmejchdi="; }; 52
zone "block" { type master; allow-query { 127.0.0.1; ::1; 192.168.0.100; }; also-notify { 192.168.0.100; }; ixfr-from-differences yes; file "block.db"; allow-transfer { key "block-tsig-key"; }; }; ブロキッキングリスト 用 のゾーンファイル block.db を 作 成 する まず ゾーン block の SOA NS ネームサーバの A AAAA レコードを 登 録 し その 次 に ブ ロッキングするドメイン 名 クエリタイプ ( A AAAAA ) リダイレクト 先 Web サーバの IP アドレスを 記 述 する block.db ( リスト 配 信 サーバ ) $TTL 0 @ SOA localhost. root.localhost. ( 01 1h 15m 30d 2h ) IN NS ns1.block. ns1 IN A 127.0.0.1 IN AAAA ::1 www.example.jp A 192.168.0.10 AAAA fe80::216:36ff:fe68:51e4 リスト 配 信 サーバの named プロセスを 起 動 する # /usr/local/sbin/named 53
シスログより ゾーン block をロードしていることを 確 認 する シスログ ( リスト 配 信 サーバ ) named[1595]: zone block/in: loaded serial 1 リスト 配 信 サーバ 上 で www.example.jp の 名 前 解 決 をしたときに リダイレクト 先 Web の IP アドレスが 返 されるか 確 認 する A クエリ リスト 配 信 サーバ# dig @127.0.0.1 www.example.jp a ; <<>> DiG 9.8.1-P1 <<>> @127.0.0.1 www.example.jp a ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4986 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0 ;; QUESTION SECTION: ;www.example.jp. IN A ;; ANSWER SECTION: www.example.jp. 0 IN A 192.168.0.10 ;; AUTHORITY SECTION: block. 0 IN NS ns1.block. ;; ADDITIONAL SECTION: ns1.block. 0 IN A 127.0.0.1 ns1.block. 0 IN AAAA ::1 AAAA クエリ リスト 配 信 サーバ# dig @::1 www.example.jp aaaa ; <<>> DiG 9.8.1-P1 <<>> @::1 www.example.jp aaaa ; (1 server found) 54
;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58741 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0 ;; QUESTION SECTION: ;www.example.jp. IN AAAA ;; ANSWER SECTION: www.example.jp. 0 IN AAAA fe80::216:36ff:fe68:51e4 ;; AUTHORITY SECTION: block. 0 IN NS ns1.block. ;; ADDITIONAL SECTION: ns1.block. 0 IN A 127.0.0.1 ns1.block. 0 IN AAAA ::1 6.3.2.2 キャッシュサーバの 設 定 キャッシュサーバの 具 体 的 な 設 定 例 を 説 明 する なお 複 数 台 キャッシュサーバが 存 在 する 場 合 は 同 様 の 設 定 を 複 数 台 のキャッシュサーバに 設 定 する まず リスト 配 信 サーバで 作 成 したブロッキング 用 の RPZ ゾーンと 同 じ 名 前 (block) のゾーン をキャッシュサーバに 登 録 する リスト 配 信 サーバからブロッキングリストの 配 信 を 受 け 取 れるように key ステートメントで TSIG 鍵 の 登 録 masters ステートメントで 使 用 する TSIG 鍵 リスト 配 信 サーバの IP アドレスを 指 定 する なお TSIG 鍵 鍵 の 文 字 列 はリスト 配 信 サーバと 同 じ 鍵 を 登 録 する キャッシュサーバは リスト 配 信 サーバのスレーブとして 動 作 するので type slave とする named.conf ( キャッシュサーバ ) options { response-policy { zone "block"; }; }; 55
key "block-tsig-key" { algorithm hmac-sha256; secret "keicqwi41+/22ekh+ja5nqwwvnxvuzrrn0grmejchdi="; }; zone "block" { type slave; allow-query { none;}; file "block_slave.db"; masters { 192.168.0.200 key block-tsig-key; }; notify no; allow-transfer { none; }; }; キャッシュサーバの named プロセスを 起 動 する キャッシュサーバ# /usr/local/sbin/named シスログより TSIG 鍵 block-tsig-key を 使 用 し ゾーン block のゾーン 転 送 が 正 常 に 完 了 し ていることを 確 認 する シスログ ( リスト 配 信 サーバ ) named[1664]: client 192.168.0.100#34750: transfer of 'block/in': AXFR started: TSIG block-tsig-key named[1664]: client 192.168.0.100#34750: transfer of 'block/in': AXFR ended シスログ ( キャッシュサーバ ) named[1686]: zone block/in: Transfer started. named[1686]: transfer of 'block/in' from 192.168.0.200#53: connected using 192.168.0.100#34750 named[1686]: zone block/in: transferred serial 01: TSIG 'block-tsig-key' named[1686]: transfer of 'block/in' from 192.168.0.200#53: Transfer completed: 1 messages, 6 records, 285 bytes, 0.001 secs (285000 bytes/sec) キャッシュサーバ 上 で www.example.jp の 名 前 解 決 をしたときに リダイレクト 先 Web の IP アドレスが 返 されるか 確 認 する 56
A クエリ キャッシュサーバ# dig @127.0.0.1 www.example.jp a ; <<>> DiG 9.8.1-P1 <<>> @127.0.0.1 www.example.jp a ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 8406 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0 ;; QUESTION SECTION: ;www.example.jp. IN A ;; ANSWER SECTION: www.example.jp. 0 IN A 192.168.0.10 ;; AUTHORITY SECTION: block. 0 IN NS ns1.block. ;; ADDITIONAL SECTION: ns1.block. 0 IN A 127.0.0.1 ns1.block. 0 IN AAAA ::1 AAAA クエリ キャッシュサーバ# dig @127.0.0.1 www.example.jp aaaa ; <<>> DiG 9.8.1-P1 <<>> @::1 www.example.jp aaaa ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 29406 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0 ;; QUESTION SECTION: ;www.example.jp. IN AAAA 57
;; ANSWER SECTION: www.example.jp. 0 IN AAAA fe80::216:36ff:fe68:51e4 ;; AUTHORITY SECTION: block. 0 IN NS ns1.block. ;; ADDITIONAL SECTION: ns1.block. 0 IN A 127.0.0.1 ns1.block. 0 IN AAAA ::1 リゾルバからキャッシュサーバに 対 し www.example.jp の 名 前 解 決 をしたときに リダイレク ト 先 Web の IP アドレスが 返 されるか 確 認 する A クエリ リゾルバ# dig @192.168.0.100 www.example.jp a ; <<>> DiG 9.7.3 <<>> @192.168.0.100 www.example.jp a ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58445 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0 ;; QUESTION SECTION: ;www.example.jp. IN A ;; ANSWER SECTION: www.example.jp. 0 IN A 192.168.0.10 ;; AUTHORITY SECTION: block. 0 IN NS ns1.block. AAAA クエリ リゾルバ# dig @192.168.0.100 www.example.jp aaaa 58
; <<>> DiG 9.8.1-P1 <<>> @192.168.0.100 www.example.jp aaaa ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10570 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2 ;; QUESTION SECTION: ;www.example.jp. IN AAAA ;; ANSWER SECTION: www.example.jp. 0 IN AAAA fe80::216:36ff:fe68:51e4 ;; AUTHORITY SECTION: block. 0 IN NS ns1.block. ;; ADDITIONAL SECTION: ns1.block. 0 IN A 127.0.0.1 ns1.block. 0 IN AAAA ::1 6.4 リダレクト 用 Web サーバの 設 定 リダイレクト 用 Web サーバの 設 定 方 法 は 4.1.3 項 を 参 照 6.5 動 作 確 認 リダイレクト 用 Web サーバを 含 めたブロッキングの 動 作 確 認 方 法 は 4.1.4 項 を 参 照 6.6 DNS ブロッキング 設 定 により 回 答 が 書 き 換 えられる 範 囲 RPZ を 使 用 した DNS ブロッキングにより 回 答 が 書 き 換 えられる 範 囲 を 以 下 に 記 す 59
クエリ クエリタイプ 問 い 合 わせ 先 名 前 解 決 結 果 *.example.jp (www.example.jp は 除 く) 全 てのクエリタイ プ example.jp の 権 威 サ ーバ example.jp の 権 威 サ ーバからの 回 答 www.example.jp A RPZ に 対 応 したキャッ シュサーバ RPZ のゾーンファイル の A AAAA RPZ のゾーンファイル の AAAA NS RPZ のゾーンファイル の NS その 他 登 録 されていないレ コードの 回 答 は 得 ら れない ( 注 : * は 任 意 の 文 字 列 ) 6.7 RPZ 方 式 比 較 および 考 察 6.7.1 RPZ を 使 用 しない 方 式 と RPZ を 使 用 する 方 式 について RPZ を 使 用 しない DNS ブロッキング 方 式 ( 方 式 1 方 式 2)はブロッキング 対 象 ドメインごとに ゾーンファイルを 作 成 する 必 要 があるが RPZ を 使 用 した DNS ブロッキングは 1 つのファイル でブロッキングリストを 管 理 することが 可 能 となる 6.7.2 RPZ を 使 用 する 構 成 : リスト 配 信 サーバを 用 意 する 構 成 と 用 意 しない 構 成 につ いて リスト 配 信 サーバを 用 意 せず キャッシュサーバのみ RPZ に 対 応 させる 方 式 は ブロッキング リストを 更 新 する 際 各 キャッシュサーバ 上 の RPZ ゾーンを 更 新 named プロセスのリロードが 必 要 である 一 方 配 信 サーバを 用 意 し 配 信 サーバからキャッシュサーバへブロッキングリストを 配 信 す る 方 式 では ブロッキングリストの 更 新 は 配 信 サーバ 上 のブロッキングリストを 更 新 し 更 新 60
したリストの 配 信 は 配 信 サーバからキャッシュサーバに 対 して ゾーン 転 送 により 自 動 で 配 信 することが 可 能 である また リスト 更 新 時 にキャッシュサーバ 上 の named プロセスのリロー ドが 不 要 である ブロッキングを 実 施 するキャッシュサーバが 多 数 ある 場 合 は 配 信 サーバを 用 意 し 配 信 サー バから DNS ブロッキングを 実 施 するキャッシュサーバにブロッキングリストを 配 信 する 方 式 を 採 用 すると ブロッキングリストの 一 元 管 理 一 元 配 信 が 可 能 となり オペレーションが 他 の 方 式 と 比 べ 容 易 になることが 利 点 として 考 えられる ブロッキングリストを 保 持 す るサーバ ブロッキングリストの 更 新 作 業 を 実 施 するサーバ ブロッキングリストの 更 新 時 にキャッシュクリアの 必 要 性 DNSSEC の 干 渉 リスト 配 信 サーバは 用 意 せ ず キャッシュサーバのみ RPZ に 対 応 させる 方 式 キャッシュサーバ キャッシュサーバ 必 要 なし ブロッキング 対 象 ドメインへ の DNS 問 合 せの 回 答 は DNSSEC 対 応 ではない 回 答 がリゾルバ に 対 して 返 される リスト 配 信 サーバを 用 意 し 配 信 サーバ キャッシュサー バを RPZ に 対 応 させる 方 式 リスト 配 信 サーバ キャッシュサーバ リスト 配 信 サーバ 必 要 なし ブロッキング 対 象 ドメインへ の DNS 問 合 せの 回 答 は DNSSEC 対 応 ではない 回 答 がリゾルバ に 対 して 返 される 6.8 DNSSEC 導 入 による 影 響 リスト 配 信 サーバを 用 意 せずキャッシュサーバのみ RPZ に 対 応 させる 方 式 も リスト 配 信 サー バとキャッシュサーバを RPZ に 対 応 させる 方 式 も DNS ブロッキングによる DNSSEC の 影 響 は 方 式 1 と 同 様 の 動 作 となるため DNSSEC 導 入 による 影 響 範 囲 は 5.2.1 項 と 同 様 の 懸 念 事 項 が 考 えられる 6.9 導 入 手 順 RPZ を 使 用 し DNS ブロッキングの 設 定 を 行 うために いくつかのサンプルスクリプトを 用 いて 具 体 的 なブロッキングを 導 入 するための 設 定 を 説 明 する 6.9.1 リスト 配 信 サーバなし 導 入 全 体 の 流 れ 61
ブロッキングアドレスリストをアドレスリスト 管 理 団 体 から 取 得 し そのリストからブロッキ ング 対 象 ドメインを 抽 出 したリストを DNS キャッシュサーバに 登 録 し ブロッキング 対 象 ドメイ ンを DNS キャッシュサーバに 読 み 込 む この 一 連 の 手 順 は 以 下 のような 流 れになる 6.9.1.1 リスト 配 信 サーバなし 具 体 的 な 設 定 例 1 アドレスリスト 管 理 団 体 からリストを 取 得 2 取 得 したリストから DNS ブロッキング 用 のゾーンを 作 成 アドレスリスト 管 理 団 体 より 取 得 したリスト(CSV ファイル)の 2 列 目 を 掲 載 ページのホスト 名 5 列 目 を 掲 載 ページのブロッキング 可 否 として それらの 項 目 を 抽 出 する 例 について 記 述 する awk コマンドで DNS ブロキング 可 のホスト 名 のみ 抽 出 したリスト blocking_list_sample.txt を 作 成 する このコマンドは リストの 5 列 目 ( 掲 載 ページのブロッキング 可 否 )のフラグが 1(DNS ブロッキング 可 )のホスト 名 を 抽 出 する # awk -F, '$5==1{print $2}' blocking_list_sample.csv > blocking_list_sample.txt awk コマンドを 実 行 すると 下 記 のリスト(blocking_list_sample.txt)が 生 成 される # cat blocking_list_sample.txt 62
bad.example1.jp bad.example2.jp bad.example3.jp bad.example4.jp bad.example5.jp bad.example6.jp bad.example7.jp bad.example8.jp bad.example9.jp bad.example10.jp 3 DNS ブロッキング 用 リスト(blocking_list_sample.txt)をキャッシュサーバにアップロー ドする 上 記 2で 作 成 した blocking_list_sample.txt をキャッシュサーバにアップロードする セキ ュリティ 上 SFTP SCP などセキュアな 通 信 でアップロードすることが 望 ましい 4 キャッシュサーバサーバにブロッキング 用 のゾーンを 登 録 する 6.3.1 項 で 説 明 したキャッシュサーバの named.conf の 設 定 は 完 了 しているものとする 次 のサンプルスクリプトを 用 いて 具 体 的 にブロッキング 用 ゾーンファイルを 作 成 する 方 法 を 説 明 する まず 設 定 用 ファイルとして 以 下 の 2 つのファイルを 準 備 する blocking_list_sample.txt 上 記 2で 作 成 したブロッキング 対 象 ドメインをリストとして 記 述 したファイル make_block_zone.sh ブロッキング 対 象 用 のゾーンファイルを 作 成 するテンプレートファイル テンプレートファイルに RPZ 用 ゾーンのネームサーバの IP TTL リダイレクト 先 Web の IP アドレスなどについてはあらかじめ 記 入 しておく make_block_zone.sh 1 #!/bin/sh 63
2 3 LANG=C 4 5 ### usage ### 6 # 7 #./mkzone.sh blocking_list_sample.txt 8 # 9 ############# 10 11 DATE=$(date) 12 SERIAL=$(date +"%s") # Serial UNIX epoch time 13 14 HOSTNAME=localhost. 15 EMAIL=root.localhost. 16 REFRESH=1h 17 RETRY=15m 18 EXPIRE=30d 19 MAXNEGATIVE=2h 20 TTL=0 21 22 RPZ_NS1=ns1.block. 23 RPZ_NS1_IPv4=127.0.0.1 24 RPZ_NS1_IPv6=::1 25 26 WEB_IPv4=192.168.0.10 27 WEB_IPv6=fe80::216:36ff:fe68:51e4 28 FILE=$1 29 30 ###### RPZ SOA ###### 31 echo "; File Created ${DATE}" 32 echo "" 33 echo "\$TTL ${TTL}" 34 echo "@ IN SOA ${HOSTNAME} ${EMAIL} (" 35 echo " ${SERIAL} ; Serial UNIX epoch time" 36 echo " ${REFRESH} ; Refresh " 37 echo " ${RETRY} ; Retry " 64
38 echo " ${EXPIRE} ; Expire " 39 echo " ${MAXNEGATIVE} ) ; Minimum" 40 echo "" 41 42 43 ##### RPZ Name server info ##### 44 echo " IN NS ${RPZ_NS1}" 45 echo "${RPZ_NS1} IN A ${RPZ_NS1_IPv4}" 46 echo "${RPZ_NS1} IN AAAA ${RPZ_NS1_IPv6}" 47 echo "" 48 49 ##### Blocking List ##### 50 51 exec 0<$FILE 52 53 while read -r LINE 54 do 55 echo "$LINE IN A ${WEB_IPv4}" 56 echo "$LINE IN AAAA ${WEB_IPv6}" 57 done スクリプト make_block_zone.sh に 下 記 のパラメータをあらかじめ 記 入 する 事 前 に 記 入 するパラメータ パラメータの 内 容 サンプル 例 HOSTNAME RPZ の SOA のホスト 名 HOSTNME=localhost. EMAIL REFRESH RETRY EXPIRE RPZ の 管 理 者 のメールアド レス RPZ ゾーン 情 報 をリフレッ シュするまでの 時 間 RERESH でゾーン 情 報 の 更 新 ができなかった 場 合 に 確 認 するリトライ 時 間 何 らかの 理 由 でゾーン 情 報 のリフレッシュができ ない 状 態 が 続 いた 場 合 に どれだけの 期 間 ゾーン 情 報 を 利 用 してよいか EMAIL=root.localhost. REFLESH=1h RETRY=15m EXPIRE=30d 65
MAXNEGATIVE 存 在 しないドメイン 目 の MAXNEGATIVE=2h 情 報 のキャッシュ 時 間 TTL RPZ のリソースレコードの TTL=0 TTL RPZ_NS1 RPZ のネームサーバ 名 RPZ_NS1=ns1.block. RPZ_NS1_IPv4 RPZ のネームサーバの RPZ_NS1_IPv4=127.0.0.1 IPv4 アドレス RPZ_NS1_IPv6 RPZ のネームサーバの RPZ_NS1_IPv6=::1 IPv6 アドレス WEB_IPv4 リダイレクト 先 Web の WEB_IPv4=192.168.0.10 IPv4 アドレス WEB_IPv6 リダイレクト 先 Web の IPv6 アドレス WEB_IPv6=fe80::216:36ff:fe68:51e4 make_block_zone.sh に 事 前 の 指 定 しておくパラメータの 記 入 が 完 了 したら make_block_zone.sh と blocking_list_sample.txt を 用 いて ブロッキング 用 のゾーンファイ ル tmp_block.txt を 作 成 する #./make_block_zone.sh blocking_list_sample.txt > tmp_block.txt 以 下 のようなブロッキング 用 のゾーンファイルが 作 成 される # cat tmp_block.txt ; File Created Mon Feb 27 13:20:48 JST 2012 $TTL 0 @ IN SOA localhost. root.localhost. ( 1330316448 ; Serial UNIX epoch time 1h ; Refresh 15m ; Retry 30d ; Expire 2h ) ; Minimum IN NS ns1.block. ns1.block. IN A 127.0.0.1 ns1.block. IN AAAA ::1 66
bad.example1.jp IN A 192.168.0.10 bad.example1.jp IN AAAA fe80::216:36ff:fe68:51e4 bad.example2.jp IN A 192.168.0.10 bad.example2.jp IN AAAA fe80::216:36ff:fe68:51e4 bad.example3.jp IN A 192.168.0.10 bad.example3.jp IN AAAA fe80::216:36ff:fe68:51e4 bad.example4.jp IN A 192.168.0.10 bad.example4.jp IN AAAA fe80::216:36ff:fe68:51e4 bad.example5.jp IN A 192.168.0.10 bad.example5.jp IN AAAA fe80::216:36ff:fe68:51e4 bad.example6.jp IN A 192.168.0.10 bad.example6.jp IN AAAA fe80::216:36ff:fe68:51e4 bad.example7.jp IN A 192.168.0.10 bad.example7.jp IN AAAA fe80::216:36ff:fe68:51e4 bad.example8.jp IN A 192.168.0.10 bad.example8.jp IN AAAA fe80::216:36ff:fe68:51e4 bad.example9.jp IN A 192.168.0.10 bad.example9.jp IN AAAA fe80::216:36ff:fe68:51e4 bad.example10.jp IN A 192.168.0.10 bad.example10.jp IN AAAA fe80::216:36ff:fe68:51e4 tmp_block.txt を/var/named/block.db にコピーする # cp tmp_block.txt /var/named/block_db キャッシュサーバ 上 の named プロセスをリロードする # rndc reload キャッシュサーバ 上 のシスログで シリアル 1330316448 の RPZ を 読 み 込 んだことを 確 認 する シスログ(キャッシュサーバ) named[2015]: reloading configuration succeeded named[2015]: reloading zones succeeded named[2015]: zone block/in: loaded serial 1330316448 ブロッキング 対 象 のドメインに 対 し dig により 名 前 解 決 を 実 施 すると リダイレクト 先 Web サーバの IP アドレス が 返 されることを 確 認 する 67
A クエリ # dig @127.0.0.1 bad.example1.jp a ; <<>> DiG 9.8.1-P1 <<>> @127.0.0.1 bad.example1.jp a ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15184 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2 ;; QUESTION SECTION: ;bad.example1.jp. IN A ;; ANSWER SECTION: bad.example1.jp. 0 IN A 192.168.0.10 ;; AUTHORITY SECTION: block. 0 IN NS ns1.block. ;; ADDITIONAL SECTION: ns1.block. 0 IN A 127.0.0.1 ns1.block. 0 IN AAAA ::1 AAAA クエリ # dig @::1 bad.example1.jp aaaa ; <<>> DiG 9.8.1-P1 <<>> @::1 bad.example1.jp aaaa ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 24349 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2 ;; QUESTION SECTION: ;bad.example1.jp. IN AAAA 68
;; ANSWER SECTION: bad.example1.jp. 0 IN AAAA fe80::216:36ff:fe68:51e4 ;; AUTHORITY SECTION: rpz. 0 IN NS ns1.rpz. ;; ADDITIONAL SECTION: ns1.rpz. 0 IN A 127.0.0.1 ns1.rpz. 0 IN AAAA ::1 ブロッキングリストの 更 新 は1 2 3 4を 実 施 する 6.9.2 リスト 配 信 サーバを 用 意 する 場 合 導 入 全 体 の 流 れ ブロッキングアドレスリストをアドレスリスト 管 理 団 体 から 取 得 し そのリストからブロッキ ング 対 象 ドメインを 抽 出 したリストについて DNS キャッシュサーバに 設 定 を 行 い ブロッキング 対 象 ドメインを DNS キャッシュサーバに 読 み 込 む この 一 連 の 手 順 は 以 下 のような 流 れになる 69
6.9.2.1 リスト 配 信 サーバを 用 意 する 場 合 具 体 的 な 設 定 例 1 アドレスリスト 管 理 団 体 からリストを 取 得 2 取 得 したリストから DNS ブロッキング 用 のゾーンを 作 成 アドレスリスト 管 理 団 体 より 取 得 したリスト(CSV ファイル)の 2 列 目 を 掲 載 ページのホスト 名 5 列 目 を 掲 載 ページのブロッキング 可 否 として それらの 項 目 を 抽 出 する 例 について 記 述 する awk コマンドで DNS ブロキング 可 のホスト 名 のみ 抽 出 したリスト blocking_list_sample.txt を 作 成 する このコマンドは リストの 5 列 目 ( 掲 載 ページのブロッキング 可 否 )のフラグが 1(DNS ブロッキング 可 )のホスト 名 を 抽 出 する # awk -F, '$5==1{print $2}' blocking_list_sample.csv > blocking_list_sample.txt awk コマンドを 実 行 すると 下 記 のリスト(blocking_list_sample.txt)が 生 成 される # cat blocking_list_sample.txt bad.example1.jp bad.example2.jp bad.example3.jp bad.example4.jp bad.example5.jp bad.example6.jp bad.example7.jp bad.example8.jp bad.example9.jp bad.example10.jp 3 ブロッキング 用 リスト(blocking_list_sample.txt)をリスト 配 信 サーバにアップロードす る 上 記 2で 作 成 した blocking_list_sample.txt を RPZ-Server にアップロードする セキュリテ ィ 上 SFTP SCP などセキュアな 通 信 でアップロードすることが 望 ましい 4 リスト 配 信 サーバにブロッキング 用 のゾーンを 登 録 する 70
7.3.2 項 で 説 明 した リスト 配 信 サーバの named.conf キャッシュサーバの named.conf の 設 定 は 完 了 しているものとする 次 のサンプルスクリプトを 用 いて 具 体 的 にブロッキング 用 ゾーンファイルを 作 成 する 方 法 を 説 明 する まず 設 定 用 ファイルとして 以 下 の 2 つのファイルを 準 備 する blocking_list_sample.txt 上 記 2で 作 成 したブロッキング 対 象 ドメインをリストとして 記 述 したファイル make_block_zone.sh ブロッキング 対 象 用 のゾーンファイルを 作 成 するテンプレートファイル テンプレートファイ ルの 中 に RPZ 用 ゾーンのネームサーバの IP TTL リダイレクト 先 Web の IP アドレスなどに ついてはあらかじめ 記 入 しておく # less -N make_block_zone.sh 1 #!/bin/sh 2 3 LANG=C 4 5 ### usage ### 6 # 7 #./mkzone.sh blocking_list_sample.txt 8 # 9 ############# 10 11 DATE=$(date) 12 SERIAL=$(date +"%s") # Serial UNIX epoch time 13 14 HOSTNAME=localhost. 15 EMAIL=root.localhost. 16 REFRESH=1h 17 RETRY=15m 18 EXPIRE=30d 19 MAXNEGATIVE=2h 71
20 TTL=0 21 22 RPZ_NS1=ns1.block. 23 RPZ_NS1_IPv4=127.0.0.1 24 RPZ_NS1_IPv6=::1 25 26 WEB_IPv4=192.168.0.10 27 WEB_IPv6=fe80::216:36ff:fe68:51e4 28 FILE=$1 29 30 ###### RPZ SOA ###### 31 echo "; File Created ${DATE}" 32 echo "" 33 echo "\$TTL ${TTL}" 34 echo "@ IN SOA ${HOSTNAME} ${EMAIL} (" 35 echo " ${SERIAL} ; Serial UNIX epoch time" 36 echo " ${REFRESH} ; Refresh " 37 echo " ${RETRY} ; Retry " 38 echo " ${EXPIRE} ; Expire " 39 echo " ${MAXNEGATIVE} ) ; Minimum" 40 echo "" 41 42 43 ##### RPZ Name server info ##### 44 echo " IN NS ${RPZ_NS1}" 45 echo "${RPZ_NS1} IN A ${RPZ_NS1_IPv4}" 46 echo "${RPZ_NS1} IN AAAA ${RPZ_NS1_IPv6}" 47 echo "" 48 49 ##### Blocking List ##### 50 51 exec 0<$FILE 52 53 while read -r LINE 54 do 55 echo "$LINE IN A ${WEB_IPv4}" 72
56 echo "$LINE IN AAAA ${WEB_IPv6}" 57 done スクリプト make_block_zone.sh で 下 記 のパラメータをあらかじめ 記 入 する 事 前 に 記 入 するパラメータ パラメータの 内 容 サンプル 例 HOSTNAME RPZ の SOA のホスト 名 HOSTNME=localhost. EMAIL RPZ の 管 理 者 のメールアド EMAIL=root.localhost. レス REFRESH RPZ ゾーン 情 報 をリフレッ REFLESH=1h シュするまでの 時 間 RETRY RERESH でゾーン 情 報 の 更 RETRY=15m 新 ができたかった 場 合 に 確 認 する 時 間 EXPIRE 何 らかの 理 由 でゾーン 情 EXPIRE=30d 報 のリフレッシュができ ない 状 態 が 続 いた 場 合 に どれだけの 時 間 利 用 して よいか MAXNEGATIVE 存 在 しないドメイン 目 の MAXNEGATIVE=2h 情 報 のキャッシュ 時 間 TTL RPZ のリソースレコードの TTL=0 TTL RPZ_NS1 RPZ のネームサーバ 名 RPZ_NS1=ns1.block. RPZ_NS1_IPv4 RPZ のネームサーバの RPZ_NS1_IPv4=127.0.0.1 IPv4 アドレス RPZ_NS1_IPv6 RPZ のネームサーバの RPZ_NS1_IPv6=::1 IPv6 アドレス WEB_IPv4 リダイレクト 先 Web の WEB_IPv4=192.168.0.10 IPv4 アドレス WEB_IPv6 リダイレクト 先 Web の IPv6 アドレス WEB_IPv6=fe80::216:36ff:fe68:51e4 make_block_zone.sh のパラメータの 記 入 が 完 了 したら make_block_zone.sh と blocking_list_sample.txt を 用 いて ブロッキング 用 のゾーンファイル tmp_block.txt を 作 成 する 73
#./make_block_zone.sh blocking_list_sample.txt > tmp_block.txt 以 下 のようなブロッキング 用 のゾーンファイルが 作 成 される # cat tmp_block.txt ; File Created Tue Feb 21 17:30:44 JST 2012 $TTL 0 @ IN SOA localhost. root.localhost. ( 1329813044 ; Serial UNIX epoch time 1h ; Refresh 15m ; Retry 30d ; Expire 2h ) ; Minimum IN NS ns1.block. ns1.block. IN A 127.0.0.1 ns1.block. IN AAAA ::1 bad.example1.jp IN A 192.168.0.10 bad.example1.jp IN AAAA fe80::216:36ff:fe68:51e4 bad.example2.jp IN A 192.168.0.10 bad.example2.jp IN AAAA fe80::216:36ff:fe68:51e4 bad.example3.jp IN A 192.168.0.10 bad.example3.jp IN AAAA fe80::216:36ff:fe68:51e4 bad.example4.jp IN A 192.168.0.10 bad.example4.jp IN AAAA fe80::216:36ff:fe68:51e4 bad.example5.jp IN A 192.168.0.10 bad.example5.jp IN AAAA fe80::216:36ff:fe68:51e4 bad.example6.jp IN A 192.168.0.10 bad.example6.jp IN AAAA fe80::216:36ff:fe68:51e4 bad.example7.jp IN A 192.168.0.10 bad.example7.jp IN AAAA fe80::216:36ff:fe68:51e4 bad.example8.jp IN A 192.168.0.10 bad.example8.jp IN AAAA fe80::216:36ff:fe68:51e4 bad.example9.jp IN A 192.168.0.10 bad.example9.jp IN AAAA fe80::216:36ff:fe68:51e4 74
bad.example10.jp IN A 192.168.0.10 bad.example10.jp IN AAAA fe80::216:36ff:fe68:51e4 tmp_block.txt を/var/named/block.db にコピーする # cp tmp_block.txt /var/named/block_db リスト 配 信 サーバ 上 の named プロセスをリロードする # rndc reload server reload successful リスト 配 信 サーバ 上 のシスログで シリアル 1329813044 の RPZ を 読 み 込 んだこと キャッシュ サーバへのゾーン 転 送 が 完 了 したことを 確 認 する ゾーンの 読 み 込 み 完 了 ( リスト 配 信 サーバ ) named[1713]: reloading configuration succeeded named[1713]: zone block/in: loaded serial 1329813044 named[1713]: reloading zones succeeded ゾーン 転 送 の 完 了 ( リスト 配 信 サーバ ) named[1713]: client 192.168.0.100#60209: transfer of 'block/in': AXFR-style IXFR started: TSIG block-tsig-key named[1713]: client 192.168.0.100#60209: transfer of 'block/in': AXFR-style IXFR ended 5 リスト 配 信 サーバからキャッシュサーバにリストが 配 信 されたことを 確 認 する キャッシュサーバ 上 で シリアル 1329813044 のゾーン 転 送 が 完 了 したことを 確 認 する ゾーン 転 送 の 完 了 ( キャッシュサーバ ) named[1556]: client 192.168.0.200#16941: received notify for zone 'block' named[1556]: zone block/in: Transfer started. named[1556]: transfer of 'block/in' from 192.168.0.200#53: connected using 192.168.0.100#60209 named[1556]: zone block/in: transferred serial 1329813044: TSIG 'block-tsig-key' named[1556]: transfer of 'block/in' from 192.168.0.200#53: Transfer completed: 1 messages, 25 records, 828 bytes, 0.001 secs (828000 bytes/sec) 75
キャッシュサーバ 上 で ブロッキング 対 象 とドメインに 対 し dig により 名 前 解 決 を 実 施 すると リダイレクト 先 Web サーバの IP アドレス が 返 されることを 確 認 する A クエリ # dig @127.0.0.1 bad.example1.jp a ; <<>> DiG 9.8.1-P1 <<>> @127.0.0.1 bad.example1.jp a ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15184 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2 ;; QUESTION SECTION: ;bad.example1.jp. IN A ;; ANSWER SECTION: bad.example1.jp. 0 IN A 192.168.0.10 ;; AUTHORITY SECTION: block. 0 IN NS ns1.block. ;; ADDITIONAL SECTION: ns1.block. 0 IN A 127.0.0.1 ns1.block. 0 IN AAAA ::1 AAAA クエリ # dig @::1 bad.example1.jp aaaa ; <<>> DiG 9.8.1-P1 <<>> @::1 bad.example1.jp aaaa ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 24349 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2 76
;; QUESTION SECTION: ;bad.example1.jp. IN AAAA ;; ANSWER SECTION: bad.example1.jp. 0 IN AAAA fe80::216:36ff:fe68:51e4 ;; AUTHORITY SECTION: rpz. 0 IN NS ns1.rpz. ;; ADDITIONAL SECTION: ns1.rpz. 0 IN A 127.0.0.1 ns1.rpz. 0 IN AAAA ::1 ブロッキングリストの 更 新 は1 2 3 4 5を 実 施 する 77
7. アドレスリスト 管 理 団 体 とのインタフェース 仕 様 具 体 的 なアドレスリスト 管 理 団 体 と ISP との 間 のインタフェース 仕 様 は アドレスリスト 管 理 団 体 であるインターネットコンテンツセーフティ 協 会 にて 策 定 されることになるが 現 時 点 では 未 確 定 な 部 分 が 多 いため ここでは 警 察 庁 事 業 官 民 連 携 した 児 童 ポルノ 流 通 防 止 対 策 に 係 る 調 査 研 究 にて 実 施 したアドレスリスト 受 渡 しの 実 証 実 験 における 仕 様 から 想 定 した 内 容 について 記 載 する 詳 細 については アドレスリスト 利 用 についての 申 込 み 方 法 も 含 めてインターネット コンテンツセーフティ 協 会 (http://www.netsafety.or.jp)にて 確 認 していただきたい 7.1 アドレスリストフォーマット 仕 様 以 下 の 項 目 を 含 んだ csv ファイルにて 提 供 される 1 児 童 ポルノ 画 像 が 掲 載 されたページのホスト 名 2 児 童 ポルノ 画 像 が 掲 載 されたページの IP アドレス 3 児 童 ポルノ 画 像 が 掲 載 されたページの URL 4 児 童 ポルノ 画 像 ファイルのホスト 名 5 児 童 ポルノ 画 像 ファイルの IP アドレス 6 児 童 ポルノ 画 像 ファイルの URL 7 児 童 ポルノ 画 像 ファイルのハッシュ 値 8 児 童 ポルノ 画 像 が 掲 載 されたベージの IP アドレスの 確 認 年 月 日 9 児 童 ポルノ 画 像 ファイルの IP アドレスの 確 認 年 月 日 10 児 童 ポルノ 画 像 掲 載 ページの URL の 存 在 の 最 終 確 認 年 月 日 11 児 童 ポルノ 画 像 ファイルの URL の 存 在 の 最 終 確 認 年 月 日 12 事 業 者 への 提 供 年 月 日 13 児 童 ポルノ 掲 載 ページのホストに 対 する DNS ブロッキング 対 応 可 否 14 児 童 ポルノ 掲 載 ページ URL に 対 する DNS ブロッキング 対 応 可 否 等 7.2 リスト 受 渡 方 式 アドレスリストファイルが 置 かれたサーバに 対 して セキュリティが 確 保 された 方 法 にて ISP から 該 当 のアドレスリストファイルのダウンロードを 行 うことによりリストの 提 供 が 行 われる 7.3 ブロッキング 警 告 画 面 78
ブロッキング 対 象 のサイトへアクセスが 行 われた 際 には 利 用 者 に 対 してはブロッキングが 行 われた 旨 を 通 知 するブロッキング 警 告 画 面 が 表 示 される ISP 毎 にブロッキング 警 告 画 面 やその 掲 載 内 容 が 異 なることは 利 用 者 にとってブロッキングについての 内 容 の 理 解 が 得 られにくく 広 く 利 用 者 に 周 知 を 行 う 上 でも 統 一 されたブロッキング 警 告 画 面 がアドレスリスト 管 理 団 体 に より 提 供 される ブロッキング 警 告 画 面 には ブロッキングされた 理 由 ブロッキングの 主 旨 目 的 問 合 せ 先 等 が 記 述 される 実 際 のブロッキング 警 告 画 面 の 設 置 については ブロッキング 実 施 主 体 は ISP であり それ 以 外 の 第 3 者 によりブロッキングが 実 施 されているとの 誤 解 を 利 用 者 から 受 けることを 回 避 するため ブロッキングを 実 施 する ISP それぞれにおいて 設 置 すること とする 7.4 利 用 者 からの 問 合 せ 対 応 ブロッキングされたことに 対 する 利 用 者 からの 問 合 せは アドレスリスト 管 理 団 体 にて 一 元 的 に 受 付 され 対 応 が 行 われる このうち ISP に 係 わる 問 合 せについては アドレスリスト 管 理 団 体 から ISP へと 対 応 の 依 頼 が 行 われる 7.5 サイト 管 理 者 からの 問 合 せ 対 応 自 分 のサイトが 児 童 ポルノを 掲 載 していないにも 関 わらずブロッキングアドレスリストに 掲 載 されたと 思 われる 場 合 には アドレスリスト 管 理 団 体 側 にて 用 意 された 異 議 申 し 立 てのための 受 付 フォームにて 申 請 を 行 うことができる 申 請 された 申 し 立 てについては Web サイト 上 にてア ドレスリスト 管 理 団 体 においての 対 応 状 況 を 確 認 することができる 7.6 ブロッキング 警 告 画 面 へのアクセスログの 扱 い ブロッキング 警 告 画 面 へのアクセスログは 児 童 ポルノが 掲 載 されたサイトへアクセスしよう とした 利 用 者 を 特 定 することができるものであり かつ アクセスしようとしていた 利 用 者 の 通 信 の 秘 密 を 形 式 的 に 侵 害 したログでもあるため その 扱 いには 慎 重 な 配 慮 が 必 要 である このよ うな 性 質 を 有 するアクセスログの 保 存 は 違 法 性 が 阻 却 される 場 合 に 限 り 行 うことができるもの であり 違 法 性 が 阻 却 されない 場 合 にはアクセスログの 保 存 を 行 ってはならない 運 用 を 心 がける べきである ブロッキングの 効 果 測 定 を 行 う 等 運 用 上 アクセスログの 利 用 が 必 要 となる 場 合 が 想 定 されるが そのような 場 合 も 違 法 性 が 阻 却 されるか 否 かを 十 分 に 吟 味 した 上 で 実 施 すべきで あり その 際 も 利 用 者 の IP アドレスは 削 除 した 上 で 利 用 する 等 の 慎 重 な 配 慮 が 必 要 である 79
8. 総 括 多 くの ISP において 導 入 に 際 しての 障 壁 の 低 さからブロッキングの 導 入 方 式 として 期 待 されて いる DNS ブロッキング 方 式 について 具 体 的 な 設 定 方 法 についての 解 説 およびその 評 価 を 行 った が その 中 でいくつかの 課 題 が 明 らかになった 1つは 性 能 に 関 するもので ISP において 提 供 している DNS のシステム 環 境 によっては ブロッキング 対 象 のアドレスリストが 増 大 した 際 にア ドレスリストの 更 新 処 理 において DNS サービスの 継 続 的 な 提 供 に 影 響 が 発 生 することがみとめ られた 2 点 目 は DNS のセキュリティ 強 化 のために 今 後 導 入 が 進 むことが 想 定 される DNSSEC との 関 係 において ブロッキングを 実 装 する 方 法 によっては 適 切 にブロッキングの 処 理 ができな い 場 合 が 発 生 することである 本 来 DNS クエリに 対 する 回 答 の 詐 称 を 防 止 する 技 術 である DNSSEC と 回 答 を 詐 称 することを 対 策 としている DNS ブロッキングは 相 反 するものであり 将 来 的 には DNS を 利 用 しない 形 態 でのブロッキング 方 式 に 進 展 していくことも あるべき 方 向 の 一 つと 考 えられる また ブロッキングの 実 効 性 を 考 えた 場 合 においても DNS ブロッキング 方 式 は 限 定 された 範 囲 でのアドレスリストがブロッキングの 対 象 であり 対 象 となるアドレスリスト 全 体 に 対 しての ブロッキングとはならないため さらにきめの 細 かな 画 像 単 位 でブロッキングが 可 能 な 方 式 への 展 開 に 向 けた 検 討 も 必 要 である 今 後 さらに 精 度 が 高 く かつ 実 効 性 を 向 上 させたブロッキ ング 方 式 についても 具 体 的 な 方 式 や 投 資 額 の 算 出 効 率 的 な 設 備 構 成 運 用 方 法 等 総 合 的 な 観 点 から 検 討 を 進 めていくことが 必 要 となる ISP とアドレスリスト 管 理 団 体 とのリスト 受 渡 しやブロッキング 実 施 に 関 する 運 用 について は 今 後 実 際 の 運 用 を 進 めて 行 く 中 で 各 種 の 課 題 が 発 生 することが 想 定 されるが それらの 課 題 の 解 決 に 向 けては ISP とアドレスリスト 管 理 団 体 間 にて 課 題 について 共 有 し 解 決 に 向 けた 協 議 する 体 制 を 構 築 の 上 相 互 に 協 力 しながら ブロッキングを 安 定 的 に 利 用 者 の 利 便 性 を 低 下 さ せることなく 運 用 していくことが 重 要 である 80
9. 参 考 : 商 用 DNS 製 品 を 使 用 した DNS ブロッキングの 紹 介 参 考 情 報 として 商 用 DNS 製 品 である Infoblox と Nominum を 使 用 した 場 合 の DNS ブロッキ ングの 概 要 を 紹 介 する 詳 細 を 確 認 されたい 場 合 は 取 り 扱 いベンダーに 問 合 せ 願 いたい 9.1 Infoblox を 使 用 した DNS ブロッキング Infoblox を 使 用 した DNS ブロッキングの 概 要 について 説 明 する 9.1.1 Infoblox 会 社 概 要 Infoblox は 1999 年 に 設 立 され 40,000 台 を 超 えるアプライアンスを フォーチュン 500 の 1/3 以 上 の 企 業 を 含 む 世 界 の 5,000 社 以 上 のお 客 様 に 供 給 しています Infoblox は DNS,DHCP 等 コアネットワークサービス ネットワーク 運 用 自 動 化 のリーダーです 通 信 事 業 者 政 府 機 関 自 治 体 エンタープライズ 等 世 界 の 大 手 企 業 の 多 くが ビジネスの 継 続 性 可 用 性 コンプライアンスを 実 現 するために 当 社 の 統 合 強 化 されたアプライアンスベ ースのソフトウェアを 信 頼 しています 当 社 では 統 合 された DNS DHCP IP アドレス 管 理 (IPAM) およびネットワーク 変 更 と 構 成 管 理 (NCCM) 製 品 を 提 供 しています また 最 高 技 術 責 任 者 にオライリー 社 の DNS BIND の 著 者 である Cricket Liu を 中 心 に 製 品 開 発 が 行 われ 且 つ CERT と 連 携 を 持 ちながら 製 品 作 りを 行 っています 今 回 ご 紹 介 する DNS ブロッキングは 日 本 国 内 の 第 一 種 事 業 者 様 にて 既 に 導 入 頂 いております 9.1.2 Infoblox ソリューション 概 要 Infoblox は DNS の 基 本 機 能 であるキャッシュサーバと 権 威 サーバをお 客 様 の 用 途 に 応 じて 一 台 で 構 成 出 来 ます また より 高 速 なキャッシュサーバを 求 められるお 客 様 に 対 応 出 来 る 様 高 速 キャッシュ 専 用 機 (IB-1852, IB-4010)を 設 けております どのような 用 途 にも 弊 社 の 特 許 技 術 である GRID 機 能 にて 複 数 台 あるサーバを 一 つの 画 面 にて 一 元 管 理 が 行 え 運 用 コスト を 最 大 で 50% 削 減 できる 一 方 可 用 性 とアプリケーションのパフォーマンスを 強 化 することが 出 来 ます 今 回 ご 紹 介 する DNS ブロッキング 基 本 機 能 となっておりますので 使 用 する 為 の 特 別 な 装 置 はライセンスの 必 要 ありません GRID 機 能 により ブラックリストを 自 動 的 に 複 数 台 のキャッシュサーバに 展 開 する 事 が 可 能 で す 81
9.1.3 製 品 概 要 Infobloxの 製 品 は 業 種 問 わず 多 くのお 客 様 に 導 入 されています 導 入 のメリットは DNS, DHCPの 機 能 だけではなく 前 出 のGRID 機 能 にあります 複 数 台 あるDNSサーバを 一 元 管 理 が 行 えま す また 複 数 台 のDNSサーバがあっても 1 台 に 対 して 作 業 を 行 う 事 で 全 サーバの 運 用 管 理 が 可 能 となり サーバ 台 数 N 台 分 の1まで 運 用 効 率 を 上 げることが 可 能 となります また DNSSECは 導 入 にあたって 設 定 投 入 管 理 オペレーションミス 等 が 懸 念 されますが Infobloxでは 1クリックで 設 定 することが 可 能 となり 且 つオペレーションミスを 最 低 限 まで 抑 える 事 が 実 現 出 来 ます IPv6は IPv4/IPv6デュアルスタック DNS64 DHCPv6は すべて 対 応 しており DNSブロッキン グもIPv6に 対 応 しています Infobloxでは 機 能 だけではなく 運 用 の 一 元 化 平 準 化 効 率 化 を 考 慮 して 製 品 作 りを 行 って おります また 最 近 では ネットワークの 可 視 化 に 焦 点 を 当 て DNS 問 い 合 わせの 可 視 化 レイテンシー 等 の 情 報 をグラフ 化 する 製 品 もリリースしております これらにより ユーザーの 接 続 傾 向 を 可 視 化 し 新 サービスへの 対 応 障 害 の 対 応 顧 客 ニーズへの 対 応 を 察 知 し ユーザー 始 動 ではなく サービス 事 業 者 始 動 の 対 応 をとる 事 が 可 能 となります 9.1.4 構 成 例 InfobloxのDNSによるブロッキングを 実 現 する 方 法 としては キャッシュサーバ 上 でブロッキ ングリストを 保 持 する 方 法 をとります ブロッキングアドレスリストを 個 々に 投 入 する 事 も 可 能 ですし GRIDにて 一 元 管 理 しキャッシュサーバに 配 信 する 配 信 することが 可 能 です 9.1.5 キャッシュサーバ 上 でブロッキングリストを 保 持 する 方 式 の 構 成 例 以 下 の 図 の 様 に 特 定 ドメインへの 問 い 合 わせに 対 してブロッキングを 行 い その 通 信 を 警 告 ポータルサイトに 誘 導 し そこでブロッキング 警 告 画 面 を 表 示 させる 構 成 が 一 般 的 となります Infobloxでは ブロッキングリストの 一 括 投 入 が 可 能 ですので 投 入 時 の 作 業 を 最 低 限 に 抑 える ことが 可 能 となります 82
図 1 DNSキャッシュサーバでブロッキングリストの 構 成 例 83
9.1.6 日 本 国 内 第 一 種 事 業 者 様 での 実 構 成 例 図 2 第 一 種 事 業 者 様 での 実 構 成 例 9.1.7 Infoblox 問 い 合 わせ 先 Infoblox 株 式 会 社 営 業 部 : 角 田 電 話 :03-5772-7211 Mail: sales-japan@infoblox.com 9.2 Nominum を 使 用 した DNS ブロッキング Nominum を 使 用 した DNS ブロッキングの 概 要 について 説 明 する 9.2.1 Nominum 会 社 概 要 Nominum 社 ( 本 社 : 米 国 )はインターネット ソフトウェア コンソーシアム(ISC)のBIND9 とISC DHCP3を 開 発 するために1999 年 に 設 立 された このプロジェクトの 経 験 を 活 かし DNSの 考 案 者 であり Nominum 社 のチェアマンでもあるポールモカペトリス 氏 を 中 心 に 商 用 DNS 及 びDHCP 製 品 を 開 発 2002 年 より 販 売 を 開 始 した Nominum 社 は 高 いパフォーマンス 高 いセキュリティ 性 を 持 つ 製 品 を 世 界 各 国 の 通 信 事 業 者 84
をはじめ 企 業 大 学 および 政 府 機 関 に 提 供 している DNSの 脆 弱 性 に 対 する 強 い 耐 性 を 持 ち セキュリティを 高 める 機 能 追 加 を 継 続 して 進 めてきた 2002 年 の 製 品 発 売 以 来 要 求 の 厳 しい 通 信 事 業 者 のインターネット 環 境 において 安 定 した 稼 動 を 実 現 している さらには DNSブロッキ ングに 対 応 した 製 品 を2008 年 より 提 供 しており 一 部 地 域 の 事 業 者 にて 利 用 されている 9.2.3 Nominum ソリューション 概 要 Nominum 社 はDNSの 基 本 機 能 であるキャッシュサーバと 権 威 サーバを2つの 製 品 に 分 けている これは 製 品 のセキュリティ 性 を 高 めるだけでなく ソフトウェア 自 体 のコード 数 を 減 らし 性 能 の 最 適 化 バグの 低 減 も 目 的 としている Nominum 社 が 提 供 するキャッシュサーバはVantio Base Server( 以 降 Vantio)であり 権 威 サーバはAuthoritative Name Server ( 以 降 ANS)である また DNS ブ ロ ッ キ ン グ を 実 現 す る キ ャ ッ シ ュ モ ジ ュ ー ル と し て Malicious Domain Redirection( 以 降 MDR)がある MDRはVantioにインストールするモジュールでの 提 供 となって いる また ブロッキング 対 象 のアドレスリストを 保 持 管 理 するCentrisがある これらの 製 品 を 利 用 することでDNSブロッキングを 実 現 する 9.2.4 製 品 概 要 Nominum 社 が 提 供 するVantioは 世 界 中 の 多 数 の 事 業 者 に 利 用 されている キャッシュサーバと して 高 性 能 高 可 用 性 といった 特 徴 を 持 つだけでなく GUIによるリソースの 可 視 化 SNMPによ るDNSサーバの 管 理 DoS 攻 撃 の 検 知 遮 断 機 能 A レイテンシーの 最 適 化 を 計 ることで 快 適 なインターネットの 利 用 を 提 供 している また DNSSEC IPv6 及 びDNS64に 対 応 しているだけで なく APIの 装 備 や 階 層 化 セキュリティにより キャッシュポイズニング 攻 撃 にも 強 い 耐 性 を 持 つ 2002 年 の 製 品 リリース 以 降 脆 弱 性 の 対 応 はなく 安 定 したシステム 環 境 を 実 現 する Vantioには 複 数 のモジュールオプションが 用 意 されており MDRはDNSブロッキングを 実 現 する MDRはブロッキングリストをキャッシュサーバ 上 で 保 持 し ブロッキング 対 象 のドメインあるい はホスト 名 に 対 するDNS 問 合 せに 対 し リダイレクト 先 WebサーバのIPアドレスを 回 答 することが 可 能 である 数 千 万 規 模 のブロッキングリストにも 対 応 でき 本 来 のキャッシュの 性 能 を 劣 化 さ せることなく サービスを 提 供 できる 85
さらに 大 規 模 な 環 境 に 対 し アドレスリストの 保 持 管 理 を 一 元 化 するリスト 配 信 サーバとし てCentrisがある これは 複 数 のアドレスリストを 管 理 運 用 していく 場 合 リストの 保 管 場 所 を 一 元 化 することができ CentrisからVantio 及 びMDRに 対 し ゾーン 転 送 プロトコル(AXFR IXFR)でリストの 更 新 を 行 うことが 可 能 である また アドレスリストの 外 部 への 流 出 を 防 ぐた め CentrisとVantio 及 びMDR 間 の 通 信 Centrisとリスト 管 理 団 体 との 通 信 を 暗 号 化 することが 可 能 である マニュアルによるアドレスリストの 管 理 運 用 にて 発 生 しうる 人 為 的 ミスをなくし 自 動 化 したサービスを 実 現 する 9.2.5 構 成 例 Nominum 社 のDNSによるブロッキングを 実 現 する 方 法 としては BIND 及 びunboundと 同 様 に1キ ャッシュサーバ 上 でブロッキングリストを 保 持 する 方 法 がある またブロッキングアドレスリス トを 一 括 管 理 しキャッシュサーバに 定 期 的 に 配 信 する2アドレスリスト 配 信 サーバにてリスト を 保 持 管 理 する 方 法 の2つの 方 法 が 考 えられる この2つの 方 法 における 具 体 的 な 構 成 例 を 紹 介 する 9.2.6 キャッシュサーバ 上 でブロッキングリストを 保 持 する 方 式 の 構 成 例 example.jpドメイン 内 のWebサイト www.example.jp (192.168.0.1)へのアクセスに 対 して ブロッキングを 行 い その 通 信 をリダイレクト 用 Webサーバ(192.168.0.10)に 誘 導 し そこでブ ロッキング 警 告 画 面 を 表 示 させる 構 成 が 以 下 となる 図 1にあるように 構 成 はBIND 及 びunbound と 同 様 の 構 成 となる 86
example.jpの 権 威 サーバ Webサーバ www.example.jp 192.168.0.1 2001:DB8::5 Nominum キャッシュサーバ 社 製 キャッシュサーハ Vantio (PRZ 対 Base 応 済 Server み) MDRモジュール リダイレクトWebサーバ 192.168.0.10 fe80:36ff:fe68:51e4 1 www.example.jp A? 2 www.example.jp A = 192.168.0.10 3 リダイレクトWebサー バにアクセス リゾルバ 図 1 Nominum DNSキャッシュサーバでブロッキングリストを 保 持 する 場 合 の 構 成 例 9.2.7 アドレスリスト 配 信 サーバにてリストを 管 理 保 持 する 方 式 の 構 成 例 図 2は ブロッキング 対 象 となるアドレスリストについて 一 元 的 に 管 理 し 複 数 台 のキャッシ ュサーバに 対 してアドレスリストを 定 期 的 に 配 信 する 構 成 である リスト 配 信 サーバとして Nominum 社 製 Centrisを 利 用 する 複 数 のブロッキングリストを 用 いる 場 合 一 旦 Centrisにて リストを 管 理 保 持 し アドレスリストを 更 新 すると Centrisはキャッシュサーバに 対 して ゾーン 転 送 プロトコル(AXFR IXFR)でリストの 配 信 を 行 う CentrisとVantio 及 びMDR 間 の 通 信 は 全 て 暗 号 化 される キャッシュサーバであるVantio 及 びMDRはブロッキングのアドレスリスト 対 象 のドメインある いはホスト 名 に 対 するDNS 問 合 せに 対 して リダイレクトWebサーバのIPアドレスを 回 答 すること で 閲 覧 者 に 対 しブロッキング 警 告 画 面 を 表 示 させる 87
Nominum 社 製 リスト 配 信 サーバ Centris example.jpの 権 威 サーバ Webサーバ www.example.jp 192.168.0.1 2001:DB8::5 複 数 台 のキャッシュサーバに ブロッキングリストを 配 信 Nominum 社 製 キャッシュサーハ Vantio Base Server MDRモジュール リダイレクトWebサーバ 192.168.0.10 fe80:36ff:fe68:51e4 1 www.example.jp A? 2 www.example.jp A = 192.168.0.10 3 リダイレクトWebサー バにアクセス リゾルバ 図 2 アドレスリスト 配 信 サーバにてリストを 管 理 保 持 する 方 式 の 構 成 9.2.8 Nominum 問 い 合 わせ 先 E-MAIL:nominum-sales@ml.scsk.jp SCSK 株 式 会 社 IT プロダクト&サービス 事 業 本 部 IP ネットワーク 部 Nominum 担 当 E-MAIL:nominum-sales@ml.scsk.jp 88
2011 年 度 児 童 ポルノ 対 策 作 業 部 会 ISP 技 術 者 サブワーキンググループ 構 成 員 ( 役 職 名 等 は 2012 年 9 月 末 日 時 点 の 記 載 ) リーダー 北 村 和 広 NTT コミュニケーションズ 株 式 会 社 ネットワークサービス 部 担 当 部 長 安 心 ネットづくり 促 進 協 議 会 児 童 ポルノ 対 策 作 業 部 会 副 主 査 構 成 員 齋 藤 衛 株 式 会 社 インターネットイニシアティブ サービス 本 部 セキュリティ 情 報 統 括 室 室 長 山 本 功 司 株 式 会 社 インターネットイニシアティブサービス 本 部 アプリケーションサービス 部 副 部 長 岸 川 徳 幸 NEC ビッグローブ 株 式 会 社 執 行 役 員 基 盤 システム 本 部 長 持 麾 裕 之 NECビッグローブ 株 式 会 社 経 営 企 画 本 部 調 査 シニアエキスパート 山 崎 文 生 ソネットエンタテインメント 株 式 会 社 システム 技 術 部 門 プラットフォーム 部 IT インフラ 課 泉 水 剛 志 ソフトバンクBB 株 式 会 社 ネットワーク 本 部 技 術 企 画 部 柳 舘 一 彦 ニフティ 株 式 会 社 IT 統 括 部 基 盤 システム 部 部 長 大 はた 寿 夫 ニフティ 株 式 会 社 IT 統 括 部 基 盤 システム 部 課 長 齋 藤 和 典 ニフティ 株 式 会 社 IT 統 括 部 基 盤 システム 部 担 当 課 長 平 岡 庸 博 KDDI 株 式 会 社 プラットフォーム 技 術 部 インフラプラットフォーム 開 発 グループリーダー 立 石 聡 明 社 団 法 人 日 本 インターネットプロバイダー 協 会 副 会 長 明 神 浩 社 団 法 人 テレコムサービス 協 会 企 画 部 長 中 島 寛 一 般 社 団 法 人 日 本 ケーブルテレビ 連 盟 技 術 部 部 長 入 部 良 也 社 団 法 人 電 気 通 信 事 業 者 協 会 調 査 部 部 長 オブザーバー 堀 部 政 男 一 橋 大 学 名 誉 教 授 安 心 ネットづくり 促 進 協 議 会 会 長 森 亮 二 弁 護 士 安 心 ネットづくり 促 進 協 議 会 調 査 研 究 委 員 会 委 員 長 兼 児 童 ポルノ 対 策 作 業 部 会 主 査 89