JP4362487B2 - Dnsサーバクライアントシステム、dnsサーバ装置、キャッシュサーバ装置、dnsクエリ要求制御方法およびdnsクエリ要求制御プログラム - Google Patents

Dnsサーバクライアントシステム、dnsサーバ装置、キャッシュサーバ装置、dnsクエリ要求制御方法およびdnsクエリ要求制御プログラム Download PDF

Info

Publication number
JP4362487B2
JP4362487B2 JP2006060264A JP2006060264A JP4362487B2 JP 4362487 B2 JP4362487 B2 JP 4362487B2 JP 2006060264 A JP2006060264 A JP 2006060264A JP 2006060264 A JP2006060264 A JP 2006060264A JP 4362487 B2 JP4362487 B2 JP 4362487B2
Authority
JP
Japan
Prior art keywords
dns
query request
client
dns query
response
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.)
Active
Application number
JP2006060264A
Other languages
English (en)
Other versions
JP2007243356A (ja
Inventor
泰隆 後藤
祐一 島村
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 Corp
Original Assignee
Nippon Telegraph and Telephone 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 Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2006060264A priority Critical patent/JP4362487B2/ja
Publication of JP2007243356A publication Critical patent/JP2007243356A/ja
Application granted granted Critical
Publication of JP4362487B2 publication Critical patent/JP4362487B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

この発明は、DNSクライアント装置とDNSサーバ装置との間にキャッシュサーバ装置を介するDNSサーバクライアントシステム、DNSサーバ装置、キャッシュサーバ装置、DNSクエリ要求制御方法およびDNSクエリ要求制御プログラムに関する。
従来より、インターネット上のホスト名(ドメイン名)とIPアドレス(Internet Protocol Address)とを対応させるDNS(Domain Name System)と呼ばれるシステムがある。かかるDNSシステムは、例えば、図16に示すように、インターネットに複数の権威サーバと複数のサブネットとが接続され、また、各サブネットにDNSのフルサービスリゾルバとしてのキャッシュサーバが設置され、さらに、各サブネット内に複数のDNSクライアントが配置されて構成される。なお、図16は、従来技術に係るDNSシステムを説明するための図である。
図16に示すDNSシステムおいて、各権威サーバは、ホスト名とIPアドレスとを対応付けた変換表(リソースレコードファイル)を管理している。そして、サブネット内のDNSクライアントからクエリ要求が発信されると、このクエリ要求を受信したキャッシュサーバは、任意のドメインを管理する権威サーバに対してクエリ要求を送信する。一方、かかるクエリ要求を受信した権威サーバは、変換表(リソースレコードファイル)から対応するリソースレコードを検索し、検索結果としてのリソースレコードをクエリ応答としてキャッシュサーバに送信し、このクエリ応答を受信したキャッシュサーバは、クエリ要求を発信したDNSクライアントに対してクエリ応答を送信する。ここで、DNSクライアントからキャッシュサーバに対して送信されるクエリ要求の発IPアドレスは、DNSクライアントのIPアドレス(クライアントIP)であり、一方、キャッシュサーバから権威サーバに対して送信されるクエリ要求の発IPアドレスは、キャッシュサーバのIPアドレス(キャッシュサーバIP)である。
ところで、図16に示すようなDNSシステムおいては、クエリ要求の発IPアドレスに基づいて不正ユーザからのクエリ要求を拒否するなど、発IPアドレスによってクエリ応答を制御することが一般的に行われている。具体的に説明すると、権威サーバでは、システム単位またはゾーン単位でクエリ要求元のIPアドレス(もしくはネットワークアドレス)ごとに応答許可(もしくは応答拒否)を規定したアクセスコントロールリストを管理している。そして、キャッシュサーバからクエリ要求を受信すると、権威サーバでは、クエリ要求の発IPアドレス(ここでは、キャッシュサーバIP)に基づいてアクセスコントロールリストを参照し、応答許可もしくは応答拒否を行う。また、権威サーバによっては、ゾーン単位でクエリ要求元のIPアドレス(もしくはネットワークアドレス)ごとに異なるリソースレコードを規定しておき、クエリ要求の発IPアドレス(ここでは、キャッシュサーバIP)に基づいて異なるリソースレコードを応答するものもある(例えば、特許文献1参照)。
特開2005−210513号公報
ところで、上記した従来の技術は、DNSクライアントと権威サーバとの間にキャッシュサーバを介する場合に、クエリ要求に対するクエリ応答をDNSクライアントごとに制御することができないという課題がある。
この課題について具体的に説明すると、例えば、あるサブネット内に不正なDNSクライアントが存在し、ある権威サーバに対してDos攻撃(Denial of Service attack)などを行っているような場合でも、権威サーバ側では、クエリ要求の発IPアドレスとしてキャッシュサーバIPを取得できるだけであるので、不正なDNSクライアントが存在するサブネットのキャッシュサーバからDos攻撃が行われているように見える。そして、上記した従来の技術では、このような不正なDNSクライアントからのクエリ要求を拒否しようとする場合には、その不正なDNSクライアントが存在するサブネットのキャッシュサーバのIPアドレスに対してアクセスコントロールを規定しなければならない。
しかしながら、このようにして所定のキャッシュサーバが所定の権威サーバのアクセスコントロールリストに応答拒否として規定されると、そのキャッシュサーバが存在するサブネット内のDNSクライアント全てに対して(正規なDNSクライアントに対しても)クエリ応答が拒否されることになり、結果として、クエリ要求に対するクエリ応答をDNSクライアントごとに制御することができない。その一方、所定のキャッシュサーバが所定の権威サーバのアクセスコントロールリストに応答許可として規定されたような場合には、そのキャッシュサーバが存在するサブネット内のDNSクライアント全てに対して(不正なDNSクライアントに対しても)クエリ応答が許可されることになり、結果として、クエリ要求に対するクエリ応答をDNSクライアントごとに制御することができない。なお、このような課題を解決するために、サブネット内に不正なDNSクライアント用のキャッシュサーバを新たに設置するという手法も考えられるが、設備コストを考慮すると必ずしも適切な解決手法とは言い得ない。
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、DNSクライアント装置との間にキャッシュサーバ装置を介するDNSサーバ装置であっても、DNSクエリ要求に対する応答をDNSクライアント装置ごとに制御することが可能なDNSサーバクライアントシステム、DNSサーバ装置、キャッシュサーバ装置、DNSクエリ要求制御方法およびDNSクエリ要求制御プログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するため、請求項1に係る発明は、DNSクライアント装置とDNSサーバ装置との間にキャッシュサーバ装置を介して構成されるDNSサーバクライアントシステムであって、前記キャッシュサーバ装置は、前記DNSクライアント装置から受信したDNSクエリ要求を前記DNSサーバ装置に送信する場合に、前記DNSクライアント装置を識別するためのクライアントアドレスを前記DNSクエリ要求に含めて送信するDNSクエリ要求送信手段と、前記DNSサーバ装置からDNSクエリ応答として受信したリソースレコードのうち、前記クライアントアドレスを含めて送信されたDNSクエリ要求に対する応答として受信したリソースレコードについては、当該リソースレコードに前記クライアントアドレスを対応付けて記憶するリソースレコード記憶手段と、前記DNSクライアント装置からDNSクエリ要求を受信すると、当該DNSクエリ要求に対応するリソースレコードと当該DNSクライアント装置のクライアントアドレスとが前記リソースレコード記憶手段に対応付けて記憶されているか否か判定し、対応付けて記憶されていない場合には、前記DNSクエリ要求送信手段によって当該DNSクライアント装置のクライアントアドレスを含めたDNSクエリ要求を前記DNSサーバ装置に送信し、一方、対応付けて記憶されている場合には、前記リソースレコード記憶手段から当該リソースレコードを取得し、当該取得したリソースレコードを前記DNSクエリ要求に対する応答として前記DNSクライアント装置に送信するDNSクエリ要求処理手段と、前記DNSサーバ装置は、前記キャッシュサーバ装置からDNSクエリ要求を受信した場合に、当該DNSクエリ要求に含まれる前記クライアントアドレスに基づいて、当該DNSクエリ要求に対する応答を制御するDNSクエリ応答制御手段と、を備えたことを特徴とする。
また、請求項2に係る発明は、上記の発明において、前記DNSクエリ要求送信手段は、さらに、前記DNSクエリ要求の送信元であるDNSクライアント装置が所定のDNSクライアント装置である場合には、当該DNSクライアント装置のクライアントアドレスを前記DNSクエリ要求に含めて前記DNSサーバ装置に送信し、一方、前記DNSクエリ要求の送信元であるDNSクライアント装置が所定のDNSクライアント装置でない場合には、当該DNSクライアント装置のクライアントアドレスを含めることなく前記DNSクエリ要求を前記DNSサーバ装置に送信し、前記リソースレコード記憶手段は、さらに、前記DNSサーバ装置からDNSクエリ応答として受信したリソースレコードのうち、前記クライアントアドレスを含めることなく送信されたDNSクエリ要求に対する応答として受信したリソースレコードについては、前記クライアントアドレスを対応付けることなく前記リソースレコードのみを記憶し、前記DNSクエリ要求処理手段は、さらに、前記所定のDNSクライアント装置ではないDNSクライアント装置から前記DNSクエリ要求を受信すると、当該DNSクエリ要求に対応するリソースレコードが前記リソースレコード記憶手段に記憶されているか否か判定し、前記リソースレコードが記憶されていない場合には、前記DNSクエリ要求送信手段によって当該DNSクライアント装置のクライアントアドレスを含まないDNSクエリ要求を前記DNSサーバ装置に送信し、一方、前記リソースレコードが記憶されている場合には、前記リソースレコード記憶手段から当該リソースレコードを取得し、当該取得したリソースレコードを前記DNSクエリ要求に対する応答として前記DNSクライアント装置に送信することを特徴とする。
また、請求項3に係る発明は、上記の発明において、前記DNSクエリ要求送信手段は、前記DNSクエリ要求の追加部分に前記クライアントアドレスを含めて送信することを特徴とする。
また、請求項4に係る発明は、上記の発明において、前記キャッシュサーバ装置は、前記クライアントアドレスを含んだDNSクエリ要求について応答可能なDNSサーバ装置を識別するための情報を記憶したDNSサーバ情報記憶手段をさらに備え、前記DNSクエリ要求送信手段は、前記DNSサーバ情報記憶手段に記憶された情報に基づいて、前記クライアントアドレスを含んだDNSクエリ要求について応答可能なDNSサーバ装置に対してのみ、当該クライアントアドレスを含んだDNSクエリ要求を送信することを特徴とする。
また、請求項5に係る発明は、上記の発明において、前記DNSサーバ情報記憶手段は、前記DNSサーバ装置を識別するための情報の他に、前記クライアントアドレスを含んだDNSクエリ要求の送信対象とすべきDNSクライアント装置を識別するための情報をさらに記憶するものであって、前記DNSクエリ要求送信手段は、前記DNSサーバ情報記憶手段に記憶された情報に基づいて、前記クライアントアドレスを含んだDNSクエリ要求の送信対象とすべきDNSクライアント装置からDNSクエリ要求を受信した場合にのみ、当該クライアントアドレスを含んだDNSクエリ要求を送信することを特徴とする。
また、請求項6に係る発明は、上記の発明において、前記DNSサーバ装置は、前記クライアントアドレスを含んだDNSクエリ要求の送信が許可されているキャッシュサーバ装置を識別するための情報を記憶したキャッシュサーバ情報記憶手段をさらに備え、前記DNSクエリ応答制御手段は、前記DNSクエリ要求の送信元であるキャッシュサーバ装置について前記DNSサーバ情報記憶手段において前記クライアントアドレスを含んだDNSクエリ要求の送信が許可されている場合にのみ、当該DNSクエリ要求に含まれる前記クライアントアドレスに基づいて、当該DNSクエリ要求に対する応答を制御することを特徴とする。
また、請求項7に係る発明は、上記の発明において、前記DNSサーバ装置は、前記クライアントアドレスに対応付けて、前記DNSクエリ要求に対する応答制御内容として、無応答、拒否応答、リソースレコードのいずれか一つを記憶する応答制御内容記憶手段をさらに備え、前記DNSクエリ応答制御手段は、前記応答制御内容記憶手段に記憶されている応答制御内容から前記DNSクエリ要求に含まれるクライアントアドレスに対応付けられた応答制御内容を検索し、前記無応答、拒否応答、リソースレコード応答のいずれか一つを行うことを特徴とする。
また、請求項8に係る発明は、上記の発明において、前記DNSサーバ装置は、前記クライアントアドレスに対応付けて、システム単位および/またはゾーン単位ごとに前記DNSクエリ要求に対する応答制御内容を記憶するとともに、ドメイン単位ごとに前記DNSクエリ要求に対する応答制御内容を記憶する応答制御内容記憶手段をさらに備え、前記DNSクエリ応答制御手段は、前記システム単位および/またはゾーン単位、並びに、前記ドメイン単位で、前記応答制御内容記憶手段に記憶されている応答制御内容から前記DNSクエリ要求に含まれるクライアントアドレスに対応付けられた応答制御内容を検索し、当該検索した応答制御内容に基づいて前記DNSクエリ要求に対する応答を制御することを特徴とする。
また、請求項9に係る発明は、DNSクライアント装置とDNSサーバ装置との間でDNSクエリ要求を制御するキャッシュサーバ装置であって、前記DNSクライアント装置から受信したDNSクエリ要求を前記DNSサーバ装置に送信する場合に、前記DNSクライアント装置を識別するためのクライアントアドレスを前記DNSクエリ要求に含めて送信するDNSクエリ要求送信手段と、前記DNSサーバ装置からDNSクエリ応答として受信したリソースレコードのうち、前記クライアントアドレスを含めて送信されたDNSクエリ要求に対する応答として受信したリソースレコードについては、当該リソースレコードに前記クライアントアドレスを対応付けて記憶するリソースレコード記憶手段と、前記DNSクライアント装置からDNSクエリ要求を受信すると、当該DNSクエリ要求に対応するリソースレコードと当該DNSクライアント装置のクライアントアドレスとが前記リソースレコード記憶手段に対応付けて記憶されているか否か判定し、対応付けて記憶されていない場合には、前記DNSクエリ要求送信手段によって当該DNSクライアント装置のクライアントアドレスを含めたDNSクエリ要求を前記DNSサーバ装置に送信し、一方、対応付けて記憶されている場合には、前記リソースレコード記憶手段から当該リソースレコードを取得し、当該取得したリソースレコードを前記DNSクエリ要求に対する応答として前記DNSクライアント装置に送信するDNSクエリ要求処理手段と、を備えたことを特徴とする。
また、請求項10に係る発明は、DNSクライアント装置とDNSサーバ装置との間にキャッシュサーバ装置を介して構成されるDNSサーバクライアントシステムに適用されるDNSクエリ要求制御方法であって、前記キャッシュサーバ装置が、前記DNSクライアント装置から受信したDNSクエリ要求を前記DNSサーバ装置に送信する場合に、前記DNSクライアント装置を一意に識別するためのクライアントアドレスを前記DNSクエリ要求に含めて送信するDNSクエリ要求送信工程と、前記DNSサーバ装置からDNSクエリ応答として受信したリソースレコードのうち、前記クライアントアドレスを含めて送信されたDNSクエリ要求に対する応答として受信したリソースレコードについては、当該リソースレコードに前記クライアントアドレスを対応付けてリソースレコード記憶手段に記憶するリソースレコード記憶工程と、前記DNSクライアント装置からDNSクエリ要求を受信すると、当該DNSクエリ要求に対応するリソースレコードと当該DNSクライアント装置のクライアントアドレスとが前記リソースレコード記憶手段に対応付けて記憶されているか否か判定し、対応付けて記憶されていない場合には、前記DNSクエリ要求送信工程によって当該DNSクライアント装置のクライアントアドレスを含めたDNSクエリ要求を前記DNSサーバ装置に送信し、一方、対応付けて記憶されている場合には、前記リソースレコード記憶手段から当該リソースレコードを取得し、当該取得したリソースレコードを前記DNSクエリ要求に対する応答として前記DNSクライアント装置に送信するDNSクエリ要求処理工程と、前記DNSサーバ装置が、前記キャッシュサーバ装置からDNSクエリ要求を受信した場合に、当該DNSクエリ要求に含まれる前記クライアントアドレスに基づいて、当該DNSクエリ要求に対する応答を制御するDNSクエリ応答制御工程と、を含んだことを特徴とする。
また、請求項11に係る発明は、DNSクライアント装置とDNSサーバ装置との間でDNSクエリ要求を制御するDNSクエリ要求制御方法をコンピュータに実行させるDNSクエリ要求制御プログラムであって、前記DNSクライアント装置から受信したDNSクエリ要求を前記DNSサーバ装置に送信する場合に、前記DNSクライアント装置を識別するためのクライアントアドレスを前記DNSクエリ要求に含めて送信するDNSクエリ要求送信手順と、前記DNSサーバ装置からDNSクエリ応答として受信したリソースレコードのうち、前記クライアントアドレスを含めて送信されたDNSクエリ要求に対する応答として受信したリソースレコードについては、当該リソースレコードに前記クライアントアドレスを対応付けてリソースレコード記憶手段に記憶するリソースレコード記憶手順と、前記DNSクライアント装置からDNSクエリ要求を受信すると、当該DNSクエリ要求に対応するリソースレコードと当該DNSクライアント装置のクライアントアドレスとが前記リソースレコード記憶手段に対応付けて記憶されているか否か判定し、対応付けて記憶されていない場合には、前記DNSクエリ要求送信手順によって当該DNSクライアント装置のクライアントアドレスを含めたDNSクエリ要求を前記DNSサーバ装置に送信し、一方、対応付けて記憶されている場合には、前記リソースレコード記憶手段から当該リソースレコードを取得し、当該取得したリソースレコードを前記DNSクエリ要求に対する応答として前記DNSクライアント装置に送信するDNSクエリ要求処理手順と、をコンピュータに実行させることを特徴とする。
請求項1または10の発明によれば、キャッシュサーバ装置は、DNSクライアント装置から受信したDNSクエリ要求をDNSサーバ装置に送信する場合に、DNSクライアント装置を識別するためのクライアントアドレス(クライアントIPアドレス)をDNSクエリ要求に含めて送信し、DNSサーバ装置は、キャッシュサーバ装置からDNSクエリ要求を受信した場合に、DNSクエリ要求に含まれるクライアントアドレスに基づいてDNSクエリ要求に対する応答を制御するので、DNSクライアント装置との間にキャッシュサーバ装置を介するDNSサーバ装置であっても、DNSクエリ要求に対する応答をDNSクライアント装置ごとに制御することが可能である。そして、これによって、サブネットの管理者がサブネット内に不正ユーザ用のキャッシュサーバ装置を設置する必要がなくなる結果、設備コストを抑制することが可能であり、また、サブネット内のユーザ全てではなく、不正ユーザからのDNSクエリ要求のみを拒否することができる結果、ネットワーク全体のセキュリティを高めることが可能である。
さらに、キャッシュサーバ装置は、DNSサーバ装置からDNSクエリ応答として受信したリソースレコードのうち、前記クライアントアドレスを含めて送信されたDNSクエリ要求に対する応答として受信したリソースレコードについては、当該リソースレコードにクライアントアドレスを対応付けて記憶しておき、DNSクライアント装置からDNSクエリ要求を受信すると、当該DNSクエリ要求に対応するリソースレコードと当該DNSクライアント装置のクライアントアドレスとが対応付けて記憶されているか否か判定し、対応付けて記憶されていない場合には、当該DNSクライアント装置のクライアントアドレスを含めたDNSクエリ要求をDNSサーバ装置に送信し、一方、対応付けて記憶されている場合には、当該リソースレコードを取得し、当該取得したリソースレコードをDNSクエリ要求に対する応答としてDNSクライアント装置に送信するので、キャッシュサーバ装置では、DNSサーバ装置においてクライアントアドレスに基づいた応答制御が未だ行われていないDNSクエリ要求については、DNSサーバ装置にDNSクエリ要求を必ず送信することとなり、不正ユーザからのDNSクエリ要求に対してキャッシュサーバ装置で応答してしまう事態を回避することができる結果、ネットワーク全体のセキュリティを高めることが可能である。また、キャッシュサーバ装置では、DNSサーバ装置においてクライアントアドレスに基づいた応答制御が過去に行われているDNSクエリ要求については、DNSサーバ装置に改めてDNSクエリ要求を送信することなく、自ら過去に行われた通りにDNSクエリ応答を行うことができる結果、DNSクエリ応答の迅速化を図ることが可能である。
また、請求項2の発明によれば、キャッシュサーバ装置は、さらに、DNSクエリ要求の送信元であるDNSクライアント装置が所定のDNSクライアント装置である場合には、当該DNSクライアント装置のクライアントアドレスをDNSクエリ要求に含めてDNSサーバ装置に送信し、一方、DNSクエリ要求の送信元であるDNSクライアント装置が所定のDNSクライアント装置でない場合には、当該DNSクライアント装置のクライアントアドレスを含めることなくDNSクエリ要求をDNSサーバ装置に送信する。さらに、キャッシュサーバ装置は、DNSサーバ装置からDNSクエリ応答として受信したリソースレコードのうち、クライアントアドレスを含めることなく送信されたDNSクエリ要求に対する応答として受信したリソースレコードについては、クライアントアドレスを対応付けることなくリソースレコードのみを記憶する。さらに、キャッシュサーバ装置は、所定のDNSクライアント装置ではないDNSクライアント装置からDNSクエリ要求を受信すると、当該DNSクエリ要求に対応するリソースレコードが記憶されているか否か判定し、リソースレコードが記憶されていない場合には、当該DNSクライアント装置のクライアントアドレスを含まないDNSクエリ要求をDNSサーバ装置に送信し、一方、リソースレコードが記憶されている場合には、当該リソースレコードを取得し、当該取得したリソースレコードをDNSクエリ要求に対する応答としてDNSクライアント装置に送信する。
また、請求項3の発明によれば、キャッシュサーバ装置は、DNSクエリ要求の追加部分にクライアントアドレスを含めて送信するので、例えば、RFC1034で標準化されているDNSクエリ追加部にクライアントアドレスを追加記述してDNSクエリ要求を送信することで、クライアントアドレスに基づいた応答制御が不可能なDNSサーバ装置であっても、不正フォーマットのDNSクエリ要求を受信したことにはならず、DNSクエリ追加部を無視してキャッシュサーバ装置のIPアドレス等に基づいて応答制御することができる結果、キャッシュサーバ装置では、DNSクエリ要求の送信先であるDNSサーバ装置がクライアントアドレスごとの応答制御を行うか否かを認識する必要がなく、クライアントアドレスに基づいた応答制御を行うDNSサーバ装置とクライアントアドレスに基づいた応答制御を行わないDNSサーバ装置とを共存させることが可能である。
また、請求項4の発明によれば、キャッシュサーバ装置は、クライアントアドレスを含んだDNSクエリ要求について応答可能なDNSサーバ装置を識別するための情報(例えば、IPアドレスまたはホスト名)を記憶しておき、クライアントアドレスを含んだDNSクエリ要求について応答可能なDNSサーバ装置に対してのみ、クライアントアドレスを含んだDNSクエリ要求を送信するので、キャッシュサーバ装置では、クライアントアドレスに基づいた応答制御が不可能なDNSサーバ装置に対して無駄にクライアントアドレスを送信することがない結果、送信するDNSクエリ要求の情報量を抑制することが可能である。
また、請求項5の発明によれば、キャッシュサーバ装置は、DNSサーバ装置を識別するための情報の他に、クライアントアドレスを含んだDNSクエリ要求の送信対象とすべきDNSクライアント装置を識別するための情報(例えば、クライアントアドレス、ネットワークアドレス)をさらに記憶しておき、クライアントアドレスを含んだDNSクエリ要求の送信対象とすべきDNSクライアント装置からDNSクエリ要求を受信した場合にのみ、当該クライアントアドレスを含んだDNSクエリ要求を送信するので、キャッシュサーバ装置では、DNSクライアント装置ごとにDNSクエリ要求にクライアントアドレスを含めるかどうかを制御することも可能である。
また、請求項6の発明によれば、DNSサーバ装置は、クライアントアドレスを含んだDNSクエリ要求の送信が許可されているキャッシュサーバ装置を識別するための情報(例えば、キャッシュサーバ装置のIPアドレス)を記憶しておき、DNSクエリ要求の送信元であるキャッシュサーバ装置についてクライアントアドレスを含んだDNSクエリ要求の送信が許可されている場合にのみ、クライアントアドレスに基づいてDNSクエリ要求に対する応答を制御するので、DNSサーバ装置では、クライアントアドレスを含んだDNSクエリ要求の送信が許可されていないキャッシュサーバ装置からクライアントアドレスを含んだDNSクエリ要求を受信した場合でも、クライアントアドレスを無視してキャッシュサーバ装置のIPアドレス等に基づいて応答制御することができる結果、クライアントアドレスの部分を詐称しているおそれがあるDNSクエリ要求に対してキャッシュサーバ装置単位(サブネット単位)で応答制御することが可能である。
また、請求項7の発明によれば、DNSサーバ装置は、クライアントアドレスに対応付けて、DNSクエリ要求に対する応答制御内容として、無応答、拒否応答、リソースレコードのいずれか一つを記憶しておき、DNSクエリ要求に含まれるクライアントアドレスに対応付けられた応答制御内容を検索し、無応答、拒否応答、リソースレコード応答のいずれか一つを行うので、DNSサーバ装置では、クライアントアドレスに応じて、無応答、拒否応答、リソースレコード応答(例えば、全クライアント向けに用意された一つのリソースレコード、クライアントアドレスごとに用意されたリソースレコード、国ごとに用意されたリソースレコード、社内外ごとに用意されたリソースレコードなどの応答)のいずれか一つを行うという多様な応答制御を実現することが可能である。
また、請求項8の発明によれば、DNSサーバ装置は、クライアントアドレスに対応付けて、システム単位および/またはゾーン単位ごとにDNSクエリ要求に対する応答制御内容を記憶するとともに、ドメイン単位ごとにDNSクエリ要求に対する応答制御内容を記憶しておき、システム単位および/またはゾーン単位、並びに、ドメイン単位で、DNSクエリ要求に含まれるクライアントアドレスに対応付けられた応答制御内容を検索し、当該検索した応答制御内容に基づいてDNSクエリ要求に対する応答を制御するので、DNSサーバ装置では、DNSクエリ要求に対して、システム単位および/またはゾーン単位による応答制御と、ドメイン単位による応答制御とを組み合わせて適用することができる結果、システム単位やゾーン単位による簡易かつ迅速な応答制御とともに、ドメイン単位による細かな応答制御をクライアントアドレスごとに実現することが可能である。
また、請求項9または11の発明によれば、キャッシュサーバ装置は、DNSクライアント装置から受信したDNSクエリ要求をDNSサーバ装置に送信する場合に、DNSクライアント装置を識別するためのクライアントアドレス(クライアントIPアドレス)をDNSクエリ要求に含めて送信するので、DNSサーバ装置では、キャッシュサーバ装置からDNSクエリ要求を受信した場合に、DNSクエリ要求に含まれるクライアントアドレスに基づいてDNSクエリ要求に対する応答を制御することでき、これによって、DNSクライアント装置との間にキャッシュサーバ装置を介するDNSサーバ装置であっても、DNSクエリ要求に対する応答をDNSクライアント装置ごとに制御することが可能である。そして、これによって、サブネットの管理者がサブネット内に不正ユーザ用のキャッシュサーバ装置を設置する必要がなくなる結果、設備コストを抑制することが可能であり、また、サブネット内のユーザ全てではなく、不正ユーザからのDNSクエリ要求のみを拒否することができる結果、ネットワーク全体のセキュリティを高めることが可能である。
さらに、キャッシュサーバ装置は、DNSサーバ装置からDNSクエリ応答として受信したリソースレコードのうち、前記クライアントアドレスを含めて送信されたDNSクエリ要求に対する応答として受信したリソースレコードについては、当該リソースレコードにクライアントアドレスを対応付けて記憶しておき、DNSクライアント装置からDNSクエリ要求を受信すると、当該DNSクエリ要求に対応するリソースレコードと当該DNSクライアント装置のクライアントアドレスとが対応付けて記憶されているか否か判定し、対応付けて記憶されていない場合には、当該DNSクライアント装置のクライアントアドレスを含めたDNSクエリ要求をDNSサーバ装置に送信し、一方、対応付けて記憶されている場合には、当該リソースレコードを取得し、当該取得したリソースレコードをDNSクエリ要求に対する応答としてDNSクライアント装置に送信するので、キャッシュサーバ装置では、DNSサーバ装置においてクライアントアドレスに基づいた応答制御が未だ行われていないDNSクエリ要求については、DNSサーバ装置にDNSクエリ要求を必ず送信することとなり、不正ユーザからのDNSクエリ要求に対してキャッシュサーバ装置で応答してしまう事態を回避することができる結果、ネットワーク全体のセキュリティを高めることが可能である。また、キャッシュサーバ装置では、DNSサーバ装置においてクライアントアドレスに基づいた応答制御が過去に行われているDNSクエリ要求については、DNSサーバ装置に改めてDNSクエリ要求を送信することなく、自ら過去に行われた通りにDNSクエリ応答を行うことができる結果、DNSクエリ応答の迅速化を図ることが可能である。
以下に添付図面を参照して、この発明に係るDNSサーバクライアントシステム、DNSサーバ装置、キャッシュサーバ装置、DNSクエリ要求制御方法およびDNSクエリ要求制御プログラムの実施例を詳細に説明する。
以下では、実施例1に係るDNSシステムの概要および特徴を説明した後に、実施例1におけるキャッシュサーバの構成、権威サーバの構成、実施例1によるクエリ要求制御処理の流れを説明し、最後に、実施例1による効果を説明する。なお、以下の実施例に登場する「DNSシステム」は、特許請求の範囲に記載の「DNSクライアントサーバシステム」に対応し、「DNSクライアント」は同じく「DNSクライアント装置」に対応し、「キャッシュサーバ」は同じく「キャッシュサーバ装置」に対応し、「権威サーバ」は同じく「DNSサーバ装置」に対応する。
[DNSシステムの概要および特徴]
最初に、図1を用いて、実施例1に係るDNSシステムの概要および特徴を説明する。図1は、実施例1に係るDNSシステムの全体構成を示すシステム構成図である。
図1に示すように、実施例1に係るDNSシステムは、インターネットに複数の権威サーバ30と複数のサブネットとが接続され、また、各サブネットにDNSのフルサービスリゾルバとしてのキャッシュサーバ20が設置され、さらに、各サブネット内に複数のDNSクライアント10が配置されて構成される。
かかるDNSシステムおいて、各権威サーバ30は、ホスト名とIPアドレスとを対応付けた変換表(リソースレコードファイル)を管理している。そして、サブネット内のDNSクライアント10からクエリ要求が発信されると、このクエリ要求を受信したキャッシュサーバ20は、任意のドメインを管理する権威サーバ30に対してクエリ要求を送信する。ここで、DNSクライアント10からキャッシュサーバ20に対して送信されるクエリ要求の発IPアドレス(ソースIP)は、DNSクライアント10のIPアドレス(クライアントIP)であり、一方、キャッシュサーバ20から権威サーバ30に対して送信されるクエリ要求の発IPアドレス(ソースIP)は、キャッシュサーバ20のIPアドレス(キャッシュサーバIP)である。
一方、かかるクエリ要求を受信した権威サーバ30は、クエリ要求に対応したリソースレコードをクエリ応答としてキャッシュサーバ20に送信したり、クエリ要求の発IPアドレスに基づいて不正ユーザからのクエリ要求を拒否するなど、クエリ要求に対するクエリ応答を制御する。ここで、実施例1に係るDNSシステムは、かかるクエリ要求制御処理に主たる特徴があり、以下に説明するように、DNSクライアント10との間にキャッシュサーバ20を介する権威サーバ30であっても、DNSクエリ要求に対する応答をDNSクライアント10ごとに制御することができるようにしている。
この主たる特徴を具体的に説明すると、図1において、権威サーバ30は、応答を拒否するキャッシュサーバ20のIPアドレス(キャッシュサーバIP)だけでなく、応答を拒否するDNSクライアント10のIPアドレス(クライアントIP)が列挙されたアクセスコントロールリスト(例えば、実施例1では、システム単位の拒否応答リスト)を管理している。そして、キャッシュサーバ20は、DNSクライアント10から受信したクエリ要求を権威サーバ30に送信する場合に、DNSクライアント10のクライアントIPをクエリ要求の追加部に含めて送信する。
一方、権威サーバ30は、キャッシュサーバ20からクエリ要求を受信した場合に、クエリ要求の追加部に含まれるクライアントIPに基づいて、DNSクエリ要求に対する応答を制御する。具体的には、権威サーバ30は、クライアントIPに基づいてアクセスコントロールを参照し、そのクライアントIPが応答拒否として規定されている場合には、拒否応答をクエリ応答としてキャッシュサーバ20に送信し、これを受信したキャッシュサーバ20は、クエリ要求を発信したDNSクライアント10に対して拒否応答のクエリ応答を送信する(例えば、図1に示すDNSクライアントa参照)。これとは反対に、クライアントIPがアクセスコントロールリストに応答拒否として規定されていない場合には、権威サーバ30は、リソースレコードファイルからクエリ要求に対応するリソースレコードを検索し、検索結果としてのリソースレコードをクエリ応答としてキャッシュサーバ20に送信し、これを受信したキャッシュサーバ20は、クエリ要求を発信したDNSクライアント10に対してリソースレコードのクエリ応答を送信する(例えば、図1に示すDNSクライアントb参照)。
このように、実施例1に係るDNSシステムは、同じサブネット内に存在する各DNSクライアント10に対して応答拒否もしくは正常応答を個々に行うことができ、上記した主たる特徴の如く、DNSクライアント10との間にキャッシュサーバ20を介する権威サーバ30であっても、DNSクエリ要求に対する応答をDNSクライアント10ごとに制御することが可能である。そして、これによって、サブネットの管理者がサブネット内に不正ユーザ用のキャッシュサーバ20を設置する必要がなくなる結果、設備コストを抑制することが可能であり、また、サブネット内のユーザ全てではなく、不正ユーザからのDNSクエリ要求のみを拒否することができる結果、ネットワーク全体のセキュリティを高めることが可能である。
[キャッシュサーバの構成]
続いて、図2から図4を用いて、実施例1におけるキャッシュサーバ20の構成を説明する。図2は、実施例1におけるキャッシュサーバの構成を示すブロック図であり、図3は、権威サーバリストに記憶される情報の例を示す図であり、図4は、クライアントIPが追加されたクエリ要求の例を示す図である。
実施例1におけるキャッシュサーバ20は、図2に示すように、通信制御IF部21と、記憶部22と、制御部23とを備えて構成される。このうち、通信制御IF部21は、DNSクライアント10や権威サーバ30との間でやり取りする各種情報に関する通信を制御する手段であり、例えば、DNSクライアント10からクエリ要求を受信し、権威サーバ30にクエリ要求を送信し、権威サーバ30からクエリ応答を受信し、DNSクライアント10にクエリ応答を送信する。
記憶部22は、制御部23による各種処理に必要なデータおよびプログラムを格納する格納手段(記憶手段)であり、特に本発明に密接に関連するものとしては、図2に示すように、権威サーバリスト22aを備える。なお、権威サーバリスト22aは、特許請求の範囲に記載の「DNSサーバ情報記憶手段」に対応する。
かかる権威サーバリスト22aは、クライアントIPを含んだクエリ要求(以下、適宜「拡張クエリ」と記す)について応答可能な権威サーバ30を識別するための情報、さらには、拡張クエリの送信対象とすべきDNSクライアント10を識別するための情報を記憶する手段であり、具体的には、図3に示すように、発端末IPであるクライアントIPを通知可能な権威サーバのドメイン名や、発端末IPであるクライアントIPの通知を許容するDNSクライアント10のIPアドレス(もしくはネットワークアドレス)を列挙して記憶する。
なお、キャッシュサーバ20における記憶部22は、通常ならば、権威サーバ30からクエリ応答として受信したリソースレコードをキャッシュして記憶するものであるが、実施例1におけるキャッシュサーバ20では、権威サーバ30から受信したリソースレコードをキャッシュせず(いわゆる「TTL=0」が設定されており)、DNSクライアント10から受信したクエリ要求を常に権威サーバ30に送信するようにしており、これによって、常に権威サーバ30においてクエリ要求に対する応答をDNSクライアント10ごとに制御できるようにしている。
制御部23は、OS(Operating System)などの制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を実行する処理部であり、特に本発明に密接に関連するものとしては、図2に示すように、クエリ要求送信部23aと、クエリ応答送信部23bとを備える。なお、クエリ要求送信部23aは、特許請求の範囲に記載の「DNSクエリ要求送信手段」に対応する。
かかる制御部23のうち、クエリ要求送信部23aは、DNSクライアント10からクエリ要求を受信して、かかるクエリ要求を権威サーバ30に送信する処理部である。具体的には、クエリ要求送信部23aは、DNSクライアント10からクエリ要求を受信すると、権威サーバリスト22aを参照して、クエリ要求の送信先となる権威サーバ30が拡張クエリ(クライアントIPを含んだクエリ要求)を受信可能であるかを判定し、さらに、受信可能である場合には、クエリ要求の発信元であるDNSクライアント10が拡張クエリの送信対象であるかを判定する。
かかる判定によって、クエリ要求の送信先となる権威サーバ30が拡張クエリを受信可能であり、かつ、クエリ要求の発信元であるDNSクライアント10が拡張クエリの送信対象である場合には、クエリ要求送信部23aは、図4に示すように、クエリ要求の発信元であるDNSクライアント10を識別するためのクライアントIPを、RFC1034で標準化されているクエリ要求の追加部に設定し、ソースIP(キャッシュサーバIP)に加えてクライアントIPが追加された拡張クエリを権威サーバ30に対して送信する。一方、クエリ要求の送信先となる権威サーバ30が拡張クエリを受信可能でないか、クエリ要求の発信元であるDNSクライアント10が拡張クエリの送信対象でない場合には、クエリ要求送信部23aは、ソースIP(キャッシュサーバIP)のみが設定されたクエリ要求を権威サーバ30に対して送信する。
クエリ応答送信部23bは、権威サーバ30からクエリ応答を受信して、かかるクエリ応答をDNSクライアント10に送信する処理部である。具体的には、権威サーバ30からクエリ応答(応答拒否またはリソースレコード)を受信すると、クエリ要求を発信したDNSクライアント10に対して応答拒否またはリソースレコードのクエリ応答を送信する。なお、上記したように、実施例1におけるキャッシュサーバ20では、権威サーバ30からクエリ応答として受信したリソースレコードをキャッシュしないようにしている。
なお、上述してきたキャッシュサーバ20は、既知のパーソナルコンピュータやワークステーションに、上記した各部の各機能を搭載することによって実現することもできる。
[権威サーバの構成]
続いて、図5および図6を用いて、実施例1における権威サーバ30の構成を説明する。図5は、実施例1における権威サーバの構成を示すブロック図であり、図6は、アクセスコントロールリストに記憶される情報の例を示す図である。
実施例1における権威サーバ30は、図5に示すように、通信制御IF部31と、記憶部32と、制御部33とを備えて構成される。このうち、通信制御IF部31は、キャッシュサーバ20との間でやり取りする各種情報に関する通信を制御する手段であり、例えば、キャッシュサーバ20からクエリ要求を受信し、キャッシュサーバ20にクエリ応答を送信する。
記憶部32は、制御部33による各種処理に必要なデータおよびプログラムを格納する格納手段(記憶手段)であり、特に本発明に密接に関連するものとしては、図5に示すように、アクセスコントロールリスト32aと、リソースレコードファイル32bとを備える。なお、アクセスコントロールリスト32aは、特許請求の範囲に記載の「応答制御内容記憶手段」に対応する。
かかるアクセスコントロールリスト32aは、クエリ要求の発IPアドレスとなるクライアントIPやキャッシュサーバIPに対応付けて、クエリ要求に対する応答制御内容を記憶する手段であり、具体的には、図6に示すように、クエリ要求に対して無応答となるクライアントIPやキャッシュサーバIP、クエリ要求に対して拒否応答を行うクライアントIPやキャッシュサーバIPを列挙して記憶する。また、リソースレコードファイル32bは、ホスト名(ドメイン名)とIPアドレス(リソースレコード)とを対応付けて記憶する手段である。
制御部33は、OS(Operating System)などの制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を実行する処理部であり、特に本発明に密接に関連するものとしては、図5に示すように、クエリ応答制御部33aを備える。なお、クエリ応答制御部33aは、特許請求の範囲に記載の「DNSクエリ応答制御手段」に対応する。
かかるクエリ応答制御部33aは、キャッシュサーバ20からクエリ要求を受信して、クエリ応答を制御する処理部である。具体的には、クエリ応答制御部33aは、キャッシュサーバ20からクエリ要求を受信すると、クエリ要求の拡張部にクライアントIPが追加されているか(拡張クエリであるか)を判定し、拡張クエリである場合には、拡張部からクライアントIPを取得し、拡張クエリでない場合には、クエリ要求から通常通りキャッシュサーバIP(ソースIP)を取得する。
このようにしてIPアドレスを取得した後、クエリ応答制御部33aは、IPアドレスに基づいてアクセスコントロールリスト32aを参照して応答制御内容を決定し、クエリ応答を行う。具体的に例を挙げて説明すると、上記で取得したIPアドレス(クライアントIPまたはキャッシュサーバIP)に対応付けてアクセスコントロールリスト32aに「無応答」が規定されている場合には、無応答のクエリ応答を行い、また、取得したIPアドレス(クライアントIPまたはキャッシュサーバIP)に対応付けてアクセスコントロールリスト32aに「拒否応答」が規定されている場合には、拒否応答のクエリ応答をキャッシュサーバ20に対して送信し、さらに、取得したIPアドレス(クライアントIPまたはキャッシュサーバIP)に対応付けて「無応答」や「拒否応答」が規定されていない場合には、リソースレコードファイル32bからクエリ要求に対応するリソースレコードを検索し、検索結果としてのリソースレコードをクエリ応答としてキャッシュサーバ20に送信する。
なお、上述してきた権威サーバ30は、既知のパーソナルコンピュータやワークステーションに、上記した各部の各機能を搭載することによって実現することもできる。
[クエリ要求制御処理の流れ]
続いて、図7を用いて、実施例1によるクエリ要求制御処理の流れを説明する。図7は、実施例1によるクエリ要求制御処理の流れを示すフローチャートである。
図7に示すように、DNSクライアント10からクエリ要求が送信され(ステップS701)、キャッシュサーバ20からクエリ要求を受信すると、キャッシュサーバ20では、権威サーバリスト22aを参照して、クエリ要求の送信先となる権威サーバ30が拡張クエリ(クライアントIPを含んだクエリ要求)を受信可能であるかを判定し(ステップS702)、さらに、受信可能である場合には(ステップS702肯定)、クエリ要求の発信元であるDNSクライアント10が拡張クエリの送信対象であるかを判定する(ステップS703)。
かかる判定によって、クエリ要求の送信先となる権威サーバ30が拡張クエリを受信可能であり(ステップS702肯定)、かつ、クエリ要求の発信元であるDNSクライアント10が拡張クエリの送信対象である場合には(ステップS703肯定)、キャッシュサーバ20は、クエリ要求の発信元であるDNSクライアント10のクライアントIPをクエリ要求の追加部に設定し(ステップS704)、ソースIP(キャッシュサーバIP)に加えてクライアントIPが追加された拡張クエリを権威サーバ30に対して送信する(ステップS705)。
一方、クエリ要求の送信先となる権威サーバ30が拡張クエリを受信可能でないか(ステップS702否定)、クエリ要求の発信元であるDNSクライアント10が拡張クエリの送信対象でない場合には(ステップS703否定)、キャッシュサーバ20は、ソースIP(キャッシュサーバIP)のみが設定されたクエリ要求を権威サーバ30に対して送信する(ステップS705)。
このようにしてキャッシュサーバ20から送信されたクエリ要求を受信した権威サーバ30では、クエリ要求の拡張部にクライアントIPが追加されているか(拡張クエリであるか)を判定し(ステップS706)、拡張クエリである場合には(ステップS706肯定)、拡張部からクライアントIPを取得し(ステップS707)、拡張クエリでない場合には(ステップS706否定)、クエリ要求から通常通りキャッシュサーバIP(ソースIP)を取得する(ステップS708)。
このようにしてIPアドレスを取得した後、権威サーバ30は、IPアドレスに基づいてアクセスコントロールリスト32aを参照して応答制御内容を決定し(ステップS709)、クエリ応答を行う(ステップS710)。具体的に例を挙げて説明すると、上記で取得したIPアドレス(クライアントIPまたはキャッシュサーバIP)に対応付けてアクセスコントロールリスト32aに「無応答」が規定されている場合には、無応答のクエリ応答を行い、また、取得したIPアドレス(クライアントIPまたはキャッシュサーバIP)に対応付けてアクセスコントロールリスト32aに「拒否応答」が規定されている場合には、拒否応答のクエリ応答をキャッシュサーバ20に対して送信し、さらに、取得したIPアドレス(クライアントIPまたはキャッシュサーバIP)に対応付けて「無応答」や「拒否応答」が規定されていない場合には、リソースレコードファイル32bからクエリ要求に対応するリソースレコードを検索し、検索結果としてのリソースレコードをクエリ応答としてキャッシュサーバ20に送信する。
その後、キャッシュサーバ20は、権威サーバ30からクエリ応答(応答拒否またはリソースレコード)を受信すると、クエリ要求を発信したDNSクライアント10に対して応答拒否またはリソースレコードのクエリ応答を送信する(ステップS711)。
なお、クライアントIPに基づいた応答制御が不可能な権威サーバ30が、上記の拡張クエリをキャッシュサーバ20から受信した場合でも、かかる拡張クエリはRFC1034で標準化されているDNSクエリ追加部に追加記述されたものであるので、不正フォーマットのクエリ要求を受信したことにはならず、追加部を無視してキャッシュサーバIP(ソースIP)に基づいて応答制御することになる。
[実施例1による効果]
上述してきたように、実施例1によれば、キャッシュサーバ20は、DNSクライアント10から受信したクエリ要求を権威サーバ30に送信する場合に、DNSクライアント10を識別するためのクライアントアドレス(クライアントIP)をクエリ要求に含めて送信し、権威サーバ30は、キャッシュサーバ20からクエリ要求を受信した場合に、クエリ要求に含まれるクライアントIPに基づいてクエリ要求に対する応答を制御するので、DNSクライアント10との間にキャッシュサーバ20を介する権威サーバ30であっても、クエリ要求に対する応答をDNSクライアント10ごとに制御することが可能である。そして、これによって、サブネットの管理者がサブネット内に不正ユーザ用のキャッシュサーバ20を設置する必要がなくなる結果、設備コストを抑制することが可能であり、また、サブネット内のユーザ全てではなく、不正ユーザからのクエリ要求のみを拒否することができる結果、ネットワーク全体のセキュリティを高めることが可能である。
また、実施例1によれば、キャッシュサーバ20は、クエリ要求の追加部分にクライアントIPを含めて送信するので、例えば、RFC1034で標準化されているDNSクエリ追加部にクライアントIPを追加記述してクエリ要求を送信することで、クライアントIPに基づいた応答制御が不可能な権威サーバ30であっても、不正フォーマットのクエリ要求を受信したことにはならず、クエリ追加部を無視してキャッシュサーバ20のIPアドレス等に基づいて応答制御することができる結果、キャッシュサーバ20では、クエリ要求の送信先である権威サーバ30がクライアントIPごとの応答制御を行うか否かを認識する必要がなく、クライアントIPに基づいた応答制御を行う権威サーバ30とクライアントIPに基づいた応答制御を行わない権威サーバ30とを共存させることが可能である。
また、実施例1によれば、キャッシュサーバ20は、クライアントIPを含んだクエリ要求について応答可能な権威サーバ30を識別するための情報(例えば、IPアドレスまたはホスト名)を記憶しておき、クライアントIPを含んだクエリ要求について応答可能な権威サーバ30に対してのみ、クライアントIPを含んだクエリ要求を送信するので、キャッシュサーバ20では、クライアントIPに基づいた応答制御が不可能な権威サーバ30に対して無駄にクライアントIPを送信することがない結果、送信するクエリ要求の情報量を抑制することが可能である。
また、実施例1によれば、キャッシュサーバ20は、権威サーバ30を識別するための情報の他に、クライアントIPを含んだクエリ要求の送信対象とすべきDNSクライアント10を識別するための情報(例えば、クライアントIP、ネットワークアドレス)をさらに記憶しておき、クライアントIPを含んだクエリ要求の送信対象とすべきDNSクライアント10からクエリ要求を受信した場合にのみ、当該クライアントIPを含んだクエリ要求を送信するので、キャッシュサーバ20では、DNSクライアント10ごとにクエリ要求にクライアントIPを含めるかどうかを制御することも可能である。
ところで、上記した実施例1では、権威サーバ30において拡張クエリに含まれるクライアントIPをクエリ応答制御に常に用いる場合を説明したが、本発明はこれに限定されるものではなく、信頼性があるキャッシュサーバ20から受信した拡張クエリに含まれるクライアントIPのみをクエリ応答制御に用いるようにしてもよい。
そこで、以下では、信頼性があるキャッシュサーバ20から拡張クエリが送信されてきたかを判定した上でクエリ応答制御を行う場合を実施例2として説明する。ただし、実施例2に係るDNSシステムは、基本的には、実施例1に係るDNSシステムと同様の構成であり、権威サーバ30が後述するキャッシュサーバ管理リストを新たに管理する点が異なるのみであるので、以下では、図8を用いて、かかるキャッシュサーバ管理リストを説明した後に、図9を用いて、実施例2における権威サーバによるクエリ応答処理の流れを説明する。なお、図8は、実施例2における権威サーバが有するキャッシュサーバ管理リストに記憶される情報の例を示す図であり、図9は、実施例2における権威サーバによるクエリ応答処理の流れを示すフローチャートである。
実施例2における権威サーバ30の記憶部32は、図8に示すようなキャッシュサーバ管理リストを備える。このキャッシュサーバ管理リストは、クライアントIPを含んだクエリ要求(拡張クエリ)の送信が許可されているキャッシュサーバ20を識別するための情報を記憶した手段であり、具体的には、図8に示すように、拡張クエリの送信が許可されているキャッシュサーバ20のキャッシュサーバIPを列挙して記憶する。なお、キャッシュサーバ管理リストは、特許請求の範囲に記載の「キャッシュサーバ情報記憶手段」に対応する。
そして、図9に示すように、キャッシュサーバ20から送信されたクエリ要求を受信した権威サーバ30では、クエリ要求の拡張部にクライアントIPが追加されているか(拡張クエリであるか)を判定し(ステップS901)、拡張クエリである場合には(ステップS901肯定)、さらに、クエリ要求のソースIPであるキャッシュサーバIPに基づいてキャッシュサーバ管理リストを参照し、拡張クエリの送信について許可されている信頼できるキャッシュサーバ20が送信元であるかを判定する(ステップS902)。
その結果、拡張クエリの送信元が信頼できるキャッシュサーバ20である場合には(ステップS902肯定)、権威サーバ30は、クエリ要求の拡張部からクライアントIPを取得する(ステップS903)。その一方、拡張クエリの送信元が信頼できるキャッシュサーバ20でない場合には(ステップS902否定)や、キャッシュサーバ20から受信したクエリ要求が拡張クエリでない場合には(ステップS901否定)、権威サーバ30は、クエリ要求から通常通りキャッシュサーバIP(ソースIP)を取得する(ステップS904)。
このようにしてIPアドレスを取得した後、権威サーバ30は、上記した実施例1と同様、IPアドレスに基づいてアクセスコントロールリスト32aを参照して応答制御内容を決定し(ステップS905)、クエリ応答を行う(ステップS906)。
上述してきたように、実施例2によれば、権威サーバ30は、クライアントIPを含んだクエリ要求(拡張クエリ)の送信が許可されているキャッシュサーバ20を識別するための情報(例えば、キャッシュサーバ20のIPアドレス)を記憶しておき、クエリ要求の送信元であるキャッシュサーバ20についてクライアントIPを含んだクエリ要求の送信が許可されている場合にのみ、クライアントIPに基づいてクエリ要求に対する応答を制御するので、権威サーバ30では、クライアントIPを含んだクエリ要求の送信が許可されていないキャッシュサーバ20からクライアントIPを含んだクエリ要求(拡張クエリ)を受信した場合でも、クライアントIPを無視してキャッシュサーバ20のIPアドレス等に基づいて応答制御することができる結果、クライアントIPの部分を詐称しているおそれがあるクエリ要求に対してキャッシュサーバ20単位(サブネット単位)で応答制御することが可能である。
ところで、上記した実施例1では、キャッシュサーバ20においてリソースレコードのクエリ応答をキャッシュしない場合を説明したが、本発明はこれに限定されるものではなく、キャッシュサーバ20においてリソースレコードのクエリ応答をキャッシュするようにしてもよい。
そこで、以下では、キャッシュサーバ20においてリソースレコードのクエリ応答をキャッシュする場合を実施例3として説明する。ただし、実施例3に係るDNSシステムは、基本的には、実施例1に係るDNSシステムと同様の構成であり、キャッシュサーバ20によるクエリ要求送信処理およびクエリ応答送信処理が異なるのみであるので、以下では、図10を用いて、実施例3におけるキャッシュサーバ20によるクエリ応答送信処理の流れを説明した後に、図11を用いて、実施例3におけるキャッシュサーバ20によるクエリ要求送信処理の流れを説明する。なお、図10は、実施例3におけるキャッシュサーバによるクエリ応答送信処理の流れを示すフローチャートであり、図11は、実施例3におけるキャッシュサーバによるクエリ要求送信処理の流れを示すフローチャートである。
まずは、図10を用いて、実施例3におけるキャッシュサーバ20によるクエリ応答送信処理の流れを説明する。図10に示すように、実施例3におけるキャッシュサーバ20では、権威サーバ30からリソースレコードのクエリ応答を受信すると(ステップS1001肯定)、このクエリ応答が拡張クエリ(クエリ要求の拡張部にクライアントIPが追加されて権威サーバ30に送信されたクエリ要求)に対するものであるかを判別する(ステップS1002)。
ここで、このクエリ応答が拡張クエリに対するものでない場合には(ステップS1002否定)、キャッシュサーバ20は、クエリ応答のリソースレコードを記憶部22にキャッシュした後に(ステップS1003)、クエリ要求を発信したDNSクライアント10に対してリソースレコードのクエリ応答を送信する(ステップS1004)。すなわち、拡張クエリに対するクエリ応答でないならば、そのリソースレコードはDNSクライアント10ごとに制御されるべき対象ではないので、これをキャッシュしてサブネット内の全DNSクライアント10向けに利用してもセキュリティ上は問題ないと考えられるからである。
これとは反対に、クエリ応答が拡張クエリに対するものである場合には(ステップS1002肯定)、キャッシュサーバ20は、上記した実施例1と同様、クエリ応答のリソースレコードをキャッシュすることなく、クエリ要求を発信したDNSクライアント10に対してリソースレコードのクエリ応答を送信する(ステップS1004)。すなわち、拡張クエリに対するクエリ応答であるならば、そのリソースレコードはDNSクライアント10ごとに制御されるべき対象であるので、これをキャッシュしてサブネット内で利用することはセキュリティ上も問題であると考えられるからである。
続いて、図11を用いて、実施例3におけるキャッシュサーバによるクエリ要求送信処理の流れを説明する。図11に示すように、DNSクライアント10から送信されたクエリ要求を受信したキャッシュサーバ20では、上記した実施例1と同様、権威サーバリスト22aを参照して、クエリ要求の送信先となる権威サーバ30が拡張クエリ(クライアントIPを含んだクエリ要求)を受信可能であるかを判定し(ステップS1101)、さらに、受信可能である場合には(ステップS1101肯定)、クエリ要求の発信元であるDNSクライアント10が拡張クエリの送信対象であるかを判定する(ステップS1102)。
かかる判定によって、クエリ要求の送信先となる権威サーバ30が拡張クエリを受信可能であり(ステップS1101肯定)、かつ、クエリ要求の発信元であるDNSクライアント10が拡張クエリの送信対象である場合には(ステップS1102肯定)、キャッシュサーバ20は、上記した実施例1と同様、クエリ要求の発信元であるDNSクライアント10のクライアントIPをクエリ要求の追加部に設定し(ステップS1103)、ソースIP(キャッシュサーバIP)に加えてクライアントIPが追加された拡張クエリを権威サーバ30に対して送信する(ステップS1104)。
一方、クエリ要求の送信先となる権威サーバ30が拡張クエリを受信可能でないか(ステップS1101否定)、クエリ要求の発信元であるDNSクライアント10が拡張クエリの送信対象でない場合には(ステップS1102否定)、キャッシュサーバ20は、クエリ要求に対応するリソースレコードが記憶部22にキャッシュされているかを検索する(ステップS1105)。そして、クエリ要求に対応するリソースレコードが記憶部22にキャッシュされている場合には(ステップS1105肯定)、キャッシュサーバ20は、権威サーバ30にクエリ要求を送信することなく、キャッシュからリソースレコードを取得し、かかるリソースレコードをクエリ応答としてDNSクライアント10に送信する(ステップS1106)。
これとは反対に、クエリ要求に対応するリソースレコードが記憶部22にキャッシュされていない場合には(ステップS1105否定)、キャッシュサーバ20は、上記した実施例1と同様、ソースIP(キャッシュサーバIP)のみが設定されたクエリ要求を権威サーバ30に対して送信する(ステップS1104)。
上述してきたように、実施例3によれば、キャッシュサーバ20は、権威サーバ30からクエリ応答として受信したリソースレコードのうち、クライアントIPを含めて送信されたクエリ要求(拡張クエリ)に対する応答として受信したリソースレコードを除き、クライアントIPを含めることなく送信されたクエリ要求に対する応答として受信したリソースレコードのみを記憶しおき、DNSクライアント10から受信したクエリ要求に対応するリソースレコードが記憶されていない場合にのみ、クエリ要求を権威サーバ30に送信するので、キャッシュサーバ20では、権威サーバ30においてクライアントIPに基づいた応答制御が行われるべきクエリ要求を権威サーバ30に必ず送信することとなり、不正ユーザからのクエリ要求に対してキャッシュサーバ20で応答してしまう事態を回避することができる結果、ネットワーク全体のセキュリティを高めることが可能である。
ところで、上記した実施例3では、拡張クエリ(クライアントIPを含めて送信されたクエリ要求)に対する応答として受信したリソースレコードはキャッシュしない場合を説明したが、本発明はこれに限定されるものではなく、拡張クエリに対する応答として受信したリソースレコードについては、クライアントIPを対応付けてキャッシュするようにしてもよい。
そこで、以下では、拡張クエリに対する応答として受信したリソースレコードについて、クライアントIPを対応付けてキャッシュする場合を実施例4として説明する。ただし、実施例4におけるキャッシュサーバ20は、基本的には、実施例3におけるキャッシュサーバ20と同様であり、クエリ要求送信処理およびクエリ応答送信処理が僅かに異なるのみであるので、以下では、図12を用いて、実施例4におけるキャッシュサーバ20によるクエリ応答送信処理の流れを説明した後に、図13を用いて、実施例4におけるキャッシュサーバ20によるクエリ要求送信処理の流れを説明する。なお、図12は、実施例4におけるキャッシュサーバによるクエリ応答送信処理の流れを示すフローチャートであり、図13は、実施例4におけるキャッシュサーバによるクエリ要求送信処理の流れを示すフローチャートである。
まずは、図12を用いて、実施例4におけるキャッシュサーバ20によるクエリ応答送信処理の流れを説明する。図12に示すように、実施例4におけるキャッシュサーバ20では、権威サーバ30からリソースレコードのクエリ応答を受信すると(ステップS1201肯定)、このクエリ応答が拡張クエリ(クエリ要求の拡張部にクライアントIPが追加されて権威サーバ30に送信されたクエリ要求)に対するものであるかを判別する(ステップS1202)。
ここで、このクエリ応答が拡張クエリに対するものでない場合には(ステップS1202否定)、キャッシュサーバ20は、クエリ応答のリソースレコードを記憶部22にキャッシュした後に(ステップS1204)、クエリ要求を発信したDNSクライアント10に対してリソースレコードのクエリ応答を送信する(ステップS1205)。すなわち、拡張クエリに対するクエリ応答でないならば、そのリソースレコードはDNSクライアント10ごとに制御されるべき対象ではないので、これをキャッシュしてサブネット内の全DNSクライアント10向けに利用してもセキュリティ上は問題ないと考えられるからである。
これとは反対に、クエリ応答が拡張クエリに対するものである場合には(ステップS1202肯定)、キャッシュサーバ20は、クエリ応答のリソースレコードをDNSクライアント10のクライアントIPに対応付けて記憶部22にキャッシュした後に(ステップS1203)、クエリ要求を発信したDNSクライアント10に対してリソースレコードのクエリ応答を送信する(ステップS1205)。すなわち、拡張クエリに対するクエリ応答であるならば、そのリソースレコードはDNSクライアント10ごとに制御されるべき対象であるので、これをキャッシュしてサブネット内で全DNSクライアント10向けに利用することはセキュリティ上も問題であるが、これをキャッシュして同一のDNSクライアント10限定で利用することはセキュリティ上も問題ないと考えられるからである。
続いて、図13を用いて、実施例4におけるキャッシュサーバによるクエリ要求送信処理の流れを説明する。図13に示すように、DNSクライアント10から送信されたクエリ要求を受信したキャッシュサーバ20では、上記した実施例1と同様、権威サーバリスト22aを参照して、クエリ要求の送信先となる権威サーバ30が拡張クエリ(クライアントIPを含んだクエリ要求)を受信可能であるかを判定し(ステップS1301)、さらに、受信可能である場合には(ステップS1301肯定)、クエリ要求の発信元であるDNSクライアント10が拡張クエリの送信対象であるかを判定する(ステップS1302)。
かかる判定によって、クエリ要求の送信先となる権威サーバ30が拡張クエリを受信可能であり(ステップS1301肯定)、かつ、クエリ要求の発信元であるDNSクライアント10が拡張クエリの送信対象である場合には(ステップS1302肯定)、キャッシュサーバ20は、クエリ要求に対応するリソースレコードが記憶部22にキャッシュされているかを検索し(ステップS1303)、クエリ要求に対応するリソースレコードが記憶部22にキャッシュされている場合には(ステップS1303肯定)、DNSクライアント10のクライアントIPに対応付けてキャッシュされているか(クエリ要求の発信元であるDNSクライアント10のクライアントIPと一致するか)をさらに判定する(ステップS1304)。
ここで、クエリ要求に対応するリソースレコードが記憶部22にキャッシュされてないか(ステップS1303否定)、キャッシュされているが発信元が一致しない場合には(ステップS1304否定)、上記した実施例1と同様、クエリ要求の発信元であるDNSクライアント10のクライアントIPをクエリ要求の追加部に設定し(ステップS1305)、ソースIP(キャッシュサーバIP)に加えてクライアントIPが追加された拡張クエリを権威サーバ30に対して送信する(ステップS1306)。
一方、クエリ要求に対応するリソースレコードが記憶部22にキャッシュされており(ステップS1303肯定)、かつ、クエリ要求の発信元であるDNSクライアント10のクライアントIPと一致する場合には(ステップS1304肯定)、キャッシュサーバ20は、権威サーバ30にクエリ要求を送信することなく、キャッシュからリソースレコードを取得し、かかるリソースレコードをクエリ応答としてDNSクライアント10に送信する(ステップS1308)。すなわち、クライアントIPに対応付けてキャッシュされたものであっても、クエリ要求元であるDNSクライアント10が同一であるならば、同一のDNSクライアント10限定で利用することはセキュリティ上も問題ないと考えられるからである。
上記のステップS1301およびS1302に戻ると、クエリ要求の送信先となる権威サーバ30が拡張クエリを受信可能でないか(ステップS1301否定)、クエリ要求の発信元であるDNSクライアント10が拡張クエリの送信対象でない場合には(ステップS1302否定)、キャッシュサーバ20は、クエリ要求に対応するリソースレコードが記憶部22にキャッシュされているかを検索する(ステップS1307)。そして、クエリ要求に対応するリソースレコードが記憶部22にキャッシュされている場合には(ステップS1307肯定)、キャッシュサーバ20は、権威サーバ30にクエリ要求を送信することなく、キャッシュからリソースレコードを取得し、かかるリソースレコードをクエリ応答としてDNSクライアント10に送信する(ステップS1308)。
これとは反対に、クエリ要求に対応するリソースレコードが記憶部22にキャッシュされていない場合には(ステップS1307否定)、キャッシュサーバ20は、上記した実施例1と同様、ソースIP(キャッシュサーバIP)のみが設定されたクエリ要求を権威サーバ30に対して送信する(ステップS1306)。
上述してきたように、実施例4によれば、キャッシュサーバ20は、権威サーバ30からクエリ応答として受信したリソースレコードのうち、クライアントIPを含めて送信されたクエリ要求(拡張クエリ)に対する応答として受信したリソースレコードについては、当該リソースレコードにクライアントIPを対応付けて記憶しておき、DNSクライアント10から受信したクエリ要求に対応するリソースレコードと当該DNSクライアント10のクライアントIPとが対応付けて記憶されていない場合に、クエリ要求を権威サーバ30に送信するので、キャッシュサーバ20では、権威サーバ30においてクライアントIPに基づいた応答制御が未だ行われていないクエリ要求については、権威サーバ30にクエリ要求を必ず送信することとなり、不正ユーザからのクエリ要求に対してキャッシュサーバ20で応答してしまう事態を回避することができる結果、ネットワーク全体のセキュリティを高めることが可能である。また、キャッシュサーバ20では、権威サーバ30においてクライアントIPに基づいた応答制御が過去に行われているクエリ要求については、権威サーバ30に改めてクエリ要求を送信することなく、自ら過去に行われた通りにクエリ応答を行うことができる結果、DNSクエリ応答の迅速化を図ることが可能である。
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例1から4以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では実施例5として本発明に含まれる他の実施例を説明する。
(1)クライアントIPの送信態様
例えば、上記の実施例では、クエリ要求の追加部分にクライアントIPを含めて送信する場合を説明したが、本発明はこれに限定されるものではなく、例えば、キャッシュサーバ20は、クエリ要求にクライアントIPを別途添付して送信するなど、クライアントIPを何かしらの態様でクエリ要求とともに送信する場合であれば本発明を同様に適用することができる。
(2)クライアントIPの送信条件
また、上記の実施例では、クエリ要求の送信先となる権威サーバ30が拡張クエリを受信可能であり、かつ、クエリ要求の発信元であるDNSクライアント10が拡張クエリの送信対象であることを条件に、クエリ要求にクライアントIPを含めて送信する場合を説明したが、本発明はこれに限定されるものではなく、例えば、キャッシュサーバ20は、クエリ要求の送信先となる権威サーバ30が拡張クエリを受信可能であることのみを条件にしてもよく、また、クエリ要求の発信元であるDNSクライアント10が拡張クエリの送信対象であることのみを条件にしてもよく、さらには、常に(無条件で)クエリ要求にクライアントIPを含めて送信するようにしてもよい。
(3)IPアドレスごとに異なるリソースレコード
また、上記の実施例では、IPアドレス(クライアントIPまたはキャッシュサーバIP)に対応付けて「無応答」や「拒否応答」がアクセスコントロールリスト32aに規定されていなければ、リソースレコードファイル32bからクエリ要求に対応するリソースレコードを検索してクエリ応答する場合を説明したが、本発明はこれに限定されるものではなく、例えば、権威サーバ30は、IPアドレス(クライアントIPまたはキャッシュサーバIP)ごとに異なるリソースレコードを記憶しておき、クエリ要求の発IPアドレスに基づいて異なるリソースレコードをクエリ応答するようにしてもよい。
このように、権威サーバ30は、クライアントIPに対応付けて、クエリ要求に対する応答制御内容として、無応答、拒否応答、リソースレコードのいずれか一つを記憶しておき、クエリ要求に含まれるクライアントIPに対応付けられた応答制御内容を検索し、無応答、拒否応答、リソースレコード応答のいずれか一つを行うようにすれば、権威サーバ30では、クライアントIPに応じて、無応答、拒否応答、リソースレコード応答(例えば、全クライアント向けに用意された一つのリソースレコード、クライアントIPごとに用意されたリソースレコード、国ごとに用意されたリソースレコード、社内外ごとに用意されたリソースレコードなどの応答)のいずれか一つを行うという多様な応答制御を実現することが可能である。
(4)システム単位、ゾーン単位、ドメイン単位
また、上記の実施例では、システム単位(クライアントIPごと、キャッシュサーバIPごと)でクエリ応答を制御する場合を説明したが、本発明はこれに限定されるものではなく、例えば、権威サーバ30では、ゾーン単位のアクセスコントロールリスト(図14参照)、および、ドメイン単位のアクセスコントロールリスト(図15参照)をさらに記憶しておき、システム単位および/またはゾーン単位、並びに、ドメイン単位で、クエリ応答を制御するようにしてもよい。なお、図14は、他の実施例におけるアクセスコントロールリストに記憶される情報の例を示す図であり、図15は、他の実施例におけるアクセスコントロールリストに記憶される情報の例を示す図である。
つまり、例を挙げれば、権威サーバ30では、クエリ要求に含まれるクライアントIPに基づいて、システム単位のアクセスコントロールリスト、ゾーン単位のアクセスコントロールリスト、ドメイン単位のアクセスコントロールリストを順に参照することで、クライアントIPに対応する応答制御内容を検索し、当該検索した応答制御内容に基づいてクエリ要求に対する応答を制御する。
このように、権威サーバ30は、クライアントIPに対応付けて、システム単位および/またはゾーン単位ごとにクエリ要求に対する応答制御内容を記憶するとともに、ドメイン単位ごとにクエリ要求に対する応答制御内容を記憶しておき、システム単位および/またはゾーン単位、並びに、ドメイン単位で、クエリ要求に含まれるクライアントIPに対応付けられた応答制御内容を検索し、当該検索した応答制御内容に基づいてクエリ要求に対する応答を制御するようにすれば、権威サーバ30では、クエリ要求に対して、システム単位および/またはゾーン単位による応答制御と、ドメイン単位による応答制御とを組み合わせて適用することができる結果、システム単位やゾーン単位による簡易かつ迅速な応答制御とともに、ドメイン単位による細かな応答制御をクライアントIPごとに実現することが可能である。
(5)ENUMのDNS
また、上記の実施例では、インターネット上のホスト名(ドメイン名)とIPアドレスとを対応させるDNSに本発明を適用した場合を説明したが、本発明はこれに限定されるものではなく、電話番号をネット上のアドレスやサービスに対応付けてアクセス手段として利用するENUMのDNSにも本発明を同様に適用することができる。
(6)システム構成等
また、上記の実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報(特に、図3、図6、図8、図14、図15に示した情報)については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
なお、上記の実施例では、本発明を実現する各装置(例えば、キャッシュサーバ20や権威サーバ30)を機能面から説明したが、各装置の各機能はパーソナルコンピュータやワークステーションなどのコンピュータにプログラムを実行させることによって実現することもできる。すなわち、上記の実施例で説明した各種の処理手順は、あらかじめ用意されたプログラムをコンピュータ上で実行することによって実現することができる。そして、これらのプログラムは、インターネットなどのネットワークを介して配布することができる。さらに、これらのプログラムは、ハードディスク、フレキシブルディスク(FD)、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。つまり、例を挙げれば、実施例1に示したようなキャッシュサーバ用プログラムや、権威サーバ用プログラムを格納したCD−ROM(装置ごとに別個のCD−ROMであってもよい)を配布し、このCD−ROMに格納されたプログラムを各コンピュータが読み出して実行するようにしてもよい。
以上のように、本発明に係るDNSサーバクライアントシステム、DNSサーバ装置、キャッシュサーバ装置、DNSクエリ要求制御方法およびDNSクエリ要求制御プログラムは、DNSクライアント装置とDNSサーバ装置との間にキャッシュサーバ装置を介する場合に有用であり、特に、DNSクエリ要求に対する応答をDNSクライアント装置ごとに制御することに適する。
実施例1に係るDNSシステムの全体構成を示すシステム構成図である。 実施例1におけるキャッシュサーバの構成を示すブロック図である。 権威サーバリストに記憶される情報の例を示す図である。 クライアントIPが追加されたクエリ要求の例を示す図である。 実施例1における権威サーバの構成を示すブロック図である。 アクセスコントロールリストに記憶される情報の例を示す図である。 実施例1によるクエリ要求制御処理の流れを示すフローチャートである。 実施例2における権威サーバが有するキャッシュサーバ管理リストに記憶される情報の例を示す図である。 実施例2における権威サーバによるクエリ応答処理の流れを示すフローチャートである。 実施例3におけるキャッシュサーバによるクエリ応答送信処理の流れを示すフローチャートである。 実施例3におけるキャッシュサーバによるクエリ要求送信処理の流れを示すフローチャートである。 実施例4におけるキャッシュサーバによるクエリ応答送信処理の流れを示すフローチャートである。 実施例4におけるキャッシュサーバによるクエリ要求送信処理の流れを示すフローチャートである。 他の実施例におけるアクセスコントロールリストに記憶される情報の例を示す図である。 他の実施例におけるアクセスコントロールリストに記憶される情報の例を示す図である。 従来技術に係るDNSシステムを説明するための図である。
符号の説明
10 DNSクライアント
20 キャッシュサーバ
21 通信制御IF部
22 記憶部
22a 権威サーバリスト
23 制御部
23a クエリ要求送信部
23b クエリ応答送信部
30 権威サーバ
31 通信制御IF部
32 記憶部
32a アクセスコントロールリスト
32b リソースレコードファイル
33 制御部
33a クエリ応答制御部

Claims (11)

  1. DNSクライアント装置とDNSサーバ装置との間にキャッシュサーバ装置を介して構成されるDNSサーバクライアントシステムであって、
    前記キャッシュサーバ装置は、
    前記DNSクライアント装置から受信したDNSクエリ要求を前記DNSサーバ装置に送信する場合に、前記DNSクライアント装置を識別するためのクライアントアドレスを前記DNSクエリ要求に含めて送信するDNSクエリ要求送信手段と、
    前記DNSサーバ装置からDNSクエリ応答として受信したリソースレコードのうち、前記クライアントアドレスを含めて送信されたDNSクエリ要求に対する応答として受信したリソースレコードについては、当該リソースレコードに前記クライアントアドレスを対応付けて記憶するリソースレコード記憶手段と、
    前記DNSクライアント装置からDNSクエリ要求を受信すると、当該DNSクエリ要求に対応するリソースレコードと当該DNSクライアント装置のクライアントアドレスとが前記リソースレコード記憶手段に対応付けて記憶されているか否か判定し、対応付けて記憶されていない場合には、前記DNSクエリ要求送信手段によって当該DNSクライアント装置のクライアントアドレスを含めたDNSクエリ要求を前記DNSサーバ装置に送信し、一方、対応付けて記憶されている場合には、前記リソースレコード記憶手段から当該リソースレコードを取得し、当該取得したリソースレコードを前記DNSクエリ要求に対する応答として前記DNSクライアント装置に送信するDNSクエリ要求処理手段と、
    前記DNSサーバ装置は、
    前記キャッシュサーバ装置からDNSクエリ要求を受信した場合に、当該DNSクエリ要求に含まれる前記クライアントアドレスに基づいて、当該DNSクエリ要求に対する応答を制御するDNSクエリ応答制御手段と、
    を備えたことを特徴とするDNSサーバクライアントシステム。
  2. 前記DNSクエリ要求送信手段は、さらに、前記DNSクエリ要求の送信元であるDNSクライアント装置が所定のDNSクライアント装置である場合には、当該DNSクライアント装置のクライアントアドレスを前記DNSクエリ要求に含めて前記DNSサーバ装置に送信し、一方、前記DNSクエリ要求の送信元であるDNSクライアント装置が所定のDNSクライアント装置でない場合には、当該DNSクライアント装置のクライアントアドレスを含めることなく前記DNSクエリ要求を前記DNSサーバ装置に送信し、
    前記リソースレコード記憶手段は、さらに、前記DNSサーバ装置からDNSクエリ応答として受信したリソースレコードのうち、前記クライアントアドレスを含めることなく送信されたDNSクエリ要求に対する応答として受信したリソースレコードについては、前記クライアントアドレスを対応付けることなく前記リソースレコードのみを記憶し、
    前記DNSクエリ要求処理手段は、さらに、前記所定のDNSクライアント装置ではないDNSクライアント装置から前記DNSクエリ要求を受信すると、当該DNSクエリ要求に対応するリソースレコードが前記リソースレコード記憶手段に記憶されているか否か判定し、前記リソースレコードが記憶されていない場合には、前記DNSクエリ要求送信手段によって当該DNSクライアント装置のクライアントアドレスを含まないDNSクエリ要求を前記DNSサーバ装置に送信し、一方、前記リソースレコードが記憶されている場合には、前記リソースレコード記憶手段から当該リソースレコードを取得し、当該取得したリソースレコードを前記DNSクエリ要求に対する応答として前記DNSクライアント装置に送信することを特徴とする請求項1に記載のDNSサーバクライアントシステム。
  3. 前記DNSクエリ要求送信手段は、前記DNSクエリ要求の追加部分に前記クライアントアドレスを含めて送信することを特徴とする請求項1または2に記載のDNSサーバクライアントシステム。
  4. 前記キャッシュサーバ装置は、前記クライアントアドレスを含んだDNSクエリ要求について応答可能なDNSサーバ装置を識別するための情報を記憶したDNSサーバ情報記憶手段をさらに備え、
    前記DNSクエリ要求送信手段は、前記DNSサーバ情報記憶手段に記憶された情報に基づいて、前記クライアントアドレスを含んだDNSクエリ要求について応答可能なDNSサーバ装置に対してのみ、当該クライアントアドレスを含んだDNSクエリ要求を送信することを特徴とする請求項1、2または3に記載のDNSサーバクライアントシステム。
  5. 前記DNSサーバ情報記憶手段は、前記DNSサーバ装置を識別するための情報の他に、前記クライアントアドレスを含んだDNSクエリ要求の送信対象とすべきDNSクライアント装置を識別するための情報をさらに記憶するものであって、
    前記DNSクエリ要求送信手段は、前記DNSサーバ情報記憶手段に記憶された情報に基づいて、前記クライアントアドレスを含んだDNSクエリ要求の送信対象とすべきDNSクライアント装置からDNSクエリ要求を受信した場合にのみ、当該クライアントアドレスを含んだDNSクエリ要求を送信することを特徴とする請求項4に記載のDNSサーバクライアントシステム。
  6. 前記DNSサーバ装置は、前記クライアントアドレスを含んだDNSクエリ要求の送信が許可されているキャッシュサーバ装置を識別するための情報を記憶したキャッシュサーバ情報記憶手段をさらに備え、
    前記DNSクエリ応答制御手段は、前記DNSクエリ要求の送信元であるキャッシュサーバ装置について前記DNSサーバ情報記憶手段において前記クライアントアドレスを含んだDNSクエリ要求の送信が許可されている場合にのみ、当該DNSクエリ要求に含まれる前記クライアントアドレスに基づいて、当該DNSクエリ要求に対する応答を制御することを特徴とする請求項1〜5のいずれか一つに記載のDNSサーバクライアントシステム。
  7. 前記DNSサーバ装置は、前記クライアントアドレスに対応付けて、前記DNSクエリ要求に対する応答制御内容として、無応答、拒否応答、リソースレコードのいずれか一つを記憶する応答制御内容記憶手段をさらに備え、
    前記DNSクエリ応答制御手段は、前記応答制御内容記憶手段に記憶されている応答制御内容から前記DNSクエリ要求に含まれるクライアントアドレスに対応付けられた応答制御内容を検索し、前記無応答、拒否応答、リソースレコード応答のいずれか一つを行うことを特徴とする請求項1〜6のいずれか一つに記載のDNSサーバクライアントシステム。
  8. 前記DNSサーバ装置は、前記クライアントアドレスに対応付けて、システム単位および/またはゾーン単位ごとに前記DNSクエリ要求に対する応答制御内容を記憶するとともに、ドメイン単位ごとに前記DNSクエリ要求に対する応答制御内容を記憶する応答制御内容記憶手段をさらに備え、
    前記DNSクエリ応答制御手段は、前記システム単位および/またはゾーン単位、並びに、前記ドメイン単位で、前記応答制御内容記憶手段に記憶されている応答制御内容から前記DNSクエリ要求に含まれるクライアントアドレスに対応付けられた応答制御内容を検索し、当該検索した応答制御内容に基づいて前記DNSクエリ要求に対する応答を制御することを特徴とする請求項1〜7のいずれか一つに記載のDNSサーバクライアントシステム。
  9. DNSクライアント装置とDNSサーバ装置との間でDNSクエリ要求を制御するキャッシュサーバ装置であって、
    前記DNSクライアント装置から受信したDNSクエリ要求を前記DNSサーバ装置に送信する場合に、前記DNSクライアント装置を識別するためのクライアントアドレスを前記DNSクエリ要求に含めて送信するDNSクエリ要求送信手段と、
    前記DNSサーバ装置からDNSクエリ応答として受信したリソースレコードのうち、前記クライアントアドレスを含めて送信されたDNSクエリ要求に対する応答として受信したリソースレコードについては、当該リソースレコードに前記クライアントアドレスを対応付けて記憶するリソースレコード記憶手段と、
    前記DNSクライアント装置からDNSクエリ要求を受信すると、当該DNSクエリ要求に対応するリソースレコードと当該DNSクライアント装置のクライアントアドレスとが前記リソースレコード記憶手段に対応付けて記憶されているか否か判定し、対応付けて記憶されていない場合には、前記DNSクエリ要求送信手段によって当該DNSクライアント装置のクライアントアドレスを含めたDNSクエリ要求を前記DNSサーバ装置に送信し、一方、対応付けて記憶されている場合には、前記リソースレコード記憶手段から当該リソースレコードを取得し、当該取得したリソースレコードを前記DNSクエリ要求に対する応答として前記DNSクライアント装置に送信するDNSクエリ要求処理手段と、
    を備えたことを特徴とするキャッシュサーバ装置。
  10. DNSクライアント装置とDNSサーバ装置との間にキャッシュサーバ装置を介して構成されるDNSサーバクライアントシステムに適用されるDNSクエリ要求制御方法であって、
    前記キャッシュサーバ装置は、
    前記DNSクライアント装置から受信したDNSクエリ要求を前記DNSサーバ装置に送信する場合に、前記DNSクライアント装置を識別するためのクライアントアドレスを前記DNSクエリ要求に含めて送信するDNSクエリ要求送信工程と、
    前記DNSサーバ装置からDNSクエリ応答として受信したリソースレコードのうち、前記クライアントアドレスを含めて送信されたDNSクエリ要求に対する応答として受信したリソースレコードについては、当該リソースレコードに前記クライアントアドレスを対応付けてリソースレコード記憶手段に記憶するリソースレコード記憶工程と、
    前記DNSクライアント装置からDNSクエリ要求を受信すると、当該DNSクエリ要求に対応するリソースレコードと当該DNSクライアント装置のクライアントアドレスとが前記リソースレコード記憶手段に対応付けて記憶されているか否か判定し、対応付けて記憶されていない場合には、前記DNSクエリ要求送信工程によって当該DNSクライアント装置のクライアントアドレスを含めたDNSクエリ要求を前記DNSサーバ装置に送信し、一方、対応付けて記憶されている場合には、前記リソースレコード記憶手段から当該リソースレコードを取得し、当該取得したリソースレコードを前記DNSクエリ要求に対する応答として前記DNSクライアント装置に送信するDNSクエリ要求処理工程と、
    前記DNSサーバ装置が、
    前記キャッシュサーバ装置からDNSクエリ要求を受信した場合に、当該DNSクエリ要求に含まれる前記クライアントアドレスに基づいて、当該DNSクエリ要求に対する応答を制御するDNSクエリ応答制御工程と、
    を含んだことを特徴とするDNSクエリ要求制御方法。
  11. DNSクライアント装置とDNSサーバ装置との間でDNSクエリ要求を制御するDNSクエリ要求制御方法をコンピュータに実行させるDNSクエリ要求制御プログラムであって、
    前記DNSクライアント装置から受信したDNSクエリ要求を前記DNSサーバ装置に送信する場合に、前記DNSクライアント装置を識別するためのクライアントアドレスを前記DNSクエリ要求に含めて送信するDNSクエリ要求送信手順と、
    前記DNSサーバ装置からDNSクエリ応答として受信したリソースレコードのうち、前記クライアントアドレスを含めて送信されたDNSクエリ要求に対する応答として受信したリソースレコードについては、当該リソースレコードに前記クライアントアドレスを対応付けてリソースレコード記憶手段に記憶するリソースレコード記憶手順と、
    前記DNSクライアント装置からDNSクエリ要求を受信すると、当該DNSクエリ要求に対応するリソースレコードと当該DNSクライアント装置のクライアントアドレスとが前記リソースレコード記憶手段に対応付けて記憶されているか否か判定し、対応付けて記憶されていない場合には、前記DNSクエリ要求送信手順によって当該DNSクライアント装置のクライアントアドレスを含めたDNSクエリ要求を前記DNSサーバ装置に送信し、一方、対応付けて記憶されている場合には、前記リソースレコード記憶手段から当該リソースレコードを取得し、当該取得したリソースレコードを前記DNSクエリ要求に対する応答として前記DNSクライアント装置に送信するDNSクエリ要求処理手順と、
    をコンピュータに実行させることを特徴とするDNSクエリ要求制御プログラム。
JP2006060264A 2006-03-06 2006-03-06 Dnsサーバクライアントシステム、dnsサーバ装置、キャッシュサーバ装置、dnsクエリ要求制御方法およびdnsクエリ要求制御プログラム Active JP4362487B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006060264A JP4362487B2 (ja) 2006-03-06 2006-03-06 Dnsサーバクライアントシステム、dnsサーバ装置、キャッシュサーバ装置、dnsクエリ要求制御方法およびdnsクエリ要求制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006060264A JP4362487B2 (ja) 2006-03-06 2006-03-06 Dnsサーバクライアントシステム、dnsサーバ装置、キャッシュサーバ装置、dnsクエリ要求制御方法およびdnsクエリ要求制御プログラム

Publications (2)

Publication Number Publication Date
JP2007243356A JP2007243356A (ja) 2007-09-20
JP4362487B2 true JP4362487B2 (ja) 2009-11-11

Family

ID=38588475

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006060264A Active JP4362487B2 (ja) 2006-03-06 2006-03-06 Dnsサーバクライアントシステム、dnsサーバ装置、キャッシュサーバ装置、dnsクエリ要求制御方法およびdnsクエリ要求制御プログラム

Country Status (1)

Country Link
JP (1) JP4362487B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4992016B2 (ja) * 2008-01-23 2012-08-08 ネットエージェント株式会社 ドメイン名管理システム
KR101005778B1 (ko) * 2008-07-15 2011-01-06 (주)씨디네트웍스 도메인 네임 시스템의 데이터베이스에 저장된 정보의 획득방법 및 장치
JP4592789B2 (ja) * 2008-07-29 2010-12-08 日本電信電話株式会社 通信制御装置、通信制御方法および通信制御処理プログラム
JP5095675B2 (ja) * 2009-05-15 2012-12-12 日本電信電話株式会社 Dns応答制御装置、dns応答制御システム、dns応答制御方法およびdns応答制御プログラム
JP6339538B2 (ja) * 2015-08-06 2018-06-06 日本電信電話株式会社 権威dnsサーバ装置、dnsクエリ処理方法およびdnsクエリ処理プログラム
JP6387363B2 (ja) * 2016-03-22 2018-09-05 日本電信電話株式会社 Enum/dnsクエリ優先制御システムおよびenum/dnsクエリ優先制御方法
JP6487870B2 (ja) * 2016-03-25 2019-03-20 Kddi株式会社 名前解決装置、名前解決方法及び名前解決プログラム

Also Published As

Publication number Publication date
JP2007243356A (ja) 2007-09-20

Similar Documents

Publication Publication Date Title
US8312522B2 (en) Monitoring network traffic by using a monitor device
JP4362487B2 (ja) Dnsサーバクライアントシステム、dnsサーバ装置、キャッシュサーバ装置、dnsクエリ要求制御方法およびdnsクエリ要求制御プログラム
US9300623B1 (en) Domain name system cache integrity check
US7308709B1 (en) System and method for managing and authenticating services via service principal names
JP5704518B2 (ja) 機密情報漏洩防止システム、機密情報漏洩防止方法及び機密情報漏洩防止プログラム
JP4460016B2 (ja) グローバルネームゾーン
US8024779B2 (en) Verifying user authentication
US11122411B2 (en) Distributed, crowdsourced internet of things (IoT) discovery and identification using block chain
JP2007072525A (ja) データサーバ及びデータ管理方法及びプログラム
JP5320433B2 (ja) 統合検索装置、統合検索システム、統合検索方法
EP3306900B1 (en) Dns routing for improved network security
JP5323674B2 (ja) DNS(DomainNameSystem)登録装置、VPN(VirtualPrivateNetwork)間接続管理システム、広域DNS装置、DNS登録プログラム、広域DNSプログラム、DNS登録方法、及びVPN間接続管理方法
KR20090030256A (ko) 네임 챌린지 시행 영역들
KR100954370B1 (ko) 소프트웨어 실행 관리 장치 및 그 방법
CN111327668B (zh) 网络管理方法、装置、设备和存储介质
KR101419436B1 (ko) Dns 서비스 제공 방법 및 장치
JP2016519828A (ja) アクセス制御方法、装置、プログラム、及び記録媒体
US20090019523A1 (en) Controlling network communications
JP4343914B2 (ja) Dnsサーバ装置、dnsクエリ要求制御方法およびdnsクエリ要求制御プログラム
US7203832B2 (en) Network system
JP4066719B2 (ja) 位置情報を提供する位置情報サーバとその利用者端末
JP4492569B2 (ja) ファイル操作制御装置、ファイル操作制御システム、ファイル操作制御方法及びファイル操作制御プログラム
JP4252041B2 (ja) Dhcp情報管理システム
KR20230106857A (ko) 내부망의 네트워크 보안 시스템, 장치, 방법, 컴퓨터 판독 가능한 기록 매체, 및 컴퓨터 프로그램
JP5863398B2 (ja) サーバ装置及びサーバ装置の制御方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081110

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081125

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090126

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: 20090811

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090817

R150 Certificate of patent or registration of utility model

Ref document number: 4362487

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120821

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130821

Year of fee payment: 4

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350