この項では、IP スプーフィングの防止方法、完全フラグメント リアセンブルの許可方法、および [プラットフォーム設定(Platform Settings)] でデバイス レベルで設定されるデフォルトのフラグメント設定のオーバーライド方法について説明します。
アンチ スプーフィング
この項では、インターフェイスでユニキャスト リバース パス フォワーディング(ユニキャスト RPF)を有効にします。ユニキャスト RPF は、ルーティング テーブルに従って、すべてのパケットが正しい送信元インターフェイスと一致する送信元 IP
アドレスを持っていることを確認して、IP スプーフィング(パケットが不正な送信元 IP アドレスを使用し、実際の送信元を隠蔽すること)から保護します。
通常、Threat Defense デバイスは、パケットの転送先を判定するときに宛先アドレスだけを調べます。ユニキャスト RPF は、送信元アドレスも調べるようにデバイスに指示します。そのため、リバース パス フォワーディング(Reverse Path Forwarding)と呼ばれます。Threat Defense デバイスの通過を許可するすべてのトラフィックについて、送信元アドレスに戻るルートをデバイスのルーティング テーブルに含める必要があります。詳細については、RFC 2267 を参照してください。
たとえば、外部トラフィックの場合、Threat Defense デバイスはデフォルト ルートを使用してユニキャスト RPF 保護の条件を満たすことができます。トラフィックが外部インターフェイスから入り、送信元アドレスがルーティング テーブルにない場合、デバイスはデフォルト ルートを使用して、外部インターフェイスを送信元インターフェイスとして正しく識別します。
ルーティング テーブルにあるアドレスから外部インターフェイスにトラフィックが入り、このアドレスが内部インターフェイスに関連付けられている場合、Threat Defense デバイスはパケットをドロップします。同様に、未知の送信元アドレスから内部インターフェイスにトラフィックが入った場合は、一致するルート(デフォルト ルート)が外部インターフェイスを示しているため、デバイスはパケットをドロップします。
ユニキャスト RPF は、次のように実装されます。
-
ICMP パケットにはセッションがないため、個々のパケットはチェックされません。
-
UDP と TCP にはセッションがあるため、最初のパケットは逆ルート ルックアップが必要です。セッション中に到着する後続のパケットは、セッションの一部として保持されている既存の状態を使用してチェックされます。最初のパケット以外のパケットは、最初のパケットと同じインターフェイスに到着したことを保証するためにチェックされます。
パケットあたりのフラグメント
デフォルトでは、Threat Defense デバイスは 1 つの IP パケットにつき最大 24 のフラグメントを許可し、最大 200 のフラグメントのリアセンブリ待ちを許可します。NFS over UDP など、アプリケーションが日常的にパケットをフラグメント化する場合は、ネットワークでフラグメント化を許可する必要があります。ただし、トラフィックをフラグメント化するアプリケーションがない場合は、フラグメントが
Threat Defense デバイスを通過できないようにすることをお勧めします。フラグメント化されたパケットは、DoS 攻撃によく使われます。
フラグメントのリアセンブル
Threat Defense デバイスは、次に示すフラグメント リアセンブル プロセスを実行します。
-
IP フラグメントは、フラグメント セットが作成されるまで、またはタイムアウト間隔が経過するまで収集されます。
-
フラグメント セットが作成されると、セットに対して整合性チェックが実行されます。これらのチェックには、重複、テール オーバーフロー、チェーン オーバーフローはいずれも含まれません。
-
Threat Defense デバイスで終端する IP フラグメントは、常に完全にリアセンブルされます。
-
[完全フラグメント リアセンブル(Full Fragment Reassembly)] が無効化されている場合(デフォルト)、フラグメント セットは、さらに処理するためにトランスポート層に転送されます。
-
[完全フラグメント リアセンブル(Full Fragment Reassembly)] が有効化されている場合、フラグメント セットは、最初に単一の IP パケットに結合されます。この単一の IP パケットは、さらに処理するためにトランスポート層に転送されます。