IP : IP マルチキャスト

TCP SYN サービス拒否攻撃に対する防御戦略の策定

2004 年 9 月 14 日 - ライター翻訳版
その他のバージョン: PDFpdf | 機械翻訳版 (2013 年 9 月 13 日) | 英語版 (2006 年 1 月 6 日) | フィードバック

目次

要約
前提条件
      要件
      使用するコンポーネント
      表記法
問題の説明
      TCP SYN 攻撃
ネットワーク デバイスへの攻撃に対する防御
      ファイアウォールの背後にあるデバイス
      公的に利用可能なサービスを提供するデバイス(メール サーバ、パブリック Web サーバ)
知らないうちにネットワークが攻撃のホストになるのを防止する策
      無効な IP アドレスの転送の防止
      無効な IP アドレスの受信の防止
関連するシスコ サポート コミュニティ ディスカッション
関連情報

要約

Internet Service Provider(ISP; インターネット サービス プロバイダー)では、ネットワーク デバイスを対象としたサービス拒否攻撃が起こり得ます。

  • TCP SYN 攻撃: 送信元は、完全に処理することが不可能な大量の接続を送りつけます。 これにより接続キューが飽和して、正当な TCP ユーザへのサービスが行われなくなります。

この文書では、潜在的な TCP SYN 攻撃がどのように発生するかの技術的側面を説明し、Cisco IOS ソフトウェアを使用してこの攻撃を防御する推奨手法を説明します。

注:Cisco IOS 11.3 ソフトウェアには、TCP サービス拒否攻撃を積極的に防止する機能が搭載されています。  この機能は、文書「TCP インターセプトの設定(サービス拒否攻撃の防御)」に説明されてます。

前提条件

要件

この文書に適用される特定の前提条件はありません。

使用するコンポーネント

この文書は、特定のソフトウェアまたはハードウェアに限定されるものではありません。

この文書で紹介する情報は、特定のラボ環境にあるデバイスを使用して作成されました。この文書で使用するすべてのデバイスは、クリアな状態(デフォルト)から設定作業を始めています。実稼動中のネットワークで作業する場合は、コマンドの実行によって生じる影響について、事前に理解しておいてください。

表記法

文書表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。

問題の説明

TCP SYN 攻撃

通常の TCP 接続の開始時には、宛先ホストは発信元ホストから SYN(synchronize/start)パケットを受信し、SYN ACK(synchronize acknowledge)を返送します。 続いて、接続が確立される前に、宛先ホストは SYN ACK に対する ACK(acknowledge)を受け取る必要があります。 これは、「TCP 3 ウェイ ハンドシェイク」と呼ばれます。

SYN ACK に対する ACK を待機している間、宛先ホスト上の有限サイズの接続キューは、完了を待機している接続の追跡管理を続けます。 ACK は SYN ACK の数ミリ秒後に到達すると想定されており、通常、このキューはすぐに空になります。

TCP SYN 攻撃は、攻撃側発信元ホストに、標的ホストに向けてランダムな発信元アドレスを持つ TCP SYN パケットを生成させることで、この設計を不正に利用しています。 標的の宛先ホストでは、このランダムな発信元アドレスに SYN ACK を返信し、接続キューにエントリを追加します。 SYN ACK の宛先は不正なホストや存在しないホストなので、「3 ウェイ ハンドシェイク」の最後の部分が完了せず、タイマーが期限切れになるまで(一般的には約 1 分間)接続キューにエントリが残ってしまいます。 ランダムな IP アドレスからの偽の TCP SYN パケットを高速に生成することにより、接続キューをいっぱいにして、正当なユーザへの TCP サービス(電子メール、ファイル転送、WWW など)を提供できなくすることが可能です。

発信元の IP アドレスは偽造されているので、攻撃の発信元を追跡する簡単な方法はありません。

この問題は外観上、電子メールを取得できない、WWW または FTP サービスへの接続を受け入れることができない、あるいは、ホスト上の大量の TCP 接続が SYN_RCVD 状態になる、といった症状となって現れます。

ネットワーク デバイスへの攻撃に対する防御

ファイアウォールの背後にあるデバイス

TCP SYN 攻撃の特徴は、ランダムな発信元 IP アドレスから SYN パケットが殺到することです。 着信 SYN パケットを阻止するファイアウォールの背後にあるすべてのデバイスは、すでにこのモードの攻撃からは保護されており、これ以上の措置は必要ありません。 ファイアウォールの例としては、Cisco Private Internet Exchange(PIX)Firewall や、アクセス リストを使用して設定されたシスコ ルータがあります。 シスコ ルータでアクセス リストを設定する方法の例については、文書『IP ネットワークでのセキュリティの強化』を参照してください。

公に利用可能なサービスを提供しているデバイス(メール サーバ、パブリック Web サーバ)

アクセス リストを使用して、着信アクセスを選ばれた少数の IP アドレスに明示的に制限できるため、ファイアウォールの背後にあるデバイス上ではランダムな IP アドレスからの SYN 攻撃を防ぐことは比較的簡単です。 しかし、インターネットに面しているパブリック Web サーバやメール サーバの場合は、どの着信 IP 発信元アドレスが無害で、どのアドレスが有害であるかを判別する方法はありません。 そのため、ランダムな IP アドレスからの攻撃に対応する明解な防御策はありません。 ホスト側で次の対策が選択できます。

  • 接続キュー(SYN ACK キュー)のサイズを大きくする。

  • 3 ウェイ ハンドシェイクを待機するタイムアウトを小さくする。

  • ベンダーのソフトウェア パッチを用いて、問題の検出と対応を行う(利用可能な場合)。

ホストのベンダーに連絡して、TCP SYN ACK 攻撃に対応するための特定のパッチをベンダーが作成しているかどうかを確認する必要があります。

注:攻撃者は IP アドレスを変更することができ、またアドレスは正当なホストのアドレスと同じ場合もあれば異なる場合もあるため、サーバで IP アドレスをフィルタリングしても有効ではありません。 

知らないうちにネットワークが攻撃のホストになるのを防止する策

このサービス拒否攻撃の主なメカニズムは、ランダムな IP アドレスが送信元であるトラフィックを生成することであるため、インターネットが宛先であるトラフィックをフィルタリングすることをお勧めします。 基本的な概念は、インターネットに送信される時点で、不正な発信元 IP アドレスを持つパケットを廃棄することです。 この方法は自社のネットワークに対するサービス拒否攻撃は防止しませんが、攻撃を受けた側で、お客様のサイトを攻撃者の発信元としては除外するのに有効です。 また、攻撃者にとって、お客様のネットワークは、このクラスの攻撃の拠点として魅力的なものではなくなります。

無効な IP アドレスの転送の防止

お客様のネットワークをインターネットに接続するルータ上でパケットをフィルタリングすることにより、有効な発信元 IP アドレスを持つパケットだけがお客様のネットワークから発信され、インターネットに送り出されることを許可できます。

たとえば、お客様のネットワークがネットワーク 172.16.0.0 から構成されており、ルータがシリアル 0/1 インターフェイスを使用して ISP に接続されている場合には、次のアクセス リストが適用できます。

access-list 111 permit ip 172.16.0.0 0.0.255.255 any
   access-list 111 deny ip any any log
   interface serial 0/1
   ip access-group 111 out
   

注:アクセス リストの最後の行は、インターネットに送信される不正な発信元アドレスを持つトラフィックが存在するかどうかを判別します。  この行を含めることは必須ではありませんが、起こり得る攻撃の発信元の特定に役立ちます。

無効な IP アドレスの受信の防止

エンド ネットワークへのサービスを提供する ISP の場合は、クライアントからの着信パケットを検証することを強くお勧めします。 これは、境界ルータで着信パケット フィルタを使用することで実現できます。

たとえば、「serial 1/0」という名前のシリアル インターフェイスを介してルータに接続されている次のネットワーク番号をクライアントが持っている場合、次のアクセス リストを作成できます。

The network numbers are 192.168.0.0 to 192.168.15.0, and 172.18.0.0.
   access-list 111 permit ip 192.168.0.0 0.0.15.255 any
   access-list 111 permit ip 172.18.0.0 0.0.255.255 any
   access-list 111 deny ip any any log
   interface serial 1/0
   ip access-group 111 in
   

注:アクセス リストの最後の行は、インターネットに送信される不正な発信元アドレスを持つトラフィックが存在するかどうかを判別します。  この行を含めることは必須ではありませんが、起こり得る攻撃の発信元の特定に役立ちます。

このトピックは、NANOG(North American Network Operator1s Group)のメーリング リストで一部詳細に議論されています。 このリストのアーカイブは http://www.merit.edu/mail.archives/nanog/index.html leavingcisco.com にあります。

TCP SYN サービス拒否攻撃および IP スプーフィングの詳細な説明については、http://www.cert.org/advisories/CA-1996-21.html leavingcisco.com を参照してください。

http://www.cert.org/advisories/CA-1995-01.html leavingcisco.com


関連するシスコ サポート コミュニティ ディスカッション

シスコ サポート コミュニティは、どなたでも投稿や回答ができる情報交換スペースです。


関連情報


Document ID: 14760