この製品のマニュアルセットは、偏向のない言語を使用するように配慮されています。このマニュアルセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザーインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブランゲージに対する取り組みの詳細は、こちらをご覧ください。
このドキュメントは、米国シスコ発行ドキュメントの参考和訳です。リンク情報につきましては、日本語版掲載時点で、英語版にアップデートがあり、リンク先のページが移動/変更されている場合がありますことをご了承ください。あくまでも参考和訳となりますので、正式な内容については米国サイトのドキュメントを参照ください。
この章では、Cisco Application Control Engine(ACE)モジュール とデータセンターを攻撃から保護するために、TCP/IP の正規化パラメータと終了パラメータを設定する方法について説明します。IP フラグメンテーション パラメータと再構成パラメータについても説明します。この章の主な内容は、次のとおりです。
• TCP/IP の正規化と終了の接続パラメータ マップの設定
• TCP/IP の正規化と終了へのトラフィック ポリシーの設定
ここでは、ACE が TCP の正規化を使用して、ネットワーク ベースのさまざまな攻撃から ACE とデータ センターを保護する方法について説明します。
TCP の正規化は、ACE が初期接続の設定から接続の終了までのさまざまなフロー ステージで実行する一連のチェックで構成されたレイヤ 4 機能です。1 つまたは複数の高度な TCP 接続設定を設定することで大半のセグメント チェックを制御できます。ACE はこれらの TCP 接続設定を使用して、実行するチェックと、チェックの結果に基づいて廃棄する TCP セグメントを決定します。ACE は、異常または不正と表示されたセグメントを廃棄します。
TCP の正規化では、ACE は無効な、または疑わしい状態(たとえば、サーバからクライアントへ送信された SYN、またはクライアントからサーバへ送信された SYNACK)のセグメントをチェックし、設定したパラメータ設定に基づいてアクションを実行します。ACE は TCP の正規化を使用して、特定のタイプのネットワーク攻撃をブロックします(たとえば、挿入攻撃や回避攻撃)。挿入攻撃は、エンド システムが拒否したパケットを検査モジュールが受け入れたときに発生します。回避攻撃は、エンド システムがパケットを受け入れたのに、検査モジュールがパケットを拒否したときに発生します。
ACE は、次の状態が発生した場合は常にセグメントを廃棄します。
• 疑わしい TCP フラグ(たとえば、NULL、SYN/FIN、または FIN/URG)
TCP の正規化はデフォルトでイネーブルに設定されています。ACE への移行、または関連するレガシー製品と ACE の置き換えを行う場合は、すべてが正常に機能していることを確認するまで、インターフェイス コンフィギュレーション モードで no normalization コマンドを使用して正規化をディセーブルにしてください。次にインターフェイス コンフィギュレーション モードで normalization コマンドを使用して正規化を再びイネーブルにします。
ACE 上で TCP の正規化を設定するには、さまざまな TCP コマンドをパラメータ マップに組み込みます。接続パラメータ マップを作成したあと、そのマップとマルチマッチ ポリシー マップを関連付け、サービス ポリシーを使用してコンテキスト内のすべてのインターフェイス上でトラフィック ポリシーをグローバルに起動します。トラフィック ポリシーの設定については、「TCP/IP の正規化と終了へのトラフィック ポリシーの設定」を参照してください。
TCP の正規化のほかに、ACE は IP の正規化と呼ばれるレイヤ 3 機能を使用して、さまざまな攻撃から ACE とデータ センターを保護します。
IP の正規化は、IP パケットで次の一連のチェックを実行します。
• パケットが発信最大伝送ユニット(maximum transmission unit; MTU)を越えた場合の IP フラグメンテーション
パケットがこれらのチェックのいずれかに不合格になると、ACE は設定する IP パラメータに応じてアクションを実行します(パケットの廃棄を含む)。
IP トラフィックに Type of Service(ToS; タイプ オブ サービス)を設定するには、接続パラメータ マップで set ip tos コマンドを使用します。
インターフェイス関連の IP の正規化パラメータを設定するには、「インターフェイスの正規化パラメータの設定」を参照してください。
表4-1 に、TCP の正規化を設定するのに必要なステップの概要を示します。各ステップには CLI、または作業を完了するのに必要な手順の参照が含まれます。各機能と CLI コマンドに関連したすべてのオプションの詳細については、次の 表4-1 を参照してください。
正規化と終了に適用する TCP/IP 接続関連のコマンドをグループ化するようパラメータ マップを設定できます。パラメータ マップを設定したあと、 connection tcp advanced-options コマンドを使用して、ポリシー マップの特定のアクション ステートメントにマップを関連付けます。パラメータ マップとポリシー マップの関連付けの詳細については、「接続パラメータ マップとポリシー マップとの関連付け」を参照してください。このセクションの内容は、次のとおりです。
• TCP/IP、UDP、および ICMP の接続パラメータ マップの作成
• 最大セグメント サイズを越えるセグメントの ACE の動作の設定
• ACE による、データを含んだ TCP SYN セグメントの処理方法の設定
• ToS の設定
コンフィギュレーション モードで parameter-map type connection コマンドを使用すると、TCP/IP、UDP、および ICMP の接続パラメータ マップを作成できます。このコマンドの構文は次のとおりです。
parameter-map type connection map_name
map_name 引数には、一意の名前(64 文字までの英数字で、引用符が含まれないテキスト文字列)を指定します。
たとえば、接続パラメータ マップを作成するには、次のように入力します。
設定から接続パラメータ マップを削除するには、次のように入力します。
接続パラメータ マップを定義するセクションで 1 つまたは複数のコマンドを使用します。
ACE の最大接続数を制限するには、リソース クラスを作成してから次のコマンドを使用します。
• Through-the-ACE connections ― limit-resource conc-connections
• To-the-ACE connections ― limit-resource mgmt-connections
現在のコンテキストがリソース クラスに割り当てられているかどうかを確認します。リソース クラスの詳細については、『 Cisco Application Control Engine Module Virtualization Configuration Guide 』を参照してください。
ACE では、ポリシー マップの接続レートと帯域幅レートを制限することができます。接続レートとは、ポリシーに準拠した 1 秒あたりの接続数のことです。帯域幅レートとは、ポリシーに準拠した 1 秒あたりのバイト数のことです。ACE では、仮想サーバ レベルでポリシーと関連付ける各クラス マップにこれらのレート制限を適用します。
接続レート制限、または帯域幅レート制限に達すると、ACE は、接続レート、または帯域幅レートが設定された制限より下の値になるまで、そのポリシーに該当する以降のトラフィックをすべてブロックします。ポリシーの接続レート、または帯域幅レートはデフォルトで制限されていません。
サーバ ファーム内の実サーバの接続レートと帯域幅レートも制限できます。詳細については、『 Cisco Application Control Engine Module Server Load-Balancing Configuration Guide 』を参照してください。
ポリシーの接続レート、または帯域幅レートを制限するには、パラメータ マップの接続コンフィギュレーション モードで rate-limit コマンドを使用します。このコマンドの構文は次のとおりです。
rate-limit {connection number1 | bandwidth number2 }
• connection number1 ― ポリシーの接続レート制限を 1 秒あたりの接続数で指定します。2 ~ 350000 の範囲の整数を入力します。デフォルト値はありません。
• bandwidth number2 ― ポリシーの帯域幅レート制限を 1 秒あたりのバイト単位で指定します。2 ~ 300000000 の範囲の整数を入力します。デフォルト値はありません。
たとえば、ポリシーの接続レートを 1 秒あたり 100000 に制限するには、次のように入力します。
ACE を、ポリシー接続レート制限を指定しないデフォルト動作に戻すには、次のように入力します。
たとえば、ポリシーの帯域幅レートを 1 秒あたり 5000000 バイトに制限するには、次のように入力します。
ACE を、ポリシー帯域幅レート制限を指定しないデフォルト動作に戻すには、次のように入力します。
スループットとパフォーマンス全体の向上のため、ACE では、TCP 接続のバッファ バイト数と既存のバッファ設定を照合してから、新しい受信データや送信データを許可します。デフォルトの場合、各 TCP 接続に対する受信バッファ、または送信バッファの最大サイズは 32768 バイトです。広い帯域幅と遅延ネットワーク接続の場合、デフォルトのバッファ サイズを増やして、ネットワークのパフォーマンスを向上させることができます。TCP 接続ごとの最大送受信バッファ サイズを設定するには、パラメータ マップ接続コンフィギュレーション モードで set tcp buffer-share コマンドを使用します。このコマンドの構文は次のとおりです。
number 引数には、各 TCP 接続に対する受信バッファまたは送信バッファの最大サイズをバイト単位で指定します。8192 ~ 262143 の整数でバイト数を入力します。デフォルトは 32768 バイトです。
バッファ制限をデフォルト値の 32768 バイトに戻すには、次のように入力します。
Maximum Segment Size(MSS; 最大セグメント サイズ)は、ACE が 1 つのセグメントで受信する最大の TCP データ量です。帯域幅を消費する多くの小さなセグメントの送信や、フラグメンテーションを必要とする大きなセグメントの送信を防ぐため、MSS の受信可能な最小サイズと最大サイズを設定できます。MSS を設定するには、パラメータ マップ接続コンフィギュレーション モードで set tcp mss コマンドを使用します。このコマンドの構文は次のとおりです。
set tcp mss min number1 max number2
• min number1 ― ACE が受信する最小セグメント サイズを指定します。整数で 0 ~ 65535 バイトを入力します。デフォルトは 536 バイトです。 min number 値は、 max number 値以下でなければいけません。0 に設定すると、ACE は着信セグメント上で最小 MSS チェックを実行しません。
• max number2 ― ACE が受信する最大セグメント サイズを指定します。整数で 0 ~ 65535 バイトを入力します。デフォルトは 1380 バイトです。 max number 値は、 min number 値以上でなければいけません。0 に設定すると、ACE は着信セグメント上で最大 MSS チェックを実行しません。
ホストとサーバ両方が最初に接続を確立するときに MSS を設定できます。いずれかの最大値が set tcp mss max コマンドで設定された値を超えた場合、ACE は最大値を無効にして、設定した値を挿入します。いずれかの最大値が set tcp mss min コマンドで設定された値より小さい場合、ACE は最大値を無効にして、設定された最小値を挿入します(最小値は実際に許可された最小の最大値です)。たとえば、最大サイズに 1200 バイト、最小サイズに 400 バイトを設定した場合に、ホストが最大サイズとして 1300 バイトを要求すると、ACE は 1200 バイト(最大値)を要求するようパケットを変更します。別のホストが最大値として 300 バイトを要求した場合、ACE は 400 バイト(最小値)を要求するようパケットを変更します。
デフォルトの 1380 バイトは、合計パケット サイズがイーサネットのデフォルト MTU である 1500 バイトを超過しないように、ヘッダー情報分のサイズを確保したサイズです。次の計算を参照してください。
1380 データ + 20 TCP + 20 IP + 24 AH + 24 ESP_CIPHER + 12 ESP_AUTH + 20 IP = 1500 バイト
ホストまたはサーバが MSS を要求しない場合、ACE は RFC 793 のデフォルト値である 536 バイトが有効であると想定します。
1380 を超える MSS を設定すると、MTU サイズ(イーサネットのデフォルトでは 1500)に応じてパケットが分割されることがあります。分割数が多いと、ACE のパフォーマンスに影響を与えます。最小サイズを設定すると、TCP サーバが多数の小さな TCP データ パケットをクライアントに送信するのを防ぎ、サーバとネットワークのパフォーマンスに影響を与えることがなくなります。
たとえば、受け入れ可能な最小 MSS サイズを 768 バイトに、、受け入れ可能な最大 MSS サイズを 1500 バイトに設定するには、次のように入力します。
最小 MSS をデフォルト値である 536 バイトに、最大 MSS をデフォルト値である 1380 に戻すには、次のように入力します。
接続パラメータ マップ コンフィギュレーション モードで exceed-mss コマンドを使用すると、設定された MSS を越えるセグメントに ACE 動作を設定できます。このコマンドの構文は次のとおりです。
• allow ― 設定された MSS を越えるセグメントを許可します。
• drop ― (デフォルト)設定された MSS を越えるセグメントをドロップします。
たとえば、MSS を越えるセグメントを許可するよう ACE を設定するには、次のように入力します。
ピアにより、MSS を越えるセグメントを廃棄するデフォルトに ACE 動作を戻すには、次のように入力します。
接続パラメータ マップ コンフィギュレーション モードで set tcp syn-retry コマンドを使用すると、レイヤ 7 接続の開始時に ACE が TCP セグメントの送信を試行する最大回数を設定できます。このコマンドの構文は次のとおりです。
number 引数は SYN の再試行回数です。1 ~ 6 の範囲の整数を入力します。デフォルトは 4 です。
たとえば、TCP SYN の最大再試行回数を 3 に設定するには、次のように入力します。
TCP SYN の再試行回数をデフォルト値の 4 に戻すには、次のように入力します。
Nagle アルゴリズムにより、未解決のデータすべてを確認応答するか、または送信するデータのセグメントが満杯になるまで、送信者は送信するデータをバッファリングします。アルゴリズムでは、TCP 接続上で送信された多くの小さなバッファ メッセージを自動的に連結します。このプロセスでは、ネットワーク上で送信する必要があるセグメントの数を減らし、スループットを向上させます。ただし、Nagle アルゴリズムと TCP 遅延 acknowledgment(ACK; 確認応答)の間の相互作用により、TCP 接続の遅延時間が長くなることがあります。TCP 接続に許容範囲を超える遅延が発生する場合は、Nagle アルゴリズムをディセーブルにしてください。
パラメータ マップ コンフィギュレーション モードで nagle コマンドを使用すると、Nagle アルゴリズムをイネーブルにできます。デフォルトでは、このコマンドはディセーブルです。このコマンドの構文は次のとおりです。
Nagle アルゴリズムをディセーブルにするには、次のように入力します。
TCP シーケンス番号をランダム化すると、ハッカーが TCP 接続の次のシーケンス番号を推測または予測することが困難になるので、TCP 接続にセキュリティ方法を提供できます。この機能はデフォルトではイネーブルです。TCP シーケンス番号のランダム化をディセーブルにしたあとでイネーブルにするには、パラメータ マップ接続コンフィギュレーション モードで random-sequence-number コマンドを使用します。
たとえば、この機能をディセーブルにした場合にランダムなシーケンス番号の使用をイネーブルにするには、次のように入力します。
シーケンス番号のランダム化をディセーブルにするには、次のように入力します。
パラメータ マップ接続コンフィギュレーション モードで reserved-bits コマンドを使用すると、ACE が TCP ヘッダーに設定された予約ビットでセグメントを処理する方法を設定できます。TCP ヘッダーの 6 つの予約ビットは将来用で、常に 0 の値に設定されます。このコマンドの構文は次のとおりです。
reserved-bits { allow | clear | drop }
• allow ― (デフォルト)TCP ヘッダーに設定された予約ビットのあるセグメントを許可します。
• clear ― TCP ヘッダーの予約ビットをクリアし、すべてのセグメントを許可します。
• drop ― TCP ヘッダーに設定された予約ビットのあるセグメントを廃棄します。
たとえば、TCP ヘッダーに設定された予約ビットをクリアするよう ACE を設定するには、次のように入力します。
ACE の動作を、セグメントのTCP ヘッダーに設定された予約ビットを許可するデフォルトに戻すには、次のように入力します。
何らかの理由により、接続で TCP 3 ウェイ ハンドシェイクが完了していないことがあります。このタイプの接続は初期接続と呼ばれます。初期接続のタイムアウトを設定するには、パラメータ マップの接続コンフィギュレーション モードで set tcp timeout embryonic コマンドを使用します。このコマンドの構文は次のとおりです。
set tcp timeout embryonic seconds
seconds 引数には、整数で 0 ~ 4294967295 秒を入力します。デフォルトは 5 秒です。0 に設定すると、ACE は初期接続をタイムアウトしません。
TCP 初期接続のタイムアウトをデフォルト値の 5 秒に戻すには、次のように入力します。
ハーフクローズ接続は、クライアント(またはサーバ)が FIN を送信し、サーバ(またはクライアント)が FIN を送信することなく FIN の確認応答を行う接続です。この状態が発生すると、タイマーが開始します。ハーフクローズ接続のタイムアウトを設定するには、パラメータ マップの接続コンフィギュレーション モードで set tcp timeout half-closed コマンドを使用します。このコマンドの構文は次のとおりです。
set tcp timeout half-closed seconds
seconds 引数には、整数で 0 ~ 4294967295 秒を入力します。デフォルトは 3600 秒(1 時間)です。0 に設定すると、ACE はハーフクローズ TCP 接続をタイムアウトしません。
TCP ハーフクローズ接続のタイムアウトをデフォルト値の 3600 秒に戻すには、次のように入力します。
ACE は接続無活動タイマーを使用して、指定されたタイムアウト時間の間アイドル状態にあった TCP/IP、UDP、および ICMP 接続を切断します。接続無活動タイマーを設定するには、パラメータ マップ接続コンフィギュレーション モードで set timeout inactivity コマンドを使用します。このコマンドの構文は次のとおりです。
set timeout inactivity seconds
seconds 引数は、接続がアイドル状態になり、ACE が接続を切断するまでの時間です。整数で 0 ~ 4294967294 秒を入力します。デフォルト値は次のとおりです。
0 に設定すると、ACE は TCP 接続をタイムアウトしません。ACE は入力した値を 30 秒間隔に最も近い値に丸めます。
たとえば、接続無活動タイムアウトを 2400 秒(40 分)に設定するには、次のように入力します。
接続無活動タイムアウトをデフォルト値に戻すには、次のように入力します。
ラウンドトリップ時間(RTT)値を使用してレイヤ 7 ポリシー マップに関連付けられた接続上のパケットへの、ACE による TCP 最適化の適用を制御するには、パラメータ マップの接続コンフィギュレーション モードで
set tcp wan-optimization rtt コマンドを使用します。
TCP の最適化には、次の接続パラメータ マップ コンフィギュレーション モードの操作が含まれます。
• Nagle 最適化アルゴリズム(「Nagle アルゴリズムのイネーブル化」を参照)
• スロー スタート接続の動作(「TCP スロー スタート アルゴリズムのイネーブル化」を参照)
• 確認応答(ACK)遅延タイマー(「ACK 遅延タイマーの設定」を参照)
• ウィンドウ スケール ファクタ(「ウィンドウ スケール ファクタの設定」を参照)
• 再試行の設定(「TCP SYN 再試行の最大回数の設定」を参照)
set tcp wan-optimization rtt number
number は、ラウンドトリップ時間(RTT)をミリ秒単位で指定する引数で、次のように、ACE による TCP 最適化の適用を制御します。
• 値 0 の場合、ACE は、接続の期間中、パケットに TCP 最適化を適用します。
• 65535(デフォルト値)の場合、ACE は、接続の期間中、通常の動作(最適化なし)を実行します。
• 1 ~ 65534 の値の場合、ACE は次のように、自身へのクライアントの RTT に基づいてパケットに TCP 最適化を適用します。
–実際のクライアント RTT が設定済み RTT を下回る場合、ACE は、接続の期間中、通常の動作を実行します。
–実際のクライアント RTT が設定済み RTT の値と同じか、それ以上の場合、ACE は、接続の期間中、パケットに TCP 最適化を適用します。
たとえば ACE で、接続の期間中、パケットに TCP 最適化を適用させるには、次のように入力します。
ACE を、TCP 接続の最適化を行わないデフォルト動作に戻すには、次のように入力します。
host1/C1(config-parammap-conn)# no set tcp wan-optimization rtt 0
TCP ウィンドウ スケールの機能により、RFC 1323 にウィンドウ スケーリング オプションのサポートが追加されます。広い帯域幅や長い遅延時間特性を持ったネットワーク パスにおいて TCP パフォーマンスを向上させるため、ウィンドウ サイズを大きくすることを推奨します。このネットワーク タイプは、Long Fat Network(LFN; 広帯域高遅延ネットワーク)と呼ばれます。
ウィンドウ スケーリング拡張により、TCP ウィンドウの定義を 32 ビットに拡大し、スケール ファクタを使用してTCP ヘッダーの 16 ビット ウィンドウ フィールドのこの 32 ビットの値を伝送します。ウィンドウ サイズを最大スケール ファクタである 14 に増やす必要があります。標準的なアプリケーションでは、LFN に展開されている場合、スケール ファクタ 3 を使用します。
レイヤ 7 接続の場合(ACE で接続を終了)、ACE はクライアントからサーバにもとのウィンドウ スケール ファクタを転送します。ACE は、SYN-ACK で設定したウィンドウ スケール ファクタをクライアントに送ります。ACE ウィンドウ スケール ファクタは、サーバのウィンドウ スケール ファクタに一致しているか、 tcp-options コマンドを、ウィンドウ スケール オプションをクリアするように設定する必要があります。このように設定しないと、予期しない結果が生じることがあります。 tcp-options コマンドの詳細については、「ACE による TCP オプションの処理方法の設定」を参照してください。
Secure Sockets Layer(SSL)接続の場合、あるいは WAN の最適化 RTT を 0 に設定(「ACE によるパケットへの TCP 最適化の適用方法」を参照)する構成の場合は、ACE とサーバの間のウィンドウ スケールが一致していなくてもかまいません。これ以外の接続の場合はいずれも、ACE のウィンドウ スケール ファクタとサーバのウィンドウ スケール ファクタが一致している必要があります。
TCP ウィンドウ スケール ファクタを設定するには、パラメータ マップ接続コンフィギュレーション モードで set tcp window-scale コマンドを使用します。このコマンドの構文は次のとおりです。
number 引数には、0 ~ 14 の整数を指定します。デフォルトは 0 です。
たとえば、TCP ウィンドウ スケール ファクタを 3 に設定するには、次のように入力します。
デフォルト値 0 にリセットするには、次のように入力します。
スロー スタート アルゴリズムは、ACK ハンドシェイクが到達すると TCP がウィンドウ サイズを大きくする輻輳回避方法です。このアルゴリズムでは、新しいセグメントをネットワークに取り込むレートが、接続の反対側のホストが ACK を戻すレートであることを確認して機能します。この機能はデフォルトではイネーブルです。TCP スロー スタート アルゴリズムの詳細については、RFC 3390 を参照してください。
スロー スタート アルゴリズムをイネーブルにするには、パラメータ マップ コンフィギュレーション モードで slowstart コマンドを使用します。このコマンドの構文は次のとおりです。
スロー スタート アルゴリズムをディセーブルにするには、次のように入力します。
ACE がクライアントからサーバへの ACK の送信を遅延するよう設定できます。一部のアプリケーションでは、最高のパフォーマンスを実現するため ACK を遅延させる必要があります。ACK を遅延すると、セグメントごとに個別に確認応答するのではなく、複数のセグメントに 1 つの ACK を送信することで輻輳を減少することもできます。遅延 ACK を設定するには、パラメータ マップ接続コンフィギュレーション モードで set tcp ack-delay コマンドを使用します。このコマンドの構文は次のとおりです。
number 引数には、0 ~ 400 の整数(ミリ秒)を指定します。デフォルトは 200 ミリ秒です。
たとえば、クライアントからサーバへの ACK の送信を 400 ms に遅延させるには、次のように入力します。
ACK 遅延タイマーをデフォルト値の 200 ms に戻すには、次のように入力します。
ACE はデータを含んだ TCP SYN セグメントを受信することがあります。セグメントを廃棄するか、データ処理のためセグメントにフラグ付けするよう ACE を設定できます。データを含んだ SYN セグメント用にACE の動作を設定するには、パラメータ マップ接続コンフィギュレーション モードで syn-data コマンドを使用します。このコマンドの構文は次のとおりです。
• allow ― (デフォルト)データを含んだ SYN セグメントを許可し、データ処理のためセグメントをマーク付けします。
• drop ― データを含んだ SYN セグメントを廃棄します。
たとえば、データを含んだ SYN セグメントを廃棄するには、次のように入力します。
ACE の動作を、データを含んだ SYN セグメントを許可するデフォルトに戻すには、次のように入力します。
ACE により、SYN セグメントで指定され、明示的にサポートされた次の TCP オプションを許可またはクリアできます。
ACE によって明示的にサポートされていない TCP オプションの TCP オプション番号の範囲を指定することもできます。 TCP オプションを設定するには、パラメータ マップ接続コンフィギュレーション モードで tcp-options コマンドを使用します。このコマンドの構文は次のとおりです。
tcp-options {range number1 number2 {allow | drop}} | { selective-ack | timestamp | window-scale } { allow | clear | drop}
• range ― オプション番号を使用して、ACE によって明示的にサポートされていない TCP オプションを指定します。このコマンドを使用すると、オプション範囲で指定された TCP オプションに関連するセグメントを許可または廃棄できます。
– number1 ― TCP オプション範囲の下限。6 または 7、あるいは 9 ~ 255 の整数を入力します。 表4-2 を参照してください。
– number2 ― TCP オプション範囲の上限。6 または 7、あるいは 9 ~ 255 の整数を入力します。 表4-2 を参照してください。
• allow ― 指定されたオプション セットのあるセグメントをすべて許可します。
• drop ― 範囲または window-scale オプションでのみ使用されます。ACE は指定されたオプション セットのあるセグメントをすべて廃棄します。
• selective-ack ― ACE が受信したすべてのセグメントに関する情報を送信元に通知できます。送信元は、累積した ACK を待ったり、不必要にセグメントを再送信するのではなく、失われたセグメントのみを再送信する必要があります。SACK は、再送信したセグメントの数を減らし、一部の状況でスループットを向上させます。
• timestamp ― ネットワーク上の 2 つのノードの間の TCP セグメントの round-trip time(RTT; ラウンドトリップ時間)を測定します。タイム スタンプは必ず送信され、両方向でエコーされます。
• window-scale ― ACE は、基本的に TCP の送受信バッファ サイズを増やすウィンドウ スケール ファクタを使用できます。送信元は、接続中に送受信ウィンドウ サイズを決定するウィンドウ スケール ファクタをSYN セグメントに指定します。
• clear ― 明示的にサポートされたオプションにデフォルト。指定されたオプションを設定したセグメントからオプションをクリアし、セグメントを許可します。
表4-2 に、 tcp-options range コマンドに使用できる TCP オプションを示します。
|
|
|
|
---|---|---|---|
表4-3 に、このコマンドによって明示的にサポートされた TCP オプションを示します。
|
|
|
|
---|---|---|---|
このコマンドを複数回指定すると異なるオプションとアクションを設定できます。同じオプションに異なるアクションを指定する場合、ACE は上記の優先順位を使用して、使用するアクションを決定します。
たとえば、SACK オプション セットが設定されたセグメントを許可するには、次のように入力します。
ACE の動作を、SACK オプションをクリアし、セグメントを許可するデフォルトに戻すには、次のように入力します。
アクションごとにオプション範囲を指定できます。オーバーラップするオプション範囲に異なるアクションを指定する場合、ACE は上記の優先順位を使用して、指定されたオプション用に実行するアクションを決定します。
設定から TCP オプションを削除するには、次のように入力します。
URG 制御ビット(フラグ)が TCP ヘッダーに設定されている場合、緊急ポインタが有効であることを示します。緊急ポインタには、ペイロードの緊急データに続くセグメントの場所を示すオフセットが含まれます。緊急データは、通常のデータを処理する前にできる限り早く処理する必要があるデータです。ACE では、緊急フラグを許可する、またはクリアできます。緊急フラグをクリアする場合、緊急ポインタを無効にします。
ACE は、レイヤ 4 上のトラフィックの緊急フラグをクリアします。TCP サーバ接続を再使用する場合(『 Cisco Application Control Engine Module Server Load-Balancing Configuration Guide 』の Chapter 2「Configuring Traffic Policies for Server Load
Balancing」を参照)、ACE は緊急フラグの値をサーバに送信しません。
緊急ポインタ ポリシーを設定するには、パラメータ マップ接続コンフィギュレーション モードで urgent-flag コマンドを使用します。このコマンドの構文は次のとおりです。
• allow ― (デフォルト)緊急フラグのステータスを許可します。緊急フラグが設定されている場合、緊急データの場所を示す緊急ポインタのオフセットは有効です。緊急フラグが設定されていない場合、緊急ポインタのオフセットは無効です。
• clear ― 緊急フラグを 0 に設定します。この値は緊急ポインタのオフセットを無効にし、セグメントを許可します。
たとえば、緊急フラグをクリアし、セグメントを許可するには、次のように入力します。
ACE の動作を、緊急フラグを許可するデフォルトに戻すには、次のように入力します。
IP パケットの ToS は、ネットワークがパケットを処理し、優先順位、スループット、遅延、信頼性、およびコストのバランスを取る方法を決定します。この情報は IP ヘッダー内部にあります。特定のトラフィック クラスのパケットに ToS を設定するには、接続パラメータ マップ コンフィギュレーション モードで set ip tos コマンドを使用します。このコマンドの構文は次のとおりです。
number 引数を使用して、パケットの ToS バイト値を指定された値に置き換えます。0 ~ 255 の整数を入力します。ToS バイトの詳細については、RFC 791、1122、1349、および 3168 を参照してください。
たとえば、パケットの ToS バイト値を 20 に設定するには、次のように入力します。
ACE の動作を、着信パケットの Type バイト値を書き換えないデフォルトに戻すには、次のように入力します。
ここでは、TCP/IP 正規化、および終了についてトラフィック ポリシーを設定する方法について説明します。内容は次のとおりです。
• レイヤ 3 およびレイヤ 4 のポリシー マップとサービス ポリシーの関連付け
レイヤ 4 クラス マップを使用して、TCP/IP の正規化と終了のネットワーク トラフィックを分類できます。トラフィック クラスと一致するには、ネットワーク トラフィックはクラス マップで指定した一致基準を満たす必要があります。
TCP/IP の正規化と終了のクラス マップを設定するには、コンフィギュレーション モードで class-map コマンドを使用します。クラス マップの設定については、『 Cisco Application Control Engine Module Administration Guide 』を参照してください。
class-map [match-all | match-any] name
• match-all | match-any ― (任意)1 つのクラス マップに複数の一致基準が存在する場合、ACE がレイヤ 4 ネットワーク トラフィックを評価する方法を決定します。match コマンドが次の条件のいずれかを満たす場合、クラス マップは一致とみなされます。
– match-all ― (デフォルト)トラフィック クラスと一致するには、ネットワーク トラフィックはクラス マップに記載されたすべての一致基準を満たす必要があります。一般的には異なるタイプで使用される match コマンドです。
– match-any ― トラフィック クラスと一致するには、ネットワーク トラフィックはクラス マップに記載された一致基準を 1 つのみ満たす必要があります。一般的には同じタイプで使用される match コマンドです。
• name ― クラス マップの ID。64 文字までの英数字で、引用符とスペースが含まれないテキスト文字列を入力します。クラス名はクラス マップと、ポリシー マップのクラスにポリシーを設定するために使用されます。
設定からクラス マップを削除するには、次のように入力します。
クラス マップ コンフィギュレーション モードで description コマンドを使用すると、レイヤ 4 クラス マップを簡単に説明できます。このコマンドの構文は次のとおりです。
text 引数には、引用符を含まない 256 文字までの英数字のテキスト文字列を入力します。
次の例では、クラス マップがサーバへのネットワーク トラフィックをフィルタリングする説明を示します。
クラス マップから説明を削除するには、次のように入力します。
必要に応じて、クラス マップ コンフィギュレーション モードで match コマンドを使用して一致基準を入力するセクションに続きます。
クラス マップ コンフィギュレーション モードで match コマンドを使用すると、送信元アドレス、宛先アドレス、または VIP アドレスをレイヤ 3 ネットワーク トラフィック一致基準として指定できます。このコマンドの構文は次のとおりです。
[ line_number ] match { source-address | destination-address | virtual-address } ip_address netmask
• line_number ― (任意)個別の match コマンドを編集または削除するのに役立つ引数。たとえば、行全体を入力する代わりに、 no line_number を入力して長い match コマンドを削除できます。
• source-address ― 送信元 IP アドレスを一致基準として指定します。
• destination-address ― 宛先 IP アドレスを一致基準として指定します。
• virtual-address ― 仮想 IP(VIP)アドレスを一致基準として指定します。
• ip_address ― 送信元、宛先、または VIP の IP アドレス。ドット付き 10 進表記で IP アドレスを入力します(たとえば、192.168.12.15)。0.0.0.0 を IP アドレスと一致するワイルドカードとして指定することもできます。
• netmask ― (任意)IP アドレスのサブネット マスク。ドット付き 10 進表記でマスクを入力します(たとえば、255.255.255.0)。デフォルトのサブネット マスクは 255.255.255.255 です。0.0.0.0 をネットマスクと一致するワイルドカードとして指定することもできます。
複数の match address コマンドを 1 つのクラス マップに指定できます。また、同じクラス マップ内の別の match コマンドを組み合わせることもできます。
次の例では、ネットワーク トラフィックは宛先 IP アドレス 172.27.16.7 と一致する必要があることを示します。
クラス マップから宛先 IP アドレス一致基準を削除するには、次のように入力します。
クラス マップ コンフィギュレーション モードで match port コマンドを使用すると、TCP/UDP ポート番号またはポート範囲をレイヤ 4 ネットワーク トラフィック一致基準として指定できます。このコマンドの構文は次のとおりです。
[ line_number ] match port { tcp | udp { eq port1 | range port2 port3 }}
• line_number ― (任意)個別の match コマンドを編集または削除するのに役立つ引数。たとえば、行全体を入力する代わりに、 no line_number を入力して長い match コマンドを削除できます。
• eq port1 ― 指定された値と一致する必要があるネットワーク トラフィックの TCP または UDP のポート番号を指定します。0 ~ 65535 の整数を入力します。値 0 は任意のポートに一致します。代わりに、TCP または UDP のポート番号に相当するプロトコル キーワードを入力できます。サポートされている well-known TCP ポートの名前と番号のリストについては、 表4-4 を参照してください。サポートされている well-known UDP ポートの名前と番号のリストについては、 表4-5 を参照してください。
|
|
|
---|---|---|
Mapping of Airline Traffic over Internet Protocol(MATIP)タイプ A |
||
|
|
|
---|---|---|
• range port2 port3 ― TCP または UDP ポートに使用するポート範囲を指定します。0 ~ 65535 の整数を入力します。0 に設定すると、ACE はいずれのポートとも一致します。
複数の match port コマンドを 1 つのクラス マップに指定できます。また、別の match コマンドを同じクラス マップ内の match port コマンドと組み合わせることもできます。
次の例では、ネットワーク トラフィックが TCP ポート番号 23(Telnet クライアント)で一致する必要があることを示します。
クラス マップから TCP ポート番号一致基準を削除するには、次のように入力します。
コンフィギュレーション モードで policy-map コマンドを使用すると、TCP の正規化、終了、および再使用にレイヤ 4 トラフィック ポリシーを設定できます。ACE は、レイヤ 4 ポリシー マップ内の複数のクラスと一致しようとしますが、機能ごとに 1 つのクラスとしか一致できません。分類が複数のクラス マップと一致する場合、ACE は対応するアクションをすべて実行します。ただし、特定の機能に対しては、ACE は最初に一致した分類アクションのみを実行します。ポリシー マップの詳細については、『 Cisco Application Control Engine Module Administration Guide 』を参照してください。
name 引数は、ポリシー マップの ID です。64 文字までの英数字で、引用符とスペースが含まれないテキスト文字列を入力します。
設定からポリシー マップを削除するには、次のように入力します。
ポリシー マップ コンフィギュレーション モードで class コマンドを使用すると、レイヤ 4 クラス マップとレイヤ 4 ポリシー マップを関連付けることができます。このコマンドの構文は次のとおりです。
class { name1 | class-default} [ insert-before name2 ]
• name1 ― class-map コマンドで設定された、事前に定義されたトラフィック クラスの名前。32 文字までの英数字で、引用符とスペースが含まれないテキスト文字列を入力します。
• class-default ― ACE によって作成された、予約済みの既知のクラス マップを指定します。このクラスを削除または変数することはできません。指定されたクラス マップ内の他の一致基準を満たさないトラフィックは、すべてデフォルト トラフィック クラスに属します。指定された分類がトラフィックと一致しない場合、ACE は class class-default コマンドで指定されたアクションを実行します。 class-default クラス マップには、すべてのトラフィックと一致する暗黙の match any ステートメントがあります。
• insert-before name2 ― (任意)ポリシー マップ コンフィギュレーションの name2 引数によって指定された既存のクラス マップより、現在のクラス マップを優先します。ACE は設定の一部として、シーケンス リオーダーを保存しません。
次の例では、 insert-before コマンドを使用してポリシー マップの 2 つのクラス マップのシーケンシャル オーダーを定義する方法を示します。
レイヤ 4 ポリシー マップからクラス マップを削除するには、次のように入力します。
ポリシー マップ クラス コンフィギュレーション モードで connection
advanced-options コマンドを使用すると、接続パラメータ マップとポリシー マップを関連付けることができます。接続パラメータ マップの設定に関する詳細については、「TCP/IP の正規化と終了の接続パラメータ マップの設定」を参照してください。このコマンドの構文は次のとおりです。
connection advanced-options name
name 引数には、既存のパラメータ マップに対する UID を指定します(64 文字までの英数字で、引用符が含まれないテキスト文字列により指定)。
ポリシー マップと TCP パラメータ マップの関連付けを解除するには、次のように入力します。
レイヤ 4 ポリシー マップと、クラス マップ、接続パラメータ マップ、および接続パラメータを設定したら、起動するためポリシー マップをサービス ポリシーに関連付ける必要があります。ポリシー マップをサービス ポリシーに関連付けるには、コンフィギュレーション モードで service-policy コマンドを使用します。このコマンドの構文は次のとおりです。
• input ― サービス ポリシーを着信トラフィックに適用するよう指定します。
• name ― サービス ポリシーに関連付けるポリシー マップの名前
サービス ポリシとポリシー マップの関連付けを解除するには、次のように入力します。
ここでは、インターフェイス コンフィギュレーション モードで TCP/IP 正規化パラメータを設定する方法について説明します。次のとおりです。
• インターフェイスでの ICMP セキュリティ チェックのディセーブル化
• ACE による Don't Fragment ビットの処理方法の設定
• uRPF の設定
デフォルトでは、TCP の正規化はイネーブルです。インターフェイス上で TCP の正規化をディセーブルにするには、インターフェイス コンフィギュレーション モードで no normalization コマンドを使用します。TCP の正規化をディセーブルにすると、レイヤ 4 トラフィックのみに影響を与えます。TCP の正規化は常に、レイヤ 7 トラフィックでイネーブルです。
次の非対称フローが発生した場合にこのコマンドを使用します。使用しないと、ACE が実行する正規化チェックによってブロックされます。
• ACE はクライアント/サーバ トラフィックのみを認識します。たとえば、TCP 接続の場合、ACE はクライアントから SYN を認識しますが、サーバからの SYN-ACK は認識しません。この場合、 no normalization コマンドをクライアント側の VLAN(仮想 LAN)に適用します。
• ACE はサーバ/クライアント トラフィックのみを認識します。たとえば、TCP 接続の場合、ACE はサーバから SYN-ACK を受信し、クライアントからの SYN は受信しません。この場合、 no normalization コマンドをサーバ側の VLAN に適用します。
(注) TCP の正規化がディセーブルの場合、ACE は上記の非対称トラフィックにフローを設定し、接続テーブルにエントリを作成します。
たとえば、インターフェイス VLAN 100 で TCP の正規化をディセーブルにするには、次のように入力します。
TCP の正規化を再度イネーブルにするには、次のように入力します。
ACE は、ICMP 応答パケットと要求パケットを一致させ、ミスマッチ パケットを使用して攻撃を検出していくつかの ICMP セキュリティ チェックを提供します。また、エラー パケットを受信したフローに関する接続記録が存在する場合、ACE は ICMP エラー パケットのみを転送します。デフォルトでは、ACE ICMP セキュリティ チェックはイネーブルです。
ICMP セキュリティ チェックをディセーブルにするには、インターフェイス モードで no icmp-guard コマンドを使用します。このコマンドを戦略全体の一部として使用して、ACE をピュア サーバ ロード バランサとして動作します。詳細については、『 Cisco Application Control Engine Module Server Load-Balancing Configuration Guide 』のChapter 1「Overview」を参照してください。
たとえば、インターフェイス VLAN 100 で ICMP セキュリティ チェックをディセーブルにするには、次のように入力します。
ICMP セキュリティ チェックを再度イネーブルにするには、次のように入力します。
ここでは、ACE が自身やデータセンター内の装置を DoS 攻撃(サービス拒絶攻撃)から保護するために使用する SYN cookie 機能について説明します。内容は次のとおりです。
TCP 3 ウェイ ハンドシェイク(SYN、SYN-ACK、ACK)が何らかの理由で完了していないことがたまにあります。このような不完全な接続、またはハーフオープンの接続は、初期接続と呼ばれます。こうした状況は、頻繁に発生しなければ、異常はありません。ただし、初期接続が多数発生する場合は、ハッカーによる DoS 攻撃(SYN フラッド アタック)を示唆していることが考えられます。
SYN フラッド アタックは、送信元 IP アドレスが無効か、あるいは到達不能な 1 つ以上のホストから特定のサーバ、または別のホストに対し、大量の SYN を送り付けるという攻撃です。こうした攻撃により、ターゲット ホストの接続がハーフオープン状態になり、ホストで別の接続要求に対応するために必要なタイムアウトが無効になります。さまざまなネットワーク上で複数のホストを使用して、特定のサーバや別のホストにしかける攻撃を DDoS(分散型サービス拒否攻撃)といいます。攻撃者の目的は、ターゲット ホストの占有化を試み、リソースを消費し、正当な接続に対するサービスの提供を妨害することです。
ACE は、SYN cookie ベースの DoS 保護を TCP 接続に設定することで、データセンター内のサーバや別のホストをSYN フラッド アタックから守ることができます。初期接続のしきい値は、ACE で SYN cookie 保護を適用するレベルよりも上に設定します。
設定した初期接続しきい値に達すると、ACE はクライアントから送られた次の SYN パケットを代行受信します。ACE は、SYN に対し、実際のSYN cookie 値であるシーケンス番号を使用して、SYN-ACK で応答します。SYN cookie は次の要素で構成されます。
• ACE がサーバに転送するクライアント MSS の符号化
• 4 つのタプル(送信元 IP アドレス、送信元ポート、宛先 IP アドレス、宛先ポート)、およびタイマー値から計算した ACE 選択のシークレット
通常、SYN キューが満杯になると、ACE は、以降の接続要求をドロップします。SYN cookie をイネーブルにした ACE で SYN キューが満杯になると、ACE は、実際に SYN キューのサイズが大きい場合と同じように SYN-ACK を要求側クライアントに送信して、クライアントからの要求を通常どおり続行します。ACE では、シーケンス番号( n )と同じ SYN cookie の計算値を使用し、SYN キューのエントリを破棄します。
ACE がクライアントから ACK(シーケンス番号 = n +1)を受け取ると、シークレット、および SYN cookie タイマーの最新値に対する SYN cookie 値の妥当性を検証します。シークレット、またはシーケンス番号が無効な場合、ACE は、パケットをドロップします。シークレット、またはシーケンス番号が有効であれば、ACE は、符号化された MSS とクライアントからの ACK に基づいて、SYN キュー エントリを再構築します。この時点で、接続プロセスは通常どおり実行されます。ACE は、新たに構築された SYN をサーバに送信し、バックエンド TCP 接続を確立します。
SYN cookie 機能を使用するときは、次の点に注意してください。
• ACE が送信した SYN をサーバがドロップすると、ACE では、初期タイムアウトを使用して、接続をリセットします。SYN パケットの再試行は行われません。
• SYN cookie では、MSS TCP オプションのみがサポートされます。ACE は、他の TCP オプションについては、これらのオプションに問題がある場合でも、すべて無視します。
• ACE では、RFC で指定された MSS のデフォルト値、536 が戻されます。
• パラメータ マップを使用して MSS 値の下限と上限を指定した場合、ACE は、これらの値を無視します。
• 正規化を無効化して、SYN cookie を使用すると、予期せぬ動作が生じることがあります。
• ACE では、SYN cookie の Syslog はいずれも生成されません。初期接続の数が設定済みのしきい値を超えて、SYN フラッド アタックを示している場合でも、Syslog は生成されません。
• ブリッジ型 VLAN で、ロード バランスを調整していないフローで SYN cookie 機能を設定する場合は、ブリッジグループ仮想インターフェイス(BVI)と同じサブネットに存在しない非ロード バランス宛先に対し、静的なルートを設定する必要があります。
–外部ネットワーク 172.16.1.0 までの Gateway1 IP アドレスが 192.168.1.2
–外部ネットワーク 172.31.1.0 までの Gateway2 IP アドレスが 192.168.1.3
SYN cookie DoS 保護を設定するには、インターフェイス コンフィギュレーション モードで syn-cookie コマンドを使用します。このコマンドの構文は次のとおりです。
number は、ACE が SYN cookie DoS 保護を適用する初期接続のしきい値です。2 ~ 65535 の整数を入力します。
たとえば、VLAN 100 に接続されたデータセンターのサーバに SYN cookie DoS 保護を設定するには、次のように入力します。
インターフェイスから SYN -cookie DoS を削除するには、次のように入力します。
しばしば ACE は、IP ヘッダーに Don't Fragment(DF)ビット セットを含んだパケットを受信することがあります。このフラグは、ネットワーク ルータおよび ACE に対して、パケットを断片化して全体に転送しないように通知します。ACE が DF ビットを処理する方法を設定するには、インターフェイス コンフィギュレーション モードで ip df コマンドを使用します。このコマンドの構文は次のとおりです。
• clear ― DF ビットをクリアし、パケットを許可します。パケットがネクストホップ MTU より大きい場合、ACE はパケットを断片化します。
• allow ― DF ビット セットのあるパケットを許可します。パケットがネクストホップ MTU より大きい場合、ACE はパケットをドロップし、ICMP 到達不能メッセージを送信元ホストに送信します。
たとえば、DF ビットをクリアし、パケットを許可するには、次のように入力します。
ACE にDF ビットを無視させるには、次のように入力します。
ACE は、IP オプションがパケットに設定されていれば、IP オプションを処理し、特定のアクションを実行できます。ACE が IP オプションを処理する方法を設定するには、インターフェイス コンフィギュレーション モードで ip options コマンドを使用します。このコマンドの構文は次のとおりです。
ip options { allow | clear | clear-invalid | drop }
• allow ― IP オプションが設定されたパケットを許可します。
• clear ― パケットから IP オプションをすべてクリアし、パケットを許可します。
• clear-invalid ― (デフォルト)ACE が 1 つまたは複数の無効またはサポートされていない IP オプションを受信した場合、パケットから IP オプションをすべてクリアし、パケットを許可します。
• drop ― IP オプションが設定されているかどうかに関係なく、ACE はパケットを廃棄します。
モジュールが 1 つまたは複数の無効またはサポートされていない IP オプションを受信した場合に ACE の動作を、IP オプションすべてをクリアするデフォルトに戻すには、次のように入力します。
パケット Time To Live(TTL; 存続可能時間)は、パケットが宛先へ到達できるホップの数を指定します。パケットのパスを経由するルータごとに、TTL 値が 1 ずつ減ります。パケットが宛先に到達する前にパケットの TTL がゼロになった場合、パケットは廃棄されます。
着信パケットの IP ヘッダーで ACE が受信する最小 TTL 値を設定するには、インターフェイス コンフィギュレーション モードで ip ttl コマンドを使用します。ACE のデフォルト動作では、パケットの TTL 値を書き換えません。このコマンドの構文は次のとおりです。
number 引数は、パケットが宛先へ到達できるホップの最小数です。整数で 1 ~ 255 ホップを入力します。
(注) 着信パケットの TTL 値が設定された最小値より小さい場合、ACE は TTL 値を設定された値に書き換えます。そうしないと、ACE は元の TTL のあるパケットを送信するか、TTL がゼロになったらパケットを廃棄します。
たとえば、TTL を 15 に設定するには、次のように入力します。
着信 IP パケットの TTL を上書きしないデフォルトに ACE の動作を戻すには、次のように入力します。
Unicast Reverse-path forwarding(uRPF; ユニキャスト RPF)は、ACE が検証可能な送信元 IP アドレスがない IP パケットをドロップできるようにすることで、不正な、または偽造(スプーフィング)IP 送信元アドレスをネットワークに導入したことが原因の問題を軽減します。この機能により、ACE は入力パケットと出力パケット両方をフィルタリングして、アドレッシングとルートの整合性を検証できます。これは、一般的にルート検索が送信元アドレスではなく宛先アドレスに基づいているので、RPF と呼ばれます。
ルートが見つからない場合、またはパケットが着信したインターフェイスとルートが一致しない場合にこの機能をイネーブルにすると、ACE はパケットをドロップします。
(注) インターフェイスで mac-sticky コマンドを設定する場合、ip verify reverse-path コマンドを設定することはできません。mac-sticky コマンドの詳細については、『Cisco Application Control Engine Module Routing and Bridging Configuration Guide』を参照してください。
この機能をイネーブルにするには、インターフェイス コンフィギュレーション モードで ip verify reverse-path コマンドを使用します。このコマンドの構文は次のとおりです。
たとえば、RPF をイネーブルにするには、次のように入力します。
ACE が IP フラグメント再構成を実行する方法を制御するパラメータをいくつか設定できます。このセクションの内容は、次のとおりです。
表4-6 に、IP フラグメント再構成を設定するのに必要なステップの概要を示します。各ステップには CLI、または作業を完了するのに必要な手順の参照が含まれます。 CLI コマンドに関連した各機能すべてのオプションの詳細については、次の 表4-6 を参照してください。
デフォルトの MTU は、イーサネット インターフェイスのブロックでは 1500 バイトです。この値は大半のアプリケーションにとって適切な数値ですが、ネットワーク状態が必要とするならば、より小さい値を選択できます。MTU 値より大きいデータは、ネクストホップ ルータに送信される前に分割されます。
インターフェイスの MTU を指定するには、インターフェイス コンフィギュレーション モードで mtu コマンドを使用します。このコマンドにより、接続上で送信するデータ サイズを設定できます。このコマンドの構文は次のとおりです。
bytes 引数は MTU のバイト数を同じです。68 ~ 9216 バイトを入力します。デフォルトは 1500 バイトです。
インターフェイスの MTU データ サイズを 1000 バイトに指定するには、次のように入力します。
MTU ブロック サイズを 1500 バイトに戻すには、 no mtu コマンドを使用します。たとえば、次のように入力します。
インターフェイス コンフィギュレーション モードで fragment chain コマンドを使用すると、再構成のため ACE が受信する同じパケットに属するフラグメントの最大数を設定できます。このコマンドの構文は次のとおりです。
number 引数には、フラグメント チェーン制限(整数で 1 ~ 256 フラグメント)を指定します。デフォルトは 24 フラグメントです。
パケットの最大フラグメント数をデフォルトの 24 に戻すには、次のように入力します。
インターフェイス コンフィギュレーション モードで fragment min-mtu コマンドを使用すると、再構成のため ACE が受信するフラグメントの最小サイズを設定できます。このコマンドの構文は次のとおりです。
number 引数には、最小フラグメント サイズ(整数で 68 ~ 9216 バイト)を入力できます。デフォルトは 576 バイトです。
最小フラグメント サイズをデフォルト値の 576 バイトに戻すには、次のように入力します。
IP 再構成タイムアウトは、ACE が現在のフラグメント チェーン(同じパケットに属するフラグメント)の未解決のフラグメントを受信しない場合に、フラグメント再構成プロセスを放棄するまでの時間を指定します。再構成タイムアウトを設定するには、インターフェイス コンフィギュレーション モードで fragment timeout コマンドを使用します。このコマンドの構文は次のとおりです。
seconds 引数には、整数で 1 ~ 30 秒を入力します。デフォルトは 5 秒です。
フラグメント タイムアウトをデフォルト値の 5 秒に戻すには、次のように入力します。
次の例では、実行コンフィギュレーションを示します。ここでは、ACE が TCP の正規化を使用して、無効または疑わしい状態であるレイヤ 4 パケットをチェックし、設定された TCP 接続パラメータ マップの設定に基づいて適切なアクションを行います。ACE は TCP の正規化を使用して特定のネットワーク攻撃をブロックします。この設定には IP フラグメント再構成パラメータも含まれます。例では、TCP/IP の正規化および IP フラグメント再構成の設定は太字で表示されます。
• TCP/IP の正規化パラメータと終了パラメータを一緒にグループ化する接続パラメータ マップが含まれます(接続無活動タイマー、IP パケットの ToS、データを含んだ SYN セグメントの廃棄など)。接続パラメータ マップは TCP/IP ポリシー マップのアクションとして関連付けられます。
• 特定の VLAN インターフェイスに追加の IP 正規化パラメータを設定します(パケットからのすべての IP オプションの削除、パケットが宛先に到達できるホップの数の定義、DF ビット セットのあるパケットの許可など)。
• 特定の VLAN インターフェイスに IP フラグメント再構成パラメータを設定します(再構成のため ACE が受信するフラグメントの最小サイズ、再構成のため ACE が受信する同じパケットに属するフラグメントの最大数、再構成のため ACE が受信するフラグメントの最小サイズなど)。
ここでは、次の設定および統計情報を表示するのに使用できる show コマンドについて説明します。
EXEC モードで次の show コマンドを使用すると、TCP、IP、および UDP 接続の設定を表示できます。
• show running-config class-map ― IP アドレスや TCP または UDP ポートの一致ステートメントを含め、現在のコンテキストに設定されたトラフィック分類をすべて表示します。
• show running-config policy-map ― 関連したクラス マップを含め、現在のコンテキストに設定されたポリシー マップをすべて表示します。
• show running-config interface ― 現在のコンテキストのインターフェイス VLAN 設定をすべて表示します。
たとえば、現在のコンテキストのポリシー マップをすべて表示するには、次のように入力します。
EXEC モードで show parameter-map コマンドを使用すると、接続パラメータ マップを表示できます。このコマンドの構文は次のとおりです。
name 引数は、既存の接続パラメータ マップの名前です。名前に、64 文字までの英数字で、引用符とスペースが含まれないテキスト文字列を入力します。
たとえば、接続パラメータ マップの設定を表示するには、次のように入力します。
表4-7 に、 show parameter-map コマンドの出力のフィールドを示します。
ここでは、TCP/IP および UDP 接続の統計情報を表示するのに使用できる show コマンドについて説明します。接続統計情報を表示するには、EXEC モードで show conn コマンドを使用します。このコマンドの構文は次のとおりです。
show conn {address ip_address1 [ ip_address2 ] netmask mask } | count | detail | { port number1 [ number2 ]} | { protocol { tcp | udp }}
• address ip_address1 [ ip_address2 ] ― 単一の送信元または宛先 IP アドレス、あるいは任意の送信元または宛先 IP アドレス範囲の接続統計情報を表示します。IP アドレス範囲を指定するには、範囲の下限 IP アドレスと範囲の上限から 2 番めの IP アドレスを入力します。ドット付き 10 進表記で 1 つまたは 2 つの IP アドレスを入力します(たとえば、192.168.12.15)。
• netmask mask ― 指定する IP アドレスまたは IP アドレス範囲のネットワーク マスクを表示します。ドット付き 10 進表記でネットワーク マスクを入力します(たとえば、255.255.255.0)。
• count ― ACE への現在の接続をすべて表示します。
• port number1 [ number2 ] ― 単一の送信元または宛先ポート、あるいは任意の送信元または宛先ポート範囲の接続統計情報を表示します。
• protocol { tcp | udp } ― TCP または UDP の接続情報を表示します。
たとえば、IP アドレス範囲の接続情報を表示するには、次のように入力します。
表4-8 に、 show conn detail コマンドの出力のフィールドを示します。
|
|
---|---|
EXEC モードで show stats connection コマンドを使用すると、現在のコンテキストのグローバル接続の統計情報を表示できます。このコマンドの構文は次のとおりです。
たとえば、管理コンテキストでグローバル接続の統計情報を表示するには、次のコマンドを入力します。
表4-9 に、 show stats connection コマンドの出力のフィールドを示します。
|
|
---|---|
現在のコンテキストで作成された合計接続数。この値は、Total Connections Current、Total Connections Destroyed、Total Connections Timed-out、および Total Connections Failed の合計として表示されます。 |
|
ここでは、フラグメンテーション、ICMP、TCP、UDP、および ARP の統計情報を含めた IP 統計情報を表示する場合に使用できる show コマンドについて説明します。内容は次のとおりです。
EXEC モードで show ip traffic コマンドを使用すると、IP トラフィック情報を表示できます。このコマンドを使用すると、フラグメンテーション、再構成、および ARP 統計情報のほかに、ACE 経由ではなく ACE 宛てのトラフィックの統計情報を表示します。このコマンドの構文は次のとおりです。
表4-10 に、 show ip traffic コマンドの出力のフィールドを示します。
|
|
---|---|
ACE が受信したパケットの総数、ACE が受信したバイト数、入力エラーの数、ACE が受信したルートのないパケットの数、ACE が受信した不明なプロトコルを含んだパケットの数 |
|
ACE が再構成したフラグメントの数、ACE が再構成できなかったフラグメントの数、ACE が断片化したパケットの数、および ACE が断片化できなかったパケットの数 |
|
EXEC モードで show fragment コマンドを使用すると、ACE のすべてのインターフェイスまたは指定されたインターフェイスの IP フラグメンテーションおよび再構成の統計情報を表示できます。このコマンドの構文は次のとおりです。
任意の vlan_id 引数には、既存のインターフェイスの UID を 2 ~ 4094 の整数で入力します。 vlan キーワードと vlan_id 引数を省略すると、ACE のすべてのインターフェイスの統計情報を表示できます。
たとえば、ACE のすべてのインターフェイスの IP フラグメンテーションと再構成統計情報を表示するには、次のように入力します。
表4-11 に、 show fragment コマンドの出力のフィールドを示します。
|
|
---|---|
EXEC モードで show tcp statistics コマンドを使用すると、TCP 統計情報を表示できます。このコマンドを使用すると、ACE 経由ではなく、ACE 宛てのトラフィックの統計情報を表示します。このコマンドの構文は次のとおりです。
たとえば、現在のコンテキストの TCP 統計情報を表示するには、次のように入力します。
表4-12 に、 show tcp statistics コマンドの出力のフィールドを示します。
|
|
---|---|
EXEC モードで show udp statistics コマンドを使用すると、UDP 統計情報を表示できます。このコマンドを使用すると、ACE 経由ではなく、ACE 宛てのトラフィックの統計情報を表示します。このコマンドの構文は次のとおりです。
たとえば、現在のコンテキストの UDP 統計情報を表示するには、次のように入力します。
表4-13 に、 show udp statistics コマンドの出力のフィールドを示します。
|
|
---|---|
EXEC モードで show service-policy コマンドを使用すると、サービス ポリシー統計情報を表示できます。このコマンドの構文は次のとおりです。
name 引数には、既存のサービス ポリシーに対する UID を指定します(64 文字までの英数字で、引用符が含まれないテキスト文字列により指定)。
たとえば、現在のコンテキストのサービス ポリシー統計情報を表示するには、次のように入力します。
表4-14 に、 show service-policy コマンドの出力のフィールドを示します。
|
|
---|---|
loadbalance vip advertise コマンドを使用するルート ヘルス インジェクション(RHI)の状態。指定可能な値は、イネーブルまたはディセーブルです。 |
|
SYN cookie 統計情報を表示するには、EXEC モードで show syn-cookie コマンドを使用します。現在のコンテキストで設定されたすべての VLAN の SYN cookie 統計情報を表示するには、引数を指定せずに次のコマンドを入力します。このコマンドの構文は次のとおりです。
show syn-cookie [vlan number ]
任意の vlan number キーワードと引数を指定すると、指定されたインターフェイスの SYN cookie 統計情報が表示されます。2 ~ 2024 の整数を入力します。
たとえば、VLAN 100 の SYN cookie 統計情報を表示するには、次のように入力します。
表4-15 に、 show syn-cookie コマンドの出力のフィールドを示します。
|
|
---|---|
ACE によって認識され、特定の SYN cookie に一致したクライアント ACK パケットの数。cookie に一致するクライアント ACK ごとに、ACE 上で有効な初期接続が設定されます。 |
|
ここでは、TCP/IP およびUDP の接続、IP のリアセンブリ、SYN cookie に関連する接続や統計情報をクリアする際に使用するコマンドについて説明します。
• 接続の解除
• IP フラグメンテーションおよび再構成の統計情報のクリア
EXEC モードで clear conn コマンドを使用すると、ICMP、TCP、および UDP 接続を解除できます。このコマンドの構文は次のとおりです。
clear conn [ all | flow { icmp | tcp | udp } | rserver ]
• all ― (任意)現在のコンテキストで ACE への接続、または ACE 経由の接続をすべて解除します。
• flow { icmp | tcp | udp } ― (任意)指定されたフロー タイプの接続(ICMP、TCP、または UDP)をすべて解除します。
• rserver ― (任意)指定された実サーバの接続をすべて解除します。
たとえば、現在のコンテキストの TCP 接続をすべて解除するには、次のように入力します。
EXEC モードで clear stats conn コマンドを使用すると、現在のコンテキストの接続統計情報をすべてクリアできます。このコマンドの構文は次のとおりです。
たとえば、Admin コンテキストの接続統計情報をすべてクリアするには、次のように入力します。
IP、TCP、および UDP 統計情報をクリアするには、次のコマンドを使用します。このセクションの内容は、次のとおりです。
EXEC モードで clear ip statistics コマンドを使用すると、IP 統計情報をクリアできます。このコマンドを使用すると、現在のコンテキストの IP の正規化、フラグメンテーション、および再構成に関連した統計情報をすべてクリアします。このコマンドの構文は次のとおりです。
たとえば、現在のコンテキストの IP 統計情報をクリアするには、次のように入力します。
(注) 冗長性を設定した場合は、アクティブ側 ACE とスタンバイ側 ACE の両方の IP 統計情報を明示的にクリアする必要があります。アクティブ側モジュールでのみ統計情報をクリアすると、スタンバイ側モジュールの統計情報が古い値のまま残ります。
EXEC モードで clear tcp statistics コマンドを使用すると、TCP 統計情報をクリアできます。このコマンドを使用すると、現在のコンテキストの TCP 接続および正規化に関連した統計情報をすべてクリアします。このコマンドの構文は次のとおりです。
たとえば、現在のコンテキストの TCP 統計情報をクリアするには、次のように入力します。
(注) 冗長性を設定した場合は、アクティブ側 ACE とスタンバイ側 ACE の両方の TCP 統計情報を明示的にクリアする必要があります。アクティブ側モジュールでのみ統計情報をクリアすると、スタンバイ側モジュールの統計情報が古い値のまま残ります。
EXEC モードで clear udp statistics コマンドを使用すると、UDP 統計情報をクリアできます。このコマンドを使用すると、現在のコンテキストの UDP 接続に関連した統計情報をすべてクリアします。このコマンドの構文は次のとおりです。
たとえば、現在のコンテキストの UDP 統計情報をクリアするには、次のように入力します。
(注) 冗長性を設定した場合は、アクティブ側 ACE とスタンバイ側 ACE の両方の UDP 統計情報を明示的にクリアする必要があります。アクティブ側モジュールでのみ統計情報をクリアすると、スタンバイ側モジュールの統計情報が古い値のまま残ります。
EXEC モードで clear interface コマンドを使用すると、IP フラグメンテーションおよび再構成の統計情報をクリアできます。このコマンドの構文は次のとおりです。
clear interface [vlan vlan_id ]
任意の vlan_id 引数には、既存のインターフェイスの UID を 2 ~ 4094 の整数で指定します。 vlan キーワードと vlan_id 引数を省略すると、コンテキストのすべてのインターフェイスのフラグメンテーションおよび再構成統計情報をクリアできます。
たとえば、C1 コンテキストのすべてのインターフェイスの IP フラグメンテーションと再構成統計情報をクリアするには、次のように入力します。
(注) 冗長性を設定した場合は、アクティブ側 ACE とスタンバイ側 ACE の両方のフラグメンテーションと IP 再構成の統計情報を明示的にクリアする必要があります。アクティブ側モジュールでのみ統計情報をクリアすると、スタンバイ側モジュールの統計情報が古い値のまま残ります。
SYN cookie の統計情報をクリアするには、 clear syn-cookie コマンドを使用します。現在のコンテキストで設定されたすべての VLAN の SYN cookie 統計情報をクリアするには、引数を指定せずに次のコマンドを入力します。このコマンドの構文は次のとおりです。
clear syn-cookie [vlan number ]
任意の number 引数を指定すると、特定のインターフェイスの SYN cookie 統計情報がクリアされます。2 ~ 2024 の整数を入力します。
たとえば、VLAN 100 の SYN cookie 統計情報をクリアするには、次のように入力します。