JP2018174469A - Dnsサーバ、dnsサーバにおけるブラックリスト生成方法、dnsサーバに用いるブラックリスト生成プログラム - Google Patents

Dnsサーバ、dnsサーバにおけるブラックリスト生成方法、dnsサーバに用いるブラックリスト生成プログラム Download PDF

Info

Publication number
JP2018174469A
JP2018174469A JP2017072096A JP2017072096A JP2018174469A JP 2018174469 A JP2018174469 A JP 2018174469A JP 2017072096 A JP2017072096 A JP 2017072096A JP 2017072096 A JP2017072096 A JP 2017072096A JP 2018174469 A JP2018174469 A JP 2018174469A
Authority
JP
Japan
Prior art keywords
domain
dns
information
list
black list
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2017072096A
Other languages
English (en)
Other versions
JP6442545B2 (ja
Inventor
浩平 増本
Kohei Masumoto
浩平 増本
奨悟 斎藤
Shogo Saito
奨悟 斎藤
忠佑 野副
Tadasuke Nozoe
忠佑 野副
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone West Corp
Original Assignee
Nippon Telegraph and Telephone West Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone West Corp filed Critical Nippon Telegraph and Telephone West Corp
Priority to JP2017072096A priority Critical patent/JP6442545B2/ja
Publication of JP2018174469A publication Critical patent/JP2018174469A/ja
Application granted granted Critical
Publication of JP6442545B2 publication Critical patent/JP6442545B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】 デュアルスタック環境において、処理負荷を低減させて効率よく且つ確実に名前解決処理を実行するためのDNSサーバを提供する。【解決手段】 所定時間間隔で、DNSクエリに対する応答処理のログ情報中の拒絶応答数が上位の所定数のドメイン名とその拒絶応答数から、ドメインレベルごとに共通する文字列を含むグループごとにドメイン名およびその拒絶応答数を抽出し、グループごとの上位ドメインリストを生成する上位ドメインリスト生成部13hと、各グループの上位ドメインごとに、ドメイン内の共通する文字列で示される拒絶ドメイン部分情報とこれに該当する拒絶応答数の和で示されるカウント値とを取得してブラックリストを生成するブラックリスト生成部13iと、ブラックリストの中からDNSレコード情報内のドメイン名が該当する拒絶ドメイン部分情報を削除するブラックリスト更新部13nとを備える。【選択図】図1

Description

デュアルスタック環境において、処理負荷を抑えて名前解決処理を実行するためのDNSサーバ、DNSサーバにおけるブラックリスト生成方法、DNSサーバに用いるブラックリスト生成プログラムに関する。
近年、IPネットワークを利用する通信は、IPv4とIPv6とのプロトコルが混在するデュアルスタックの環境で行われることがある。
デュアルスタックの環境においては、異なるプロトコルのネットワークにアクセスする場合、例えば、IPv6対応の閉域網(以下、「IPv6閉域網」と称する)内のユーザ端末から、IPv4対応の広域網(以下、「IPv4広域網」と称する)内のWebサーバにアクセスする場合には、ユーザ端末は一旦IPv6閉域網内のDNS(Domain Name System)サーバに名前解決を問い合わせ、これに対してRefused応答(拒絶応答)を受信すると、IPv4広域網内のISP−DNSサーバにアクセスすることになる。
このようにIPv4広域網へのアクセスの際にもIPv6閉域網内のDNSサーバで問い合わせに対する処理を行うと、IPv6閉域網内のDNSサーバの処理負荷が増大してしまうという問題がある。そのため、IPv6閉域網内のDNSサーバの前段に、Refused応答の対象となるハードウェア(ユーザ端末)からのアクセスを検出してフィルタリングするためのハードウェア検出装置を設置する技術がある。
このハードウェア検出装置には、名前解決に関する処理を拒絶するドメイン名を登録したDNSブラックリストを予め保持させる。そして、IPv4アドレスの名前解決の問い合わせ要求が行われたときに、当該アドレスに、DNSブラックリストに登録されたドメイン名が含まれていれば、DNSサーバにアクセスさせることなく、要求元の端末にRefused応答を送信する。
このように構成することにより、IPv6閉域網内のDNSサーバの処理負荷を低減させることができる。
特開2005−229234号公報 特開2015−220483号公報
上述したハードウェア検出装置では、DNSブラックリストに記憶する情報の容量に制限があり、登録可能なドメイン名の数や情報の大きさが限られている。そのため、Refused応答の対象となるドメイン名の共通部分のみをフィルタリングのための検出対象の最小限の情報として登録しておき、当該登録された共通部分を含むドメイン名の名前解決の問い合わせ要求が行われたときにRefused応答している。
しかし、このように最小限の共通部分の情報のみをDNSブラックリストに登録しておくと、DNSサーバに名前解決処理対象として登録されているドメイン名に、当該共通部分が含まれてしまう場合がある。この場合、当該ハードウェア検出装置において、当該ドメイン名に関してはRefused応答せずにDNSサーバへのアクセスを許可するように個別に設定をする必要がある。このように設定が行われることで、DNSサーバ内で実行される処理とハードウェア検出装置内で実行される処理との整合性をとることができる。
しかし、DNSサーバとハードウェア検出装置とは独立して構成されているため、DNSブラックリストに当該ドメイン名の共通部分を登録してからハードウェア検出装置においてアクセス許可の設定が行われるまでの間、双方の装置で処理の整合性がとれない期間が発生することがある。この期間が発生すると、当該DNSサーバに名前解決処理対象として登録されているドメイン名に関する名前解決処理が要求されても、処理が実行されずにRefused応答されてしまうという問題があった。
また、DNSブラックリストの登録は手動で行うため、手間がかかるという問題があった。
本発明は上記事情を鑑みてなされたものであり、デュアルスタック環境において、処理負荷を低減させて効率よく且つ確実に名前解決処理を実行するためのDNSサーバ、DNSサーバにおけるブラックリスト生成方法、DNSサーバに用いるブラックリスト生成プログラムを提供することを目的とする。
上記の課題を解決するための、本発明のDNSサーバは、ドメイン名からIPアドレスを解決する名前解決処理を行うために登録された、ドメイン名とIPアドレスとの対応情報をDNSレコード情報として記憶するDNSレコード情報記憶部と、ドメイン名を指定して名前解決処理を要求するために送信されたDNSクエリに対する応答処理のログ情報を記憶する応答ログ情報記憶部と、所定時間間隔で、前記応答ログ情報記憶部に記憶された応答ログ情報から、拒絶応答数が上位の所定数のドメイン名とその拒絶応答数を抽出して応答ログ情報の上位ドメインリストを生成し、生成した応答ログ情報の上位ドメインリストに基づいて、ドメインレベルごとに共通する文字列を含むグループごとに、該当するドメイン名およびその拒絶応答数で構成されるグループごとの上位ドメインリストを生成する上位ドメインリスト生成部と、前記上位ドメインリスト生成部において生成された各グループの上位ドメインリストごとに、ドメイン名内の共通する文字列を拒絶ドメイン部分情報として抽出するとともに、該当するグループ内のドメイン名に対する拒絶応答数の和を当該拒絶ドメイン部分情報のカウント値として算出し、これらの拒絶ドメイン部分情報とそのカウント値とを用いて、以後発生するDNSクエリに対して拒絶応答の対象とするブラックリストを生成するブラックリスト生成部と、前記ブラックリスト生成部で生成されたブラックリストの中から、前記DNSレコード情報記憶部に記憶されたDNSレコード情報内のドメイン名が該当する拒絶ドメイン部分情報とそのカウント値を削除することで前記ブラックリストを更新するブラックリスト更新部と、前記ブラックリスト更新部で更新されたブラックリストを記憶するブラックリスト記憶部とを備えることを特徴とする。
また、本発明の他の形態のDNSサーバは、ドメイン名からIPアドレスを解決する名前解決処理を行うために登録された、ドメイン名とIPアドレスとの対応情報をDNSレコード情報として記憶するDNSレコード情報記憶部と、ドメイン名を指定して名前解決処理を要求するために送信されたDNSクエリに対する応答処理のログ情報を記憶する応答ログ情報記憶部と、前記DNSレコード情報記憶部に記憶されたDNSレコード情報を取得し、各DNSレコード情報に対し、前記応答ログ情報記憶部に記憶可能な応答ログ情報数の最大値よりも大きい絶対値の負の値をポイント値として付加するDNSレコード情報取得部と、所定時間間隔で、前記応答ログ情報記憶部に記憶された応答ログ情報のドメイン名ごとの拒絶応答数をポイント値として、前記DNSレコード情報取得部で取得されたDNSレコード情報と突合させた突合リストを生成する突合リスト生成部と、前記突合リスト生成部で生成された突合リストから、ドメイン名の各文字をノードとし、ドメイン名の末端の共通する文字を最上位ノードとし先頭の文字を最下位ノードとして、共通の末端文字列を有する複数のドメイン名を示したツリー構造の情報を生成し、当該ツリー構造の情報内の各最下位ノードに、該当するドメイン名のポイント値を該当するノードのポイント値として付加し、最下位以外の各ノードに、直近の下位ノードのポイント値の合計値を該当するノードのポイント値として付加するツリー構造情報生成部と、前記ツリー構造情報生成部で生成されたツリー構造の情報から、ポイント値が正の値であり、直近の上位ノードのポイント値が負の値であるノードについて、当該ノードおよびその上位のノードを含めた共通文字列部分を抽出し、当該共通文字列部分を、以後発生するDNSクエリに対して拒絶応答の対象とする拒絶部分ドメイン情報として、ブラックリストを生成するブラックリスト生成部と前記ブラックリスト生成部で生成されたブラックリストを記憶するブラックリスト記憶部とを備えることを特徴とする。
また、本発明のDNSサーバにおけるブラックリスト生成方法は、ドメイン名からIPアドレスを解決する名前解決処理を行うために登録された、ドメイン名とIPアドレスとの対応情報をDNSレコード情報として記憶するDNSレコード情報記憶部と、ドメイン名を指定して名前解決処理を要求するために送信されたDNSクエリに対する応答処理のログ情報を記憶する応答ログ情報記憶部とを備えたDNSサーバが、所定時間間隔で、前記応答ログ情報記憶部に記憶された応答ログ情報から、拒絶応答数が上位の所定数のドメイン名とその拒絶応答数を抽出して応答ログ情報の上位ドメインリストを生成し、生成した応答ログ情報の上位ドメインリストに基づいて、ドメインレベルごとに共通する文字列を含むグループごとに、該当するドメイン名およびその拒絶応答数で構成されるグループごとの上位ドメインリストを生成し、生成された各グループの上位ドメインリストごとに、ドメイン名内の共通する文字列を拒絶ドメイン部分情報として抽出するとともに、該当するグループ内のドメイン名に対する拒絶応答数の和を当該拒絶ドメイン部分情報のカウント値として算出し、これらの拒絶ドメイン部分情報とそのカウント値とを用いて、以後発生するDNSクエリに対して拒絶応答の対象とするブラックリストを生成し、生成されたブラックリストの中から、前記DNSレコード情報記憶部に記憶されたDNSレコード情報内のドメイン名が該当する拒絶ドメイン部分情報とそのカウント値を削除することで前記ブラックリストを更新し、更新されたブラックリストを記憶することを特徴とする。
また、本発明の他の形態によるDNSサーバにおけるブラックリスト生成方法は、ドメイン名からIPアドレスを解決する名前解決処理を行うために登録された、ドメイン名とIPアドレスとの対応情報をDNSレコード情報として記憶するDNSレコード情報記憶部と、ドメイン名を指定して名前解決処理を要求するために送信されたDNSクエリに対する応答処理のログ情報を記憶する応答ログ情報記憶部とを備えたDNSサーバが、前記DNSレコード情報記憶部に記憶されたDNSレコード情報を取得し、各DNSレコード情報に対し、前記応答ログ情報記憶部に記憶可能な応答ログ情報数の最大値よりも大きい絶対値の負の値をポイント値として付加し、所定時間間隔で、前記応答ログ情報記憶部に記憶されたログ情報のドメイン名ごとの拒絶応答数をポイント値とし、取得したDNSレコード情報と突合させた突合リストを生成し、生成した突合リストから、ドメイン名の各文字をノードとし、ドメイン名の末端の共通する文字を最上位ノードとし先頭の文字を最下位ノードとして、共通の末端文字列を有する複数のドメイン名を示したツリー構造の情報を生成し、当該ツリー構造の情報内の各最下位ノードに、該当するドメイン名のポイント値を該当するノードのポイント値として付加し、最下位以外の各ノードに、直近の下位ノードのポイント値の合計値を該当するノードのポイント値として付加し、生成したツリー構造の情報から、ポイント値が正の値であり、直近の上位ノードのポイント値が負の値であるノードについて、当該ノードおよびその上位のノードを含めた共通文字列部分を抽出し、当該共通文字列部分を、以後発生するDNSクエリに対して拒絶応答の対象とする拒絶部分ドメイン情報として、ブラックリストを生成し、生成したブラックリストを記憶することを特徴とする。
また、本発明のDNSサーバに用いるブラックリスト生成プログラムは、DNSサーバに、ドメイン名からIPアドレスを解決する名前解決処理を行うために登録された、ドメイン名とIPアドレスとの対応情報をDNSレコード情報として記憶するDNSレコード情報記憶機能と、ドメイン名を指定して名前解決処理を要求するために送信されたDNSクエリに対する応答処理のログ情報を記憶する応答ログ情報記憶機能と、所定時間間隔で、前記応答ログ情報記憶機能により記憶された応答ログ情報から、拒絶応答数が上位の所定数のドメイン名とその拒絶応答数を抽出して応答ログ情報の上位ドメインリストを生成し、生成した応答ログ情報の上位ドメインリストに基づいて、ドメインレベルごとに共通する文字列を含むグループごとに、該当するドメイン名およびその拒絶応答数で構成されるグループごとの上位ドメインリストを生成する上位ドメインリスト生成機能と、前記上位ドメインリスト生成機能により生成された各グループの上位ドメインリストごとに、ドメイン名内の共通する文字列を拒絶ドメイン部分情報として抽出するとともに、該当するグループ内のドメイン名に対する拒絶応答数の和を当該拒絶ドメイン部分情報のカウント値として算出し、これらの拒絶ドメイン部分情報とそのカウント値とを用いて、以後発生するDNSクエリに対して拒絶応答の対象とするブラックリストを生成するブラックリスト生成機能と、前記ブラックリスト生成機能により生成されたブラックリストの中から、前記DNSレコード情報記憶機能により記憶されたDNSレコード情報内のドメイン名が該当する拒絶ドメイン部分情報とそのカウント値を削除することで前記ブラックリストを更新するブラックリスト更新機能と、前記ブラックリスト更新機能により更新されたブラックリストを記憶するブラックリスト記憶機能とを実行させることを特徴とする。
また、本発明の他の形態によるDNSサーバに用いるブラックリスト生成プログラムは、DNSサーバに、ドメイン名からIPアドレスを解決する名前解決処理を行うために登録された、ドメイン名とIPアドレスとの対応情報をDNSレコード情報として記憶するDNSレコード情報記憶機能と、ドメイン名を指定して名前解決処理を要求するために送信されたDNSクエリに対する応答処理のログ情報を記憶する応答ログ情報記憶機能と、前記DNSレコード情報記憶機能により記憶されたDNSレコード情報を取得し、各DNSレコード情報に対し、前記応答ログ情報記憶機能で記憶可能な応答ログ情報数の最大値よりも大きい絶対値の負の値をポイント値として付加するDNSレコード情報取得機能と、所定時間間隔で、前記応答ログ情報記憶機能により記憶された応答ログ情報のドメイン名ごとの拒絶応答数をポイント値として、前記DNSレコード情報取得機能により取得されたDNSレコード情報と突合させた突合リストを生成する突合リスト生成機能と、前記突合リスト生成機能により生成された突合リストから、ドメイン名の各文字をノードとし、ドメイン名の末端の共通する文字を最上位ノードとし先頭の文字を最下位ノードとして、共通の末端文字列を有する複数のドメイン名を示したツリー構造の情報を生成し、当該ツリー構造の情報内の各最下位ノードに、該当するドメイン名のポイント値を該当するノードのポイント値として付加し、最下位以外の各ノードに、直近の下位ノードのポイント値の合計値を該当するノードのポイント値として付加するツリー構造情報生成機能と、前記ツリー構造情報生成機能により生成されたツリー構造の情報から、ポイント値が正の値であり、直近の上位ノードのポイント値が負の値であるノードについて、当該ノードおよびその上位のノードを含めた共通文字列部分を抽出し、当該共通文字列部分を、以後発生するDNSクエリに対して拒絶応答の対象とする拒絶部分ドメイン情報として、ブラックリストを生成するブラックリスト生成機能と、前記ブラックリスト生成機能により生成されたブラックリストを記憶するブラックリスト記憶機能とを実行させることを特徴とする。
本発明のDNSサーバ、DNSサーバにおけるブラックリスト生成方法、DNSサーバに用いるブラックリスト生成プログラムによれば、デュアルスタック環境において、処理負荷を低減させて効率よく且つ確実に名前解決処理を実行することが可能になる。
本発明の第1実施形態によるDNSサーバを用いた通信システムの構成を示す全体図である。 本発明の第1実施形態によるDNSサーバにおいて、DNSクエリを受信したときに実行される処理を示すフローチャートである。 本発明の第1実施形態によるDNSサーバにおいて、ブラックリスト生成タイミングが到来したときに実行される処理を示すフローチャートである。 本発明の第1実施形態によるDNSサーバで生成される応答ログ情報の上位ドメインリストの一例を示す表である。 (a)〜(d)は、本発明の第1実施形態によるDNSサーバで生成されるグループごとの上位ドメインリストの一例を示す表である。 (a)〜(c)は、本発明の第1実施形態によるDNSサーバで生成される所定グループの上位ドメインリスト内の各ドメイン名を構成する文字を、ドメインレベルごとの表に格納した状態を示す説明図である。 本発明の第1実施形態によるDNSサーバのブラックリスト生成部で生成されるブラックリストの一例を示す表である。 本発明の第1実施形態によるDNSサーバのブラックリスト記憶部に記憶された既存のブラックリストの一例を示す表である。 本発明の第1実施形態によるDNSサーバの突合リスト生成部で生成された突合リストの一例を示す表である。 本発明の第1実施形態によるDNSサーバに記憶されるDNSレコード情報の一例を示す表である。 本発明の第1実施形態によるDNSサーバのブラックリスト更新部で更新された突合リストの一例を示す表である。 本発明の第1実施形態によるDNSサーバのブラックリスト記憶部に記憶されたブラックリストのカウンタ値がリセットされた状態を示す表である。 本発明の第1実施形態によるDNSサーバにおいて、DNSレコード情報に新たな対応情報が追加されたときに実行される処理を示すフローチャートである。 本発明の第2実施形態によるDNSサーバを用いた通信システムの構成を示す全体図である。 本発明の第2実施形態によるDNSサーバにおいて、ブラックリスト生成タイミングが到来したときに実行される処理を示すフローチャートである。 本発明の第2実施形態によるDNSサーバで生成される応答ログ情報の上位ドメインリストの一例を示す表である。 本発明の第2実施形態によるDNSサーバで取得されるDNSレコード情報の一例を示す表である。 本発明の第2実施形態によるDNSサーバで生成されるツリー構造情報の一例を示す説明図である。 本発明の第2実施形態によるDNSサーバのブラックリスト生成部で生成されるブラックリストの一例を示す表である。
《第1実施形態》
〈第1実施形態によるDNSサーバを用いた通信システムの構成〉
本発明の第1実施形態によるDNSサーバを用いた通信システムの構成について、図1を参照して説明する。本実施形態による通信システム1Aは、IPv6閉域網10とIPv4広域網20とが接続されたデュアルスタック環境で構築されている。
IPv6閉域網10には、複数のIPv6閉域網内サーバ(第1閉域網内サーバ11−1、第2閉域網内サーバ11−2、および第3閉域網内サーバ11−3)と、ユーザ端末12と、IPv6閉域網DNSサーバ13A(以下、「閉域網DNSサーバ13A」と記載する)とが接続されている。第1閉域網内サーバ11−1〜第3閉域網内サーバ11−3にはそれぞれ、個別にIPv6アドレスが割り振られている。
図1においては、IPv6閉域網10にユーザ端末が1台接続され、IPv6閉域網内サーバが3台接続された場合を示したが、この数には限定されず、さらに多くのユーザ端末やIPv6閉域網内サーバが接続されていてもよい。
ユーザ端末12は、ユーザにより、第1閉域網内サーバ11−1〜第3閉域網内サーバ11−3、またはIPv4広域網20内のWebサーバのいずれかをアクセス先としてホスト名またはメールアドレスを指定する操作が行われると、アクセス先のドメイン名からIPアドレスを取得する名前解決処理を要求するためのDNSクエリを生成し、閉域網DNSサーバ13Aに送信する。
DNSサーバ13Aは、DNSレコード情報記憶部13aと、受信部13bと、ドメイン判定部13cと、DNSアプリケーション13dと、応答生成部13eと、送信部13fと、応答ログ情報記憶部13gと、上位ドメインリスト生成部13hと、ブラックリスト生成部13iと、ブラックリスト記憶部13jと、ブラックリスト取得部13kと、突合リスト生成部13lと、DNSレコード情報取得部13mと、ブラックリスト更新部13nとを有する。
DNSレコード情報記憶部13aは、IPv6閉域網10内の装置に関し、名前解決処理を行うために予め登録された、ドメイン名とIPv6アドレスとの対応情報を、DNSレコード情報として記憶する。
受信部13bは、ユーザ端末12から送信されるDNSクエリを受信する。ドメイン判定部13cは、受信部13bで受信されたDNSクエリで指定されるドメイン名が、後述するブラックリスト記憶部13jに記憶されたブラックリスト内の拒絶ドメイン部分情報に該当するか否かを判定する。ここで、指定されたドメイン名がブラックリスト内の拒絶ドメイン部分情報に該当すると判定した場合は、当該DNSクエリを応答生成部13eに送出し、ブラックリストに該当しないと判定した場合は、当該DNSクエリをDNSアプリケーション13dに送出する。
DNSアプリケーション13dは、ドメイン判定部13cからDNSクエリを取得すると、DNSレコード情報記憶部13aに記憶されたDNSレコード情報に基づいて、取得したDNSクエリで指定されるドメイン名に対応するIPv6アドレスを取得し、応答生成部13eに送出する。また、DNSアプリケーション13dは、取得したDNSクエリで指定されるドメイン名に対応するIPv6アドレスがDNSレコード情報記憶部13aに記憶されていないときには、当該DNSクエリに対しRefused応答すべきことを、応答生成部13eに通知する。
応答生成部13eは、ドメイン判定部13cから、ドメイン名がブラックリスト内の拒絶ドメイン部分情報に該当すると判定したDNSクエリを取得したときには、Refused応答を生成し、送信部13fを介してユーザ端末12に送信する。また、DNSアプリケーション13dで取得されたIPv6アドレスを取得したときは、当該IPv6アドレスを当該DNSクエリに対する応答として生成し、送信部13fを介してユーザ端末12に送信する。また、応答生成部13eは、DNSアプリケーション13dから、当該DNSクエリに対しRefused応答すべきことが通知されたときにはRefused応答を生成し、送信部13fを介してユーザ端末12に送信する。
応答ログ情報記憶部13gは、DNSアプリケーション13dで実行されたDNSクエリに対する応答処理のログ情報(応答ログ情報)を記憶するとともに、Refused応答したログ情報に関し、ドメイン名ごとのRefused応答数を計数して記憶する。
上位ドメインリスト生成部13hは、所定時間間隔で到来するブラックリスト生成タイミングにおいて、応答ログ情報記憶部13gに記憶された応答ログ情報からRefused応答数が上位の所定数のドメイン名とそのRefused応答数を抽出し、応答ログ情報の上位ドメインリストを生成する。そして、生成した応答ログ情報の上位ドメインリストに基づいて、ドメインレベルごとに共通する文字列を含むグループごとに、該当するドメイン名とそのRefused応答数で構成されるグループごとの上位ドメインリストを生成する。
ブラックリスト生成部13iは、上位ドメインリスト生成部13hにおいて生成された各グループの上位ドメインリストごとに、ドメイン名内の共通する文字列を拒絶ドメイン部分情報として抽出するとともに該当するグループ内のドメイン名に対するRefused応答数の和を当該拒絶ドメイン部分情報のカウント値として算出し、これらの拒絶ドメイン部分情報とそのカウント値とを用いて、以後発生するDNSクエリに対してRefused応答の対象とするブラックリストを生成する。
ブラックリスト記憶部13jは、過去のブラッククリスト生成タイミングにおいて生成したブラックリストを記憶する。
ブラックリスト取得部13kは、突合リスト生成部13lからの要求により、ブラックリスト記憶部13jに記憶されたブラックリストを取得する。
突合リスト生成部13lは、ブラックリスト生成部13iで生成されたブラックリストと、ブラックリスト取得部13kで取得された既存のブラックリストとを突合し、カウンタ値が大きい順に拒絶ドメイン部分情報をソートしてソート後の上位所定数の拒絶ドメイン部分情報とそのカウンタ値で突合リストを生成する。
DNSレコード情報取得部13mは、ブラックリスト更新部13nからの要求により、DNSレコード情報記憶部13aに記憶されたDNSレコード情報を取得する。
ブラックリスト更新部13nは、突合リスト生成部13lで生成された突合リストの中から、DNSレコード情報取得部13mで取得されたDNSレコード情報内のドメイン名が該当する拒絶ドメイン部分情報とそのカウント値を削除する。そして、該当情報を削除した後の上位所定数の拒絶ドメイン部分情報とそのカウンタ値で、ブラックリスト記憶部13j内のブラックリストを更新する。
また、ブラックリスト更新部13nは、DNSレコード情報記憶部13aに新たなドメイン名とIPv6アドレスとの対応情報が追加されたときに、DNSレコード情報取得部13mを介して新たなDNSレコード情報を取得するとともに、ブラックリスト取得部13kを介して既存のブラックリストを取得する。そして、既存のブラックリストの中から、取得したDNSレコード情報内のドメイン名が該当する拒絶ドメイン部分情報とそのカウンタ値を削除することで、ブラックリスト記憶部13j内のブラックリストを更新する。
IPv4広域網20には、複数のWebサーバ(第1Webサーバ21−1、第2Webサーバ21−2、および第3Webサーバ21−3)と、ISP(Internet Service Provider)−DNSサーバ22とが接続されている。図1においては、IPv4広域網20にWebサーバが3台接続された場合を示したが、この数には限定されず、さらに多くのWebサーバが接続されていてもよい。第1Webサーバ21−1〜第3Webサーバ21−3にはそれぞれ、個別にIPv4アドレスが割り振られている。
ISP−DNSサーバ22は、ユーザ端末12からDNSクエリを取得すると、これに対する応答として、当該DNSクエリに含まれるドメイン名に対応するIPv4アドレスを取得してユーザ端末12に送信する。
〈第1実施形態によるDNSサーバを用いた通信システムの動作〉
次に、本実施形態による通信システム1AのIPv6閉域網10内の閉域網DNSサーバ13Aの動作について、図2〜12を参照して説明する。本実施形態において、IPv6閉域網10内のDNSレコード情報記憶部13aには、IPv6閉域網10内の装置(第1閉域網内サーバ11−1、第2閉域網内サーバ11−2、および第3閉域網内サーバ11−3を含む)に関し、名前解決処理を行うために予め登録された、ドメイン名とIPv6アドレスとの対応情報が、DNSレコード情報として予め記憶されている。
そして、通常の稼動中は、ユーザ端末12においてアクセス先としてホスト名またはメールアドレスを指定する操作が行われると、アクセス先のドメイン名からIPアドレスを取得する名前解決処理を要求するためのDNSクエリが生成され、閉域網DNSサーバ13Aに送信される。
閉域網DNSサーバ13Aでは、図2のフローチャートに示すように、ユーザ端末12から送信されたDNSクエリが受信部13bから受信されると(S1の「YES」)、ドメイン判定部13cにおいて、DNSクエリで指定されるドメイン名が、後述するブラックリスト記憶部13jに記憶されたブラックリスト内の拒絶ドメイン部分情報に該当するか否かが判定される(S2)。
判定したドメイン名が例えばIPv4アドレスのドメイン名であり、ブラックリスト内の拒絶ドメイン部分情報に該当すると判定した場合(S2の「YES」)は、応答生成部13eで当該DNSクエリに対するRefused応答が生成され、送信部13fからユーザ端末12に送信される(S3)。このように、ブラックリスト内の拒絶ドメイン部分情報に該当するDNSクエリに対しては、DNSアプリケーションの前段でRefused応答処理が行われる。このとき、ブラックリスト内に記憶されている、該当するドメイン部分情報に関するRefused応答した回数を示すカウント値が更新される。
ユーザ端末12では、Refused応答を受信したことによりIPv4広域網20内のISP−DNSサーバ22に対してDNSクエリが再送信される。ISP−DNSサーバ22では、取得したDNSクエリに基づいて例えばWebサーバ21−1のIPv4が取得され、ユーザ端末12に通知される。ユーザ端末12では、通知されたIPv4アドレスを用いて、Webサーバ21−1にアクセス処理が実行される。
また、ステップS2において、ドメイン判定部13cで判定したドメイン名がブラックリスト内の拒絶ドメイン部分情報に該当しないと判定した場合(S2の「NO」)は、当該DNSクエリがDNSアプリケーション13dに送出される。DNSアプリケーション13dでは、DNSレコード情報記憶部13aに記憶されたDNSレコード情報に、受信したDNSクエリで指定されるドメイン名に対応するIPv6アドレスが記憶されているか否かが判定される(S4)。判定の結果、記憶されたDNSレコード情報に、受信したDNSクエリで指定されるドメイン名に対応するIPv6アドレスが記憶されているときには(S4の「YES」)、当該IPv6アドレスが取得される(S5)。
そして、応答生成部13eにおいて、取得されたIPv6アドレスの情報が当該DNSクエリに対する応答として生成され、送信部13fからユーザ端末12に送信される(S6)。ここで、DNSアプリケーション13dで、当該DNSクエリに対してIPv6アドレスを応答したことが、応答ログ情報記憶部13gに記憶される(S7)。
ユーザ端末12では、通知されたIPv6アドレスを用いて、第1閉域網内サーバ11−1にアクセス処理が行われる。
上述した処理において、ユーザ端末12から、ブラックリストに記憶されていないドメイン名を有する端末、例えばIPv4広域網20内のWebサーバ21−3をアクセス先としてホスト名を指定する操作が行われた場合には、ステップS4の「NO」からステップS8に移行する。そして、DNSアプリケーション13dにより、当該DNSクエリに対しRefused応答すべきことが応答生成部13eに通知される。応答生成部13eでは、Refused応答が生成され、ユーザ端末12に送信される(S8)。ここで、DNSアプリケーション13dで、当該DNSクエリに含まれるIPv4アドレスのドメイン名に対してRefused応答したことが、応答ログ情報記憶部13gに記憶される。また、応答ログ情報記憶部13gに記憶された、該当するドメイン名のRefused応答数が更新される(S9)。
上述したように稼動している間に、閉域網DNSサーバ13A内において所定時間間隔で実行されるブラックリストの生成処理について、図3〜11を参照して説明する。
予め設定されたブラックリスト生成タイミングが到来すると(S11の「YES」)、上位ドメインリスト生成部13hにより、応答ログ情報記憶部13gに記憶された応答ログ情報から、Refused応答数が上位の所定数のドメイン名とそのRefused応答数が抽出され、応答ログ情報の上位ドメインリストが生成される(S12)。ここでは、一例として、図4に示す応答ログ情報から、太線枠で示すRefused応答数上位10位までのドメイン名およびそのRefused応答数が抽出され、上位ドメインリストが生成される。ここで、図4に示すリスト内のRefused応答数の大きさは、A>B>C>D>E>F>G>H>I>J・・・>Xである。
次に、上位ドメインリスト生成部13hにおいて、図4に示す応答ログ情報の上位ドメインリストに基づいて、ドメインレベルごとに共通する文字列を含むグループα、β、σ、γごとに、図5(a)、(b)、(c)、および(d)の4つの上位ドメインリストが生成される(S13)。これらのグループごとの上位ドメインリストは、該当するドメイン名とそのRefused応答数で構成される。
次に、ブラックリスト生成部13iにより、グループα、β、σ、γごとの、上位ドメインリスト内のドメイン名の共通文字列部分が抽出される。一例として、生成された4つのグループの上位ドメインリストのうち、図5(a)に示すグループαの上位ドメインリストからドメイン名の共通文字列部分を抽出する場合について説明する。
グループαの上位ドメインリストには、Refused応答した回数が多いドメイン名として、「aaaaa.co.jp」、「aa.co.jp」、および「aaaa.co.jp」の3つが格納されている。そして、これらのドメイン名がそれぞれ、第1レベルドメイン(トップレベルドメイン)、第2レベルドメイン、第3レベルドメインに分割され、ドメインレベルごとに図6(a)〜(c)のように表で示される。
図6(a)は、グループα内の各ドメイン名の第1レベルドメインを示す表であり、1行目にドメイン名「aaaaa.co.jp」の第1レベルドメインである「jp」が各列に一文字ずつ格納され、2行目にドメイン名「aa.co.jp」の第1レベルドメインである「jp」が各列に一文字ずつ格納され、ドメイン名「aaaa.co.jp」の第1レベルドメインである「jp」が各列に一文字ずつ格納されている。
図6(b)は、各ドメイン名の第2レベルドメインを示す表であり、図6(a)と同様の要領で、1行目〜3行目に各ドメイン名の第2レベルドメインである「co」が各列に一文字ずつ格納されている。
図6(c)は、各ドメイン名の第3レベルドメインを示す表であり、1行目にドメイン名「aaaaa.co.jp」の第3レベルドメインである「aaaaa」が各列に一文字ずつ格納され、2行目にドメイン名「aa.co.jp」の第3レベルドメインである「aa」が各列に一文字ずつ格納され、ドメイン名「aaaa.co.jp」の第3レベルドメインである「aaaa」が各列に一文字ずつ格納されている。これらの情報は、各行において、右詰で各列に格納される。
次に、生成されたドメインレベルごとの表に基づいて、複数のドメイン名の間で、第1レベルドメインおよび第2レベルドメインがすべての列で一致し、且つ第3レベルドメインの右から複数列が共通する共通文字列の組み合わせが抽出される。図6(a)〜(c)においては、3つのドメイン名「aaaaa.co.jp」、「aa.co.jp」、および「aaaa.co.jp」の間で、第1レベルドメイン「jp」および第2レベルドメイン「co」が一致しており、第3レベルドメインの右から2列が「aa」で共通するため、これらを組み合わせた文字列「aa.co.jp」が抽出される。
そして、当該抽出した文字列の先頭に任意の0文字以上の文字列を示す「*」を付加した「*aa.co.jp」を、以後発生するDNSクエリに対してRefused応答の対象とする拒絶ドメイン部分情報とする。また、この拒絶ドメイン部分情報「*aa.co.jp」に該当するドメイン名「aaaaa.co.jp」、「aa.co.jp」、および「aaaa.co.jp」のRefused応答数の和が、当該拒絶ドメイン部分情報「*aa.co.jp」のカウンタ値aとして算出される。つまり、カウンタ値a=Refused応答数A+D+Gである。
同様に、図5(b)に示すグループβの上位ドメインリストから拒絶ドメイン部分情報「*bbb.co.jp」が抽出され、そのカウンタ値bが算出される(カウンタ値b=Refused応答数B+I)。また、図5(c)に示すグループσの上位ドメインリストから拒絶ドメイン部分情報「*cc.co.jp」が抽出され、そのカウンタ値dが算出される(カウンタ値d=Refused応答数Refused応答数E+F+J)。また、図5(d)に示すグループγの上位ドメインリストから拒絶ドメイン部分情報「*ddd.co.jp」が抽出され、そのカウンタ値cが算出される(カウンタ値c=Refused応答数C+H)。
そして、抽出された4つの拒絶ドメイン部分情報が、カウンタ値の大きい順に並び替えられ、図7に示すようにブラックリストが生成される(S14)。図7のブラックリストには、カウンタ値の大きい順に、拒絶ドメイン部分情報が「*aa.co.jp」とそのカウンタ値a、「*bbb.co.jp」とそのカウンタ値b、「*ddd.co.jp」とそのカウンタ値c、「*cc.co.jp」とそのカウンタ値dが保持されている。
ここで、当該ブラックリストの生成処理が1回目であり、ブラックリスト記憶部13jの中に既存のブラックリストが未だない場合は(S15の「YES」)、ステップS14で更新されたブラックリストがブラックリスト記憶部13jに記憶され、ステップS11に戻る(S16)。
ステップS11において、予め設定された期間(例えば数日)が経過し、次のブラックリスト生成タイミングが到来すると(S11の「YES」)、上述したようにステップS12〜S14の処理が実行される。
本実施形態においては2回目以降のブックリスト生成処理が実行されており(S15の「NO」)、ブラックリスト取得部13kにより、ブラックリスト記憶部13jに記憶されている既存のブラックリストが取得される(S17)。既存のブラックリストの一例を、図8に示す。図8のブラックリストには、拒絶ドメイン部分情報「*yy.co.jp」とのこの拒絶ドメイン部分情報に関するRefused応答した回数を示すカウンタ値x、拒絶ドメイン部分情報「*jjj.co,jp」とそのカウンタ値y、および拒絶ドメイン部分情報「*zzzzzz.ne.jp」とそのカウンタ値zが保持されている。
次に、突合リスト生成部13lにより、ブラックリスト生成部13iで生成されたブラックリストと、ブラックリスト取得部13kで取得された既存のブラックリストとが突合され、カウンタ値が大きい順に拒絶ドメイン部分情報がソートされた突合リストが生成される(S18)。例えば、図7に示すブラックリストと、図8に示す既存のブラックリストとが突合され、図9に示す突合リストが生成される。
突合リストが生成されると、ブラックリスト更新部13nからの要求によりDNSレコード情報取得部13mで最新のDNSレコード情報がDNSレコード情報記憶部13aから取得される(S19)。例えば、図10に示すような、「aaa.ne.jp」、「bbbbb.co.jp」・・・「ccc.ne.jp」を含むDNSレコード情報が取得される。
そして、ブラックリスト更新部13nにより、突合リスト生成部13lで生成された突合リストの中から、DNSレコード情報取得部13mで取得されたDNSレコード情報内のドメイン名が該当する拒絶ドメイン部分情報とそのカウント値が削除される(S20)。例えば、図9に示すように生成された突合リストの中から、図10に示すDNSレコード情報内の「bbbbb.co.jp」が該当する拒絶ドメイン部分情報「*bbb.co.jp」とそのカウンタ値bが削除され、図11のように更新される。
そして、この更新された突合リストの中から、上位所定数の拒絶ドメイン部分情報とそのカウンタ値が抽出され、抽出された情報でブラックリスト記憶部13j内のブラックリストが更新される(S21)。例えば、図11の更新された突合リストの中から、太線枠で示す上位3個の拒絶ドメイン部分情報とそのカウンタ値(拒絶ドメイン部分情報「*aa.co.jp」とそのカウンタ値a、拒絶ドメイン部分情報「*yy.co,jp」とそのカウンタ値x、拒絶ドメイン部分情報「*jjj.co.jp」とそのカウンタ値y)が抽出され、これらの情報でブラックリスト記憶部13j内のブラックリストが更新される。
ブラックリスト記憶部13jのブラックリストが更新されると、応答ログ情報記憶部13g内に記憶された応答ログ情報が消去されるとともに、更新したブラックリスト内のすべてのカウント値が図12に示すようにリセットされ、ステップS1に戻る。以上で、ブラックリストの生成処理の説明を終了する。
次に、閉域網DNSサーバ13A内のDNSレコード情報記憶部13aに、名前解決処理を行うためのドメイン名とIPv6アドレスとの対応情報が新たに追加されたときに実行される処理について、図13のフローチャートを参照して説明する。
DNSレコード情報記憶部13aのDNSレコード情報に新たな対応情報が追加されると(S21の「YES」)、DNSレコード情報取得部13mで情報追加後のDNSレコード情報がDNSレコード情報記憶部13aから取得され、ブラックリスト更新部13nに送出される(S22)。また、ブラックリスト更新部13nからの要求により、ブラックリスト取得部13kで既存のブラックリストがブラックリスト記憶部13jから取得される(S23)。
そして、ブラックリスト更新部13nにより、既存のブラックリストから、取得されたDNSレコード情報内のドメイン名に該当する拒絶ドメイン部分とそのカウンタ値が削除されることでブラックリストが更新される(S24)。
以上の第1実施形態によれば、IPv6閉域網10内の閉域網DNSサーバ13Aにおいて、頻繁に受信されるIPv4広域網20のドメイン名に関するDNSクエリに対しては、DNSアプリケーション13d前段で迅速にRefused応答が行われ、DNSアプリケーション13dの処理負荷が低減されるとともに、処理時間の短縮を図ることができる。
また、ユーザ端末12から頻繁にアクセスする先が追加、変更されたときや、DNSレコード情報が新たに追加されたときにも、これに対応して自動でブラックリストが迅速に更新され、DNSレコード情報に登録されたドメイン名に対する名前解決処理を確実に実行させることができる。
《第2実施形態》
〈第2実施形態によるDNSサーバを用いた通信システムの構成〉
本発明の第2実施形態によるDNSサーバを用いた通信システムの構成について、図14を参照して説明する。本実施形態による通信システム1Bは、第1実施形態の通信システム1Aの閉域網DNSサーバ13A内のブラックリスト生成部13i、ブラックリスト取得部13k、突合リスト生成部13l、およびブラックリスト更新部13nに換えて、閉域網DNSサーバ13Bが、突合リスト生成部13p、ツリー構造情報生成部13q、ブラックリスト生成部13r、およびブラックリスト更新部13sを有する他は、第1実施形態の構成と同様であるため、同一機能を有する部分の詳細な説明は省略する。
本実施形態において、閉域網DNSサーバ13B内のDNSレコード情報取得部13mは、DNSレコード情報記憶部13aに記憶されたDNSレコード情報を取得し、各DNSレコード情報に対し、応答ログ情報記憶部13gに記憶可能な応答ログ情報数の最大値よりも十分に小さい値を、対応するポイント値として付加する。ここでは、各DNSレコード情報に対し、−∞をポイント値として付加する。
上位ドメインリスト生成部13hは、所定時間間隔で到来するブラックリスト生成タイミングにおいて、応答ログ情報記憶部13gに記憶された応答ログ情報からRefused応答数が上位の所定数のドメイン名とそのRefused応答数を抽出し、応答ログ情報の上位ドメインリストを生成する。
突合リスト生成部13pは、上位ドメインリスト生成部13hで生成された上位ドメインリスト中のドメイン名ごとのRefused応答数を該当するドメイン名のポイント値として、DNSレコード情報取得部13mで取得されたDNSレコード情報と突合させた突合リストを生成する。
ツリー構造情報生成部13qは、突合リスト生成部13pで生成された突合リストから、ドメイン名を構成する各文字をノードとし、ドメイン名の末端(右端)の共通する文字を最上位ノードとし先頭(左端)の文字を最下位ノードとして、共通の末端文字列を有する複数のドメイン名を示したツリー構造の情報を生成する。そして、当該ツリー構造の情報内の各最下位ノードに、該当するドメイン名のポイント値を該当するノードのポイント値として付加し、最下位以外の各ノードに、直近の下位ノードのポイント値の合計値を該当するノードのポイント値として付加する。
ブラックリスト生成部13rは、ツリー構造情報生成部13qで生成されたツリー構造の情報から、ポイント値が正の値であり、直近の上位ノードのポイント値が負の値であるノードについて、当該ノードおよびその上位のノードを含めた共通文字列部分を抽出し、当該共通文字列部分を、以後発生するDNSクエリに対して拒絶応答の対象とする拒絶部分ドメイン情報として、ブラックリストを生成する。
ブラックリスト更新部13sは、ブラックリスト生成部13rで生成されたブラックリストで、ブラックリスト記憶部13j内の既存のブラックリストを更新する。
〈第2実施形態によるDNSサーバを用いた通信システムの動作〉
本実施形態による通信システム1Bの閉域網DNSサーバ13Bの動作について、図15〜19を参照して説明する。本実施形態において、通常の稼動中は第1実施形態と同様に、ユーザ端末12からの要求に基づいて名前解決処理が実行される。
当該通信システム1Bの稼動中に、予め設定されたブラックリスト生成タイミングが到来すると(S31び「YES」)、上位ドメインリスト生成部13hにより、応答ログ情報記憶部13gに記憶された応答ログ情報から、Refused応答数が上位の所定数のドメイン名とそのRefused応答数が抽出され、図16に示すように応答ログ情報の上位ドメインリストが生成される(S32)。
また、DNSレコード情報取得部13mにより、DNSレコード情報記憶部13aに記憶されたDNSレコード情報が取得され、各DNSレコード情報に対し、応答ログ情報記憶部13gに記憶可能な応答ログ情報数の最大値よりも十分に小さい値が、対応するポイント値として付加される。ここでは、図17に示すように、各DNSレコード情報に対し、−∞がポイント値として付加される(S33)。
次に、突合リスト生成部13pにより、応答ログ情報記憶部13gに記憶された応答ログ情報のドメイン名ごとの拒絶応答数をポイント値として、DNSレコード情報取得部13mで取得されたDNSレコード情報と突合させた突合リストが生成される(S34)。
次に、ツリー構造情報生成部13qにおいて、突合リスト生成部13p生成された突合リストから、図18に示すように、ドメイン名の各文字をノードとしたツリー構造の情報が生成される。このツリー構造の情報は、複数のドメイン名に共通する第1ドメインの末端文字(右端の文字)を最上位ノードとし、右端の文字から順に左に一文字ずつ、該当するノードを順次下位ノードとしてエッジで関連付けて構成される。ここで、複数のドメイン名間で最上位ノードから連続して共通する文字列部分は同一ノードとし、異なる文字から先をエッジで分岐させることで、突合リスト内の複数のドメイン名の情報が格納される。
また、当該ツリー構造の情報内の各最下位のノードには、該当するドメイン名のポイント値が付加される(S35)。また、共通の上位ノードを有する最下位ノード(末端ノード)のポイント値の合計値が、該当する上位ノードのポイント値として付加される(S36)。さらに、上位のノードにポイント値が付加されていないノードがあるときには(S37の「YES」)、ポイント値が付加されていない共通の上位ノードを有する、ポイント値が付加された直近の下位のノードのポイント値の合計値が、該当する上位ノードのポイント値として付加される(S38)。この処理は、ポイント値が付加されていないノードがなくなるまで繰り返される。
ツリー構造の情報内のすべてのノードにポイント値が付加されると(S37の「NO」)、ブラックリスト生成部13rにより、ツリー構造の情報から、ポイント値が正の値であり、直近の上位ノードのポイント値が負の値であるノードについて、当該ノードおよびその上位のノードを含めた共通文字列部分および対応するポイント値が抽出される(S39)。そして、抽出された共通文字列部分のうち、対応するポイント値が所定値よりも大きいものがさらに抽出される。ここで、抽出対象のノードに下位ノードが存在する場合には、当該下位ノード部分を0文字以上の任意の文字列を示す「*」として、以後発生するDNSクエリに対して拒絶応答の対象とする拒絶ドメイン部分情報が生成される。そして、生成された拒絶部分ドメイン部分情報が図19に示すようにリスト化されることで、ブラックリストが生成される。さらに、ブラックリスト更新部13sにより、生成されたブラックリストでブラックリスト記憶部13j内の既存のブラックリストが更新される(S40)。
以上の第2実施形態によれば、IPv6閉域網10内の閉域網DNSサーバ13Bにおいて、頻繁に受信されるIPv4広域網20のドメイン名に関するDNSクエリに対しては、DNSアプリケーション13d前段で迅速にRefused応答が行われ、DNSアプリケーション13dの処理負荷が低減されるとともに、処理時間の短縮を図ることができる。
上述した実施形態においては、IPv6に対応したネットワーク内のDNSサーバにブラックリストの生成および更新を行う機能を設けた場合について説明したが、当該機能をIPv4ネットワーク内のDNSサーバに搭載し、IPv4ネットワーク内の機器からIPv6ネットワーク内の機器にアクセスする際のDNSサーバの処理負荷を軽減させるようにしてもよい。
1…通信システム
10…IPv6閉域網
11−1…第1閉域網内サーバ
11−2…第2閉域網内サーバ
11−3…第3閉域網内サーバ
12…ユーザ端末
13…DNSサーバ
13a…DNSレコード情報記憶部
13b…受信部
13c…ドメイン判定部
13d…DNSアプリケーション
13e…応答生成部
13f…送信部
13g…応答ログ情報記憶部
13h…上位ドメインリスト生成部
13i…ブラックリスト生成部
13j…ブラックリスト記憶部
13k…ブラックリスト取得部
13l…突合リスト生成部
13m…DNSレコード情報取得部
13n…ブラックリスト更新部
13p…突合リスト生成部
13q…ツリー構造情報生成部
13r…ブラックリスト生成部
13s…ブラックリスト更新部
20…IPv4広域網
21−1…第1Webサーバ
21−2…第2Webサーバ
21−3…第3Webサーバ
22…ISP−DNSサーバ
上記の課題を解決するための、本発明のDNSサーバは、ドメイン名からIPアドレスを解決する名前解決処理を行うために登録された、ドメイン名とIPアドレスとの対応情報をDNSレコード情報として記憶するDNSレコード情報記憶部と、ドメイン名を指定して名前解決処理を要求するために送信されたDNSクエリに対する応答処理のログ情報を記憶する応答ログ情報記憶部と、前記DNSレコード情報記憶部に記憶されたDNSレコード情報を取得し、各DNSレコード情報に対し、前記応答ログ情報記憶部に記憶可能な応答ログ情報数の最大値よりも大きい絶対値の負の値をポイント値として付加するDNSレコード情報取得部と、所定時間間隔で、前記応答ログ情報記憶部に記憶された応答ログ情報のドメイン名ごとの拒絶応答数をポイント値として、前記DNSレコード情報取得部で取得されたDNSレコード情報と突合させた突合リストを生成する突合リスト生成部と、前記突合リスト生成部で生成された突合リストから、ドメイン名の各文字をノードとし、ドメイン名の末端の共通する文字を最上位ノードとし先頭の文字を最下位ノードとして、共通の末端文字列を有する複数のドメイン名を示したツリー構造の情報を生成し、当該ツリー構造の情報内の各最下位ノードに、該当するドメイン名のポイント値を該当するノードのポイント値として付加し、最下位以外の各ノードに、直近の下位ノードのポイント値の合計値を該当するノードのポイント値として付加するツリー構造情報生成部と、前記ツリー構造情報生成部で生成されたツリー構造の情報から、ポイント値が正の値であり、直近の上位ノードのポイント値が負の値であるノードについて、当該ノードおよびその上位のノードを含めた共通文字列部分を抽出し、当該共通文字列部分を、以後発生するDNSクエリに対して拒絶応答の対象とする拒絶部分ドメイン情報として、ブラックリストを生成するブラックリスト生成部と前記ブラックリスト生成部で生成されたブラックリストを記憶するブラックリスト記憶部とを備えることを特徴とする。
また、本発明のDNSサーバにおけるブラックリスト生成方法は、ドメイン名からIPアドレスを解決する名前解決処理を行うために登録された、ドメイン名とIPアドレスとの対応情報をDNSレコード情報として記憶するDNSレコード情報記憶部と、ドメイン名を指定して名前解決処理を要求するために送信されたDNSクエリに対する応答処理のログ情報を記憶する応答ログ情報記憶部とを備えたDNSサーバが、前記DNSレコード情報記憶部に記憶されたDNSレコード情報を取得し、各DNSレコード情報に対し、前記応答ログ情報記憶部に記憶可能な応答ログ情報数の最大値よりも大きい絶対値の負の値をポイント値として付加し、所定時間間隔で、前記応答ログ情報記憶部に記憶されたログ情報のドメイン名ごとの拒絶応答数をポイント値とし、取得したDNSレコード情報と突合させた突合リストを生成し、生成した突合リストから、ドメイン名の各文字をノードとし、ドメイン名の末端の共通する文字を最上位ノードとし先頭の文字を最下位ノードとして、共通の末端文字列を有する複数のドメイン名を示したツリー構造の情報を生成し、当該ツリー構造の情報内の各最下位ノードに、該当するドメイン名のポイント値を該当するノードのポイント値として付加し、最下位以外の各ノードに、直近の下位ノードのポイント値の合計値を該当するノードのポイント値として付加し、生成したツリー構造の情報から、ポイント値が正の値であり、直近の上位ノードのポイント値が負の値であるノードについて、当該ノードおよびその上位のノードを含めた共通文字列部分を抽出し、当該共通文字列部分を、以後発生するDNSクエリに対して拒絶応答の対象とする拒絶部分ドメイン情報として、ブラックリストを生成し、生成したブラックリストを記憶することを特徴とする。
また、本発明のDNSサーバに用いるブラックリスト生成プログラムは、DNSサーバに、ドメイン名からIPアドレスを解決する名前解決処理を行うために登録された、ドメイン名とIPアドレスとの対応情報をDNSレコード情報として記憶するDNSレコード情報記憶機能と、ドメイン名を指定して名前解決処理を要求するために送信されたDNSクエリに対する応答処理のログ情報を記憶する応答ログ情報記憶機能と、前記DNSレコード情報記憶機能により記憶されたDNSレコード情報を取得し、各DNSレコード情報に対し、前記応答ログ情報記憶機能で記憶可能な応答ログ情報数の最大値よりも大きい絶対値の負の値をポイント値として付加するDNSレコード情報取得機能と、所定時間間隔で、前記応答ログ情報記憶機能により記憶された応答ログ情報のドメイン名ごとの拒絶応答数をポイント値として、前記DNSレコード情報取得機能により取得されたDNSレコード情報と突合させた突合リストを生成する突合リスト生成機能と、前記突合リスト生成機能により生成された突合リストから、ドメイン名の各文字をノードとし、ドメイン名の末端の共通する文字を最上位ノードとし先頭の文字を最下位ノードとして、共通の末端文字列を有する複数のドメイン名を示したツリー構造の情報を生成し、当該ツリー構造の情報内の各最下位ノードに、該当するドメイン名のポイント値を該当するノードのポイント値として付加し、最下位以外の各ノードに、直近の下位ノードのポイント値の合計値を該当するノードのポイント値として付加するツリー構造情報生成機能と、前記ツリー構造情報生成機能により生成されたツリー構造の情報から、ポイント値が正の値であり、直近の上位ノードのポイント値が負の値であるノードについて、当該ノードおよびその上位のノードを含めた共通文字列部分を抽出し、当該共通文字列部分を、以後発生するDNSクエリに対して拒絶応答の対象とする拒絶部分ドメイン情報として、ブラックリストを生成するブラックリスト生成機能と、前記ブラックリスト生成機能により生成されたブラックリストを記憶するブラックリスト記憶機能とを実行させることを特徴とする。

Claims (7)

  1. ドメイン名からIPアドレスを解決する名前解決処理を行うために登録された、ドメイン名とIPアドレスとの対応情報をDNSレコード情報として記憶するDNSレコード情報記憶部と、
    ドメイン名を指定して名前解決処理を要求するために送信されたDNSクエリに対する応答処理のログ情報を記憶する応答ログ情報記憶部と、
    所定時間間隔で、前記応答ログ情報記憶部に記憶された応答ログ情報から、拒絶応答数が上位の所定数のドメイン名とその拒絶応答数を抽出して応答ログ情報の上位ドメインリストを生成し、生成した応答ログ情報の上位ドメインリストに基づいて、ドメインレベルごとに共通する文字列を含むグループごとに、該当するドメイン名およびその拒絶応答数で構成されるグループごとの上位ドメインリストを生成する上位ドメインリスト生成部と、
    前記上位ドメインリスト生成部において生成された各グループの上位ドメインリストごとに、ドメイン名内の共通する文字列を拒絶ドメイン部分情報として抽出するとともに、該当するグループ内のドメイン名に対する拒絶応答数の和を当該拒絶ドメイン部分情報のカウント値として算出し、これらの拒絶ドメイン部分情報とそのカウント値とを用いて、以後発生するDNSクエリに対して拒絶応答の対象とするブラックリストを生成するブラックリスト生成部と、
    前記ブラックリスト生成部で生成されたブラックリストの中から、前記DNSレコード情報記憶部に記憶されたDNSレコード情報内のドメイン名が該当する拒絶ドメイン部分情報とそのカウント値を削除することで前記ブラックリストを更新するブラックリスト更新部と、
    前記ブラックリスト更新部で更新されたブラックリストを記憶するブラックリスト記憶部と
    を備えることを特徴とするDNSサーバ。
  2. 前記ブラックリスト生成部で生成されたブラックリストと、過去に前記ブラックリスト記憶部に記憶された既存のブラックリストとを突合し、カウンタ値が大きい順に拒絶ドメイン部分情報をソートしてソート後の上位所定数のドメイン情報部分とそのカウンタ値で突合リストを生成する突合リスト生成部をさらに有し、
    前記ブラックリスト更新部は、前記突合リスト生成部で生成された突合リストの中から、前記DNSレコード情報記憶部に記憶されたDNSレコード情報内のドメイン名が該当する拒絶ドメイン部分情報とそのカウント値を削除することで前記既存のブラックリストを更新する
    ことを特徴とする請求項1に記載のDNSサーバ。
  3. 前記ブラックリスト更新部は、前記DNSレコード情報記憶部に新たな対応情報が追加されると、追加後の新たなDNSレコード情報を取得し、前記ブラックリスト記憶部に記憶された既存のブラックリストの中から、取得したDNSレコード情報内のドメイン名が該当する拒絶ドメイン部分情報とそのカウンタ値を削除することで、前記ブラックリスト記憶部内のブラックリストを更新する
    ことを特徴とする請求項2に記載のDNSサーバ。
  4. ドメイン名からIPアドレスを解決する名前解決処理を行うために登録された、ドメイン名とIPアドレスとの対応情報をDNSレコード情報として記憶するDNSレコード情報記憶部と、
    ドメイン名を指定して名前解決処理を要求するために送信されたDNSクエリに対する応答処理のログ情報を記憶する応答ログ情報記憶部と、
    前記DNSレコード情報記憶部に記憶されたDNSレコード情報を取得し、各DNSレコード情報に対し、前記応答ログ情報記憶部に記憶可能な応答ログ情報数の最大値よりも大きい絶対値の負の値をポイント値として付加するDNSレコード情報取得部と、
    所定時間間隔で、前記応答ログ情報記憶部に記憶された応答ログ情報のドメイン名ごとの拒絶応答数をポイント値として、前記DNSレコード情報取得部で取得されたDNSレコード情報と突合させた突合リストを生成する突合リスト生成部と、
    前記突合リスト生成部で生成された突合リストから、ドメイン名の各文字をノードとし、ドメイン名の末端の共通する文字を最上位ノードとし先頭の文字を最下位ノードとして、共通の末端文字列を有する複数のドメイン名を示したツリー構造の情報を生成し、当該ツリー構造の情報内の各最下位ノードに、該当するドメイン名のポイント値を該当するノードのポイント値として付加し、最下位以外の各ノードに、直近の下位ノードのポイント値の合計値を該当するノードのポイント値として付加するツリー構造情報生成部と、
    前記ツリー構造情報生成部で生成されたツリー構造の情報から、ポイント値が正の値であり、直近の上位ノードのポイント値が負の値であるノードについて、当該ノードおよびその上位のノードを含めた共通文字列部分を抽出し、当該共通文字列部分を、以後発生するDNSクエリに対して拒絶応答の対象とする拒絶部分ドメイン情報として、ブラックリストを生成するブラックリスト生成部と
    前記ブラックリスト生成部で生成されたブラックリストを記憶するブラックリスト記憶部と
    を備えることを特徴とするDNSサーバ。
  5. ドメイン名からIPアドレスを解決する名前解決処理を行うために登録された、ドメイン名とIPアドレスとの対応情報をDNSレコード情報として記憶するDNSレコード情報記憶部と、
    ドメイン名を指定して名前解決処理を要求するために送信されたDNSクエリに対する応答処理のログ情報を記憶する応答ログ情報記憶部とを備えたDNSサーバが、
    所定時間間隔で、前記応答ログ情報記憶部に記憶された応答ログ情報から、拒絶応答数が上位の所定数のドメイン名とその拒絶応答数を抽出して応答ログ情報の上位ドメインリストを生成し、
    生成した応答ログ情報の上位ドメインリストに基づいて、ドメインレベルごとに共通する文字列を含むグループごとに、該当するドメイン名およびその拒絶応答数で構成されるグループごとの上位ドメインリストを生成し、
    生成された各グループの上位ドメインリストごとに、ドメイン名内の共通する文字列を拒絶ドメイン部分情報として抽出するとともに、該当するグループ内のドメイン名に対する拒絶応答数の和を当該拒絶ドメイン部分情報のカウント値として算出し、これらの拒絶ドメイン部分情報とそのカウント値とを用いて、以後発生するDNSクエリに対して拒絶応答の対象とするブラックリストを生成し、
    生成されたブラックリストの中から、前記DNSレコード情報記憶部に記憶されたDNSレコード情報内のドメイン名が該当する拒絶ドメイン部分情報とそのカウント値を削除することで前記ブラックリストを更新し、
    更新されたブラックリストを記憶する
    ことを特徴とするDNSサーバにおけるブラックリスト生成方法。
  6. ドメイン名からIPアドレスを解決する名前解決処理を行うために登録された、ドメイン名とIPアドレスとの対応情報をDNSレコード情報として記憶するDNSレコード情報記憶部と、
    ドメイン名を指定して名前解決処理を要求するために送信されたDNSクエリに対する応答処理のログ情報を記憶する応答ログ情報記憶部とを備えたDNSサーバが、
    前記DNSレコード情報記憶部に記憶されたDNSレコード情報を取得し、各DNSレコード情報に対し、前記応答ログ情報記憶部に記憶可能な応答ログ情報数の最大値よりも大きい絶対値の負の値をポイント値として付加し、
    所定時間間隔で、前記応答ログ情報記憶部に記憶された応答ログ情報のドメイン名ごとの拒絶応答数をポイント値とし、取得したDNSレコード情報と突合させた突合リストを生成し、
    生成した突合リストから、ドメイン名の各文字をノードとし、ドメイン名の末端の共通する文字を最上位ノードとし先頭の文字を最下位ノードとして、共通の末端文字列を有する複数のドメイン名を示したツリー構造の情報を生成し、
    当該ツリー構造の情報内の各最下位ノードに、該当するドメイン名のポイント値を該当するノードのポイント値として付加し、最下位以外の各ノードに、直近の下位ノードのポイント値の合計値を該当するノードのポイント値として付加し、
    生成したツリー構造の情報から、ポイント値が正の値であり、直近の上位ノードのポイント値が負の値であるノードについて、当該ノードおよびその上位のノードを含めた共通文字列部分を抽出し、当該共通文字列部分を、以後発生するDNSクエリに対して拒絶応答の対象とする拒絶部分ドメイン情報として、ブラックリストを生成し、
    生成したブラックリストを記憶する
    ことを特徴とするDNSサーバにおけるブラックリスト生成方法。
  7. 請求項1〜4いずれか1項に記載のDNSサーバで実行される機能を、コンピュータで実行させるためのブラックリスト生成プログラム。
JP2017072096A 2017-03-31 2017-03-31 Dnsサーバ、dnsサーバにおけるブラックリスト生成方法、dnsサーバに用いるブラックリスト生成プログラム Active JP6442545B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017072096A JP6442545B2 (ja) 2017-03-31 2017-03-31 Dnsサーバ、dnsサーバにおけるブラックリスト生成方法、dnsサーバに用いるブラックリスト生成プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017072096A JP6442545B2 (ja) 2017-03-31 2017-03-31 Dnsサーバ、dnsサーバにおけるブラックリスト生成方法、dnsサーバに用いるブラックリスト生成プログラム

Publications (2)

Publication Number Publication Date
JP2018174469A true JP2018174469A (ja) 2018-11-08
JP6442545B2 JP6442545B2 (ja) 2018-12-19

Family

ID=64108879

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017072096A Active JP6442545B2 (ja) 2017-03-31 2017-03-31 Dnsサーバ、dnsサーバにおけるブラックリスト生成方法、dnsサーバに用いるブラックリスト生成プログラム

Country Status (1)

Country Link
JP (1) JP6442545B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020095329A (ja) * 2018-12-10 2020-06-18 諒 田中 置換方法、コンピュータプログラム、及び情報処理システム
CN112702445A (zh) * 2019-10-23 2021-04-23 中盈优创资讯科技有限公司 基于dns响应数据报文的递归日志提取方法及装置
CN118400386A (zh) * 2024-06-26 2024-07-26 杭州优云科技股份有限公司 日志管理方法及装置和电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013035309A1 (ja) * 2011-09-06 2013-03-14 日本電気株式会社 エージェント装置及び通信中継方法
WO2015087835A1 (ja) * 2013-12-10 2015-06-18 日本電信電話株式会社 Urlマッチング装置、urlマッチング方法、および、urlマッチングプログラム
JP2015220483A (ja) * 2014-05-14 2015-12-07 西日本電信電話株式会社 DNS−Proxy機能を有する中継装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013035309A1 (ja) * 2011-09-06 2013-03-14 日本電気株式会社 エージェント装置及び通信中継方法
WO2015087835A1 (ja) * 2013-12-10 2015-06-18 日本電信電話株式会社 Urlマッチング装置、urlマッチング方法、および、urlマッチングプログラム
JP2015220483A (ja) * 2014-05-14 2015-12-07 西日本電信電話株式会社 DNS−Proxy機能を有する中継装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020095329A (ja) * 2018-12-10 2020-06-18 諒 田中 置換方法、コンピュータプログラム、及び情報処理システム
JP7270369B2 (ja) 2018-12-10 2023-05-10 諒 田中 置換方法、コンピュータプログラム、及び情報処理システム
CN112702445A (zh) * 2019-10-23 2021-04-23 中盈优创资讯科技有限公司 基于dns响应数据报文的递归日志提取方法及装置
CN112702445B (zh) * 2019-10-23 2023-04-07 中盈优创资讯科技有限公司 基于dns响应数据报文的递归日志提取方法及装置
CN118400386A (zh) * 2024-06-26 2024-07-26 杭州优云科技股份有限公司 日志管理方法及装置和电子设备

Also Published As

Publication number Publication date
JP6442545B2 (ja) 2018-12-19

Similar Documents

Publication Publication Date Title
US20220078202A1 (en) Rule-based network-threat detection
US12010096B2 (en) Dynamic firewall configuration
US6249813B1 (en) Automated method of and apparatus for internet address management
CN114846462A (zh) 使用图数据结构的资产搜索发现系统
US10469499B2 (en) Website filtering using bifurcated domain name system
WO2016209756A1 (en) Dns snooping to create ip address-based trust database used to select deep packet inspection and storage of ip packets
JP6442545B2 (ja) Dnsサーバ、dnsサーバにおけるブラックリスト生成方法、dnsサーバに用いるブラックリスト生成プログラム
CN106790746B (zh) 一种分布式域名存储和解析方法及系统
KR100708813B1 (ko) 자국어 인터넷주소 시스템
JP2012094071A (ja) フィルタリング方法、フィルタリングシステム及びフィルタリングプログラム
CN104092751A (zh) 一种业务访问方法和设备
CN110708309A (zh) 反爬虫系统及方法
CN112968915B (zh) Dns域名服务器攻击的处理方法、处理系统、处理装置
KR20080086096A (ko) 키워드 처리시스템, 키워드 처리방법 및 이를 실행시키기위한 프로그램을 기록한 기록매체
CN113301001A (zh) 攻击者确定方法、装置、计算设备和介质
CN105245626A (zh) 在专网中使用快捷域名实现网站寻址的方法
CN113065078B (zh) 模拟用户行为拨测web网站多级域名的统计分析方法
CN109660390B (zh) 一种基于外部询问dns服务器的信息更新方法及系统
CN111314197B (zh) 域名资源管理装置及域名资源管理方法
CN115665086A (zh) 基于网管设备的域名解析方法及其装置、电子设备
Caarten Dissecting the top-level domains in the domain name system
CN107306296A (zh) 域名替代使用方法
JP2009194884A (ja) 名前解決システム、名前解決中継装置、通信装置、名前解決方法

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181120

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181126

R150 Certificate of patent or registration of utility model

Ref document number: 6442545

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250