コントロールプレーン分散型サービス拒否(DDoS)防御の概要
DoS(サービス拒否)攻撃とは、ネットワーク要素またはサーバーのすべてのリソースを使い果たして、ネットワークまたはサーバー リソースへの有効なユーザーのアクセスを拒否しようとする試みです。分散型サービス拒否(DDoS)攻撃は、複数のソースからの攻撃を伴うため、はるかに大量のトラフィックがネットワークを攻撃する可能性があります。この攻撃は通常、ネットワークプロトコル制御パケットを使用して、デバイスのコントロールプレーンに対して多数の例外をトリガーします。これにより、処理負荷が過剰になり、通常のネットワーク操作が中断されます。
ネットワーク管理者は、DDoS 攻撃防御を一元管理することで、ネットワーク制御トラフィックのプロファイルをカスタマイズできます。ルーターについては、 グレースフルルーティングエンジンスイッチオーバー (GRES)と統合型ISSU(インサービスソフトウェアアップグレード)スイッチオーバーの間も保護と監視が維持されます。加入者数が増えても保護は低下しません。
DDoS違反に対するホスト宛てのトラフィックポリサー
DDoS攻撃からコントロールプレーンを保護するために、デバイスでは、ホストに向かうトラフィックに対してデフォルトでポリサーが有効になっています。必要に応じて、多くのポリサーのデフォルト値を変更できます。ホストバウンドトラフィックとは、OSPF や BGP などのルーティングプロトコルのプロトコル制御パケットを含む、ルーティングエンジン宛てのトラフィックです。ルーター IP アドレス宛てのトラフィックも、ホスト宛てのトラフィックと見なされます。
ポリサーは、特定のプロトコルのすべての制御トラフィック、場合によってはプロトコルの特定の制御パケット タイプに対してレート制限を指定します。パケット タイプとプロトコル グループに対するポリサー アクションは、デバイス、ルーティング エンジン、およびライン カードのレベルで監視できます。また、ポリサーイベントのロギングを制御することもできます。
デバイスは、デフォルトまたは設定されたポリサー値を超えると、制御トラフィックをドロップします。DDoS 違反が発生しても、デバイスはパケットの処理を停止しません。それは彼らのレートを制限するだけです。違反するたびに、攻撃の可能性についてオペレーターに警告する通知がすぐに生成されます。デバイスは違反をカウントし、違反の開始時刻と最後に観察された違反の時刻を記録します。トラフィックレートが帯域幅違反のしきい値を下回ると、リカバリータイマーは、トラフィックフローが通常に戻ったと見なされるタイミングを判断します。タイマーが期限切れになる前に違反が発生しなかった場合、デバイスは違反状態をクリアし、通知を生成します。
PTXルーターとQFXシリーズスイッチでは、タイマーは300秒に設定されており、変更できません。
保護の第一線は、パケット転送エンジン(PFE)のポリサーです。複数のラインカードを搭載したデバイスでは、各ラインカードからのポリサーの状態と統計情報がルーティングエンジンにリレーされ、集約されます。ポリサーの状態は、スイッチオーバー中も維持されます。ラインカードの統計情報と違反数はスイッチオーバー中も保持されますが、ルーティング エンジン ポリサーの統計情報は保持されません。ラインカードのすべてのポートから到着した制御トラフィックは、パケット転送エンジンに収束し、そこでポリシングが行われ、ルーティングエンジンに到達する前に余分なパケットをドロップし、ルーティングエンジンが処理可能な量のトラフィックのみを受信するようにします。
この機能をサポートするACXシリーズルーターは、集約ポリサーのみをサポートし、ラインカードレベルでのポリシングはサポートしません。デフォルトのポリサー値は、ルーティングエンジンレベルでグローバルに変更することも、PFEチップセットレベルまで伝播する特定のプロトコルグループに対して変更することもできます。ただし、他のデバイスのようにラインカードレベルで追加のスケーリングパラメータを適用することはできません。ルーティング エンジン レベルでグローバルに、または特定のプロトコル グループに対してポリシングを無効にできます。グローバルにポリシングを無効にすると、デバイスのコントロールプレーンDDoS保護が効果的に無効になります。
QFX10000シリーズスイッチとPTXシリーズルーターは、PFEチップセット、ラインカード、ルーティングエンジンの3つのレベルでDDoS保護の制限を適用します。
コントロール プレーン DDoS 攻撃防御では、イベント ログによる違反の通知に加え、ポリサーの構成、発生した違反の数、違反の日時、パケット到着率、受信またはドロップされたパケット数などの情報を取得して、ポリサーを監視できます。
コントロールプレーンDDoS保護ポリサーは、システムのトラフィックキューで動作します。スイッチの QFX5100 回線と QFX5200 回線は、キューの数よりも多くのプロトコルのトラフィックを管理するため、システムは多くの場合、複数のプロトコルを同じキューにマッピングする必要があります。あるプロトコルのトラフィックが他のプロトコルとキューを共有し、DDoS 保護ポリサーの制限に違反している場合、システムは違反の原因となったプロトコルのトラフィックを区別しないため、これらのデバイスはマッピングされたすべてのプロトコルについてそのキューでの違反を報告します。ネットワークを流れるトラフィックの種類について知っていることを使用して、報告されたプロトコルのうち、実際に違反を引き起こしたプロトコルを特定できます。
プラットフォームのサポート
Junos OSリリース14.2以降のリリースでは、コントロールプレーンDDoS保護が特定のプラットフォームでサポートされています。一般に、次のプラットフォームの一部のモデルでは、コントロールプレーンDDoS保護がデフォルトで有効になっており、デフォルトのポリサーパラメーターを変更するための構成オプションをサポートしています。
ACXシリーズルーター。
EX9200スイッチ。
MPCのみがインストールされているMXシリーズルーター。
MPCを内蔵したMXシリーズルーター。
手記:わかりやすくするために(テキストがラインカードまたはラインカードポリサーを参照している場合)、これらのルーターでは、組み込みのMPCを意味します。
これらのルーターにはFPCスロットがないため、
show
コマンドによってFPC
フィールドに表示される情報は、実際にはTFEBを参照しています。PEベースのFPCのみがインストールされているPTXシリーズルーター(PTX3000、PTX5000、PTX1000、およびPTX10000)は、Junos OSリリース17.4R1以降、コントロールプレーンDDoS保護をサポートしています。
Junos OSリリース18.2R1以降、PTX10002ルーターがコントロールプレーンのDDoS攻撃防御をサポートしています。
Junos OS Evolvedリリース19.3R1以降、PTX10003ルーターがコントロールプレーンDDoS防御をサポートしています。
Junos OS Evolvedリリース20.3R1以降、PTX10004ルーターがコントロールプレーンDDoS保護をサポートしています。
Junos OS Evolvedリリース20.1R1以降、コントロールプレーンDDoS防御をサポートするPTX10008ルーターです。
QFX シリーズ スイッチには、QFX5100 シリーズ、QFX5200 ライン、QFX10000 シリーズのスイッチが含まれます。
QFX10002-60Cスイッチは、Junos OSリリース18.1R1以降、コントロールプレーンのDDoS保護をサポートしています。
タイプ 5 FPC のみが取り付けられている T4000 ルーター。
Junos EvolvedプラットフォームでDDoS防御を機能させるには、デバイスのlo0インターフェイスで
inet
および/またはinet6
プロトコルファミリーを設定する必要があります。一部のEXシリーズスイッチにはコントロールプレーンDDoS保護が搭載されている場合がありますが、デフォルトのポリサーパラメーターを表示または変更するCLIオプションをサポートしていません。
MPC(MXシリーズ)、タイプ5 FPC(T4000)、またはPEベースFPC(PTX3000、PTX5000、PTX1000、およびPTX10000)に加えて、他のラインカードを搭載するルータープラットフォームの場合、CLIは設定を受け入れますが、他のラインカードは保護されないため、ルーターは保護されません。
拡張加入者管理のコントロールプレーンDDoS保護サポートが、ルーティングプラットフォーム上のJunos OSリリース17.3R1に追加されました。
ACXシリーズルーター、PTXシリーズルーター、QFXシリーズスイッチには、MXシリーズやT4000ルーターで使用できるオプションとは大きく異なるCLI設定オプションがあり、サポートされているプロトコルグループとパケットタイプのデフォルト設定コントロールプレーンDDoS保護パラメーターを変更できます。さまざまなデバイスで使用可能な設定オプションについては、次の設定ステートメントを参照してください。
PTXシリーズルーター以外のルーティングデバイスについては、 プロトコル(DDoS)を参照してください。
ACXシリーズルーター、PTXシリーズルーター、QFXシリーズスイッチについては、 プロトコル(DDoS)(ACXシリーズ、PTXシリーズ、QFXシリーズ)を参照してください。
ポリサーのタイプとパケットの優先度
コントロール プレーンの DDoS 防御には、次の 2 種類のポリサーが含まれます。
集約ポリサーは、プロトコルグループに属するパケットタイプの完全なセットに適用されます。たとえば、すべての PPPoE 制御パケット タイプまたはすべての DHCPv4 制御パケット タイプに適用される集約ポリサーを設定できます。帯域幅([pps]あたりのパケット数)とバースト(バースト内のパケット数)の制限を指定し、帯域幅とバーストの制限を拡張し、集約ポリサーのトラフィック優先度を設定できます。集約型ポリサーは、すべてのプロトコルグループでサポートされています。
個々のポリサーは、パケット タイプ ポリサーとも呼ばれ、プロトコル グループ内の制御パケット タイプごとに割り当てられます。たとえば、1 つ以上のタイプの PPPoE 制御パケット、RADIUS 制御パケット、またはマルチキャスト スヌーピング パケットに対してポリサーを設定できます。帯域幅(pps)とバースト(パケット)の制限値を指定し、帯域幅とバーストの制限をスケーリングし、パケットタイプポリサーのトラフィック優先度を設定できます。一部のプロトコル グループでは、個々のポリサーを使用できます。
サポートされているプロトコル グループとパケット タイプは、次のようにプラットフォームや Junos OS リリースによって異なります。
PTXシリーズルーター以外のルーティングデバイスについては、 プロトコル(DDoS)を参照してください。
ACXシリーズルーター、PTXシリーズルーター、QFXシリーズスイッチについては、 プロトコル(DDoS)(ACXシリーズ、PTXシリーズ、QFXシリーズ)を参照してください。
制御パケットは、まず個々のポリサー(サポートされている場合)によってポリシングされ、次にその集合ポリサーによってポリシングされます。個々のポリサーによってドロップされたパケットが集合型ポリサーに到達することはありません。個々のポリサーを通過したパケットは、その後、集約ポリサーによって破棄される可能性があります。
ACX シリーズ ルーターは、サポートされているプロトコル グループの集合型ポリサーのみをサポートします。
プロトコル グループ内のパケット タイプには、設定可能なデフォルトの優先度(低、中、高)があります。各制御パケットは、プロトコル グループ内の各パケット タイプに設定された優先度に基づいて、その集約ポリサーによって課されるパケット レート制限内の帯域幅を求めて他のパケットと競合します。
優先順位メカニズムは絶対的です。優先度の高いトラフィックは、優先度が中程度および低いトラフィックよりも帯域幅を優先します。中程度の優先度のトラフィックは、優先度の低いトラフィックよりも優先される帯域幅を取得します。優先度の低いトラフィックは、優先度の高いトラフィックと中程度の優先度のトラフィックが残した帯域幅のみを使用できます。優先度の高いトラフィックがすべての帯域幅を使用する場合、優先度の低いトラフィックはすべてドロップされます。
Junos OSリリース23.2R1以前のリリースでは、MXシリーズデバイスでは、デバイス内のラインカードのタイプによって、受信プロトコルのDDoS(分散型サービス拒否)の優先度が決まります。Junos OS Release 23.2R1以降、デバイスはDDoSパラメーターテーブルに基づいてプロトコルのDDoS優先度を決定します。この機能拡張により、デバイスは、デバイスのラインカードに関係なく、デフォルトで特定のプロトコルのすべてのパケットを同じように扱うことができます。CLIを使用してDDoSパラメータテーブルを変更できます。この機能により、ネットワーク内のデバイスがプロトコルに優先順位を付けてDDoS攻撃から保護する方法の一貫性が向上します。
ポリサーの優先度動作の例
例えば、PPPoE プロトコルグループのコントロールプレーン DDoS 保護をサポートするデバイスでは、このプロトコルグループ内でパケットタイプをどのように設定するかを検討してください。この例では他のPPPoEパケットタイプを無視して、PADIおよびPADTパケットに対して個々のポリサーを設定し、それらすべてのパケットに対してPPPoE集約ポリサーを設定するとします。PADI パケットよりも PADT パケットを優先するのは、PADT パケットによって PPPoE アプリケーションがリソースを解放して新しい接続を受け入れることができるためです。したがって、PADT パケットには高い優先順位を割り当て、PADI パケットには低い優先順位を割り当てます。
集約ポリサーは、プロトコル グループの合計パケット レート制限を課します。個々のポリサーによって渡された PADT パケットは、PADT パケットの方が優先順位が高いため、個々のポリサーによって通過される PADI パケットの前にその帯域幅にアクセスできます。使用可能な帯域幅をすべて使用するほど多くの PADT パケットが通過すると、集約ポリサーに帯域幅が残っていないため、すべての PADI パケットがドロップされます。
ポリサー階層の例
コントロールプレーン DDoS ポリサーは、プロトコル制御トラフィックの階層フローに合わせて編成されています。ラインカードのすべてのポートから到着した制御トラフィックは、パケット転送エンジンに収束します。ルーター上のすべてのラインカードからの制御トラフィックは、ルーティングエンジンに収束します。同様に、DDoS ポリサーは制御パスに沿って階層的に配置されるため、余分なパケットはパスのできるだけ早い段階でドロップされます。この設計では、過剰な悪意あるトラフィックを除去することでシステム リソースを確保し、ルーティング エンジンが処理可能な量のトラフィックのみを受信するようにします。
たとえば、MX シリーズ ルーターにこの設計を実装するために、5 つの DDoS ポリサーが存在します。1 つはパケット転送エンジン(チップセット)、2 つはライン カードに、2 つはルーティング エンジンです。一部のプロトコルグループでは、集約ポリサーもパケット転送エンジンに存在し、合計6つのポリサーがあります。簡単にするために、テキストは一般的なケースに従います。例えば、 図 1 は、PPPoE トラフィックのポリサー・プロセスを示しています。 図 2 に、DHCPv4 トラフィックのポリサー プロセスを示します。(同じプロセスが DHCPv6 トラフィックにも適用されます)。
PTX シリーズ ルーターと QFX シリーズ スイッチは、パケット転送エンジンのみにポリサーを使用するシンプルな設計であることを思い出してください。PTX10003およびPTX10008ルーターでは、コントロールプレーンのDDoS攻撃防御制限が3つのレベルで適用されます。2つはパケット転送エンジンのチップセットおよびラインカードレベルで、1つはルーティングエンジンレベルで設定されています。ただし、パケットタイプポリサーと集約ポリサーは、これらすべてのプラットフォームで同様に動作します。
制御パケットは、処理と転送のためにパケット転送エンジンに到着します。最初のポリサー(1)は、個別ポリサー(図1)または集合ポリサー(図2)のいずれかです。
最初のポリサーは、2 つの例外を除き、個々のポリサーをサポートするプロトコル グループの個別ポリサーです。DHCPv4 および DHCPv6 トラフィックの場合、最初のポリサーは集約ポリサーです。
最初のポリサーは、集合型ポリサーのみをサポートするプロトコルグループの集合型ポリサーです。
最初のポリサーを通過するトラフィックは、一方または両方のラインカード ポリサーによって監視されます。カードに複数のパケット転送エンジンがある場合、すべてのパケット転送エンジンからのトラフィックはラインカードポリサーに収束します。
トラフィックが個々のポリサーをサポートするプロトコルグループに属している場合、トラフィックはラインカード個別ポリサー(2)を通過し、次にラインカード集約ポリサー(3)の順を通過します。個々のポリサーを通過するトラフィックは、集約ポリサーによってドロップされる可能性があります。DHCPv4 および DHCPv6 のトラフィックは、パケット転送エンジンの集約ポリサーによって監視されていましたが、ラインカードでは、個々のポリサーをサポートする他のプロトコルと同様に処理されます。
トラフィックが集約型ポリサーのみをサポートするプロトコルグループに属している場合、ラインカード集約型ポリサーのみがトラフィックをモニタします。
ラインカードポリサーを通過するトラフィックは、一方または両方のルーティングエンジンポリサーによって監視されます。すべてのラインカードからのトラフィックは、ルーティングエンジンポリサーに収束します。
トラフィックが個々のポリサーをサポートするプロトコルグループに属する場合、トラフィックはルーティングエンジン個別ポリサー(4)を通過し、次にルーティングエンジン集約ポリサー(5)を通過します。個々のポリサーを通過するトラフィックは、集約ポリサーによってドロップされる可能性があります。ラインカードレベルでの場合と同様に、ルーティング エンジンの DHCPv4 および DHCPv6 トラフィックは、個々のポリサーをサポートする他のプロトコルと同様に処理されます。
トラフィックが集合型ポリサーのみをサポートするプロトコルグループに属している場合、集約型ポリサーのみがトラフィックをモニタします。
この設計では、3 つのポリサーが、集約ポリサーのみをサポートするプロトコル グループのトラフィックを評価します。他のグループの中でも、これにはANCP、動的VLAN、FTP、およびIGMPトラフィックが含まれます。集約ポリサーと個別ポリサーの両方をサポートするプロトコルグループのトラフィックは、5 つのポリサーすべてによって評価されます。他のグループには、DHCPv4、MLP、PPP、PPPoE、 バーチャル シャーシ のトラフィックが含まれます。
図 1 は、コントロール プレーンの DDoS 攻撃防御が PPPoE 制御パケットをポリシーする方法を示しています。
例えば、PADRパケットは、パケット転送エンジンの最初のポリサーで評価され、パケットレート制限内にあるかどうかを判断します。制限を超えた PADR パケットは破棄されます。
ラインカード上のすべてのパケット転送エンジン上のポリサーを通過するすべての PADR パケットは、次にラインカード個別ポリサーによって評価されます。制限を超えた PADR パケットは破棄されます。
ラインカード個別ポリサーを通過するすべての PADR パケットは、ラインカード集約ポリサーに進みます。制限を超えた PADR パケットは破棄されます。
ルータ上のすべてのラインカード上のラインカード集約型ポリサーによって渡されるすべての PADR パケットは、ルーティング エンジン個別ポリサーに進みます。制限を超えた PADR パケットは破棄されます。
最後に、ルーティング エンジン個別ポリサーによって渡されたすべての PADR パケットは、ルーティング エンジン集約ポリサーに進みます。制限を超えた PADR パケットは破棄されます。ここでドロップされない PADR パケットは、安全な通常のトラフィックとして渡されます。
デフォルトでは、3 つの個別のポリサー(パケット転送エンジン、ラインカード、ルーティングエンジン)はすべて、特定のパケットタイプに対して同じパケットレート制限を設定します。この設計では、他のパケット転送エンジンまたはラインカードからの同じタイプの競合トラフィックが存在しない限り、パケット転送エンジンおよびラインカードからのすべての制御トラフィックがルーティングエンジンに到達できます。競合するトラフィックが存在する場合、超過したパケットはコンバージェンス ポイントで破棄されます。つまり、競合するすべてのパケット転送エンジンのラインカードと、競合するすべてのラインカードのルーティングエンジンでドロップされます。
パケット レートを制限するポリサーの動作の例
例えば、PADI パケットのポリサー bandwidth
オプションを 1000 パケット/秒に設定したとします。この値は、パケット転送エンジン、ラインカード、およびルーティングエンジンの個々のPADIポリサーに適用されます。スロット5のカードのみがPADIパケットを受信している場合、最大1000のPADI ppsがルーティングエンジンに到達できます(PPPoE集約ポリサーを超えていない場合)。しかし、スロット 9 のカードも 1000 pps で PADI パケットを受信しており、PPPoE 集約ポリサーを超えていないとします。トラフィックは、両方のラインカードで個別ポリサーと集合ポリサーを通過し、ルーティングエンジンに進みます。ルーティング エンジンでは、結合パケット レートは 2000 pps です。ルーティング エンジンの PADI ポリサーは 1000 PADI pps の通過しか許可しないため、超過した 1000 パケットをドロップします。帯域幅(pps)の制限を超えている限り、超過したパケットは破棄され続けます。
ラインカードの帯域幅(pps)制限とバースト(バースト内のパケット)制限の両方にスケーリング係数を適用して、各スロットのトラフィック制限を微調整できます。例えば、個々のポリサーが PADI パケット レートを 1000 pps に、バースト サイズを 50,000 パケットに設定したとします。スロット番号とスケールファクターを指定することで、任意のラインカード上のPADIパケットのトラフィック制限を減らすことができます。スロット 5 の帯域幅拡張係数を 20 にすると、この例のトラフィックは 1000 pps の 20 %、またはそのスロットのラインカードでは 200 pps に減少します。同様に、そのスロットのバースト スケール ファクターが 50 の場合、バースト サイズは 50% 減少して 25,000 パケットになります。デフォルトでは、スケーリング係数は 100 に設定されているため、トラフィックはレート制限の 100% で通過できます。
コントロールプレーンのDDoS攻撃防御と加入者ログイン時のパケット過負荷保護の比較
MXシリーズルーターには、コントロールプレーンのDDoS保護機能に加えて、加入者ログイン過負荷保護メカニズムも組み込まれています。ログイン過負荷保護メカニズム(負荷調整メカニズムとも呼ばれる)は、着信加入者のログインパケットを監視し、システムの一般的な負荷に応じてシステムが処理できるもののみを許可します。システムが処理できる量を超えるパケットは破棄されます。この過剰な負荷を軽減することで、システムは最適なパフォーマンスを維持し、過負荷状態でのログイン完了率の低下を防ぐことができます。このメカニズムは最小限のリソースを使用し、デフォルトで有効になっています。ユーザー設定は必要ありません。
このメカニズムによって提供される保護は、コントロールプレーンDDoS保護が高レートの着信パケットに対する第1レベルの防御として提供するものに次ぐものです。コントロールプレーンDDoS保護はパケット転送エンジンで動作し、すべてのプロトコルのすべてのパケットタイプから保護します。対照的に、ログイン オーバーロード保護メカニズムはルーティング エンジン上にあり、特に DHCPv4 DHCPDISCOVER、DHCPv6 SOLICIT、PPPoE PADI パケットなどの着信接続開始パケットに対してのみ動作します。
変更履歴テーブル
機能のサポートは、使用しているプラットフォームとリリースによって決まります。 機能エクスプローラー を使用して、機能がプラットフォームでサポートされているかどうかを判断します。