Cisco Global Site Selector CLI-Based グローバル サーバ ロード バランシング コンフィギュレーション ガイド Software Version 2.0
DDoS 防止の設定
DDoS 防止の設定
発行日;2012/02/03 | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 3MB) | フィードバック

目次

DDoS 防止の設定

CLI へのログインおよび特権 EXEC モードのイネーブル化

DDoS の検出と軽減のイネーブル化またはディセーブル化

レート制限の変更または復元

倍率の設定

信頼できる D プロキシまたはスプーフィングされた D プロキシの設定

軽減ルール チェックのイネーブル化またはディセーブル化

グローバル ドメイン名の設定

DDoS データベースの最大エントリ数の設定

保存されている DDoS コンフィギュレーション ファイルの実行

ピースタイム学習の設定

ピースタイム学習の開始

ピースタイム学習の停止

ピースタイム学習の保存

ピースタイム学習の表示

ピースタイム学習の消去

ピースタイム ファイルのロケーションの設定

ピースタイム値の適用

DDos 設定の管理

DDoS 設定のディスクへのコピー

DDoS 設定の消去

DDoS デフォルトの復元

次の作業

DDoS 防止の設定

この章では、Distributed Denial of Service(DDoS; 分散サービス妨害)攻撃の防止を GSS に設定する方法について説明します。この章の内容は次のとおりです。

CLI へのログインおよび特権 EXEC モードのイネーブル化

DDoS の検出と軽減のイネーブル化またはディセーブル化

レート制限の変更または復元

倍率の設定

信頼できる D プロキシまたはスプーフィングされた D プロキシの設定

軽減ルール チェックのイネーブル化またはディセーブル化

グローバル ドメイン名の設定

DDoS データベースの最大エントリ数の設定

ピースタイム学習の設定

DDos 設定の管理

DDoS デフォルトの復元

次の作業

各 GSS は、GSS デバイスの DDoS 統計情報を表示する包括的な show CLI コマンドをサポートしています。さらに、プライマリ GSSM GUI では、GSS ネットワークの DDoS 統計情報を表示できます。DDoS 統計情報の表示に関する詳細は、「GSS グローバル サーバ ロードバランシング統計情報の表示」を参照してください。

CLI へのログインおよび特権 EXEC モードのイネーブル化


) GSS で特権 EXEC モードにログインし、イネーブルにできるのは、admin 特権が設定されているユーザだけです。ユーザ アカウントの作成および管理については、『Cisco Global Site Selector Administration Guide』を参照してください。


プライマリ GSSM にログインして、CLI で特権 EXEC モードをイネーブルにするには、次の手順を実行します。

1. Telnet または SSH を通じてプライマリ GSSM にリモートからログインする場合は、GSSM のホスト名または IP アドレスを入力して、CLI にアクセスします。

端末と GSSM の間で直接シリアル接続を使用する場合は、端末エミュレーション プログラムを使用して CLI にアクセスします。専用端末を使用した GSS デバイスへの直接接続、および SSH または Telnet を使用したリモート接続の確立については、『 Cisco Global Site Selector Getting Started Guide 』を参照してください。

2. GSSM ログイン用の GSS 管理ユーザ名およびパスワードを指定します。CLI のプロンプトが表示されます。

gssm1.example.com>
 

3. CLI のプロンプトで、次のように特権 EXEC モードをイネーブルにします。

gssm1.example.com> enable
gssm1.example.com#

DDoS の検出と軽減のイネーブル化またはディセーブル化

ddos コンフィギュレーションモードで enable コマンドを入力することにより、DDoS の検出と軽減モジュールをイネーブルにします。このコマンドの no 形式を使用すると、DDoS の検出と軽減がディセーブルになります。この CLI コマンドの構文は次のとおりです。

enable

ddos コンフィギュレーションモードをイネーブルにする前に、GSS に DDoS ライセンスがインストールされているかどうかを確認します。詳細は、『Cisco Global Site Selector Administration Guide』を参照してください。


) DDoS の検出と軽減をイネーブルにすると、ブーメラン近接法の最初の要求は正常に動作しません。その後の要求は、D プロキシ タイムアウトが発生するまで、正常に動作します。

最初の要求に対しても GSS で信頼できる D プロキシ IP アドレスを指定すれば、このような状況を回避できます。詳細は、「信頼できる D プロキシまたはスプーフィングされた D プロキシの設定」を参照してください。


たとえば、次のように入力します。

gssm1.example.com> enable
gssm1.example.com# config
gssm1.example.com(config)# ddos
gssm1.example.com(config-ddos)# enable

レート制限の変更または復元

GSS は、個々の D プロキシに対する 1 秒あたりの DNS パケット数制限および全体のグローバル レート制限を実行します。全トラフィックに対する制限は実行しません。IP アドレスを指定することにより、特定のD プロキシに対してのみレート制限を設定できます。


) レート制限は、ポート 53 からの要求とポート 5301 からの応答に適用されます。


当初のデフォルト制限値は、ピースタイム学習中に調整できます(「ピースタイム学習の設定」を参照)。D プロキシまたは D プロキシ グループの設定時にも制限値を変更できます。この制限を超えると、DNS パケットは廃棄されます。


) レート制限を指定すると、タイム ウィンドウが表示されます。特定の D プロキシのレート制限を 40 に設定した場合、最初の要求の開始から 60 秒以内にこの制限値を超えると、GSS はパケットを廃棄します。


特定の D プロキシのレート制限の設定または変更を行う場合、またはグローバル レート制限を指定する場合は、ddos コンフィギュレーションモードで、rate-limit コマンドを入力します。このコマンドの no 形式を使用すると、レート制限が無効になります。

この CLI コマンドの構文は次のとおりです。

rate-limit [ipaddress | global | unknown] rate-limit

このコマンドのキーワードと引数は次のとおりです。

ipaddress ― D プロキシの IP アドレス。各 D プロキシのデフォルト値は 60(毎分)です。

global ― その GSS のグローバル レート制限を指定します。デフォルト値は 900000(毎分)です。

unknown ― 手動入力のない D プロキシ、つまり、まだ学習が実行されていない D プロキシのレート制限を指定します。未知の D プロキシに対するレート制限の範囲は、0 ~ 4294967295 です。デフォルトで、GSS がデータベースへの追加を許可する D プロキシ数は 1 分間に 1000 です。


) 未知のレート制限を設定すると、GSS は未知の D プロキシのフラッディングを伴うランダム スプーフ攻撃に対処できるようになります。GSS がランダム スプーフ攻撃を受けると、新しい有効な D プロキシはスプーフィングされた D プロキシと競合します。このような場合、新しい D プロキシの合計数(スプーフィングされたものと有効なもの)が未知のレート制限を超えると、有効な D プロキシの一部が廃棄されます。しかし、既知の D プロキシへのサービスは影響を受けません。


rate-limit ― GSS が D プロキシから 1 秒間に受信できる DNS 要求の最大数。ここには、1、2、3 のような絶対値を入力する必要があります。1.1、2.2、3.3 のような小数を入力することはできません。また、範囲の下限に 0 未満の値を入力することもできません。

たとえば、次のように入力します。

gssm1.example.com(config-ddos)# rate-limit 10.1.1.1 global 10000
gssm1.example.com(config-ddos)#

倍率の設定

D プロキシごとの最終的なレートは、ピースタイム中に学習したレート制限値を一定の倍率で乗じることによって決定されます。この値を設定するには、ddos コンフィギュレーションモードで scaling-factor コマンドを入力します。このコマンドの no 形式を使用すると、レート制限の倍率が無効になります。この CLI コマンドの構文は次のとおりです。

scaling-factor d-proxy value

このコマンドのキーワードと引数は次のとおりです。

d-proxy ― その D プロキシの倍率を指定します。

value ― レート制限の許容倍率。レート制限のパーセンテージとして値を入力します。デフォルト値は 100 です。

たとえば、現在 10000 のレート制限を 5000 に変更する場合、つまり現行値の50 % にする場合は、次のように入力します。

gssm1.example.com(config-ddos)# scaling-factor d-proxy 50
 

このレート制限を 15000、つまり現行値の 150 % にする場合は、次のように入力します。

gssm1.example.com(config-ddos)# scaling-factor d-proxy 150

信頼できる D プロキシまたはスプーフィングされた D プロキシの設定

ddos コンフィギュレーションモードで dproxy コマンドを入力すると、信頼できる D プロキシまたはスプーフィングされた D プロキシを設定できます。この CLI コマンドの構文は次のとおりです。

dproxy [trusted ipaddress | spoofed ipaddress]

このコマンドのキーワードと引数は次のとおりです。

trusted ― D プロキシを、信頼できる D プロキシとして指定します。

spoofed ― D プロキシを、スプーフィングされた D プロキシとして指定します。

ipaddress ― 信頼できる D プロキシまたはスプーフィングされた D プロキシの IP アドレス


) CLI を使用して追加したエントリはタイムアウトになりません。これらのエントリは、no dproxy コマンドを入力しないと削除できません。


たとえば、次のように入力します。

gssm1.example.com(config-ddos)# dproxy trusted 10.1.1.1
gssm1.example.com(config-ddos)#

軽減ルール チェックのイネーブル化またはディセーブル化

ddos コンフィギュレーションモードで mitigation-rule コマンドを入力すると、GSS の軽減ルール チェックをイネーブルにできます。このコマンドの no 形式を使用すると、ルール チェックはディセーブルになります。


) デフォルトでは、ルール チェックはイネーブルです。


この CLI コマンドの構文は次のとおりです。

mitigation-rule [response | request] enable

このコマンドのキーワードと引数は次のとおりです。

response ― DNS 応答に対する次の軽減ルールをイネーブルまたはディセーブルにします。

応答が 53 以外の送信元ポートから着信した場合、送信元ポートが 53 以外で QR ビットが 1(応答)であるパケットは廃棄されます。

応答がポート 53 に着信した場合、宛先ポートが 53 で QR ビットが 1(応答)のパケットは廃棄されます。

request ― 送信元ポートが 53 以上 1024 未満で、QR ビットが 0(要求)であるパケットは廃棄されるという DNS 要求の軽減ルールをイネーブルまたはディセーブルにします。

たとえば、次のように入力します。

gssm1.example.com(config-ddos)# mitigation-rule response enable
gssm1.example.com(config-ddos)#

グローバル ドメイン名の設定

グローバル ドメイン名を設定するには、ddos コンフィギュレーションモードで、global-domain コマンドを入力します。グローバル ドメイン名を設定すると、設定されたドメイン名以外のドメインに対するすべてのクエリーを廃棄できます。

この CLI コマンドの構文は次のとおりです。

global-domain domain-name

domain-name 引数 には、グローバル ドメインの名前を指定します。global-domain コマンドは、正確な一致を要求するので、domain-name に *.com を指定しても、.com 以外のドメインすべてのブロックを指定したことにはなりません。

たとえば、次のように入力します。

gssm1.example.com(config-ddos)# global-domain cisco.com
gssm1.example.com(config-ddos)#

) 1 つのクエリーに複数の質問が含まれている場合、質問の1つでドメインが一致しないだけで要求は廃棄されます。


DDoS データベースの最大エントリ数の設定

DDoS データベースに保存されるエントリの最大数を設定するには、ddos コンフィギュレーションモードで max-database-entries コマンドを入力します。

この CLI コマンドの構文は次のとおりです。

max-database-entries number

number 引数には、GSS データベースに保存するエントリの最大数を指定します。範囲は 65536 ~ 1048576 で、デフォルト値は 65536 です。この数を大きくしたり小さくしたりすることによって GSS デバイスを調整できます。

たとえば、次のように入力します。

gssm1.example.com(config-ddos)# max-database-entries 1037300
This command will clear the current DDoS database and create a new database with support for 1037300 entries.
This command will take effect only after the next gss stop and start.
Do you want to continue? (y/n):y

) max-database-entries を使用するのは、現在の DDoS データベースをクリアして、その DDoS モジュールに異なる容量のメモリを割り当てる場合だけにしてください。このコマンドを入力して、gss stop、start、または reload を実行したら、show ddos status コマンドを入力して、その DDoS モジュールの状態を確認します。

このコマンドが失敗して、Error opening device file メッセージが表示された場合は、syslog-messages.log を調べて、メモリ割り当てエラーが発生しているかどうか確認してください。メモリ割り当てエラーが発生している場合は、
syslog-messages.log に次のログ メッセージがあります。"Unable to allocate sufficient memory for DDoS kernel module.Module insertion failed." このような場合は、
max-database-entries を再度実行して、もっと小さい値を設定し、エラー メッセージが表示されても無視して、GSS をリブート します。


保存されている DDoS コンフィギュレーション ファイルの実行

保存されている DDoS コンフィギュレーション ファイルを実行するには、ddos コンフィギュレーションモードで、script play-config コマンドを入力します。

この CLI コマンドの構文は次のとおりです。

script play-config filename

filename 引数には、実行したい保存済み DDoS コンフィギュレーションのファイル名を指定します。

たとえば、次のように入力します。

gssm1.example.com (config-ddos)# script play-config ddos_config.txt

ピースタイム学習の設定

DNS ゾーンによって、動作はそれぞれ異なる可能性があります。ある D プロキシでは高トラフィック レートでも、別の D プロキシではまったく普通であるという場合もあります。それで、GSS にはピースタイム学習プロセスが必要なのです。しきい値調整フェーズでは、特定ゾーンのベースラインまたはトラフィック パターンが獲得されます。これら 2 つのフェーズが完了すれば、CLI コマンドを使用して、ゾーンの動作を変更できます。

ここでは、次のピースタイム学習コマンドについて説明します。

ピースタイム学習の開始

ピースタイム学習の停止

ピースタイム学習の保存

ピースタイム学習の表示

ピースタイム学習の消去

ピースタイム ファイルのロケーションの設定

ピースタイム値の適用

ピースタイム学習の開始

ピースタイム学習プロセスを開始するには、特権 EXEC モードで、ddos peacetime start コマンドを入力します。このコマンドは、ピースタイム データベースの値を差分更新します。最初から開始する場合は、ddos peacetime startを使用する前に、ddos peacetime database erase コマンドを実行します。詳細は、「ピースタイム学習の停止」を参照してください。

この CLI コマンドの構文は次のとおりです。

ddos peacetime start

たとえば、次のように入力します。

gssm1.example.com# ddos peacetime start
gssm1.example.com#

ピースタイム学習の停止

ピースタイム学習を停止するには、特権 EXEC モードで、ddos peacetime stop コマンドを入力します。

この CLI コマンドの構文は次のとおりです。

ddos peacetime stop

たとえば、次のように入力します。

gssm1.example.com# ddos peacetime stop
gssm1.example.com#

ピースタイム学習の保存

ピースタイム学習を保存するには、特権 EXEC モードで、ddos peacetime save コマンドを入力します。

この CLI コマンドの構文は次のとおりです。

ddos peacetime save filename

filename 引数には、ピースタイム学習を保存するディスク上のファイルの名前を指定します。

たとえば、次のように入力します。

gssm1.example.com# ddos peacetime save
gssm1.example.com#

ピースタイム学習の表示

ピースタイム学習プロセス中に学習された値、またはピースタイム学習の状態を表示するには、特権 EXEC モードで、ddos peacetime show コマンドを入力します。

この CLI コマンドの構文は次のとおりです。

ddos peacetime show [filename | status]

このコマンドのキーワードと引数は次のとおりです。

filename ― 値を表示したいピースタイム学習プロセスのファイル名

status ― 現在のピースタイム学習の状態が表示されます。

たとえば、次のように入力します。

gssm1.example.com# ddos peacetime show status
DDoS Peacetime Learning is not running.

ピースタイム学習の消去

ピースタイム学習を消去するには、特権 EXEC モードで、ddos peacetime database erase コマンドを入力します。

この CLI コマンドの構文は次のとおりです。

ddos peacetime database erase

たとえば、次のように入力します。

gssm1.example.com# ddos peacetime database erase
gssm1.example.com#

ピースタイム ファイルのロケーションの設定

ddos peacetime apply 操作でピースタイム ファイルが使用するロケーションまたはファイルを設定するには、ddos コンフィギュレーションモードで peacetime database コマンドを入力します。ピースタイム データベースのロケーションを指定するのは、peacetime database コマンドを使用する場合です。

この CLI コマンドの構文は次のとおりです。

peacetime database file

file 引数には、 使用するピースタイム ファイルを指定します。


) ピースタイム ファイルのロケーションを設定しない場合、あるいは no peacetime database コマンドを入力した場合には、ピースタイム データベースはシステム メモリから使用されます。


たとえば、次のように入力します。

gssm1.example.com(config-ddos)# peacetime database samplefile
gssm1.example.com(config-ddos)#

ピースタイム値の適用

ピースタイム学習プロセス中に学習した値をレート制限データベースに適用するには、特権 EXEC モードで ddos peacetime apply コマンドを入力します。このコマンドによって、レート制限データベースはピースタイム学習値に更新されます。

ピースタイム データベースのロケーションは、 peacetime database コマンドで指定します。このコマンドを使用しないと、代わりにメモリ内のデータベースが使用されます。

この CLI コマンドの構文は次のとおりです。

ddos peacetime apply [increment | overwrite]

このコマンドのキーワードと引数は次のとおりです。

increment ― ピースタイム学習値をデータベースに適用し、データベースを増分更新します。

overwrite ― レート制限データベース内のすべての値をデフォルト値に戻してから、ピースタイム中に学習した値に更新します。

たとえば、次のように入力します。

gssm1.example.com# ddos peacetime apply increment
gssm1.example.com#

DDos 設定の管理

DDoS 設定の管理に使用できるコマンドは 2 つあります。ここでは、次の内容について説明します。

DDoS 設定のディスクへのコピー

DDoS 設定の消去

DDoS 設定のディスクへのコピー

DDoS の設定をディスクにコピーするには、特権 EXEC モードで copy ddos-config コマンドを入力します。

この CLI コマンドの構文は次のとおりです。

copy ddos-config disk filename

disk filename のキーワードおよび引数は、設定をディスクにコピーし、指定ファイル名で保存することを示しています。

たとえば、次のように入力します。

gssm1.example.com# copy ddos-config disk ddos_config.txt
gssm1.example.com#

DDoS 設定の消去

DDoS 設定を消去するには、特権 EXEC モードで ddos-configuration コマンドを入力します。

この CLI コマンドの構文は次のとおりです。

clear ddos-config

たとえば、次のように入力します。

gssm1.example.com# clear ddos-config
gssm1.example.com#

DDoS デフォルトの復元

レート制限データベースのデフォルト値を復元するには、特権 EXEC モードで ddos restore-defaults コマンドを入力します。

この CLI コマンドの構文は次のとおりです。

ddos restore-defaults ipaddress

ipaddress 引数には、D プロキシの IP アドレスを指定します。これにより、指定した D プロキシのレート制限がデフォルトのレートに復元され、状態は Unknown になります。

たとえば、次のように入力します。

gssm1.example.com# ddos restore-defaults 1.1.1.2

次の作業

「GSLB コンフィギュレーション ファイルの作成と実行」では、GSLB コンフィギュレーション ファイルの作成、変更、実行方法について説明します。