TCPプロトコルの脆弱性について(CVE-2008-4609)

[対象となる製品のバージョン]

 

MIRACLE LINUX V4.0 の全バージョン及び全アーキテクチャ

Asianux Server 3 ==MIRACLE LINUX V5 の全バージョン及び全アーキテクチャ

 

[問題詳細]
この問題は不正なTCP接続を確立してしまい、サーバ側の資源枯渇を狙う攻撃に利用されてしまいます。この問題はTCPプロトコルのデザインに起因するため、現在の対処patch等の提供は行っておりません。

 

現在のところ、Linuxアップストリーム側において、本問題に対する修正は行われておらず、ミラクル・リナックスでは修正の予定はございません。

 

本問題を軽減するため、不正なTCP接続を試みるアクセスをiptablesで防ぐルールを策定して頂くことが有効な対策となります。

 

[対処方法]
以下のiptablesの例のように設定することで、異常なアクセスを試みる同じIPアドレスからのリクエストを拒否することが可能となります。ご使用の環境に合わせて、適宜変更をお願いいたします。

 

1. iptables -A INPUT -p tcp -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

2. iptables -A INPUT -p tcp --tcp-flags FIN FIN -m recent --remove

3. iptables -A INPUT -p tcp -m recent --set

4. iptables -A INPUT -p tcp -m recent --update --seconds 300 --hitcount 10 -j DROP

 

上記設定の説明については、以下のとおりです。

 

  1. 通信が確立されているコネクション(ESTABLISHED)や関連する新規コネクション(RELATED)からのパケットを許可し、その接続情報を conntrack に記録します。その情報は /proc/net/ip_conntrack で確認することができます。
  2. FINフラグを送信した送信元アドレスをrecentリストから削除します。
  3. 送信元アドレスを recent リストに追加します。既にリストに送信元アドレスが登録されていた場合は、その情報が更新されます。
  4. recent リストを参照し、同一アドレスから5分以内(--seconds 300)10回以上(--hitcount 10)TCPリクエストがあった場合は、その接続は拒否されます。

 

[注意事項]
本ドキュメントの内容は、予告なしに変更される場合があります。
本ドキュメントは、限られた評価環境における検証結果をもとに作成しており、全ての環境での動作を保証するものではありません。
本ドキュメントの内容に基づき、導入、設定、運用を行ったことにより損害が生じた場合でも、弊社はその損害についての責任を負いません。あくまでお客様のご判断にてご使用ください。

 

[更新履歴]

2009年 102日 新規作成