次に、本願発明のネットワークシステムの実施の形態について説明する。尚、以下の説明ではIPアドレスを用いて説明しているが、本発明はグローバルIPアドレス及びローカルIPアドレスのどちらであっても適用可能である。
(実施の形態1)
図1に示されるように、本願発明のネットワークシステムは、LAN(Local Area Network)と、WAN(Wide Area Network)と、LANとWANとに接続されているHGW(Home Gate Way)機器とを有する。
内部ネットワークであるLANには、少なくとも1つ以上のサーバを含む機器が接続されている。サーバは、一般的なサーバである。本実施の形態では、LAN外に公開される、即ちWANからアクセスできるサーバ101がLANに接続されている場合を用いて説明する。また、サーバ101には、IPアドレスとして「192.168.0.2」が設定されているものとする。
WANには、少なくとも1以上の端末とDNS(Domain Name System)サーバ(ネームサーバ)104とが接続されている。
DNSサーバ104は、一般的なDNSサーバであり、WAN上の端末のIPアドレスと端末名とが対応付けられて記憶されている。
端末は一般的な端末であり、本実施の形態では、端末105〜107が接続されている構成を用いて説明する。端末がサーバとの間で行うパケット送受信は、例えば、TCP/IP、UDP又はICMP等のIPプロトコルを用いている。
端末105は、端末名として「Client1.xxx.com」が、IPアドレスとして「10.100.0.100」が設定されており、サーバ101にアクセスすることが許可されている。端末105の端末名とIPアドレスとは、DNSサーバ104にあらかじめ登録されている。尚、この登録にはDynamicDNSを利用するのが一般的と思われるが、その方法については、公知の技術であるため、詳細な説明は省略される。
端末106は、端末名として「Client2.xxx.com」が、IPアドレスとして「10.100.0.200」が設定されており、サーバ101にアクセスすることが許可されていないものとする。端末105同様に、端末106の端末名とIPアドレスとは、DNSサーバ104に登録されている。
端末107は、IPアドレスとして「10.100.0.300」が設定されているが、端末名が割り当てられていないものとする。
図2は、本発明の実施の形態1のHGW機器の構成を表した構成図である。
HGW機器103は、WANインタフェース201、LANインタフェース202、NAT(Network Address Translation)処理部203、NAT管理部204、アクセス条件記憶部205、DNS処理部206、及びNATテーブル207を備える。
WANインタフェース201は、WAN側に接続されており、パケットを送受信する。
LANインタフェース202は、LAN側に接続されており、パケットを送受信する。
NAT処理部203は、一般的なNAT処理(ルーティング処理)を行うものであり、受信パケットを転送するために、NATテーブル207のNAT sessionに基づいてNAT処理を行う。WANインタフェース201がパケットを受信すると、受信したパケットに対するNAT sessionがNATテーブル207に作成されているかを判別する。NAT処理部203は、判別の結果、受信パケットに対するNAT sessionがNATテーブル207に作成されていると判別されたパケットを、NAT sessionに基づいてNAT処理を行う。一方、NAT処理部203は、判別の結果、受信パケットに対するNAT sessionがNATテーブル207に作成されていないと判別されたパケットをNAT管理部204に出力する。NAT処理部203は、NAT管理部204からの通知に応じて、受信パケットを破棄する。NAT管理部204によってNATテーブル207に受信パケットに対するNAT sessiong作成されると、NAT処理部203は受信パケットの情報とNATテーブルに作成された情報のうち、転送先である公開サーバのIPアドレス以外の情報が一致するか判別する。一致すると判別されると、NATテーブルに設定されている公開サーバのIPアドレスを取得し、取得したIPアドレスの公開サーバに受信パケットを転送するよう、LANインタフェース202に出力する。一方、一致しないと判別されると、NAT処理部203は受信パケットを破棄する。
NATテーブル207は、NAT処理に先立って生成されるNAT sessionを管理する。このNAT sessionはパケットの転送情報を定義付けたものである。図5は、NAT sessionの一例である。NAT sessionは、プロトコル情報501、LANのIPアドレス502とポート番号503、GatewayのIPアドレス504とポート番号505、WANのIPアドレス506とポート番号507、STATUS508、及び、NAT sessionタイマ509の各情報を管理する。
プロトコル情報501は、受信パケットのプロトコルを示す情報である。
LANのIPアドレス502は、downstream方向(WAN→LAN方向)で見た場合、受信パケットの転送先であるサーバのIPアドレスを示す情報である。ポート番号503は、転送先のサーバが自装置からの転送パケットを受信するポート番号である。
GatewayのIPアドレス504は、自装置に付されているIPアドレスを示す情報である。ポート番号505は、受信パケットを転送先に送信する際に用いるポート番号である。
WANのIPアドレス506は、downstream方向(WAN→LAN方向)で見た場合、受信パケットの送信元のIPアドレスを示す情報である。ポート番号507は、受信パケットの送信元がパケットを送信するポート番号である。
Status508は、NAT sessionの確立状態を示す情報である。
NAT sessionタイマ509は、当該NAT sessionを削除するタイミングを示す情報である。ここには、このNAT sessionの最後のパケット転送が終了してから、削除するまでの時間が記されている。
アクセス条件記憶部205には、DMZエントリとport mappingエントリとが記憶されている。DMZエントリとport mappingエントリには、ユーザにより指定された、公開サーバとこの公開サーバにアクセスできる端末名とが記憶される。
DMZエントリには、公開サーバへのアクセス条件が示されている。この条件として、図3に示すように、DMZエントリには公開サーバのIPアドレスと、この公開サーバにアクセスが許可されている端末の名前とが対応付けられている。このDMZエントリには、複数の公開サーバを設定することができ、各公開サーバに対して複数の許可端末を設定することができるが、1端末に対して複数の公開サーバを設定することはできない。
また、port mappingエントリにも、公開サーバへのアクセス条件が示されている。この条件として、図4に示すように、公開サーバのIPアドレス、この公開サーバにアクセスが許可されている端末の名前、アクセスが許可されるプロトコル、及びアクセスが許可されるポート番号が対応付けられている。但し、プロトコルとポート番号との両方が設定されている必要はなく、プロトコル及びポート番号の少なくとも一方が設定されていれば良い。プロトコル403及びポート404は、送信元端末が公開サーバにアクセスする時のプロトコル(プログラム)によって設定される情報である。例えば、ユーザがアクセス条件記憶部に、アクセス許可する端末を設定する際アクセスに使用するプログラムも設定できるような構成にしておく場合、ユーザがそのプログラムを選択することによって使用するプロトコルが決定すると、プロトコル403及びポート404が設定される。
NAT管理部204は、port mappingエントリを用いる場合、NAT処理部203から出力されたパケットのプロトコル情報およびポート番号情報の少なくとも一方がport mappingエントリにあるか否かを検索する。該当するエントリが検索されない場合、NAT管理部204はNAT処理部203から出力されたパケットを破棄する旨NAT処理部203に通知する。一方、該当するエントリが検索されると、NAT管理部204は検索されたエントリから端末名を取得する。一方、DMZエントリを用いる場合、NAT管理部204は、全てのエントリの端末名を取得する。NAT管理部204は、取得した端末名に割り振られているIPアドレスを知るために、端末名をDNS処理部206に出力する。DNS処理部206からIPアドレスが受け取れない場合、NAT管理部204は、受信したパケットを破棄する旨NAT処理部203に通知する。一方、DNS処理部206からIPアドレスを受け取ると、NAT管理部204は、受け取ったIPアドレスが、受信したパケットの送信元IPアドレスと一致するかを判定する。一致しない場合、NAT管理部204は、受信したパケットを破棄する旨NAT処理部203に通知する。一方、一致する場合、NAT管理部204は、転送情報を定義付けたNAT sessionをNATテーブル207に作成する。このとき、LANのIPアドレス502にはパケットの転送先のサーバのIPアドレスが登録される。また、LANのポート番号503には、転送先のサーバのポート番号が登録される。このポート番号は、LANインタフェースにLANが接続された際に開かれるポートの番号である。GatewayのIPアドレス504には、自装置のWANのIPアドレスが登録される。Gatewayのポート番号505には、受信パケットを転送先に送信する際に用いるポート番号が登録される。このポート番号は、WANインタフェース201にWANが接続された際に開かれるポートの番号である。WANのIPアドレス506には、送信元の端末のIPアドレスが登録される。WANのポート番号507には、送信元の端末がパケットを送信する際に用いるポート番号が登録される。このポート番号は、受信パケットの送信元のポート番号である。
DNS処理部206は一般的な技術であるProxyDNSの機能を有している。DNS処理部206は、出力された端末名に割り振られているIPアドレスをDNSサーバ104から取得する。DNSサーバ104は、DNS処理部206から端末名を受信すると、受信した端末名に割り振られているIPアドレスを取得し、取得したIPアドレスをDNS処理部206に送信する。DNS処理部206は、端末名に割り振られているIPアドレスをDNSサーバ104から取得できた場合、取得したIPアドレスをNAT管理部204に出力する。DNS処理部206は、取得したIPアドレスをNAT管理部204に出力すると、端末名とIPアドレスとの組をキャッシュせずに削除する。
続いて、本願発明の実施の形態1の動作について図6を用いて説明する。尚、以下の説明では、WANインタフェース201はWANに、LANインタフェース202はLANに、既に接続されているものとして説明する。即ち、LAN側との通信で用いられるポート、HGW機器103のIPアドレス及び受信パケットを転送先に送信する際に用いられるポートは既に開かれているものとする。また、アクセス条件記憶部205にDMZエントリが設定されているものとして説明する。
まず、WANインタフェース201がWAN側の端末からパケットを受信する(S601)。
この受信パケットに対するNAT sessionがNATテーブル207に作成されているか、NAT処理部203が判別する(S602)。
判別の結果、作成されていないと判別された場合、NAT処理部203は、受信パケットをNAT管理部204に出力する(S605)。
NAT管理部204は、DMZエントリから端末名を取得してDNS処理部206に出力する(S606)。DNS処理部206は、NAT管理部204から出力された端末名に付されているIPアドレスをDNSサーバ104から取得する(S607)。ここで、DNS処理部206がDNSサーバ104からIPアドレスを取得できない場合、その旨をNAT管理部204に通知する。すると、NAT管理部204は受信パケットを破棄する旨NAT処理部203に通知し、これに応じてNAT処理部203は受信パケットを破棄する(S610)。一方、DNS処理部206がIPアドレスを取得できた場合、取得したIPアドレスがNAT管理部204に出力され、NAT管理部204は出力されたIPアドレスと受信パケットの送信元IPアドレスとが一致するかを判定する(S608)。一致しないと判定された場合、NAT管理部204は受信パケットを破棄する旨NAT処理部203に通知し、これに応じてNAT処理部203は受信パケットを破棄する(S610)。一方、一致すると判定された場合、NAT管理部204は、転送情報を定義づけたNAT sessionをNATテーブル207に作成する(S609)。
NAT sessionが作成されると、同一送信元及び送信先のパケットに対するNAT sessionがS602においてNATテーブルに作成されていると判別される(S602:Yes)。この場合、NAT処理部203は、NAT sessionに従って、受信したパケットのNAT処理を行う(S603)。LANインタフェース202は、NAT処理に基づいて、パケットを転送先に転送する(S604)。
続いて、アクセス条件記憶部205に、port mappingエントリが設定されている場合を図7を用いて説明する。また、上記同様、WANインタフェース201はWANに、LANインタフェース202はLANに、既に接続されているものとする。
WANインタフェース201がWAN側の端末からパケットを受信する(S701)。
この受信パケットに対するNat sessionがNATテーブル207に作成されているか、NAT処理部203が判別する(S702)。
判別の結果、作成されていないと判別された場合、NAT処理部203は、受信パケットをNAT管理部204に出力する(S705)。
NAT管理部204は、NAT処理部203から出力されたプロトコル及びポート番号の少なくとも一方が、アクセス条件記憶部205のport mappingエントリにあるか否か検索する(S706)。検索されなかった場合、NAT管理部204は、受信パケットを破棄する旨NAT処理部203に通知し、これに応じてNAT処理部203は受信パケットを破棄する(S707)。一方、S706において検索された場合、NAT管理部204は、検索されたエントリから端末名を取得してDNS処理部206に出力する(S708)。DNS処理部206は、NAT管理部204から出力された端末名に付されているIPアドレスをDNSサーバ104から取得する(S709)。ここで、DNS処理部206がDNSサーバ104からIPアドレスを取得できない場合、その旨をNAT管理部204に通知する。すると、NAT管理部204は受信パケットを破棄する旨NAT処理部203に通知し、これに応じてNAT処理部203は受信パケットを破棄する(S707)。一方、DNS処理部206がIPアドレスを取得できた場合、取得したIPアドレスがNAT管理部204に出力され、NAT管理部204は出力されたIPアドレスと受信パケットの送信元IPアドレスとが一致するかを判定する(S710)。一致しないと判定された場合、NAT管理部204は受信パケットを破棄する旨NAT処理部203に通知し、これに応じてNAT処理部203は受信パケットを破棄する(S707)。一方、一致すると判定された場合、NAT管理部204は、転送情報を定義付けたNAT sessionをNATテーブル207に作成する(S711)。
NAT sessionが作成されると、同一送信元、同一プロトコル及び同一ポート番号の少なくとも同一送信元のパケットに対するNAT sessionが、S702においてNATテーブルに作成されていると判別される(S702:Yes)。この場合、NAT処理部203はNAT sessionに従って、受信パケットのNAT処理を行う(S703)。
LANインタフェース202は、NAT処理に基づいてパケットを転送先に転送する(S704)。
尚、LANインタフェース202がLAN側の端末からパケットを受信した際の動作は、上記説明と同じであるため説明を省略する。
次に図10を参照して、上記実施の形態1の端末とサーバとの接続の終了について説明する。
端末からサーバへパケットを転送してから次の当該NAT sessionのパケットを受信するまでの時間が、NAT管理部204で管理しているNAT sessionタイマに記されている時間分経過するかを監視する(S1001)。時間分経過すると、NAT管理部204は当該NAT sessionを削除する(S1002)。
尚、上記実施の形態では、転送を許可するパケットを設定する構成を用いて説明したが、実施の形態に加えて、破棄対象パケット判定部と破棄対象パケット記憶部とを更に有する構成にしても良い。このように構成する場合、破棄対象パケット記憶部には、NAT管理部204によってパケットを破棄すると判定された際に、当該パケットのヘッダ情報が記憶される。この破棄対象パケット記憶部に記憶されている情報に基づいて、破棄対象パケット判定部は、受信したパケットが破棄対象であるかを判定する。破棄対象である場合は、当該受信したパケットを破棄する。
また、上記実施の形態では、アクセス条件記憶テーブル205にDMZエントリが記憶されている場合とport mappingエントリが記憶されている場合とを其々説明したが、これに限らない。アクセス条件記憶テーブル205には、DMZエントリ及びport mappingエントリの両方が記憶されるようにしても良い。
上記実施の形態ではHGW機器にてアクセスを制限する構成について説明したが、サーバや端末などの情報処理装置が自装置においてアクセス元又はアクセス先を制限するように構成させても良い。このような構成の場合、上述の転送に関する構成及び処理は不要となる。また、上記実施の形態では、LANからWAN、WANからLANにアクセスする場合を用いて説明したが、異なるLANから又は異なるLANへのアクセスを制限しても良いものとする。
上記の通り、本発明では、装置にアクセスすることの許可される端末のアクセス条件を端末名で設定できるように構成されている。従って、ユーザが容易にアクセス条件を設定することができる。
また、HGW機器以外の機器の設定が不要であるため、ユーザが本システムを導入するための敷居が低くなる。
(実施の形態2)
図13は、本発明の実施の形態2のHGW機器の構成を表した構成図である。尚、上記実施の形態1と同様の構成については同一番号を付し、詳細な説明を省略する。
HGW機器103は、WANインタフェース201、LANインタフェース202、ルーティング処理部1303、フィルタ管理部1304、フィルタリングルール記憶部1305、アクセス条件記憶部205、DNS処理部206及びフィルタテーブル1307を備える。
ルーティング処理部1303は、一般的なルーティング処理を行うものである。ルーティング処理部1303は、受信パケットのプロトコル、送信元ポート番号、宛先ポート番号及び送信元端末のIPアドレスのうち、少なくとも送信元端末のIPアドレスが一致するテーブルが、フィルタテーブル1307に作成されているか検索する。該当するテーブルが検索された場合、ルーティング処理部1303は、受信パケットを公開サーバに送信するよう、LANインタフェース202に出力する。一方、該当するテーブルが検索されない場合、ルーティング処理部1303は、受信パケットのプロトコル、送信元ポート番号、宛先ポート番号及び送信元端末のIPアドレスのうち、少なくとも送信元端末のIPアドレスをフィルタ管理部1304に出力する。ルーティング処理部1303はフィルタ管理部1304からの通知に応じて、受信パケットを破棄する。ルーティング処理部1303は、フィルタ管理部1304から、フィルタテーブルを設定した旨通知を受けると、受信パケットの情報とフィルタテーブルに設定された情報のうち、転送先である公開サーバのIPアドレス以外の情報が一致するか判別する。一致すると判別されると、フィルタテーブルに設定されている公開サーバのIPアドレスを取得し、取得したIPアドレスの公開サーバに受信パケットを転送するよう、LANインタフェース202に出力する。一方、一致しないと判別されると、ルーティング処理部1303は受信パケットを破棄する。
図14は、フィルタテーブル1307に作成されるフィルタエントリの一例である。フィルタエントリは、エントリ番号1401、STATUS1402、公開サーバのIPアドレス1403、送信元端末のIPアドレス1404、プロトコル1405、送信元ポート番号1406、宛先ポート番号1407及びフィルタタイマ1408の各情報を管理する。
エントリ番号1401は、各フィルタエントリに対応する、フィルタリングルール記憶部に設定されているフィルタリングルールのエントリ番号を示す情報である。
Status1402は、フィルタエントリの確立状態を示す情報である。
公開サーバのIPアドレス1403は、downstream方向(WAN→LAN方向)で見た場合、受信パケットの宛先のIPアドレスを示す情報である。
送信元端末のIPアドレス1404は、downstream方向(WAN→LAN方向)で見た場合、受信パケットの送信元のIPアドレスを示す情報である。
プロトコル1405は、受信パケットのプロトコルを示す情報である。
送信元ポート番号1406は、受信パケットの送信元のポート番号を示す情報である。
宛先ポート番号1407は、受信パケットの宛先のポート番号を示す情報である。
フィルタタイマ1408は、当該フィルタエントリを削除するタイミングを示す情報である。ここには、このフィルタエントリの最後のパケット転送が終了してから、削除するまでの時間が記されている。
フィルタリングルール記憶部1305には、フィルタリングルールが記憶されており、このフィルタリングルールには、公開サーバへのアクセス条件が示されている。図20は、フィルタリングルールの一例である。図20の(A)で示されているレコードは、downstream方向(WAN→LAN)で用いるフィルタリングルールの一例を表している。フィルタリングルールは、各ルールに付されている一意の番号であるエントリ番号1901、各ルールの優先度を示す優先度1902、パケットの通過を許可するか拒否するかを示すSTATUS1903、受信パケットの転送方向を示す方向1904、受信パケットの宛先即ち公開サーバの端末名1905、この公開サーバにアクセスが許可されている送信元端末に関する情報1906、アクセスが許可されるプロトコル1907、アクセスが許可される送信元ポート番号1908及びアクセスが許可される宛先ポート番号1909が対応付けられている。公開サーバの端末名1905はdownstream方向(WAN→LAN)のアクセス条件の場合は使用しない。送信元端末に関する情報はdownstream方向(WAN→LAN)のアクセス条件の場合は、送信元端末名を設定する、一方、upstream方向(LAN→WAN)のアクセス条件の場合は、送信元端末のIPアドレスを設定する。図20中の“all”は、その項目において設定条件を問わないことを示している。プロトコル1907、送信元ポート番号1908及び宛先ポート番号1909は、送信元端末が公開サーバにアクセスする時のプロトコル(プログラム)によって設定される情報である。例えば、ユーザがフィルタリングルールに、アクセス許可する端末を設定する際アクセスに使用するプログラムも設定できるような構成にしておく場合、ユーザがそのプログラムを選択することによって使用するプロトコルが決定すると、プロトコル1907、送信元ポート番号1908及び宛先ポート番号1909が設定される。また、優先度1903は数値が小さいほど優先順位が高いことを示す。受信パケットの情報に一致するフィルタリングルールが存在しない場合は、受信パケットを破棄するようにしても良い。
フィルタ管理部1304は、ルーティング処理部1303から受信パケットのプロトコル、送信元ポート番号、宛先ポート番号及び送信元端末のIPアドレスのうち、少なくとも送信元端末のIPアドレスが出力されると、フィルタリングルール記憶部1305にフィルタリングルールが設定されているか検索する。フィルタリングルールが検索された場合、フィルタ管理部1304は、検索されたフィルタリングルールから、送信元端末に関する情報に設定されている送信元端末名を取得する。フィルタ管理部1304は取得した送信元端末に付されているIPアドレスを知るために、取得した送信元端末名をDNS処理部206に出力する。この出力に対して、DNS処理部206から、送信元端末に付されているIPアドレスを受け取る。DNS処理部206から、送信元端末名に付されているIPアドレスを受け取れない場合、フィルタ管理部1304は、受信パケットを破棄する旨、ルーティング処理部1303に通知する。一方、DNS処理部206から、送信元端末に付されているIPアドレスを受け取った場合、そのIPアドレスの中から、ルーティング処理部1303から出力された送信元端末のIPアドレスと一致するものを検索する。一致するものが検索されない場合、フィルタ管理部1304は、受信パケットを破棄する旨、ルーティング処理部1303に通知する。一方、一致するものが検索された場合、フィルタ管理部1304は、検索されたIPアドレスの付されている端末名に対応付けられているルールの優先度をフィルタリングルール記憶部1305から取得し、取得されたルールのうち、優先度の高いルールのSTATUSを取得する。取得したSTATUSが“拒絶”の場合、フィルタ管理部1304は、受信パケットを破棄する旨、ルーティング処理部1303に通知する。一方、取得したSTATUSが“許可”の場合、フィルタ管理部1304は受信パケットを通過させると判別する。受信パケットを通過させると判別すると、フィルタ管理部1304は、アクセス条件記憶部205から送信元端末名を取得し、取得した送信元端末に付されているIPアドレスをDNS処理部206から受け取る。DNS処理部206から、送信元端末に付されているIPアドレスを取得できない場合、フィルタ管理部1304は、受信パケットを破棄する旨、ルーティング処理部1303に通知する。一方、DNS処理部206から、送信元端末に付されているIPアドレスを受け取った場合、フィルタ管理部1304は、受け取ったIPアドレスが、受信したパケットの送信元IPアドレスと一致するかを判定する。一致しない場合、フィルタ管理部1304は、受信したパケットを破棄する旨ルーティング処理部1304に通知する。一方、一致する場合、フィルタ管理部1304は、転送情報を定義付けたフィルタエントリをフィルタテーブル1307に作成する。このとき、公開サーバのIPアドレス1403には、パケットの転送先のIPアドレスが登録される。送信元端末のIPアドレス1404には、パケットの送信元の端末のIPアドレスが登録される。プロトコル1405にはパケットのプロトコルが登録される。送信元ポート番号1406には送信元の端末がパケットを送信する際に用いているポート番号が登録される。宛先ポート番号1407には受信パケットを転送先に送信する際に用いられるポート番号が登録される。
続いて、本願発明の実施の形態2の動作について図15及び図16を用いて説明する。尚、以下の説明では、WANインタフェース201はWANに、LANインタフェース202はLANに、既に接続されているものとして説明する。即ち、LAN側との通信で用いられるポート、HGW機器103のIPアドレス及び受信パケットを転送先に送信する際に用いられるポートは既に開かれているものとする。また、フィルタリング記憶部のプロトコル、送信元ポート番号及び宛先ポート番号には、“all”が設定されているものとする。また、アクセス条件記憶部にはDMZエントリが設定されているものとする。
まず、WANインタフェース201がWAN側の端末からパケットを受信する(S1501)。
パケットを受信すると、ルーティング処理部1303は受信パケットに対するフィルタエントリがフィルタテーブルに設定されてか判別する(S1502)。作成されていると判別されると、ルーティング処理部1303は、フィルタテーブルに設定されている情報に基づいて、受信パケットのルーティング処理を行う(S1514)。一方、作成されていないと判別されると、ルーティング処理部は受信パケットの送信元IPアドレスをフィルタ管理部1304に出力する(S1503)。
フィルタ管理部1304は、ルーティング処理部1303から送信元IPアドレスを受け取ると、フィルタリングルール記憶部1305にフィルタリングルールが設定されているか検索する(S1504)。フィルタリングルールが設定されていないと判別されると、フィルタ管理部1304はアクセス条件記憶部から送信元端末名を取得する(S1509)。以降、S1510に進む。一方、フィルタリングルールが設定されていると判別されると、フィルタリングルールから送信元端末に関する情報に設定されている送信元端末名を取得する。フィルタ管理部1304は、取得した送信元端末名に付されているIPアドレスを知るためにDNS処理部206に送信元端末名を出力する(S1505)。
DNS処理部206は、フィルタ管理部1304から出力された送信元端末に付されているIPアドレスをDNSサーバ104から取得し、取得したIPアドレスをフィルタ管理部1304に出力する(S1506)。
フィルタ管理部1304はDNS処理部206からIPアドレスが受け取れない場合、ルーティング処理部1303に受信パケットを破棄する旨通知し、これを受けてルーティング処理部1303は受信パケットを破棄する(S1516)。一方、フィルタ管理部1304は、DNS処理部206からIPアドレスを受け取ると、DNS処理部206から受け取ったIPアドレスの中から、ルーティング処理部1303から出力された送信元端末のIPアドレスと一致するものを検索する(S1507)。一致するものが検索されない場合、フィルタ管理部1304は、受信パケットを破棄する旨、ルーティング処理部1303に通知し、これを受けてルーティング処理部1303は受信パケットを破棄する(S1516)。一方、一致するものが検索された場合、フィルタ管理部1304は、検索されたIPアドレスの付されている端末名に対応付けられているルールの優先度をフィルタリングルール記憶部1305から取得し、取得されたルールのうち、優先度の高いルールのSTATUSを取得する(S1508)。フィルタ管理部1304は、取得されたSTATUSが“拒絶”の場合、ルーティング処理部1303に受信パケットを破棄する旨通知し、これを受けてルーティング処理部1303は受信パケットを破棄する(S1516)。一方、STATUSが“許可”の場合、フィルタ管理部1304は、受信パケットを通過させると判別する。受信パケットを通過させると判別すると、フィルタ管理部1304は、アクセス条件記憶部205から送信元端末名を取得する(S1509)。取得した送信元端末に付されているIPアドレスを知るために、フィルタ管理部1304は、取得した送信元端末名をDNS処理部206に出力する(S1510)。DNS処理部206は、先ほど取得したIPアドレスのうち、フィルタ管理部1304から出力された送信元端末のIPアドレスをフィルタ管理部1304に出力する(S1511)。フィルタ管理部1304はDNS処理部206からIPアドレスが受け取れない場合、ルーティング処理部1303に受信パケットを破棄する旨通知し、これを受けてルーティング処理部1303は受信パケットを破棄する(S1516)。一方、フィルタ管理部1304は、DNS処理部206からIPアドレスを受け取ると、そのIPアドレスと受信パケットの送信元IPアドレスとが一致するかを判定する(S1512)。一致しないと判定された場合、フィルタ管理部1304は、ルーティング処理部1304に受信パケットを破棄する旨通知し、これを受けてルーティング処理部1304は受信パケットを破棄する(S1516)一方、一致すると判定された場合、フィルタ管理部1304は、転送情報を定義付けたフィルタエントリをフィルタテーブル1307に作成する(S1513)。
フィルタテーブル1307にフィルタエントリが作成されると、ルーティング処理部1303はフィルタエントリに従って、受信パケットのルーティング処理を行う(S1514)。
LANインタフェース202は、ルーティング処理に基づいてパケットを転送先に転送する(S1515)。
尚、本実施の形態では、アクセス条件記憶部205とフィルタリングルール記憶部1305とを其々有する場合を用いて説明したが、これに限らない。アクセス条件記憶部とフィルタリングルール記憶部とを一つのテーブルにまとめて有するようにしても良い。
また、本実施の形態では、アクセス条件記憶部205にDMZエントリが設定されている場合を用いて説明したが、これに限らない。アクセス条件記憶部205にはPort mappingエントリが設定されていても良いし、DMZエントリとPort mappingエントリとの両方が設定されていても良い。これらの場合の動作については、上述した動作と同様のため、その説明は省略される。
続いて、LAN側に設置されている端末のWAN側に設置されている公開サーバへのアクセスを制限する場合について説明する。この場合、LAN側に設置されている端末は、WAN側に設置されている公開サーバを宛先としたパケットを送出する。即ち、LANインタフェース202は、送信元のIPアドレスにLAN側に設置されている端末のIPアドレスが、宛先のIPアドレスにWAN側に設置されている公開サーバのIPアドレスが記されているパケットを受信する。従って、HGW機器は、受信パケットの宛先のIPアドレスから転送先を知ることができるので、アクセス条件記憶部205の情報を使用せずに受信パケットを転送する。
フィルタリングルール記憶部1305にはフィルタリングルールが記憶されており、このフィルタリングルールには公開サーバへのアクセス条件が示されている。図20の(B)で示されているレコードは、upstream方向(LAN→WAN)で用いるフィルタリングルールの一例を表している。公開サーバの端末名1905には、パケットの宛先であるWAN側の公開サーバの端末名を設定する。図20中の“all”は、その項目において設定条件と問わないことを示している。その他の項目については、上述したWANインタフェースがWAN側の端末からパケットを受信した場合と同様のため、その説明は省略される。
ルーティング処理部1303は、一般的なルーティング処理を行うものである。ルーティング処理部1303は、受信パケットのプロトコル、送信元ポート番号、宛先ポート番号、送信元端末のIPアドレス及びパケットの宛先である公開サーバのIPアドレスのうち、少なくとも送信元端末のIPアドレスと公開サーバのIPアドレスとが一致するテーブルが、フィルタテーブル1307に作成されているか検索する。該当するテーブルが検索された場合、ルーティング処理部1303は、受信パケットを宛先である公開サーバに送信するよう、WANインタフェース201に出力する。一方、該当するテーブルが検索されない場合、ルーティング処理部1303は、受信パケットのプロトコル、送信元ポート番号、宛先ポート番号、送信元端末のIPアドレス及びパケットの宛先である公開サーバのIPアドレスのうち、少なくとも送信元端末のIPアドレスと公開サーバのIPアドレスとをフィルタ管理部1304に出力する。ルーティング処理部1303はフィルタ管理部1304から受信パケットを破棄する旨通知を受けると、受信パケットを破棄する。ルーティング処理部1303は、フィルタ管理部1304からフィルタテーブルを設定した旨通知を受けると、受信パケットを宛先である公開サーバに送信するよう、WANインタフェース201に出力する。
フィルタ管理部1304は、ルーティング処理部1303から受信パケットのプロトコル、送信元ポート番号、宛先ポート番号、送信元端末のIPアドレス及びパケットの宛先である公開サーバのIPアドレスのうち、少なくとも送信元端末のIPアドレスと公開サーバのIPアドレスとが出力されると、フィルタリングルール記憶部1305にフィルタリングルールが設定されているか検索する。フィルタリングルールが検索された場合、フィルタ管理部1304は、検索されたフィルタリングルールから公開サーバの端末名を取得する。フィルタ管理部1304は取得した公開サーバの端末名に付されているIPアドレスを知るために、取得した公開サーバの端末名をDNS処理部206に出力する。この出力に対して、フィルタ管理部1304は、DNS処理部206から、公開サーバに付されているIPアドレスを受け取る。DNS処理部206から、公開サーバに付されているIPアドレスを受け取れない場合、フィルタ管理部1304は、受信パケットを破棄する旨、ルーティング処理部1303に通知する。一方、DNS処理部206から、公開サーバに付されているIPアドレスを受け取った場合、フィルタ管理部1304は、そのIPアドレスの中から、ルーティング処理部1303から出力された公開サーバのIPアドレスと一致するものを検索する。一致するものが検索されない場合、フィルタ管理部1304は、受信パケットを破棄する旨、ルーティング処理部1303に通知する。一方、一致するものが検索された場合、フィルタ管理部1304は、検索されたIPアドレスの付されている公開サーバのIPアドレスに対応付けられているルールの優先度をフィルタリングルール記憶部1305から取得し、取得されたルールのうち、優先度の高いルールのSTATUSを取得する。取得したSTATUSが“拒絶”の場合、フィルタ管理部1304は、受信パケットを破棄する旨、ルーティング処理部1303に通知する。一方、取得したSTATUSが“許可”の場合、フィルタ管理部1304は受信パケットを通過させると判別する。フィルタ管理部1304は、受信パケットを通過させると判別すると、通過させるパケットの条件を定義付けたフィルタエントリをフィルタテーブル1307に作成する。このとき、宛先IPアドレス1403には、パケットの宛先である公開サーバのIPアドレスが登録される。送信元IPアドレス1404には、パケットの送信元の端末のIPアドレスが登録される。プロトコル1405にはパケットのプロトコルが登録される。送信元ポート番号1406には送信元の端末がパケットを送信する際に用いているポート番号が登録される。宛先ポート番号1407には受信パケットを宛先に送信する際に用いられるポート番号が登録される。
その他の構成については、上述したWANインタフェースがWAN側の端末からパケットを受信した場合と同様のため、その説明は省略される。
続いて、動作について図22及び23を用いて説明する。尚、以下の説明では、WANインタフェース201はWANに、LANインタフェース202はLANに、既に接続されているものとして説明する。即ち、LAN側との通信で用いられるポート、HGW機器103のIPアドレス及び受信パケットを転送先に送信する際に用いられるポートは既に開かれているものとする。また、フィルタリング記憶部のプロトコル、送信元ポート番号及び宛先ポート番号には、“all”が設定されているものとする。
まず、LANインタフェース202がLAN側の端末からパケットを受信する(S2101)。
パケットを受信すると、ルーティング処理部1303は受信パケットに対するフィルタエントリがフィルタテーブルに作成されているか判別する(S2102)。作成されていると判別されると、ルーティング処理部1303は受信パケットのルーティング処理を行う(S2110)。一方、作成されていないと判別されると、ルーティング処理部1303は受信パケットの送信元IPアドレス及び公開サーバのIPアドレスをフィルタ管理部1304に出力する(S2103)。
フィルタ管理部1304は、ルーティング処理部1303から受信パケットの送信元IPアドレス及び宛先IPアドレスを受け取ると、フィルタリングルール記憶部1305にフィルタリングルールが設定されているか検索する(S2104)。フィルタリングルールが設定されていないと判別されると、フィルタ管理部1304は受信パケットを通過させると判別する。以降、S2109に進む。一方、フィルタリングルールが設定されていると判別されると、フィルタ管理部1304はフィルタリングルールから公開サーバの端末名を取得する(S2105)。フィルタ管理部1304は、取得した公開サーバの端末名に付されているIPアドレスを知るためにDNS処理部206に公開サーバの端末名を出力する。
DNS処理部206は、フィルタ管理部1304から出力された公開サーバに付されているIPアドレスをDNSサーバ104から取得し、取得したIPアドレスをフィルタ管理部1304に出力する(S2106)。
フィルタ管理部1304は、DNS処理部206からIPアドレスを受け取れない場合、ルーティング処理部1303に受信パケットを破棄する旨通知し、これに応じてルーティング処理部1303は受信パケットを破棄する(S2112)。一方、フィルタ管理部1304は、DNS処理部206からIPアドレスを受け取ると、DNS処理部206から受け取ったIPアドレスの中から、ルーティング処理部1303から出力された公開サーバのIPアドレスと一致するものを検索する(S2107)。一致するものが検索されない場合、フィルタ管理部1304は受信パケットを破棄する旨ルーティング処理部1303に通知し、これに応じてルーティング処理部1303は受信パケットを破棄する(S2112)。一方、一致するものが検索された場合、フィルタ管理部1304は、検索されたIPアドレスの付されている公開サーバのIPアドレスに対応付けられているルールの優先度をフィルタリングルール記憶部1305から取得し、取得されたルールのうち、優先度の高いルールのSTATUSを取得する(S2108)。フィルタ管理部1304は、取得されたSTATUSが“拒絶”の場合、ルーティング処理部1303に受信パケットを破棄する旨通知し、これを受けてルーティング処理部1303は受信パケットを破棄する(S2112)。一方、STATUSが“許可”の場合、フィルタ管理部1304は、受信パケットを通過させると判別する。受信パケットを通過させると判別すると、フィルタ管理部1304は、通過させるパケットの条件を定義付けたフィルタエントリをフィルタテーブル1307に作成する(S2109)。
フィルタテーブル1307にフィルタエントリが作成されると、ルーティング処理部1303は受信パケットのルーティング処理を行う(S2110)。
WANインタフェース202は、ルーティング処理に基づいてパケットを公開サーバに送信する(S2111)。
次に図21を参照して、上記実施の形態2の端末とサーバとの接続の終了について説明する。
端末からサーバへパケットを転送してから次の当該フィルタエントリのパケットを受信するまでの時間が、フィルタ管理部1304で管理しているフィルタタイマに記されている時間分経過するかを監視する(S2001)。時間分経過すると、フィルタ管理部1304は当該フィルタエントリを削除する(S2002)。
また、本実施の形態に加えて、受信したパケットがホスト名を解決できなかったパケットであるか否か判定する判定部と、ホスト名が解決できなかったパケットを記憶する記憶部とを更に有するようにしても良い。当該記憶部には、DNS処理部206によってホスト名が解決できなかったパケットのヘッダ情報を記憶させる。判定部は、パケットを受信すると、受信したパケットのヘッダ情報を記憶部から検索する。検索された場合は、当該受信したパケットのホスト名解決を行わず、受信パケットを削除するようにしても良い。
上述のように、本実施の形態では、転送装置に搭載されているパケットフィルタリング機能において、端末名を設定することによってアクセス制限ができるように構成されている。
従って、転送装置の機能を改造することで実装ができるため、転送装置に新規の機能を追加する必要がなく、開発コストが抑えられる。
(実施例1)
続いて、本願発明の実施例1について、図1、図3、図5、図8及び図9Aを用いて説明する。本実施例は、上記第1の実施の形態に対応する実施例である。尚、以下の説明では、端末105は、HGW機器103に接続し、サーバ101にアクセスするための設定処理を既に行い、アクセス条件記憶部205には図3に示される条件が設定されているものとする。また、NATテーブル207はまだ設定されていないものとする。DNSサーバ104には図9Aに示されるデータが記憶されているものとする。さらに、HGW機器103がLANに接続された時に、転送先のサーバのIPアドレス“192.168.0.2”がHGW機器103のLANのIPアドレスとして設定される。HGW機器103がWANに接続された時に、自装置のIPアドレス“172.16.31.2”がHGW機器103のGatewayのIPアドレスとして設定される。
まず、端末105から、宛先IPアドレスに“172.16.31.2”が、送信元端末IPアドレスに“10.100.0.100”がヘッダ情報に挿入されたパケットが送信される(801)。
HGW機器103は、端末105からのパケットを受信する。この受信パケットの送信元IPアドレスと宛先IPアドレスとが対応付けられたNAT sessionを検索する。ここでは、NAT sessionがまだ作成されていないため検索されない(802)。
NAT管理部204は、DMZエントリから送信元端末名を読みだす。図3に示す例では、“Client1.xxx.com”、“Client4.xxx.com”及び“Client8.xxx.com”を読みだす(803)。
DNS処理部206は、WANインタフェース201を介して、Client1.xxx.com”、“Client4.xxx.com”及び“Client8.xxx.com”のIPアドレスの送信要求DNSクエリをDNSサーバ104に送信する(804)。
DNSサーバ104はDNSクエリに応答して、端末名“Client1.xxx.com”端末名“Client4.xxx.com”及び端末名“Client8.xxx.com”に対応付けられているIPアドレスを其々取得して、HGW機器に送信する。ここでは、図9Aに示されているように“Client1.xxx.com”に対応するIPアドレスとして“10.100.0.100”、“Client4.xxx.com”に対応するIPアドレスとして“10.100.0.400”及び“Client8.xxx.com”に対応するIPアドレスとして“10.100.0.800”が取得され、送信される(805)。
NAT管理部204は、取得されたIPアドレス“10.100.0.100”、“10.100.0.400”又は“10.100.0.800”が、受信パケットの転送情報の送信元IPアドレス“10.100.0.100”と一致するか判定する(806)。ここでは、送信元IPアドレスに“10.100.0.100”が記されているため、図3に示す例では一番上のDMZエントリが該当することがわかる。該当するDMZエントリの公開サーバのIPアドレスに“192.168.0.2”が設定されているため、NAT管理部204は、受信パケットをサーバ1に送信すると判断する。NAT管理部204は、この公開サーバのIPアドレスを転送条件として定義付けたNAT sessionを作成する(807)。この時、NAT sessionの受信パケットのプロトコルには“TCP”が登録される。LANのIPアドレスには、LAN側との接続時に設定された公開サーバのIPアドレス“192.168.0.2”とポート番号“80”とが登録される。GatewayのIPアドレスには、自装置のIPアドレス“172.16.31.2”とポート番号“80”とが登録される。WANのIPアドレスには、送信元の端末のIPアドレス“10.100.0.100”とポート番号“1024”とが登録される。NAT sessionタイマには予め定められた値が登録される。この状態を示したものが図5の1テーブル目になる。
NATテーブル207にNAT sessionが作成されると、NAT処理部203は端末105から受信したパケットのNAT sessionがNATテーブル207に作成されているかどうか判別する。ここでは、NATテーブル207には、図5に示されるNAT sessionが作成されたので、NAT処理部203は、NAT sessionがNATテーブル207に作成されていると判別する。
端末105から送信されたパケットは、NATテーブル207のNAT sessionに従ったNAT処理が行われ、HGW機器103のLAN内の、IPアドレスに“192.168.0.2”が付されているサーバ101に転送される(808)。
(実施例2)
続いて、本願発明の実施例2について、図1、図3、図5、図9B及び図11を用いて説明する。本実施例は、上記第1の実施の形態に対応する実施例である。尚、以下の説明では、端末105は、HGW機器103に接続し、サーバ101にアクセスするための設定処理を既に行い、アクセス条件記憶部205には図3に示される条件が設定されているものとする。また、NATテーブル207はまだ設定されていないものとする。DNSサーバ104には図9Bに示されるデータが記憶されているものとする。さらに、HGW機器103がLANに接続された時に、転送先のサーバのIPアドレス“192.168.0.2”がHGW機器103のLANのIPアドレスとして設定される。HGW機器103がWANに接続された時に、自装置のIPアドレス“172.16.31.2”がHGW機器103のGatewayのIPアドレスとして設定される。
まず、端末105から、宛先IPアドレスに“172.16.31.2”が、送信元端末IPアドレスに“10.100.0.100”がヘッダ情報に挿入されたパケットが送信される(1101)。
HGW機器103は、端末105からのパケットを受信する。この受信パケットの送信元IPアドレスと宛先IPアドレスとが対応付けられたNAT sessionを検索する。ここでは、NAT sessionがまだ作成されていないため検索されない(1102)。
NAT管理部204は、DMZエントリから送信元端末名を読みだす。図3に示す例では、
“Client1.xxx.com”、“Client4.xxx.com”及び“Client8.xxx.com”を読みだす(1103)。
DNS処理部206は、WANインタフェース201を介して、Client1.xxx.com”、“Client4.xxx.com”及び“Client8.xxx.com”のIPアドレスの送信要求DNSクエリをDNSサーバ104に送信する(1104)。
DNSサーバ104はDNSクエリに応答して、端末名“Client1.xxx.com”、端末名“Client4.xxx.com”及び“Client8.xxx.com”に対応付けられているIPアドレスを其々取得して、HGW機器103に送信する。ここでは、図9Bに示されているようにDNSサーバ104には“Client1.xxx.com”、“Client4.xxx.com”及び“Client8.xxx.com”が登録されていないため、DNSサーバ104は、端末名に対応付けられているIPアドレスが取得できない旨、HGW機器103に送信する(1105)。
HGW機器103は、DNSサーバ104から、端末名に対応付けられているIPアドレスが取得できない旨受信すると、受信したパケットを破棄する(1106)。
(実施例3)
続いて、本願発明の実施例3について、図1、図3、図5、図9A及び図12を用いて説明する。本実施例は、上記第1の実施の形態に対応する実施例である。尚、以下の説明では、端末106は、HGW機器103に接続し、サーバ101にアクセスするための設定処理を既に行い、アクセス条件記憶部205には図3に示される条件が設定されているものとする。また、NATテーブル207はまだ設定されていないものとする。DNSサーバ104には図9Aに示されるデータが記憶されているものとする。さらに、HGW機器103がLANに接続された時に、転送先のサーバのIPアドレス“192.168.0.2”がHGW機器103のLANのIPアドレスとして設定される。HGW機器103がWANに接続された時に、自装置のIPアドレス“172.16.31.2”がHGW機器103のGatewayのIPアドレスとして設定される。
まず、端末106から、宛先IPアドレスに“172.16.31.2”が、送信元端末IPアドレスに“10.100.0.200”がヘッダ情報に挿入されたパケットが送信される(1201)。
HGW機器103は、端末106からのパケットを受信する。この受信パケットの送信元IPアドレスと宛先IPアドレスとが対応付けられたNAT sessionを検索する。ここでは、NAT sessionがまだ作成されていないため検索されない(1202)。
NAT管理部204は、DMZエントリから送信元端末名を読みだす。図3に示す例では、“Client1.xxx.com”、“Client4.xxx.com”及び“Client8.xxx.com”を読みだす(1203)。
DNS処理部206は、WANインタフェース201を介して、Client1.xxx.com”、“Client4.xxx.com”及び“Client8.xxx.com”のIPアドレスの送信要求DNSクエリをDNSサーバ104に送信する(1204)。
DNSサーバ104はDNSクエリに応答して、端末名“Client1.xxx.com”端末名“Client4.xxx.com”及び端末名“Client8.xxx.com”に対応付けられているIPアドレスを其々取得して、HGW機器に送信する。ここでは、図9Aに示されているように“Client1.xxx.com”に対応するIPアドレスとして“10.100.0.100”、“Client4.xxx.com”に対応するIPアドレスとして“10.100.0.400”、“Client8.xxx.com”に対応するIPアドレスとして“10.100.0.800”が取得され、送信される(1205)。
NAT管理部204は、取得されたIPアドレス“10.100.0.100”、“10.100.0.400”又は“10.100.0.800”が、受信パケットの転送情報の送信元IPアドレス“10.100.0.200”と一致するか判定する。ここでは、送信元IPアドレスに“10.100.0.200”が記されているため、一致しないと判定する。一致しないと判定されるとHGW機器103は受信パケットを破棄する(1206)。
(実施例4)
続いて、本願発明の実施例4について、図1、図14、図17、図9A、図22及び図23を用いて説明する。本実施例は、上記第2の実施の形態に対応する実施例である。尚、以下の説明では、端末105は、HGW機器103に接続し、サーバ101にアクセスするための設定処理を既に行い、フィルタリングルール記憶部1305には図21に示される条件が設定されているものとする。DNSサーバ104には図9Aに示されるデータが記憶されているものとする。アクセス条件記憶部205には図3に示されるデータが設定されているものとする。また、フィルタテーブル1307はまだ設定されていないものとする。
まず、WANに設置されている端末105から、宛先IPアドレスに“172.16.31.2”が、送信元端末IPアドレスに“10.100.0.100”がヘッダ情報に挿入されたパケットが送信される(1601)。
HGW機器103は、端末105からのパケットを受信すると、
HGW機器103は、この受信パケットの送信元IPアドレスと宛先IPアドレスとが対応付けられたフィルタエントリを検索する。ここでは、フィルタエントリがまだ作成されていないため検索されない(1602)。
HGW機器103は、フィルタリングルール記憶部にdownstream方向(WAN→LAN)のフィルタリングルールが設定されているかを判別する(1603)。ここでは、フィルタリングルールがあると判別される。
フィルタリングルールが設定されていると判別されると、DNS処理部206は、WANインタフェース201を介して、フィルタリングルールから送信元に関する情報を取得し、取得された送信元に関する情報の“Client1.xxx.com”、“Client4.xxx.com”及び“Client8.xxx.com”のIPアドレスの送信要求DNSクエリをDNSサーバ104に送信する(1604)。
DNSサーバ104はDNSクエリに応答して、端末名“Client1.xxx.com”、“Client4.xxx.com”及び“Client8.xxx.com”に対応付けられているIPアドレスを取得して、HGW機器に送信する。ここでは、図9Aに示されているように“Client1.xxx.com”、“Client4.xxx.com”及び“Client8.xxx.com”に対応するIPアドレスとして“10.100.0.100”、“10.100.0.400”及び“10.100.0.800”が取得され、送信される(1605)。
DNS処理部206がIPアドレスを取得できた場合、取得したIPアドレスがフィルタ管理部1304に出力される。フィルタ管理部1304は出力されたIPアドレス“10.100.0.100”、“10.100.0.400”又は“10.100.0.800”が受信パケットの送信元IPアドレス“10.100.0.100”と一致するか判定する(1606)。ここでは、送信元IPアドレスに“10.100.0.100”が記されているため、図20に示す例ではエントリ番号1のフィルタリングルールとエントリ番号4のフィルタリングルールとが該当することがわかる。エントリ番号1のフィルタリングルールの優先度には“1”が設定されている。エントリ番号4のフィルタリングルールの優先度には“4”が設定されている。従って、エントリ番号1のフィルタリングルールの方がエントリ番号4のフィルタリングルールよりも優先度が高いと判定され、エントリ番号1のフィルタリングルールのSTATUSを取得する。取得したSTATUSには“許可”が設定されているため、HGW機器103は、受信パケットを通過させると判別する(1607)。受信パケットを通過させると判別されると、HGW機器103は、DMZエントリから送信元端末名を読みだす。図3に示す例では、“Client1.xxx.com”、“Client4.xxx.com”及び“Client8.xxx.com”を読みだす(1608)。
DNS処理部206は、1605で取得したIPアドレスのうち、“Client1.xxx.com”、“Client4.xxx.com”及び“Client8.xxx.com”のIPアドレスをフィルタ管理部1304に出力する。ここでは、“Client1.xxx.com”、“Client4.xxx.com”及び“Client8.xxx.com”に対応するIPアドレスとして“10.100.0.100”、“10.100.0.400”及び“10.100.0.800”が出力される(1609)。
フィルタ管理部1304はDNS処理部206から受け取ったIPアドレス“10.100.0.100”、“10.100.0.400”又は“10.100.0.800”と、受信パケットの送信元IPアドレス“10.100.0.100”とが一致するか判定する(1610)。ここでは、送信元IPアドレスに“10.100.0.100”が記されているため、図3に示す例では一番上のDMZエントリが該当することがわかる。該当するDMZエントリの公開サーバのIPアドレスに“192.168.0.2”が設定されているため、フィルタ管理部1304は、受信パケットをサーバ1に送信すると判断する。フィルタ管理部1304は、この公開サーバのIPアドレスを転送条件として定義付けたフィルタエントリを作成する(1611)。この時、公開サーバのIPアドレスには“192.168.0.2”が登録される。送信元IPアドレスには、“10.100.0.100”が登録される。プロトコルには“TCP”が登録される。送信元ポート番号には“80”が登録される。宛先ポート番号には“80”が登録される。フィルタタイマには予め定められた値が登録される。この状態を示したものが図14の2テーブル目になる。
フィルタテーブル1307にフィルタエントリが作成されると、端末105から送信されたパケットは、フィルタテーブル1307のフィルタエントリに従ったルーティング処理が行われ、HGW機器103のLAN内の、IPアドレスに“192.168.0.2”が付されているサーバ101に転送される(1612)。
本実施例では、図17の1607の判定において一致すると判定されたフィルタリングルールが複数存在する場合に、優先度の高いフィルタリングルールを適用する場合について説明したが、これに限らない。図17の1603において、優先度の高い順にフィルタリングルールを取得し、図17の1604〜図17の1606まで処理を行い、図17の1606で、DNS処理部206から出力されたIPアドレスが受信パケットの送信元IPアドレスと一致しないと判定された場合に、次に優先度の高いフィルタリングルールを取得し、図17の1604〜図17の1606まで処理を行うようにしても良い。受信パケットの情報に一致するフィルタリングルールが見つかるまで、又は、フィルタリングルール全てとの判定が終了するまで、優先度の高い順に上記処理を繰り返す。
(実施例5)
続いて、本願発明の実施例5について、図1、図14、図18図9B、図22及び図23を用いて説明する。本実施例は、上記第2の実施の形態に対応する実施例である。尚、以下の説明では、端末106は、HGW機器103に接続し、サーバ101にアクセスするための設定処理を既に行い、フィルタリングルール記憶部1305には図21に示される条件が設定されているものとする。DNSサーバ104には図9Bに示されるデータが記憶されているものとする。また、フィルタテーブル1307はまだ設定されていないものとする。
まず、WANに設置されている端末106から、宛先IPアドレスに“172.16.31.2”が、送信元端末IPアドレスに“10.100.0.200”がヘッダ情報に挿入されたパケットが送信される(1701)。
HGW機器103は、端末106からのパケットを受信すると、HGW機器103は、この受信パケットの送信元IPアドレスと宛先IPアドレスとが対応付けられたフィルタエントリを検索する。ここでは、フィルタエントリがまだ作成されていないため検索されない(1702)。
HGW機器103は、フィルタリングルール記憶部にdownstream方向(WAN→LAN)のフィルタリングルールが設定されているかを判別する(1703)。ここでは、フィルタリングルールがあると判別される。
フィルタリングルールが設定されていると判別されると、DNS処理部206は、WANインタフェース201を介して、フィルタリングルールから送信元に関する情報を取得し、取得された送信元に関する情報の“Client1.xxx.com”、“Client4.xxx.com”及び“Client8.xxx.com”のIPアドレスの送信要求DNSクエリをDNSサーバ104に送信する(1704)。
DNSサーバ104はDNSクエリに応答して、端末名“Client1.xxx.com”、“Client4.xxx.com”及び“Client8.xxx.com”に対応付けられているIPアドレスを取得して、HGW機器に送信する。ここでは、図9Bに示されているように“Client1.xxx.com”、“Client4.xxx.com”及び“Client8.xxx.com”に対応付けられているIPアドレスが存在しないため、DNSサーバ104は、端末名に対応付けられているIPアドレスが取得できない旨、HGW機器103に送信する(1705)。
DNS処理部206はIPアドレスを取得できなかったため、HGW機器103は、受信パケットを破棄する。
(実施例6)
続いて、本願発明の実施例6について、図1、図14、図19、図9A、図22及び図23を用いて説明する。本実施例は、上記第2の実施の形態に対応する実施例である。尚、以下の説明では、フィルタリングルール記憶部1305には図21に示される条件が設定されているものとする。DNSサーバ104には図9Aに示されるデータが記憶されているものとする。また、フィルタテーブル1307はまだ設定されていないものとする。
まず、WANに設置されている端末107から、宛先IPアドレスに“172.16.31.2”が、送信元端末IPアドレスに“10.100.0.300”がヘッダ情報に挿入されたパケットが送信される(1801)。
HGW機器103は、端末107からのパケットを受信すると、HGW機器103は、この受信パケットの送信元IPアドレスと宛先IPアドレスとが対応付けられたフィルタエントリを検索する。ここでは、フィルタエントリがまだ作成されていないため検索されない(1802)。
HGW機器103は、フィルタリングルール記憶部にdownstream方向(WAN→LAN)のフィルタリングルールが設定されているかを判別する(1803)。ここでは、フィルタリングルールがあると判別される。
フィルタリングルールが設定されていると判別されると、DNS処理部206は、WANインタフェース201を介して、フィルタリングルールから送信元に関する情報を取得し、取得された送信元に関する情報の“Client1.xxx.com”、“Client4.xxx.com”及び“Client8.xxx.com”のIPアドレスの送信要求DNSクエリをDNSサーバ104に送信する(1804)。
DNSサーバ104はDNSクエリに応答して、端末名“Client1.xxx.com”、“Client4.xxx.com”及び“Client8.xxx.com”に対応付けられているIPアドレスを取得して、HGW機器に送信する。ここでは、図9Aに示されているように“Client1.xxx.com”、“Client4.xxx.com”及び“Client8.xxx.com”に対応するIPアドレスとして“10.100.0.100”、“10.100.0.400”及び“10.100.0.800”が取得され、送信される(1805)。
DNS処理部206がIPアドレスを取得できた場合、取得したIPアドレスがフィルタ管理部1304に出力される。フィルタ管理部1304は出力されたIPアドレス“10.100.0.100”、“10.100.0.400”又は“10.100.0.800”が受信パケットの送信元IPアドレス“10.100.0.300”と一致するか判定する。ここでは、送信元IPアドレスに“10.100.0.300”が記されているため、一致しないと判別される。
一致しないと判別されると、HGW機器103は受信パケットを破棄する(1806)。
尚、上述した本発明の端末は、上記説明からも明らかなように、ハードウェアで構成することも可能であるが、コンピュータプログラムにより実現することも可能である。このような構成の場合、プログラムメモリに格納されているプログラムで動作するプロセッサによって、上述した実施の形態と同様の機能、動作を実現させる。尚、上述した実施の形態の一部の機能をコンピュータプログラムにより実現することも可能である。
上述のように、本発明によれば、任意の端末以外の端末が装置にアクセスすることを拒絶することができる。