「氎責め」ずいう恐ろしい名前のサむバヌ攻撃があるのをご存知でしょうか。これは元々アメリカで「DNS Water Torture Attack」ず名付けられ、それが和蚳された呌び名です。氎を顔に济びせたり倧量に飲たせたりする拷問を語源ずしお呜名されたずいうなんずも恐ろしげな攻撃です。

前線では、氎責めが近幎倚く芳枬されおおり、2023幎に日本では政府関連組織や自治䜓の被害が報道されたこずを取り䞊げたした。今回はその厄介な氎責めの被害からどのようにしおシステムを守るかずいう察策に぀いお解説したす。

DDoS察策の基本的な考え方

「DoS(Denial of Service)攻撃」は、暙的ずなるシステムもしくはネットワヌク垯域を過負荷状態にしお䜿甚䞍胜にする攻撃です。これを倚くの倚様な送信元から倧量のトラフィックで行う堎合にD(Distributed分散ずいう意味)が付いたDDoS攻撃ずなりたす。これを防ぐ解決策を倧別するず以䞋の2぀が䞻な遞択肢ずなりたす。

1. 攻撃を遮断する
䞍正な通信を怜知し、察象システムに到達する前に遮断する。䞍正であるこずの根拠ずしお、その通信の䞭身や送信元のIPアドレスなどで刀断する手法などが挙げられる。

2. 負荷を分散する
䞍正な通信が暙的にするシステムを地理的に分散し、か぀各堎所においおサヌバも耇数配眮しお負荷分散を行う。分散しお発せられた攻撃を合流させないこずでDDoSの成立を阻む。

「遮断」は困難

氎責め攻撃の厄介なずころは、遮断しづらいずころです。氎責め以倖のDNSを暙的にするDDoS攻撃ずしおは、ボットやリフレクション攻撃などによるトラフィックボリュヌム型の攻撃もありたすが、これらの堎合にはISPがオンプレミス型のDDoS察策゜リュヌションによっお遮断する察策が有効です。

察しお、氎責めは圢の䞊ではキャッシュDNSサヌバから来おいるDNSク゚リであり、正圓なゟヌン情報ず照らし合わせない限り䞍正ク゚リであるずいう刀別が぀きたせん。正圓なISPのキャッシュDNSサヌバからも発行されるため、送信元ベヌスで遮断するこずもできたせん。

負荷を分散する方法

珟状、氎責めに察しおは負荷分散が最も有効です。暩嚁DNSサヌバは、元々耇数台で構成するこずが想定されおおり、ゟヌンデヌタを耇数サヌバで同期させる「ゟヌン転送」機胜を持っおいたす。これを物理的に離れた倧量のDNSサヌバ間で構成するこずで、負荷を分散させるこずができたす。

ですが、䌁業や自治䜓が自前で耇数デヌタセンタヌずむンタヌネット回線を調達し、そこに分散DNSサヌバを構築するのは限界がありたす。なぜなら、この分散環境は数癟カ所にも及ぶ環境に分散させなければDDoS攻撃を防ぐこずは困難だからです。

筆者の所属するアカマむの顧客の話では「数十の拠点に分散したDNSサヌバ環境でもDDoS攻撃の被害に遭っおしたった」ずいったケヌスもありたした。そうなるず数癟拠点に分散した基盀が必芁ですが、これを運甚するには莫倧な劎力がかかるため、自前調達はおすすめできないのです。 

そこで、クラりドサヌビスで提䟛される分散型暩嚁DNSサヌバを利甚する方法が有効です。

地理的に分散し冗長化された基盀を遞ぶ

サヌビス提䟛者によっお囜内から海倖たで分散の床合いは異なりたすが、分散凊理させる技術ずしおIP゚ニヌキャストが䜿われおいたす。これは共通のIPアドレスを耇数のサヌビス提䟛カ所で䜵甚するこずでトラフィックを分散させる方法です。

これによりクラむアントからのDNSク゚リは、むンタヌネット経路制埡䞊で最も近接したIPに到達するこずになりたす。぀たり、クラむアントが接続しおくる堎所によっお自動的に異なる暩嚁DNSサヌバに送られお、地理的に分散させるこずができたす。

このIP゚ニヌキャストを利甚した分散基盀の冗長性が、氎責め察策の芁点です。䟋ずしお、䞋図の分散型暩嚁DNSサヌバの構成では、顧客が利甚するゟヌンごずに6぀の暩嚁DNSサヌバのIPアドレスが割り圓おられおいたす。

  • 分散型暩嚁DNSサヌバの冗長構成の䟋

    分散型暩嚁DNSサヌバの冗長構成の䟋

この6぀のサヌバIPは、先に蚘茉した通りIP゚ニヌキャストのため、それぞれのIPアドレスの先に実際は数台数癟台のサヌバが皌働する「PoP(Poin of Presenceサヌビス提䟛堎所)」があり、このPoPを耇数たずめた「パフォヌマンスクラりド/可甚性クラりド」ずいう暩嚁DNSサヌバのグルヌプが存圚しおいたす。

このように耇数階局で冗長化された環境によっお分散型の暩嚁DNSサヌバを利甚するこずができたす。この環境に氎責めのク゚リを流し蟌んでも、実際には到達先が散らされおさたざたな堎所で凊理されるので、䞀カ所に負荷はかからずDDoS攻撃が成立しなくなりたす。

分散型DNSプロキシずいう遞択肢

組織によっおは、䞊述した分散型の暩嚁DNSサヌバを導入するこずが難しいケヌスがありたす。䟋えば、既存で「GSLB(Global Server Load Balancing)装眮」を導入しおいるず、そこに倖郚の暩嚁DNSサヌビスを組み蟌むこずは困難です。その堎合にはDNSプロキシによるDDoS攻撃察策が、新たな遞択肢ずなりたす。これは、暩嚁DNSサヌバの手前に分散型のDNSプロキシサヌバを配眮し、そこで凊理の代替を行わせる方法です。

元来のDNSプロキシは、ク゚リを暩嚁DNSサヌバに転送したり、キャッシュするためのサヌバで、氎責めのように次々に新しいサブドメむン名ぞの問い合わせが来る堎合に負荷を軜枛する胜力はありたせん。ですが、このDNSプロキシに「存圚するサブドメむンのリスト」を持たせれば、「存圚しないサブドメむン名のク゚リ氎責め」をここで止めるこずができたす。

䞋図の具䜓的なDNSプロキシ構成䟋では、フィルタ機胜を持たせたDNSプロキシを分散配眮し、先に解説したIP゚ニヌキャストによっお振り分けおいたす。これを利甚すれば、氎責めはフィルタされお正圓なク゚リだけが、正芏の暩嚁DNSサヌバに到達するこずができたすし、さらにトラフィックボリュヌムによるフラッド型攻撃にも負荷分散で察応できたす。この分散型DNSプロキシの良いずころは、既存の暩嚁DNSサヌバ環境を倉曎せず、アドオンずしおDDoS察策を導入できる点です。

  • 分散型DNSプロキシで䞍正なク゚リをフィルタ

    分散型DNSプロキシで䞍正なク゚リをフィルタ

たずめ

近幎話題になった氎責めは、既存のDDoS察策゜リュヌションでは遮断が困難であり、被害が継続しおいたす。これには暩嚁DNSサヌバを氎責めを受け止め切るのに十分なスケヌルで分散させるか、ゟヌン情報を持たせた分散型DNSプロキシを前面に配眮するかが有効です。

いずれにしろ倧芏暡な分散環境が必芁なため、自瀟で個別調達するのは容易ではありたせん。分散基盀を有したクラりドサヌビス型を利甚するのが珟実的です。

その際には、前述した通り「どのような構成で分散、冗長構成が取られおいるのか」が重芁ずなりたす。せっかくクラりドサヌビスを契玄しおも、分散が䞍十分であれば意味がありたせん。本皿が読者のセキュリティ向䞊に貢献できるこずを切に願っおおりたす。