JP6215144B2 - 制御装置、制御方法、および、制御プログラム - Google Patents

制御装置、制御方法、および、制御プログラム Download PDF

Info

Publication number
JP6215144B2
JP6215144B2 JP2014137571A JP2014137571A JP6215144B2 JP 6215144 B2 JP6215144 B2 JP 6215144B2 JP 2014137571 A JP2014137571 A JP 2014137571A JP 2014137571 A JP2014137571 A JP 2014137571A JP 6215144 B2 JP6215144 B2 JP 6215144B2
Authority
JP
Japan
Prior art keywords
address
border router
global
notification
base
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
JP2014137571A
Other languages
English (en)
Other versions
JP2016015674A (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 JP2014137571A priority Critical patent/JP6215144B2/ja
Publication of JP2016015674A publication Critical patent/JP2016015674A/ja
Application granted granted Critical
Publication of JP6215144B2 publication Critical patent/JP6215144B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Description

本発明は、制御装置、制御方法、および、制御プログラムに関する。
仮想環境を構築する技術としてOpenStack(登録商標)と呼ばれる技術が普及している。また、このOpenStack(登録商標)を用い、複数のデータセンタ等、複数の拠点を仮想L2(レイヤ2)ネットワークで接続する技術も提案されている(非特許文献1〜3)。
OpenStack、[online]、[平成26年6月16日検索]、インターネット<URL:http://www.openstack.org/> 石井久治他、「オープンソースIaaS クラウド基盤OpenStack」、NTT技術ジャーナルVol.23、No.8、2011. 北爪秀雄他、「クラウドサービスを支えるネットワーク仮想化技術」、NTT技術ジャーナルVol.23、No.10、2011. 永渕幸雄他、「データセンタ間ライブマイグレーションにおける冗長経路回避に向けた経路制御方式の提案」、信学技報、IN2013-48、pp.71-76、Jul.2013. DDoS攻撃の軽減対策、[online]、[平成26年6月16日検索]、インターネット<URL:http://www.cisco.com/web/JP/product/hs/security/tad/tech/pdf/dda_wp.pdf> DNSラウンドロビン、[online]、[平成26年6月16日検索]、インターネット<URL:http://ja.wikipedia.org/wiki/DNS%E3%83%A9%E3%82%A6%E3%83%B3%E3%83%89%E3%83%AD%E3%83%93%E3%83%B3> Cricket Liu他、「DNS&BIND」、オライリー・ジャパン、2008年12月
ここでデータセンタ内の特定のIP(Internet Protocol)機器が、大量のパケットDDoS(Distributed Denial of Service)攻撃を受けた場合、当該データセンタへの入り口に設置されたFW(FireWall)に攻撃パケットが集中する。その結果、当該データセンタ内のIP機器が正規ユーザ(攻撃者以外のユーザ)に対し、継続してサービスを提供できないおそれがあった。そこで、本発明は前記した問題を解決し、DDoS攻撃等の攻撃を受けた場合でも継続してサービスを提供することを課題とする。
前記した課題を解決するため、本発明は、仮想ネットワークにより相互に接続される複数の拠点に設置され、当該拠点内の機器と外部ネットワークとの通信を中継する境界ルータに対し、各種制御を行う制御装置であって、いずれか拠点の境界ルータから、前記拠点内の機器へのパケットの集中を検知した旨の通知を受信する通知受信部と、前記通知受信部により前記通知を受信したとき、当該機器のホスト名の名前解決を行うDNSサーバに対し、前記境界ルータそれぞれのNAT(Network Address Translation)テーブルに設定された当該機器のグローバルIPアドレス群を通知し、当該機器のホスト名の名前解決を行う際、前記グローバルIPアドレス群を用いたDNSラウンドロビンを行うよう指示する指示部とを備えることを特徴とする。
本発明によれば、DDoS攻撃等の攻撃を受けた場合でも継続してサービスを提供することができる。
図1は、システムの全体構成の一例を示す図である。 図2は、DNSラウンドロビン実行後のシステムの状態の一例を示す図である。 図3は、境界ルータの構成を示す図である。 図4は、境界ルータのNATテーブルの一例を示す図である。 図5は、DNSサーバの構成を示す図である。 図6は、クラウドコントローラの構成を示す図である。 図7は、グローバルIPアドレス帯情報の一例を示す図である。 図8は、第1の実施形態のクラウドコントローラの処理手順を示すフローチャートである。 図9は、第1の実施形態のシステムの効果を説明する図である。 図10は、第2の実施形態のシステムの全体構成の一例を示す図である。 図11は、第2の実施形態のクラウドコントローラの処理手順を示すフローチャートである。 図12は、制御プログラムを実行するコンピュータを示す図である。
以下、図面を参照しながら、本発明を実施するための形態(実施形態)について説明する。なお、本発明は本実施形態に限定されない。
(第1の実施形態)
(全体構成)
まず、図1を用いてシステムの全体構成を説明する。システムは、データセンタ(データセンタ1,2,3)と、ユーザ端末10(10A〜10E)と、DNS(Domain Name System)サーバ40と、クラウドコントローラ50とを備える。これらは、インターネット等のネットワーク60で接続される。
データセンタはそれぞれ、境界ルータ30と1以上のVM(Virtual Machine)とを備える。ここでは、データセンタ1は境界ルータ30Aを備え、データセンタ2は境界ルータ30Bを備え、データセンタ3は境界ルータ30Cを備える場合を例に説明する。
境界ルータ30(30A,30B,30C)は、ネットワーク60に接続され、ユーザ端末10と各データセンタの各VMとの通信を中継する。なお、各境界ルータ30は、仮想L2(レイヤ2)ネットワーク21で構成されるデータセンタ1,2,3の共通のネットワークセグメント22とネットワーク60を分割する。
例えば、境界ルータ30Aのインタフェース31には、データセンタ1に割り当てられたIPアドレス帯「aaa.bbb.ccc.0/24」から選択されたIPアドレス(グローバルIPアドレス)「aaa.bbb.ccc.101」が設定される。同様に、境界ルータ30Bにも、当該境界ルータ30Bの属するデータセンタ2に割り当てられたIPアドレス帯から選択されたIPアドレスが設定され、境界ルータ30Cにも、当該境界ルータ30Cの属するデータセンタ3に割り当てられたIPアドレス帯から選択されたIPアドレスが設定される。
境界ルータ30は、NAT(Network Address Translation)機能を備え、NATテーブルにより、各VMのグローバルIPアドレス−プライベートIPアドレス間の相互変換を行う。例えば、境界ルータ30Aは、VM(A)宛のパケットを受信すると、パケットの宛先のグローバルIPアドレス(例えば、「aaa.bbb.ccc.101」)を、当該VM(A)のプライベートIPアドレス(例えば、「xxx.yyy.zzz.101」)に変換して、データセンタ1の内部のVM(A)へ転送する。なお、各データセンタ間は仮想L2ネットワーク21で接続されており、どの境界ルータ30がパケットを受信した場合でも、当該パケットは宛先のVMへ転送される。
また、境界ルータ30は、いわゆるFW(FireWall)としての機能も備え、DDoS(Distributed Denial of Service)攻撃等の攻撃を検知した場合、攻撃パケットのフィルタリングを行う。また、境界ルータ30は、攻撃を検知した旨を、クラウドコントローラ50へ通知する。この境界ルータ30は、物理マシンにより実現されてもよいし、仮想マシンにより実現されてもよい。
VMは、仮想L2ネットワーク21および境界ルータ30を介してユーザ端末10との通信を実行する。このVMは、例えば、WebサーバやDBサーバ等を実行する仮想マシンである。このVMは、データセンタ内に設置される物理リソースにより実現される。なお、物理リソースは、通信インタフェース、プロセッサ、メモリ、ハードディスク等である。
なお、各データセンタ内の境界ルータ30およびVMは、仮想スイッチ(図示省略)により仮想L2ネットワーク21に接続される。この仮想L2ネットワーク21は、各データセンタ間を接続する論理的なL2ネットワークである。この仮想L2ネットワーク21はいわゆる仮想化技術により実現してもよいし、それ以外の技術により実現してもよい。
ユーザ端末10は、ネットワーク60経由で各データセンタ内のVMにアクセスし、VMから各種サービスの提供を受ける。このユーザ端末10は、例えば、パーソナルコンピュータやスマートフォン等である。
DNSサーバ40は、アクセス先のホスト名の名前解決を行う。例えば、DNSサーバ40は、ユーザ端末10からアクセス先のVMのホスト名の名前解決の要求を受け付けると、このホスト名に対応するIPアドレスを返す。そして、ユーザ端末10は、当該IPアドレスを用いてVMへアクセスする。また、このDNSサーバ40は、クラウドコントローラ50からの指示に基づきDNSラウンドロビンを設定する。そして、DNSサーバ40はDNSラウンドロビンによりホスト名に対応するIPアドレスの選択を行う。つまり、DNSサーバ40は、同じホスト名(例えば、「hoge.xxxx.co.jp」)に対し複数のIPアドレス(例えば、「aaa.bbb.ccc.101」、「ddd.eee.fff.101」、「ggg.hhh.iii.101」)を割り当てておき、当該ホスト名の名前解決の要求を受けたときに、このホスト名に対応するIPアドレスをラウンドロビンにより選択する。
クラウドコントローラ50は、データセンタ内の各機器(例えば、境界ルータ30やVM)や、DNSサーバ40の制御を行う。例えば、クラウドコントローラ50は、境界ルータ30に対するNAT用のIPアドレスの設定や、DNSサーバ40に対するDNSラウンドロビンの設定を行う。
次に、上記のシステムにおける動作概要を説明する。ここでは、データセンタ1の境界ルータ30Aが、VM(A)に対するDDoS攻撃を検知した場合を例に説明する。例えば、データセンタ1の境界ルータ30AがDDoS攻撃を検知すると(S1)、クラウドコントローラ50へDDoS攻撃の検知を通知する(S2)。この通知を受けたクラウドコントローラ50は、データセンタ2,3それぞれに割り当てられたグローバルIPアドレス帯から、NAT用のIPアドレスを選択する(S3)。そして、クラウドコントローラ50は、各境界ルータ30にNATの設定を行う(S4)。つまり、クラウドコントローラ50は、境界ルータ30A,30BそれぞれのNATテーブルにS3で選択したVM(A)のグローバルIPアドレスを設定する。
その後、クラウドコントローラ50は、S4で設定したグローバルIPアドレスを用いてDNSラウンドロビンを設定するようDNSサーバ40に対し指示し、DNSサーバ40はこの指示に基づきDNSラウンドロビンを設定する(S5)。例えば、図1の符号101の「設定前」に示すように、DNSサーバ40に、「hoge.xxxx.co.jp IN A aaa.bbb.ccc.101」、つまり、VM(A)のホスト名が「hoge.xxxx.co.jp」であり、このホスト名に対するIPアドレスが「aaa.bbb.ccc.101」である旨が設定されていた場合を考える。この場合、DNSラウンドロビンの指示を受けたDNSサーバ40は、図1の符号102の「設定後」に示すように、「hoge.xxxx.co.jp IN A aaa.bbb.ccc.101」に「hoge.xxxx.co.jp IN A ddd.eee.fff.101」と「hoge.xxxx.co.jp IN A ggg.hhh.iii.101」を追加する。つまり、DNSサーバ40は、このホスト名に対するIPアドレスとして「ddd.eee.fff.101」および「ggg.hhh.iii.101」を追加する。そして、DNSサーバ40は、ユーザ端末10からホスト名「hoge.xxxx.co.jp」の名前解決の要求を受信したとき、ラウンドロビンにより「aaa.bbb.ccc.101」、「ddd.eee.fff.101」、「ggg.hhh.iii.101」の中から選択したIPアドレスを返す。
これにより、例えば、図2に示すように各ユーザ端末10からVM(A)へトラヒックは、境界ルータ30A,30B,30Cに分散される。例えば、攻撃者のユーザ端末10(10A,10B,10C)からVM(A)への攻撃パケットは境界ルータ30A,30B,30Cに分散される。その結果、境界ルータ30Aへの攻撃パケットの集中が緩和され、正規ユーザのユーザ端末10(例えば、ユーザ端末10D,10E)はVM(A)へアクセスしやすくなる。つまり、システムは、DDoS攻撃を受けた場合でもユーザ端末10に対し継続してサービスを提供することができる。
(境界ルータ)
次に、システムの各構成要素を詳細に説明する。まず、図3を用いて境界ルータ30を説明する。
前記したとおり、境界ルータ30は、ネットワーク60に接続され、ユーザ端末10と各データセンタの各VMとの通信を中継する。この境界ルータ30は、インタフェース31,34と、記憶部32と、制御部33とを備える。
インタフェース31は、境界ルータ30とネットワーク60とを接続するインタフェースである。このインタフェース31には、この境界ルータ30の属するデータセンタのIPアドレス帯から選択されたグローバルIPアドレスが設定される。インタフェース34は、境界ルータ30と仮想L2ネットワーク21、VMを接続するインタフェースである。
記憶部32は、NATテーブルを記憶する。NATテーブルは、VMのグローバルIPアドレスとプライベートIPアドレスとを対応付けた情報である。例えば、図4に示すNATテーブルは、境界ルータ30AにおけるNATテーブルであり、このNATテーブルにおいて、グローバルIPアドレス「aaa.bbb.ccc.101」に対するプライベートIPアドレスは「xxx.yyy.zzz.101」であることを示す。このNATテーブルは、経路制御部332(後記)がNATを行うときに参照される。また、このNATテーブルは、クラウドコントローラ50からの指示に基づき変更される。
制御部33は、NATテーブル管理部331と、経路制御部332と、攻撃通知部333と、フィルタリング部334とを備える。
NATテーブル管理部331は、外部装置からの指示に基づきNATテーブル(図4参照)を更新する。例えば、クラウドコントローラ50から、NATテーブルに、VM(A)のプライベートIPアドレスに対するグローバルIPアドレスの設定変更指示があった場合、これに応じてNATテーブルの設定変更を行う。
経路制御部332は、インタフェース31,34経由で入力されたパケットの経路制御を行う。例えば、インタフェース31経由でユーザ端末10からVMへのパケットを受信すると、このパケットを当該VMへ転送する。このとき経路制御部332は、NATテーブル(図4参照)を参照して、パケットに付されたグローバルIPアドレスとプライベートIPアドレスとのNAT変換を行う。
攻撃通知部333は、自身の境界ルータ30を経由するVMへのDDoS攻撃等の攻撃を検知した場合、攻撃を検知した旨を、クラウドコントローラ50へ通知する。
フィルタリング部334は、攻撃パケットのフィルタリングを行う。例えば、フィルタリング部334は受信したパケットのヘッダ情報を参照し、攻撃パケットと推定されるパケットを廃棄する。
なお、この境界ルータ30は、いわゆるFW機能を備えるルータにより実現されるものとして説明したが、ルータとFWとの2つの装置により実現してももちろんよい。
(DNSサーバ)
次に、図5を用いてDNSサーバ40を説明する。DNSサーバ40は、前記したとおり、アクセス先のホスト名の名前解決を行う。このDNSサーバ40は、通信制御部41と、記憶部42と、制御部43とを備える。
通信制御部41は、他の装置との通信を制御する。例えば、通信制御部41は、ユーザ端末10やクラウドコントローラ50との間で行われる通信を制御する。
記憶部42は、DNS情報を記憶する。このDNS情報は、ホスト名に対応するIPアドレス(グローバルIPアドレス)の情報を含む。このDNS情報は、ホスト名解決部432(後記)がホスト名の名前解決を行う際に参照される。このDNS情報は、例えば、図1の符号101に示す情報や、符号102に示す情報等である。
制御部43は、DNS情報管理部431と、ホスト名解決部432とを備える。
DNS情報管理部431は、クラウドコントローラ50からの指示に基づき、DNS情報を更新する。例えば、VM(A)のホスト名「hoge.xxxx.co.jp」に対するIPアドレスとして「ddd.eee.fff.101」および「ggg.hhh.iii.101」を追加する旨の指示を受け付けたとき、これに応じてDNS情報のVM(A)のホスト名「hoge.xxxx.co.jp」に対するIPアドレスに「ddd.eee.fff.101」および「ggg.hhh.iii.101」を追加する(図1の符号101→符号102参照)。
ホスト名解決部432は、DNS情報を参照して、ホスト名の名前解決を行う。例えば、ホスト名解決部432は、ユーザ端末10からVM(A)のホスト名の名前解決の要求を受け付けると、DNS情報を参照して、当該ホスト名に対応するIPアドレスを返す。このホスト名解決部432は、DNSラウンドロビン実行部433を備え、外部装置(例えば、クラウドコントローラ50)からDNSラウンドロビンの指示を受けたとき、DNSラウンドロビンによりホスト名に対応するIPアドレスを選択する。
例えば、DNSラウンドロビン実行部433は、クラウドコントローラ50からDNSラウンドロビンの指示を受けた後、VM(A)のホスト名「hoge.xxxx.co.jp」の名前解決の要求を受け付けたとき、DNS情報に示される当該ホスト名に対応するIPアドレス群(例えば、「aaa.bbb.ccc.101」、「ddd.eee.fff.101」、「ggg.hhh.iii.101」)の中からラウンドロビンによりVM(A)のIPアドレスを選択する。そして、ホスト名解決部432は、DNSラウンドロビン実行部433が選択したVM(A)のIPアドレスをユーザ端末10へ返す。
(クラウドコントローラ)
次に、図6を用いてクラウドコントローラ50を説明する。クラウドコントローラ50は、前記したとおりデータセンタ内の各機器(境界ルータ30やVM)や、DNSサーバ40の制御を行う。
クラウドコントローラ50は、通信制御部51と、記憶部52と、制御部53とを備える。通信制御部51は、他の装置との通信を制御する。例えば、通信制御部51は、境界ルータ30やDNSサーバ40との間で行われる通信を制御する。
記憶部52は、境界ルータ情報と、グローバルIPアドレス帯情報とを記憶する。
境界ルータ情報は、境界ルータ30ごとに当該境界ルータ30の属するデータセンタと、当該境界ルータ30のIPアドレスとを示した情報である。
グローバルIPアドレス帯情報は、各データセンタに割り当てられたグローバルIPアドレス帯を示した情報である。例えば、図7に示すグローバルIPアドレス帯情報において、データセンタ1に割り当てられたグローバルIPアドレス帯は「aaa.bbb.ccc.0/24」であり、データセンタ2に割り当てられたグローバルIPアドレス帯は「ddd.eee.fff.0/24」であることを示す。このグローバルIPアドレス帯情報は、NAT設定部532(後記)が、各境界ルータ30にNATの設定を行うときに参照される。
制御部53は、攻撃通知受信部531と、NAT設定部532と、DNSラウンドロビン指示部533とを備える。破線で示す判定部534およびマイグレーション実行部535は装備される場合と装備されない場合とがあり、装備される場合については、後記する。
攻撃通知受信部531は、境界ルータ30からの攻撃通知を受信する。
NAT設定部532は、攻撃通知受信部531により攻撃通知を受信したとき、各データセンタの境界ルータ30に対し、攻撃対象のVMのNATの設定を行う。なお、攻撃対象のVMの属するデータセンタ(例えば、データセンタ1)の境界ルータ30には既に当該VM(A)のNATの設定はされているので、NAT設定部532は、攻撃対象のVMの属するデータセンタ以外の各データセンタの境界ルータ30のNATの設定をする。
例えば、攻撃対象のVMがデータセンタ1のVM(A)である場合を例に説明する。この場合、NAT設定部532は、データセンタ2,3の各境界ルータ30に対し、グローバルIPアドレス帯情報(図7参照)を参照して、VM(A)のNAT用のIPアドレスを選択する。例えば、NAT設定部532は、グローバルIPアドレス帯情報(図7参照)を参照して、データセンタ2に割り当てられたグローバルIPアドレス帯「ddd.eee.fff.0/24」から、「ddd.eee.fff.101」を選択し、データセンタ3に割り当てられたグローバルIPアドレス帯「ggg.hhh.iii.0/24」から、「ggg.hhh.iii.101」を選択する。そして、NAT設定部532は、VMのプライベートIPアドレス(例えば、「xxx.yyy.zzz.101」)に対し、「ddd.eee.fff.101」を対応付けたNATの設定を、データセンタ2の境界ルータ30Bに行う。また、そして、NAT設定部532は、VMのプライベートIPアドレス(例えば、「xxx.yyy.zzz.101」)に対し、「ggg.hhh.iii.101」を対応付けたNATの設定を、データセンタ3の境界ルータ30Cに対し行う。なお、NAT設定部532は、NATに設定済みの各VMのIPアドレスを記憶部52に記憶しておき、NATの設定において各VM間でIPアドレスの重複がないようにする。
DNSラウンドロビン指示部533は、DNSサーバ40に対し、DNSラウンドロビンの実行指示を送信する。この実行指示は、攻撃対象のVMのホスト名(例えば、ホスト名「hoge.xxxx.co.jp」)と、NAT設定部532が選択した当該VMのグローバルIPアドレスとを含む。例えば、NAT設定部532が選択したVM(A)のグローバルIPアドレスが「ddd.eee.fff.101」および「ggg.hhh.iii.101」である場合、DNSラウンドロビン指示部533は、攻撃対象のVMのホスト名(例えば、ホスト名「hoge.xxxx.co.jp」)と、「ddd.eee.fff.101」および「ggg.hhh.iii.101」をDNSサーバ40へのDNSラウンドロビンの実行指示に含めて送信する。
以上説明したシステムによれば、VMへの攻撃発生後、ユーザ端末10から当該VMのホスト名の名前解決の要求を受けたDNSサーバ40は、当該VMのIPアドレスをDNSラウンドロビンにより選択して返す。その結果、攻撃パケットは各データセンタの境界ルータ30に分散される。よって、システムは、正規ユーザからのトラヒックに対するDDoS攻撃の影響を低減できる。
(処理手順)
次に、図8を用いてクラウドコントローラ50の処理手順を説明する。クラウドコントローラ50の攻撃通知受信部531は、境界ルータ30からVMへの攻撃通知を受信すると(S11)、NAT設定部532は、グローバルIPアドレス帯情報(図7参照)を参照して、当該VMのNAT用のIPアドレスを選択する(S12)。そして、NAT設定部532は、S12で選択したIPアドレスを、各境界ルータ30(攻撃対象のVMの属するデータセンタ以外の各データセンタの境界ルータ30)のNATテーブルに設定する(S13)。その後、DNSラウンドロビン指示部533は、DNSサーバ40に対し、DNSラウンドロビンの指示を行う(S14)。すなわち、DNSラウンドロビン指示部533は、DNSサーバ40に対し、S13でNATテーブルに設定した攻撃対象のVMのIPアドレスを含むDNSラウンドロビンの指示を送信する。
このようなDNSラウンドロビンの指示を受信したDNSサーバ40は、ユーザ端末10から当該VMのホスト名の名前解決の要求を受けたとき、当該VMのIPアドレスをDNSラウンドロビンにより選択して返す。その結果、攻撃パケットを各データセンタの境界ルータ30に分散させることができる。
図9を用いて、第1の実施形態のシステムによる効果を説明する。図9に示すシステムは、図1に示すシステムと同様であるが、説明を簡単にするためユーザ端末10Fが追加されている。このシステムにおいて、各データセンタとネットワーク60とを接続するアクセス回線の帯域が10Gbps、攻撃者のユーザ端末10(10A,10B,10C)からの攻撃トラヒックがそれぞれ6Gbps、正規ユーザのユーザ端末10(10D,10E,10F)からのトラヒックがそれぞれ1Gbpsである場合を例に考える。
この場合、データセンタ1のアクセス回線の負荷は、6Gbps×3+1Gbps×3=21Gbpsである。一方、データセンタ1とネットワーク60とを接続するアクセス回線の帯域は10Gbpsであるので、このままでは、正規ユーザのユーザ端末10からのトラヒックを含め11Gbps分のトラヒックが廃棄されることなる。
ここで、DNSサーバ40が上記のDNSラウンドロビンを実行することで、各ユーザ端末10からのトラヒックは3つのデータセンタの境界ルータ30に分散される。その結果、各データセンタの境界ルータ30へのトラヒックは21÷3=7Gbpsとなる。つまり、10Gbps以下となるので、各境界ルータ30にトラヒックが届くことになる。その後、各境界ルータ30で攻撃トラヒックのフィルタリングが行われ、正規ユーザのユーザ端末10からのトラヒックはVMに到達する。このように、攻撃検知後、クラウドコントローラ50がDNSサーバ40にDNSラウンドロビンを実行させることで、DDoS攻撃から正規ユーザのユーザ端末10からのトラヒックを守ることができる。
また、上記のように攻撃トラヒックが各データセンタの境界ルータ30に分散されるので、境界ルータ30で用意すべきリソースや帯域を低減できる。また、従来は1つのデータセンタ(拠点)では耐えられなかったDDoS攻撃に耐えることができる。
さらに、境界ルータ30が攻撃パケットをフィルタリングすることで、この仮想L2ネットワーク21内のトラヒック量を低減できる。また、通常のDNSラウンドロビンでは、名前解決により得られた通信先のサーバが毎回異なることになる。このため、このサーバに通信の継続性が求められる場合に問題が生じる可能性があった。しかし、本システムでは、各データセンタ内には仮想L2ネットワーク21が構築され、異なる入口(境界ルータ30)からパケットが入った場合でも、同じVM(サーバ)に転送されるので、このような問題は生じない。
(第2の実施形態)
次に、本発明の第2の実施形態を説明する。第2の実施形態のシステムは、DNSラウンドロビン実行後、所定時間経過しても攻撃パケットの集中が解消されなかったとき、攻撃対象のVMの属するデータセンタの境界ルータ30(攻撃対象の境界ルータ30)が受け持つ当該VMのIPアドレスをDNSラウンドロビンから外すことを特徴とする。
このようにすることで、攻撃者が、攻撃対象のVMに対しIPアドレスの直打ちで攻撃をしていたとき、正規ユーザから当該VMへのパケット(宛先に当該VMのホスト名を用いたパケット)については、攻撃対象の境界ルータ30以外の境界ルータ30群に振り分けられる。
例えば、図10に示すデータセンタ1のVM(A)に対し、IPアドレスを指定したDDoS攻撃が行われていた場合を考える。この場合、DNSサーバ40においてDNSラウンドロビンを実行しても、攻撃パケットは他のデータセンタ(例えば、データセンタ2,3)の境界ルータ30に分散しない。そこで、クラウドコントローラ50がDNSサーバ40におけるDNSラウンドロビンの設定を変更し、データセンタ1の境界ルータ30Aが受け持つVM(A)のIPアドレスの情報(「hoge.xxxx.co.jp IN A aaa.bbb.ccc.101」)を外す(符号103に示す「変更前」→符号104に示す「変更後」参照)。このようにすることで、攻撃パケットはデータセンタ1の境界ルータ30Aで受信する一方、正規ユーザからのパケットは、DNSラウンドロビンにより他のデータセンタ(例えば、データセンタ2,3)の境界ルータ30に振り分けられる。つまり、正規ユーザからのパケットは攻撃対象の境界ルータ30Aを経由せずに、境界ルータ30Bまたは境界ルータ30Cを経由してVM(A)に到達することになる。その結果、正規ユーザからのトラヒックに対してDDoS攻撃の影響を低減することができる。
(構成)
第2の実施形態のシステムにおけるクラウドコントローラ50は、図6に示す判定部534をさらに備える。この判定部534は、DNSラウンドロビン指示部533によるDNSサーバ40へのDNSラウンドロビンの指示から所定時間経過後、攻撃対象の境界ルータにおける攻撃パケットの集中が解消されたか否かを判定する。ここでの判定は、例えば、判定部534がネットワーク60経由で各境界ルータ30の通信状況を確認することにより行われる。
また、DNSラウンドロビン指示部533は、判定部534により、DNSラウンドロビンの指示後、所定時間経過しても、攻撃対象の境界ルータにおける攻撃パケットの集中が解消されないと判定されたとき、DNSサーバ40に対し、攻撃対象のVMの属するデータセンタの境界ルータ30(攻撃対象の境界ルータ30)が受け持つ当該VMのIPアドレスをDNSラウンドロビンから外すよう指示する。
(処理手順)
次に、図11を用いて、第2の実施形態のクラウドコントローラ50の処理手順を説明する。
クラウドコントローラ50の判定部534は、DNSラウンドロビンの指示から所定時間経過したとき(S21でYes)、攻撃対象の境界ルータ30の通信状況を確認し、当該境界ルータ30におけるパケットの集中(攻撃パケットの集中)が解消されたか否かを判定する(S22)。なお、DNSラウンドロビンの指示からまだ所定時間経過していなければ(S21でNo)、S21へ戻る。S22でパケットの集中が解消されていれば(S22でYes)、処理を終了し、集中が解消されていなければ(S22でNo)、DNSラウンドロビン指示部533は、DNSサーバ40に対し、攻撃対象の境界ルータ30が受け持つ攻撃対象のVMのIPアドレスをDNSラウンドロビンの対象から外すよう指示する(S23)。
このような指示を受けたDNSサーバ40は攻撃対象の境界ルータ30が受け持つ当該VMのIPアドレスをDNSラウンドロビンの対象から外す。その結果、正規ユーザのユーザ端末10からのホスト名を用いた当該VMへのアクセスについては、攻撃対象の境界ルータ30以外の境界ルータ30を経由することになるので、当該VMへアクセスしやすくなる。つまり、正規ユーザのトラヒックに対するDDoS攻撃の影響を低減することができる。
なお、上記の実施形態では、クラウドコントローラ50は、DNSラウンドロビンの指示から所定時間経過してもパケットの集中が解消されなったときに、VMへの攻撃がIPアドレスを指定したDDoS攻撃であると判定し、図11のS23の処理を行うこととしたがこれに限定されない。例えば、クラウドコントローラ50が、DNSサーバ40のログを調査し、攻撃対象のVMのホスト名の名前解決がされた形跡がなかったとき、当該VMへの攻撃はIPアドレスを指定したDDoS攻撃であると判定し、S23の処理を行うようにしてもよい。
(その他の実施形態)
また、クラウドコントローラ50は、DNSサーバ40に対しDNSラウンドロビンの対象から攻撃対象の境界ルータ30が受け持つ攻撃対象のVMのIPアドレスを外すよう指示した後、攻撃対象の境界ルータ30における当該VMのNATの設定を削除してもよい。このようにすることで、攻撃対象のVMに攻撃パケットが到達しなくなるので、攻撃対象のVMを攻撃者のDDoS攻撃から守ることができる。なお、当該境界ルータ30を経由したVMへの攻撃がなくなった後、クラウドコントローラ50は、当該境界ルータ30に当該VMのNATの再設定を行う。これにより、当該境界ルータ30から当該VMへのNATを使った通信を再開できる。
さらに、クラウドコントローラ50は、DNSサーバ40に対し攻撃対象の境界ルータ30(例えば、境界ルータ30A)が受け持つ攻撃対象のVM(例えば、VM(A))のIPアドレスをDNSラウンドロビンの対象から外すよう指示した後、当該VMを、他のデータセンタ(例えば、データセンタ2)にマイグレーションさせてもよい。この場合、クラウドコントローラ50は、図6に示すマイグレーション実行部535を備え、このマイグレーション実行部535により当該VMのマイグレーションを実行する。
例えば、クラウドコントローラ50のマイグレーション実行部535は、図10に示すように、攻撃対象のVM(A)をデータセンタ1からデータセンタ2にマイグレーションさせる。このようなマイグレーションを実行することで、境界ルータ30Bまたは境界ルータ30C経由でVM(A)へアクセスしてきた正規ユーザは、データセンタ1まで通信を行う必要がなくなるので、VM(A)との通信時間を短縮することができる。
また、各データセンタには境界ルータ30が1台設置される場合を例に説明したが、各データセンタに境界ルータ30が複数台設置されていてももちろんよい。この場合、クラウドコントローラ50は上記と同様の処理手順により、各境界ルータ30にNATの設定を行い、DNSサーバ40にDNSラウンドロビンを設定し、攻撃パケットを分散させる。
なお、境界ルータ30がDDoS攻撃を検知したときに攻撃通知を送信することとしたが、これに限定されない。例えば、当該境界ルータ30で中継するVMへのパケットが所定の閾値を超えて送信されたときに攻撃通知を送信するようにしてもよい。ここでの閾値は、例えば、境界ルータ30からネットワーク60へ接続するインタフェース31に設定される帯域の値を用いる。
なお、前記した各実施形態において、クラウドコントローラ50は、攻撃を検知したとき、各境界ルータ30のNATの設定変更を行うものとして説明したが、これに限定されない。例えば、予め各境界ルータ30に各データセンタのVMへのNATを設定しておき、クラウドコントローラ50が攻撃を検知したとき、DNSサーバ50へのラウンドロビンの設定のみを行うようにしてもよい。
(プログラム)
また、上記実施形態に係るクラウドコントローラ50が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。この場合、コンピュータがプログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかるプログラムをコンピュータに読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませて実行することにより上記実施形態と同様の処理を実現してもよい。以下に、クラウドコントローラ50と同様の機能を実現する制御プログラムを実行するコンピュータの一例を説明する。
図12は、制御プログラムを実行するコンピュータを示す図である。図12に示すように、コンピュータ1000は、例えば、メモリ1010と、CPU(Central Processing Unit)1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有する。これらの各部は、バス1080によって接続される。
メモリ1010は、ROM(Read Only Memory)1011およびRAM(Random Access Memory)1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。ディスクドライブ1100には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース1050には、例えば、マウス1110およびキーボード1120が接続される。ビデオアダプタ1060には、例えば、ディスプレイ1130が接続される。
ここで、図12に示すように、ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093およびプログラムデータ1094を記憶する。上記実施形態で説明した各テーブルは、例えばハードディスクドライブ1090やメモリ1010に記憶される。
また、制御プログラムは、例えば、コンピュータ1000によって実行される指令が記述されたプログラムモジュールとして、ハードディスクドライブ1090に記憶される。具体的には、上記実施形態で説明したクラウドコントローラ50が実行する各処理が記述されたプログラムモジュールが、ハードディスクドライブ1090に記憶される。
また、制御プログラムによる情報処理に用いられるデータは、プログラムデータとして、例えば、ハードディスクドライブ1090に記憶される。そして、CPU1020が、ハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して、上述した各手順を実行する。
なお、制御プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、制御プログラムに係るプログラムモジュール1093やプログラムデータ1094は、LAN(Local Area Network)やWAN(Wide Area Network)等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
1,2,3 データセンタ
10 ユーザ端末
21 仮想L2ネットワーク
22 ネットワークセグメント
30 境界ルータ
31,34 インタフェース
32,42,52 記憶部
33,43,53 制御部
40 DNSサーバ
41,51 通信制御部
50 クラウドコントローラ
60 ネットワーク
331 NATテーブル管理部
332 経路制御部
333 攻撃通知部
334 フィルタリング部
431 DNS情報管理部
432 ホスト名解決部
433 DNSラウンドロビン実行部
531 攻撃通知受信部
532 NAT設定部
533 DNSラウンドロビン指示部
534 判定部
535 マイグレーション実行部

Claims (6)

  1. 仮想ネットワークにより相互に接続される複数の拠点に設置され、当該拠点内の機器と外部ネットワークとの通信を中継する境界ルータに対し、各種制御を行う制御装置であって、
    いずれか拠点の境界ルータから、前記拠点内の機器へのパケットの集中を検知した旨の通知を受信する通知受信部と、
    前記通知受信部により前記通知を受信したとき、前記拠点ごとに、当該拠点に割り当てられたグローバルIPアドレスの中から当該機器に割り当てるグローバルIPアドレスを選択し、前記選択したグローバルIPアドレスと、当該機器のプライベートIPアドレスとを対応付けたNATテーブルを当該拠点の境界ルータに設定するNAT設定部と、
    前記通知受信部により前記通知を受信したとき、当該機器のホスト名の名前解決を行うDNSサーバに対し、前記境界ルータそれぞれのNAT(Network Address Translation)テーブルに設定された当該機器のグローバルIPアドレス群を通知し、当該機器のホスト名の名前解決を行う際、前記グローバルIPアドレス群を用いたDNSラウンドロビンを行うよう指示する指示部とを備えることを特徴とする制御装置。
  2. 前記制御装置は、さらに、
    前記DNSサーバへのDNSラウンドロビンの指示から所定時間経過後、前記パケットの集中を検知した境界ルータにおけるパケットの集中が解消されたか否かを判定する判定部を備え、
    前記指示部は、前記判定部により、前記所定時間経過しても、前記パケットの集中が解消されないと判定されたとき、前記DNSサーバに対し、前記パケットの集中を検知した境界ルータのNATテーブルに設定された当該機器のグローバルIPアドレスを、前記DNSラウンドロビンの対象から外すよう指示すること特徴とする請求項1に記載の制御装置。
  3. 前記パケットが集中した機器を、他の拠点へマイグレーションさせるマイグレーション実行部をさらに備えることを特徴とする請求項に記載の制御装置。
  4. 前記パケットの集中を検知した旨の通知は、前記拠点の境界ルータにおいて、DDoS(Distributed Denial of Service)攻撃を検知した場合、予め設定された閾値を超えるパケットの受信を検知した場合、および、前記境界ルータの外部ネットワーク側のインタフェースに設定された帯域を超えるトラヒック量のパケットの受信を検知した場合、のいずれかにおける通知であることを特徴とする請求項1〜のいずれか1項に記載の制御装置。
  5. 仮想ネットワークにより相互に接続される複数の拠点のうちいずれか拠点の境界ルータから、前記拠点内の機器へのパケットの集中を検知した旨の通知を受信するステップと、
    前記通知を受信したとき、前記拠点ごとに、当該拠点に割り当てられたグローバルIPアドレスの中から当該機器に割り当てるグローバルIPアドレスを選択し、前記選択したグローバルIPアドレスと、当該機器のプライベートIPアドレスとを対応付けたNATテーブルを当該拠点の境界ルータに設定するステップと、
    前記通知を受信したとき、当該機器のホスト名の名前解決を行うDNSサーバに対し、前記境界ルータそれぞれのNAT(Network Address Translation)テーブルに設定された当該機器のグローバルIPアドレス群を通知し、当該機器のホスト名の名前解決を行う際、前記グローバルIPアドレス群を用いたDNSラウンドロビンを行うよう指示するステップとを含んだことを特徴とする制御方法。
  6. 仮想ネットワークにより相互に接続される複数の拠点のうちいずれか拠点の境界ルータから、前記拠点内の機器へのパケットの集中を検知した旨の通知を受信するステップと、
    前記通知を受信したとき、前記拠点ごとに、当該拠点に割り当てられたグローバルIPアドレスの中から当該機器に割り当てるグローバルIPアドレスを選択し、前記選択したグローバルIPアドレスと、当該機器のプライベートIPアドレスとを対応付けたNATテーブルを当該拠点の境界ルータに設定するステップと、
    前記通知を受信したとき、当該機器のホスト名の名前解決を行うDNSサーバに対し、前記境界ルータそれぞれのNAT(Network Address Translation)テーブルに設定された当該機器のグローバルIPアドレス群を通知し、当該機器のホスト名の名前解決を行う際、前記グローバルIPアドレス群を用いたDNSラウンドロビンを行うよう指示するステップとをコンピュータに実行させることを特徴とする制御プログラム。
JP2014137571A 2014-07-03 2014-07-03 制御装置、制御方法、および、制御プログラム Active JP6215144B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014137571A JP6215144B2 (ja) 2014-07-03 2014-07-03 制御装置、制御方法、および、制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014137571A JP6215144B2 (ja) 2014-07-03 2014-07-03 制御装置、制御方法、および、制御プログラム

Publications (2)

Publication Number Publication Date
JP2016015674A JP2016015674A (ja) 2016-01-28
JP6215144B2 true JP6215144B2 (ja) 2017-10-18

Family

ID=55231547

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014137571A Active JP6215144B2 (ja) 2014-07-03 2014-07-03 制御装置、制御方法、および、制御プログラム

Country Status (1)

Country Link
JP (1) JP6215144B2 (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011055299A (ja) * 2009-09-02 2011-03-17 National Institute Of Information & Communication Technology サービス保護方式
US8856924B2 (en) * 2012-08-07 2014-10-07 Cloudflare, Inc. Mitigating a denial-of-service attack in a cloud-based proxy service

Also Published As

Publication number Publication date
JP2016015674A (ja) 2016-01-28

Similar Documents

Publication Publication Date Title
US10356097B2 (en) Domain name system and method of operating using restricted channels
US10904204B2 (en) Incompatible network gateway provisioned through DNS
KR102281685B1 (ko) 공격들에 대해 방어하기 위한 네트워크 트래픽 처리
US9319315B2 (en) Distributing transmission of requests across multiple IP addresses of a proxy server in a cloud-based proxy service
US9313171B2 (en) Path selection in a multi-service and multi-tenant secure cloud environment
US20130227672A1 (en) Next generation secure gateway
WO2016042587A1 (ja) 攻撃観察装置、及び攻撃観察方法
US11438372B2 (en) Utilizing routing advertisements to automate DDOS scrubbing techniques in a telecommunications network
JP6181881B2 (ja) 制御装置、制御システム、制御方法、および、制御プログラム
CN105490995A (zh) 一种在nvo3网络中nve转发报文的方法和设备
US11115435B2 (en) Local DDOS mitigation announcements in a telecommunications network
JP6359260B2 (ja) クラウド環境においてセキュアなクレジットカードシステムを実現するための情報処理システムおよびファイアウォール装置
JP6215144B2 (ja) 制御装置、制御方法、および、制御プログラム
CN112968879B (zh) 一种实现防火墙管理的方法及设备
CA3150789A1 (en) Scalable ddos scrubbing architecture in a telecommunications network
US20240259290A1 (en) Deploying symmetric routing
JP2016031687A (ja) マルウェア通信制御装置
JP2014165560A (ja) サーバおよびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160912

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170721

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170808

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170906

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170920

R150 Certificate of patent or registration of utility model

Ref document number: 6215144

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150