(58)【調査した分野】(Int.Cl.,DB名)
内部ネットワークに接続された端末装置と外部ネットワークに接続された外部装置との間における通信パケットの通過可否を制御するパケットフィルタリング装置であって、
前記制御の対象となる外部装置のホスト名を識別できる条件を含む条件情報と、当該外部装置のIPアドレスを含むIPアドレス情報とを記憶する記憶部と、
前記端末装置から前記外部装置へ送信された通信パケットが、電子証明書を利用したセキュア通信プロトコルによる接続パケットであるか否かを判定する接続パケット判定部と、
前記接続パケットであると判定された場合に、前記外部装置に対して、前記端末装置を代理して前記セキュア通信プロトコルによる接続要求を送信する接続要求送信部と、
前記接続要求に対する応答として前記外部装置から電子証明書を取得する電子証明書取得部と、
取得した前記電子証明書から抽出したホスト名が前記条件情報の条件を満たしている場合に、前記接続パケットの宛先IPアドレスを用いて前記IPアドレス情報を更新するIPアドレス更新部と、
前記端末装置と前記外部装置との間で送受される通信パケットのIPアドレスが前記IPアドレス情報に含まれるか否かに基づいて、当該通信パケットの通過可否を制御する通信制御部と、
を備えることを特徴とするパケットフィルタリング装置。
前記IPアドレス更新部は、前記電子証明書の検証結果に基づいて前記IPアドレス情報を更新する、請求項1〜請求項5のいずれかに記載のパケットフィルタリング装置。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来のパケットフィルタリング装置では、パケットの通過の可否を定める条件(フィルタリング条件)がIPアドレス、ポート番号、プロトコルなどで記述されており、管理者が条件を見ただけでは、フィルタリング条件の内容を把握することが困難であった。特に、フィルタリング条件に含まれるIPアドレスが、管理者の管理下にないグローバルIPアドレスで記述される場合、そのグローバルIPアドレスを見ただけでは、誰の管理下にある外部装置(サーバなど)であるのかを管理者が認識することが困難であった。そのため、フィルタリング条件を管理するのに手間がかかり、管理上の負担が大きくなるという問題があった。
【0005】
本発明は、上記の課題に鑑みてなされたもので、フィルタリング条件を容易に管理することができ、管理上の負担を軽減することのできるパケットフィルタリング装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明のパケットフィルタリング装置は、内部ネットワークに接続された端末装置と外部ネットワークに接続された外部装置との間における通信パケットの通過可否を制御するパケットフィルタリング装置であって、前記制御の対象となる外部装置のホスト名を識別できる条件を含む条件情報と、当該外部装置のIPアドレスを含むIPアドレス情報とを記憶する記憶部と、前記端末装置から前記外部装置へ送信された通信パケットが、電子証明書を利用したセキュア通信プロトコルによる接続パケットであるか否かを判定する接続パケット判定部と、前記接続パケットであると判定された場合に、前記外部装置に対して、前記端末装置を代理して前記セキュア通信プロトコルによる接続要求を送信する接続要求送信部と、前記接続要求に対する応答として前記外部装置から電子証明書を取得する電子証明書取得部と、取得した前記電子証明書から抽出したホスト名が前記条件情報の条件を満たしている場合に、前記接続パケットの宛先IPアドレスを用いて前記IPアドレス情報を更新するIPアドレス更新部と、前記端末装置と前記外部装置との間で送受される通信パケットのIPアドレスが前記IPアドレス情報に含まれるか否かに基づいて、当該通信パケットの通過可否を制御する通信制御部と、を備えている。
【0007】
この構成により、外部装置から取得した電子証明書から抽出したホスト名が、予め記憶したフィルタリング条件情報に含まれるか否かに基づいて、そのホスト名の外部装置に対して送信された通信パケットの通過の可否が制御される。ここで「通信パケットの通過の可否を制御」とは、端末装置と外部装置との間における通信パケットの通過を許可したり、通過を禁止したりする制御をいう。また、条件情報は、ホスト名を識別できる条件が記された情報である。例えば、条件情報は、ホスト名そのものやFQDN(Fully Qualified Domain Name)、あるいは、正規表現・ワイルドカードなどのホスト名を識別できるパターン条件を記した情報である。したがって、管理者はIPアドレスといった数値列からなるフィルタリング条件ではなく、人が内容を容易に認識することができる条件情報を用いて管理できるため、管理上の負担を軽減することが可能になる。
【0008】
また、本発明のパケットフィルタリング装置では、前記条件情報は、前記端末装置との通信が許可された前記外部装置のホスト名を識別できる条件を含み、前記IPアドレス更新部は、取得した前記電子証明書から抽出したホスト名が前記条件情報の条件を満たしている場合に、前記接続パケットの宛先IPアドレスを前記IPアドレス情報に追加するよう更新し、前記通信制御部は、前記端末装置と前記外部装置との間で送受される通信パケットのIPアドレスが前記IPアドレス情報に含まれる場合に、当該通信パケットの通過を許可してもよい。
【0009】
この構成により、信頼できる外部装置であるとして通信が許可された外部装置のホスト名がフィルタリング条件情報に含まれており、取得した電子証明書から抽出したホスト名がフィルタリング条件情報に含まれていると、その電子証明書に基づいてIPアドレス情報が更新される。そして、このIPアドレス情報に基づいて、通信パケットの通過許可が制御される。これにより、信頼できる外部装置への通信パケットの通過を適切に許可することができる。
【0010】
また、本発明のパケットフィルタリング装置では、前記記憶部は、前記端末装置との通信が禁止された前記外部装置のホスト名を識別できる条件を含む禁止条件情報を更に記憶し、前記IPアドレス更新部は、取得した前記電子証明書から抽出したホスト名が前記禁止条件情報の条件を満たしている場合に、前記接続パケットの宛先IPアドレスを前記IPアドレス情報から削除してもよい。
【0011】
この構成により、信頼できない外部装置(例えば悪意ある処理を行うサーバ)であるとして、管理者などによって禁止条件情報が設定された場合、取得した電子証明書から抽出したホスト名が禁止条件情報に含まれていると、その電子証明書に基づいてIPアドレス情報から削除される。そして、このIPアドレス情報に基づいて通信パケットの通過可否が制御される。これにより、たとえ過去に信頼できる外部装置としてそのホスト名が条件情報に登録され、そしてIPアドレス情報に当該外部装置のIPアドレスが登録されていたとしても、禁止条件情報に基づいてIPアドレス情報を適切に更新できる。したがって、信頼できない外部装置への通信パケットの通過を適切に禁止することができる。
【0012】
また、本発明のパケットフィルタリング装置では、前記記憶部は、前記IPアドレス情報と前記条件情報とを対応付けて記憶し、前記IPアドレス更新部は、取得した前記電子証明書から抽出したホスト名が前記条件情報の条件を満たしている場合に、当該ホスト名に対応付けられている前記IPアドレス情報の宛先IPアドレスを更新してもよい。
【0013】
この構成により、外部装置のホスト名とIPアドレスとの対応付けがダイナミックDNS(Domain Name System)などによって動的に変更されるような場合であっても、変更後の最新の対応付けに基づいてIPアドレス情報も更新されるため、最新の対応付けに基づいてパケットの通過可否の判定を行うことができる。したがって、外部装置のホスト名と対応づいた変更前の古いIPアドレスに基づいて誤ってパケットを通過(あるいは非通過)させるのを適切に防ぐことができる。
【0014】
また、本発明のパケットフィルタリング装置では、前記記憶部は、前記端末装置のIPアドレスである端末IPアドレスと前記IPアドレス情報とを対応付けて記憶し、前記IPアドレス更新部は、取得した前記電子証明書から抽出したホスト名が前記条件情報の条件を満たしている場合に、前記接続パケットの送信元のIPアドレスと等しい前記端末IPアドレスに対応付けられている前記IPアドレス情報を更新してもよい。
【0015】
この構成により、パケットフィルタリング装置は、端末装置を代理してトランスポート層の通信プロトコルによる暗号化通信接続を行うことにより外部装置から電子証明書を取得し、取得した電子証明書に基づいて、端末装置ごとにIPアドレス情報を更新する。したがって、外部装置のホスト名とIPアドレスとの対応付けを、端末装置ごとに管理することができる。
【0016】
また、本発明のパケットフィルタリング装置では、前記IPアドレス更新部は、前記電子証明書の検証結果に基づいて前記IPアドレス情報を更新してもよい。
【0017】
この構成によれば、外部装置から取得した電子証明書の検証結果が適切である場合(例えば、電子証明書の秘密鍵を外部装置が所持している場合、証明書検証できる場合、電子証明書がEVSSL証明書などの信頼できる証明書である場合など)に、接続パケットの宛先IPアドレスに基づいてIPアドレス情報を更新する。したがって、外部装置の適切なホスト名を把握することができる。これにより、例えば、DNSポイズニングなどといったDNSサーバに対する攻撃の悪影響を低減することができる。
【発明の効果】
【0018】
本発明によれば、フィルタリング条件を容易に管理することができ、管理上の負担を軽減することができる。
【発明を実施するための形態】
【0020】
以下、本発明の実施の形態のパケットフィルタリング装置について、図面を用いて説明する。本実施の形態では、ネットワークに接続されたコンピュータ相互間におけるパケット通信を制限するファイアウォール等に用いられるパケットフィルタリング装置の場合を例示する。
【0021】
本発明の実施の形態のパケットフィルタリング装置の構成を、図面を参照して説明する。
図1は、本実施の形態のパケットフィルタリング装置が適用されるネットワークシステムの概略構成を示す図である。
図1に示すように、ネットワークシステム1は、内部ネットワーク2に接続されている端末装置3(例えば端末装置X、Y、Z)、パケットフィルタリング装置4(ファイアウォール)、DNSサーバ5と、外部ネットワーク6に接続されている外部装置7(例えば外部装置A、B、C)を備えている。なお、パケットフィルタリング装置4は、DNSサーバ5から端末装置3へのDNS応答を傍受可能な内部ネットワーク上の位置に接続されているものとする。端末装置3や外部装置7は、例えばパーソナルコンピュータなどであり、パケットフィルタリング装置4は、端末装置3と外部装置7との間における通信パケットの通過をフィルタリングする機能を備えている。
【0022】
図2は、パケットフィルタリング装置4の構成を示すブロック図である。
図2に示すように、パケットフィルタリング装置4は、通信部40、入力部41、出力部42、記憶部43、制御部44を備えている。
【0023】
通信部40は、内部ネットワーク2を介して端末装置3やDNSサーバ5と通信する機能を備えている。また、通信部40は、外部ネットワーク6を介して外部装置7と通信する機能を備えている。入力部41は、各種のデータ等を入力するためのインターフェースであり、例えば、キーボードやマウス、タッチパネル、可搬記憶媒体の読み取り装置等の情報入力デバイスが相当する。出力部42は、各種のデータ等を出力するためのインターフェースであり、ディスプレイや可搬記憶媒体の記憶装置等の情報出力デバイスが相当する。
【0024】
記憶部43には、条件情報430、IPアドレス情報431、禁止条件情報432、禁止IPアドレス情報433などが記憶される。
【0025】
図3には、条件情報430、IPアドレス情報431、禁止条件情報432、禁止IPアドレス情報433の一例が示される。
図3に示すように、条件情報430は、フィルタリング制御の対象(通信の制御対象)となる外部装置7のホスト名(例えば、ホストA、ホストB、ホストCなど)を含んでいる。また、条件情報430は、外部装置7のホスト名やFQDNが直接的に記述されてもよく、ワイルドカードや正規表現などのマッチングパターンで記述されてもよい。このように条件情報430は、外部装置7のホスト名を識別できる条件が記述されていればよい。条件情報430は、管理者によって予め設定される。本実施の形態では、条件情報430は、端末装置3との通信が許可された外部装置7のホスト名が記述されるホワイトリスト方式とする。しかし、ホワイトリスト方式に限らず、端末装置3との通信を許可しない外部装置7のホスト名が記述されるブラックリスト方式でもよい。
【0026】
IPアドレス情報431は、フィルタリング制御の対象(通信の制御対象)となる通信パケットの宛先IPアドレス(例えば、グローバルIPアドレスA、グローバルIPアドレスB、グローバルIPアドレスC)を含んでいる。IPアドレス情報431には、条件情報430に合致する外部装置7のIPアドレス(グローバルIPアドレス)が記述される。IPアドレス情報431は、後述するようにIPアドレス更新部441によって更新され、このIPアドレス情報431に基づいて、通信パケットの通過可否が判定される。なお、IPアドレス情報431は、初期状態ではヌルデータ(情報なし)でもよく、また、予め管理者によって設定されたIPアドレスが登録されていてもよい。また、端末装置3からDNSサーバ5への通信パケットはフィルタリング制御の対象外とされる。すなわち、IPアドレス情報431にDNSサーバ5のIPアドレスは含まれないとしても、端末装置3とDNSサーバ5との間で制限なく通信できるものとする。
【0027】
禁止条件情報432は、端末装置3との通信が禁止される外部装置7のホスト名を識別できる条件を含んでいる。例えば、端末装置3との通信が禁止される外部装置7のホスト名(例えば、ホストH、ホストI、ホストJなど)やFQDNが直接的に記述されてもよく、ワイルドカードや正規表現などのマッチングパターンで記述されてもよい。禁止条件情報432は、管理者によって予め設定される。なお、本実施の形態では、禁止条件情報432は、ブラックリスト方式で記述されるが、条件情報430がブラックリスト方式で記述されている他の実施の形態では、ホワイトリスト方式で記述されてもよい(許可条件情報でもよい)。
【0028】
禁止IPアドレス情報433は、端末装置3との通信が禁止される外部装置7のIPアドレス(例えば、グローバルIPアドレスH、グローバルIPアドレスI、グローバルIPアドレスJなど)を含んでいる。禁止IPアドレス情報433は、管理者によって予め設定される。なお、本実施の形態では、禁止IPアドレス情報433は、ブラックリスト方式で記述されるが、IPアドレス情報431がブラックリスト方式で記述されている他の実施の形態の場合には、ホワイトリスト方式で記述されてもよい(許可IPアドレス情報でもよい)。
【0029】
制御部44は、DNS応答に基づいてIPアドレス情報431を更新しフィルタリング制御を行うための構成として、DNS応答傍受部440、IPアドレス更新部441、通信制御部442を備えている。
【0030】
DNS応答傍受部440は、内部ネットワーク2に接続されたDNSサーバ5から端末装置3への通信パケットを傍受(例えばスニッフィング)し、傍受した通信パケットの中からDNS応答を抽出する機能を備えている。すなわち、端末装置3が外部装置7に接続する場合に、パケットフィルタリング装置4を介してDNSサーバ5にDNS要求を送信する。DNSサーバ5は、このDNS要求に対する応答としてDNS応答をパケットフィルタリング装置4を介して端末装置3に送信する。DNS要求には、接続先の外部装置7のホスト名が含まれており、DNS応答には、そのホスト名と共にホスト名に対応するIPアドレス(回答IPアドレス)が含まれる。DNS応答傍受部440は、このような回答IPアドレスを含んだDNS応答を傍受する。
【0031】
IPアドレス更新部441は、DNS応答傍受部440で傍受したDNS応答からホスト名や回答IPアドレスを抽出することができ、DNS応答から抽出したホスト名が条件情報430の条件に合致している場合に、そのDNS応答に含まれる回答IPアドレス(グローバルIPアドレス)を用いてIPアドレス情報431を更新する。例えば、DNS応答から抽出したホスト名「ホストA」が条件情報430に含まれている場合には、そのDNS応答に含まれる回答IPアドレス「(ホストAの)グローバルIPアドレスA」がIPアドレス情報431に追加される。
【0032】
なお、DNS応答には、CNAME(Canonical Name)タイプのDNS応答も含まれる。この場合、ホストAのIPアドレスを要求するDNS要求に対して、ホストBを参照(ホストBと同じ)というDNS応答が返される。このタイプのDNS応答を受けた端末装置3は、次にホストBのIPアドレスを要求するDNS要求を送り、その応答として、ホストBのIPアドレス(すなわち、ホストAのIPアドレス)を回答IPアドレスとして受け取る。IPアドレス更新部441は、このような一連のDNS応答(複数のDNS応答)からホスト名や回答IPアドレスを抽出することができる。
【0033】
また、IPアドレス更新部441は、DNS応答傍受部440で傍受したDNS応答から抽出したホスト名が禁止条件情報432に含まれている場合には、そのDNS応答に含まれる回答IPアドレスをIPアドレス情報431から削除する。例えば、DNS応答から抽出したホスト名「ホストH」が禁止条件情報432に含まれている場合には、そのDNS応答に含まれる回答IPアドレス「(ホストHの)グローバルIPアドレスH」がIPアドレス情報431から削除される。
【0034】
通信制御部442は、端末装置3から送信された通信パケットの宛先IPアドレスがIPアドレス情報431に含まれるか否かに基づいて、通信パケットの通過可否を制御するフィルタリング制御を行う。本実施の形態では、通信制御部442は、端末装置3から送信された通信パケットの宛先IPアドレスがIPアドレス情報431に含まれていれば、通信パケットの通過を許可する。一方、端末装置3から送信された通信パケットの宛先IPアドレスがIPアドレス情報431に含まれていなければ、通信パケットの通過を禁止する。
【0035】
また、制御部44は、SSL/TLS通信に基づいてIPアドレス情報431を更新しフィルタリング制御するための構成として、接続パケット判定部443、接続要求送信部444、証明書情報取得部445を備えている。
【0036】
接続パケット判定部443は、端末装置3から外部装置7へ送信された通信パケットが、電子証明書を用いたセキュア通信プロトコル(例えば、SSL/TLS接続)の接続パケットであるか否かを判定する。例えば、その通信パケットのポート番号が「443」などの標準的にTLS接続に割り当てられるポート番号である場合には、TLS接続用の接続パケットであると判定する。しかし、これに限らず、少しでも電子証明書を用いたセキュア通信プロトコルの接続用の接続パケットである可能性があるならば、その通信パケットを当該セキュア通信プロトコルの接続パケットと判定してもよい。例えば、TCP接続の接続パケットであるならば、SSL/TLS接続用パケットの可能性があるため、セキュア通信プロトコルの接続パケットと判定してもよい。
【0037】
接続要求送信部444は、接続パケット判定部443で電子証明書を用いたセキュア通信プロトコル(TLS接続)の接続パケットであると判定された場合に、外部装置7に対して、端末装置3を代理して同じセキュア通信プロトコル(TLS接続)を行う接続要求(TLS接続要求)を送信する。
【0038】
証明書情報取得部445は、TLS接続要求に対する応答として外部装置7から電子証明書を取得する。また、証明書情報取得部445は、外部装置7から取得した電子証明書を検証する機能を備えている。例えば、電子証明書の秘密鍵を外部装置7が所持していることが検証できた場合、証明書の有効性が検証できた場合、電子証明書がEVSSL証明書などの信頼できる証明書である場合には、検証結果が適切である(検証条件を満たす)と判定される。
【0039】
証明書情報取得部445が端末装置3を代理して外部装置7から電子証明書を取得した場合、IPアドレス更新部441は、取得した電子証明書から抽出したホスト名が条件情報430に含まれる条件を満たしていれば、端末装置3が送信したTLS接続パケットの宛先IPアドレス(すなわち、端末装置3が接続しようとしている外部装置7のグローバルIPアドレス)を用いてIPアドレス情報431を更新する。また、IPアドレス更新部441は、証明書情報取得部445で取得した電子証明書から抽出したホスト名が禁止条件情報432に含まれていれば、端末装置3が送信したTLS接続パケットの宛先IPアドレスをIPアドレス情報431から削除する。
【0040】
なお、IPアドレス更新部441は、証明書情報取得部445による電子証明書の検証結果に基づいてIPアドレス情報431を更新してもよい。すなわち、外部装置7から取得した電子証明書の検証結果が適切である場合には、TLS接続パケットの宛先IPアドレスを用いてIPアドレス情報431を更新する。一方、外部装置7から取得した電子証明書の検証結果が適切でない場合には、TLS接続パケットの宛先IPアドレスを用いてIPアドレス情報431を更新しない。
【0041】
以上のように構成されたパケットフィルタリング装置4について、
図6、
図7のフロー図および
図8、
図9のシーケンス図を参照してその動作を説明する。
【0042】
図6は、パケットフィルタリング装置4の動作を示すフロー図である。
図6に示すように、端末装置3と外部装置7との間の通信パケットの通過をフィルタリング制御する場合には、まず、パケットフィルタリング装置4で初期設定処理が行われる(S1)。この初期設定処理では、禁止IPアドレス情報433に記述されているIPアドレスが読み出されて、そのIPアドレスがIPアドレス情報431から削除される。
【0043】
その後、パケットフィルタリング装置4のDNS応答傍受部440は、通信パケットを傍受(例えばスニッフィング)する処理を行う(S2)。この場合、パケットフィルタリング装置4は、通信経路上のすべての通信パケットを傍受する。これにより、これ以降の処理で、各通信パケットのヘッダやペイロードをチェックすることが可能になる。
【0044】
つぎに、DNS応答傍受部440は、傍受した通信パケットがDNS応答パケットであるか否かの判定を行う(S3)。例えば、傍受した通信パケットのポート番号やペイロードの書式に基づいて、通信パケットがDNS応答であるか否かを判定することができる。DNS応答傍受部440にて傍受した通信パケットがDNS応答パケットである場合には、IPアドレス更新部441によりIPアドレス情報431の更新処理が行われる(S4)。その後、傍受したDNS応答パケットは端末装置3に対して転送され、処理をS2に進めてパケットの傍受を再開する。
【0045】
傍受した通信パケットがDNS応答パケットでない場合には、端末装置3から外部装置7へ送信される通信パケットであるか否かの判定が行われる(S5)。例えば、傍受した通信パケットの宛先IPアドレスに基づいて、端末装置3から外部装置7へ送信される通信パケットであるか否かを判定することができる。
【0046】
端末装置3から外部装置7へ送信される通信パケットである場合には、通信制御部442は、その宛先IPアドレスがIPアドレス情報431に含まれるか否かに基づいて、その通信パケットを通過させるか否かを判定する処理を行う(S6)。例えば、ホワイトリスト方式の場合、宛先IPアドレスがIPアドレス情報431に含まれる場合には、その通信パケットを通過させると判定される。
【0047】
通過させると判定された場合には(S7)、その通信パケットを通過させる処理が行われる(S8)。一方、通過させないと判定された場合には、接続パケット判定部443は、その通信パケットがTLS接続用の接続パケットであるか否かを判定する(S9)。例えば、接続パケット判定部443は、傍受した通信パケットのポート番号などに基づいてその通信パケットがTLS接続用の接続パケットの可能性を有するかを判定し、可能性が高いならばTLS接続用の接続パケットであると判定する。具体的には、その通信パケットのポート番号が「443」などの標準的にTLS接続に割り当てられるポート番号である場合には、TLS接続用の接続パケットであると判定される。TLS接続用の接続パケットでなければ、その通信パケットは破棄される(S10)。
【0048】
接続パケット判定部443によりTLS接続用の接続パケットであると判定された場合、パケットフィルタリング装置4は、当該接続パケットの転送を一旦保留(キャッシュ)するとともに、接続要求送信部444は外部装置7に対して、当該接続パケットを送信した端末装置3を代理してTLS接続用の接続パケットを送信(TLS接続要求)する(S11)。すなわち、当該TLS接続要求で代理送信する接続パケットの送信元IPアドレスにはパケットフィルタリング装置4自らのIPアドレスが設定される。なお、先に代理のTLS接続要求(S11)を送った後に、TLS接続用の接続パケットであるか否かの判断(S9)を行ってもよい。
【0049】
そして、証明書情報取得部445は、TLS接続要求に対する応答として外部装置7から電子証明書を取得し、その電子証明書の検証を行う(S12)。この検証では、当該外部装置7が電子証明書の秘密鍵を外部装置7が所持しているか否か、取得した電子証明書が有効であるか否か、取得した電子証明書がEVSSL証明書などの信頼できる証明書であるか否かなどについて検証する。そして、証明書情報取得部445は、検証の結果が所定の検証条件を満たすか否かが判定する(S13)。検証条件は予め管理者によって設定され記憶部43に記憶されているものとする。例えば、より信頼性の高い電子証明書に基づいてフィルタリング制御したいのであれば、「秘密鍵を所持」、「電子証明書が有効」、「EVSSL証明書である」などといったように複数(多重)の条件が設定される。
【0050】
IPアドレス更新部441は、検証結果が検証条件を満たすと判定した場合には、IPアドレス情報431の更新処理を行う(S14)。そして、通信制御部442は、端末装置3から受信したTLS接続用の接続パケットにおける宛先IPアドレスが更新後のIPアドレス情報431に含まれるか否かに基づいて、その通信パケットを通過させるか否かを判定する処理を行う(S6)。一方、検証条件を満たさないと判定された場合には、その通信パケットは破棄される(S10)。
【0051】
図7は、IPアドレス更新部441で実行されるIPアドレス情報431の更新処理の流れを示すフロー図である。
図7に示すように、IPアドレス情報431の更新処理が開始されると、まず、S2で傍受したDNS応答から抽出したホスト名またはS12で取得した電子証明書から抽出したホスト名(以下、これらの抽出したホスト名を「抽出ホスト名」という)が条件情報430に含まれるか否かが判定される(S20)。すなわち、抽出ホスト名が、条件情報430における複数の条件のうちの少なくとも一つの条件を満たしているか否かが判定される。
【0052】
抽出ホスト名が条件情報430の条件を満たしている場合には、DNS応答から抽出した回答IPアドレスまたはTLS接続用の接続パケットから抽出した宛先IPアドレス(以下、これらの抽出したIPアドレスを「抽出IPアドレス」という)が禁止IPアドレス情報433に含まれるか否かが判定される(S21)。抽出IPアドレスが禁止IPアドレス情報433に含まれなければ、その抽出IPアドレスをIPアドレス情報431に追加する(S22)。抽出IPアドレスが禁止IPアドレス情報433に含まれれば、その抽出IPアドレスをIPアドレス情報431に追加せずに、IPアドレス情報更新処理を終了する。
【0053】
一方、S20において抽出ホスト名が条件情報430に含まれない場合には、抽出ホスト名が禁止条件情報432に含まれるか否かが判定される(S23)。抽出ホスト名が禁止条件情報432に含まれており、抽出IPアドレスがIPアドレス情報431に含まれている場合、当該抽出IPアドレスをIPアドレス情報431から削除する(S24)。抽出ホスト名が禁止条件情報432に含まれなければ、IPアドレス情報更新処理を終了する。
【0054】
図8は、パケットフィルタリング装置4のDNS応答に基づいてIPアドレス情報431を更新しフィルタリング制御する時における処理の流れを説明するシーケンス図である。
図8に示すように、まず端末装置3からDNSサーバ5にDNS要求が送信される(S100)。このDNS要求に対する応答として、DNSサーバ5からパケットフィルタリング装置4を介して端末装置3にDNS応答が送信される。すなわち、DNSサーバ5からパケットフィルタリング装置4にDNS応答が送信され(S101)、当該DNS応答をパケットフィルタリング装置4が端末装置3に対して転送する(S102)。このとき、パケットフィルタリング装置4は、DNS応答を傍受する。
【0055】
本実施の形態では、DNS応答を傍受するにあたってDNS応答をスニッフィングする方法を用いている。しかし、これに限らず、パケットフィルタリング装置4において端末装置3とDNSサーバ5との間のDNSパケットを中継する中継プログラム(例えば、DNSサーバプログラム)を動作させ、当該中継プログラムの動作履歴を参照することによりDNS応答を傍受してもよい。ここでいうDNSパケットの中継とは、単なるトランスポート層のパケットの転送ではなく、パケットフィルタリング装置4上で稼働する中継プログラムによりDNSパケットを受付け、当該中継プログラムがそのDNSパケットへの応答を作成するために上位のDNSサーバに問い合わせることによって必要な情報を取得し、当該必要な情報に基づいてそのDNSパケットへの応答を行うような処理をいう。
【0056】
そして、パケットフィルタリング装置4は、傍受したDNS応答に基づいてIPアドレス情報431の更新処理を行う(S103)。例えば、傍受したDNS応答から抽出したホスト名(抽出ホスト名)が、条件情報430に含まれるホスト名だった場合に、そのIPアドレス(グローバルIPアドレス)をIPアドレス情報431に登録する。その後、端末装置3から外部装置7に対する通信パケットが送信されると(S104)、パケットフィルタリング装置4は、IPアドレス情報431に基づいて、その通信パケットの通過の可否を判定する(S105)。通信パケットの宛先IPアドレスがIPアドレス情報431に登録されている場合には、その通信パケットの通過を許可する。一方、通信パケットの宛先IPアドレスがIPアドレス情報431に登録されていない場合には、その通信パケットを破棄する。そして、通信許可と判定された場合には、その通信パケットが外部装置7へ送信される。
【0057】
図9は、パケットフィルタリング装置4のSSL/TLS通信に基づいてIPアドレス情報431を更新しフィルタリング制御する時における処理の流れを説明するシーケンス図である。
図9に示すように、まず、端末装置3から外部装置7に対するTLS接続要求を行うパケットが送信される(S200)。当該パケットを傍受したパケットフィルタリング装置4は、このTLS接続要求のパケットを一旦保留し、当該TLS接続要求を行った端末装置3を代理してTLS接続要求のパケットを新たに生成し、外部装置7へ送信する(S201)。そして、このTLS接続要求に対する応答として、外部装置7からパケットフィルタリング装置4に対して電子証明書が送信される(S202)。
【0058】
パケットフィルタリング装置4は、外部装置7から取得した電子証明書の検証を行い(S203)、取得した電子証明書に基づいてIPアドレス情報431の更新処理を行う(S204)。例えば、取得した電子証明書から抽出したホスト名(抽出ホスト名)が条件情報430に含まれている場合には、S200におけるTLS接続要求の宛先IPアドレス(外部装置7のグローバルIPアドレス)をIPアドレス情報431に登録する。その後、S200におけるTLS接続要求の通信パケットのIPアドレスがIPアドレス情報431に登録されているか否か基づいて、その通信パケットの通過の可否を判定する(S205)。そして、通信許可と判定された場合には、S200にて一旦保留していたTLS接続要求を外部装置7へ送信し(S206)、端末装置3と外部装置7との間にTLSセッションを確立する(S207)。その後、端末装置3から外部装置7に対する通信パケットが送信されると、パケットフィルタリング装置4は、IPアドレス情報431に基づいて、その通信パケットの通過の可否を判定し、通信パケットの宛先IPアドレスがIPアドレス情報431に登録されている場合には、その通信パケットの通過を許可する。一方、通信パケットの宛先IPアドレスがIPアドレス情報431に登録されていない場合には、その通信パケットを破棄する。なお、TLS接続要求を保留せずに、端末装置3に対して「接続失敗」を通知し、再度、端末装置3にSSL/TLS接続要求を送信させてもよい。またTLS接続要求を無視し、端末装置3からの再送信を待ってもよい。
【0059】
このような本実施の形態のパケットフィルタリング装置4によれば、傍受したDNS応答や代理により取得した電子証明書から抽出したホスト名(抽出ホスト名)が、予め記憶した条件情報430を満たしているか否かに基づいて、そのホスト名の外部装置7に対して送信された通信パケットを通過させるか否かが制御される。条件情報430は、例えば、ホスト名そのもの、あるいは、FQDNや正規表現などのホスト名を識別できる情報である。したがって、管理者はフィルタリング条件(条件情報430)の内容を容易に認識することができ、管理上の負担を軽減することが可能になる。
【0060】
また、本実施の形態のパケットフィルタリング装置4は、傍受したDNS応答や代理により取得した電子証明書からホスト名を抽出しているため、通信パケットの宛先IPアドレスが条件情報430に合致する(満たした)ものであるか否かをDNSサーバ5に対して逆引き問い合わせを行うことなく判定することができる。
【0061】
一般に、ホスト名とIPアドレスとは必ずしも一対一の関係で対応付けられるものではなく、例えば、一つのホスト名に対して複数のIPアドレスが対応付けられたり、一つのIPアドレスに対して複数のホスト名が対応付けられたりする。そのため、DNSサーバ5に対して逆引き問合せを行って知り得たホスト名は、必ずしも端末装置3がアクセスしようとしている外部装置7のホスト名と合致するとは限らない。このような場合、条件情報430に記されたホスト名を用いてフィルタリング制御を行う際に当該ホスト名をDNSサーバに逆引き問合せを行うような装置では、本来通過させるべき通信パケットを通過させない、あるいは、逆に通過させるべきでない通信パケットを通過させてしまうという事態が生じ得る。
【0062】
これに対して、本実施の形態のパケットフィルタリング装置4では、IPアドレス情報431に基づいて通信パケットの通過可否が制御される。そして、このIPアドレス情報431は、端末装置3が事前にDNSサーバ5との間で送受したDNS応答を傍受することで抽出したホスト名(抽出ホスト名)と条件情報430との比較により更新された情報である。したがって、端末装置3がアクセスしようとしている外部装置7のIPアドレスとホスト名とを正確に対応付けることができ、通信パケットの通過可否の判断を適切に行うことができる。
【0063】
また、本実施の形態のパケットフィルタリング装置4では、電子証明書から求めた抽出ホスト名と条件情報430との比較によりIPアドレス情報431を更新している。そのため、DNSサーバに対して名前解決の問合せを行わない端末装置3からのアクセス(例えば、外部装置7のグローバルIPアドレスを直接入力することによるアクセス)であったとしても、IPアドレス情報431を更新することができる。また、外部装置7のより信頼性の高いホスト名を把握することができ、例えば、DNSポイゾニングなどといったDNSサーバに対する攻撃の悪影響を低減することができる。
【0064】
また、本実施の形態では、信頼できる外部装置7であるとして通信が許可された外部装置7のホスト名のホスト名を識別できる条件が条件情報430に含まれており、抽出ホスト名が条件情報430を満たしていると、IPアドレス情報431が更新される。そして、このIPアドレス情報431に基づいて、通信パケットの通過許可が制御される。これにより、信頼できる外部装置7への通信パケットのみを適切に通過させることができる。
【0065】
また、本実施の形態では、信頼できない外部装置7(例えば悪意ある処理を行う外部装置7)であるとして、管理者などによって禁止条件情報432が設定された場合、傍受したDNS応答から抽出したホスト名が禁止条件情報432の条件を満たしていると、そのDNS応答に基づいてIPアドレス情報431から削除される。そして、このIPアドレス情報431に基づいて通信パケットの通過可否が制御される。これにより、たとえ過去に信頼できる外部装置7としてそのホスト名が条件情報430に登録され、そしてIPアドレス情報431に当該外部装置7のIPアドレスが登録されていたとしても、禁止条件情報432に基づいてIPアドレス情報431を適切に更新できる。したがって、信頼できない外部装置7への通信パケットの通過を適切に禁止することができる。
【0066】
また、本実施の形態では、外部装置7から取得した電子証明書の検証結果が適切である場合(例えば、電子証明書の秘密鍵を外部装置7が所持している場合、証明書検証できる場合、電子証明書がEVSSL証明書などの信頼できる証明書である場合など)に、接続パケットの宛先IPアドレスに基づいてIPアドレス情報431を更新する。したがって、外部装置7のより信頼性の高いホスト名を把握することができる。
【0067】
以上、本発明の実施の形態を例示により説明したが、本発明の範囲はこれらに限定されるものではなく、請求項に記載された範囲内において目的に応じて変更・変形することが可能である。
【0068】
上記実施の形態では、記憶部43は、IPアドレス情報431と条件情報430とを別個のテーブルで記憶している。しかし、これに限らず、
図4に示すように、記憶部43は、IPアドレス情報431と条件情報430とを対応付けて記憶してもよい。
図4の例では、ホストAとグローバルIPアドレスAが対応付けられており、ホストBとグローバルIPアドレスBが対応付けられており、ホストCとグローバルIPアドレスCが対応付けられている。なお、条件情報430とIPアドレス情報431とに共通するID情報を付与し、ID情報を介して条件情報430とIPアドレス情報431を対応付けてもよい。また、一つのホスト名(条件)に対して複数のIPアドレスを対応付けることもできる。
【0069】
この場合、IPアドレス更新部441は、IPアドレス情報更新処理において、抽出ホスト名が条件情報430の条件を満たしていれば(S20でYes)、当該抽出ホスト名に対応付けられているIPアドレス情報431のIPアドレスを更新する。例えば、抽出ホスト名「ホストA」が条件情報430に含まれており(S20でYes)、その「ホストA」とIPアドレス情報431の「グローバルIPアドレスX」が既に対応付けられている場合には、S22において抽出IPアドレス「グローバルIPアドレスA」を用いて「グローバルIPアドレスX」を更新する。
【0070】
これにより、外部装置7のホスト名とIPアドレスとの対応付けがダイナミックDNSなどによって動的に変更されるような場合であっても、変更された対応付け(最新の対応付け)に基づいてIPアドレス情報431も更新されるため、最新の対応付けに基づいてパケットの通過可否の判定を行うことができる。したがって、外部装置7のホスト名と対応づいた古いIPアドレスに基づいて誤ってパケットを通過(あるいは非通過)させるのを適切に防ぐことができる。
【0071】
上記実施の形態では、記憶部43は、端末装置3のIPアドレスである端末IPアドレス(ローカルIPアドレス)と、IPアドレス情報431とを対応付けることなく記憶している。しかし、これに限らず、
図5に示すように、記憶部43は、端末装置3の端末IPアドレスとIPアドレス情報431とを対応付けて記憶してもよい。
図5の例では、ローカルIPアドレスAとグローバルIPアドレスA及びグローバルIPアドレスBが対応付けられており、ローカルIPアドレスBとグローバルIPアドレスCが対応付けられている。
【0072】
この場合、IPアドレス更新部441は、抽出ホスト名が条件情報430の条件を満たしていれば(S20でYes)、S22において、DNS応答の送信先の端末装置7のIPアドレス(又はTLS接続要求を行った端末装置7のIPアドレス)と等しい端末IPアドレスに対応付けられているIPアドレス情報431を更新する。例えば、抽出ホスト名「ホストA」が条件情報430に含まれており(S20でYes)、DNS応答の送信先の端末装置7のIPアドレスと等しい端末IPアドレス「ローカルIPアドレスA」とIPアドレス「グローバルIPアドレスA」が既に対応付けられている場合には、その「ローカルIPアドレスA」に対応するよう新たな抽出IPアドレス「グローバルIPアドレスX」がIPアドレス情報431に追加される。
【0073】
これにより、パケットフィルタリング装置4は、DNSサーバ5との間で送受したDNS応答を傍受して、傍受したDNS応答に基づいて、端末装置3ごとにIPアドレス情報431を更新する。したがって、外部装置7のホスト名とIPアドレスとの対応付けを、端末装置3ごとに管理することができ、端末装置3がDNS応答から得たIPアドレスとホスト名との対応付けを正確に管理することができる。したがって、端末装置から外部装置へのアクセスがDNS応答に基づいたアクセスなのか否かを判断することができる。すなわち、端末装置3が、その端末装置3の端末IPアドレスに対応付けられているIPアドレス情報431以外の外部装置7に通信パケットを送った場合に、その通信パケットが、DNSサーバ5との問合せを行わずに(例えば、端末装置3側でIPアドレスを直接入力して)送信したパケットであることを把握することができる。
【0074】
なお、通信制御部442は、端末装置3から送信された通信パケットの宛先IPアドレスが、その通信パケットの送信元のIPアドレスと一致する端末IPアドレスに対応付けられているIPアドレス情報431に含まれるか否かに基づいて、その通信パケットの通過を制御してもよい。
【0075】
上記実施の形態では、通信制御部442は、端末装置3から外部装置7への通信パケットの宛先IPアドレス(すなわち外部装置7のグローバルIPアドレス)がIPアドレス情報431に含まれているか否かに基づいて当該通信パケットの通過可否を判定している。しかし、これに限らず、外部装置7から端末装置3に送信される通信パケットの送信元IPアドレスがIPアドレス情報431に含まれているか否かに基づいて当該通信パケットの通過可否を判定してもよい。例えば、端末装置3から外部装置7に送信されるSYNパケットに対する返信として外部装置7から端末装置3に送信されるSYN/ACKパケットの送信元IPアドレスがIPアドレス情報431に含まれているとき、当該SYN/ACKパケットを通過不可として破棄してもよい。また端末装置3においてDNSの名前解決がなされていない外部装置より直接UDPパケットが端末装置3に向けて送信されえた場合も当該パケットの送信元IPアドレスが、IPアドレス情報431に含まれていないため破棄するようにしてもよい。