FreeBSDのTCPに脆弱性 75
ストーリー by yoosee
大穴解放中 部門より
大穴解放中 部門より
zophos 曰く、 "FreeBSD 4.xおよび5.xのTCPサービスに,out of sequenceなパケットを投げ続けると 'mbufs' を無限に消費してシステムがクラッシュしてしまうと言う脆弱性が見つかっています。[FreeBSD-SA-04:04.tcp], [iDEFENSE Security Advisory 03.02.04]
ナローバンドに繋がった1台のマシンから攻撃を食らっただけでもDoSが成立してしまう可能性が高いので,FreeBSD使いの方々はとっととパッチをあててしまいましょう。"
"FreeBSD only: NO" なので… (スコア:4, 興味深い)
*BSD の TCP スタックを参考にしている組み込み OS とか
どうなんでしょう?
--- Toshiboumi bugbird Ohta
Re:"FreeBSD only: NO" なので… (スコア:2, 興味深い)
Re:"FreeBSD only: NO" なので… (スコア:4, 参考になる)
同感. かつての ping of death [e-words.jp] みたいなことになってしまうのかなぁ.
この時は,BSD 由来のプロトコルスタックを使った OS (*BSD, Linux, Windows) がすべてこのバグ(?)を持ってたそうです.
アナウンスメール (スコア:3, 参考になる)
Re:アナウンスメール (スコア:2, 参考になる)
freebsd-update (スコア:2, 参考になる)
/boot/kernel/kernel
/usr/include/netinet/tcp_var.h
とりあえずNetBSDは (スコア:2, 参考になる)
コード見比べると確かにだいぶ違ってますな。
Re:とりあえずNetBSDは (スコア:1, 参考になる)
FreeBSD 2.2.8 (was Re: とりあえずNetBSDは) (スコア:1)
となると (スコア:1, すばらしい洞察)
たれこみ人サンクス (スコア:0)
Re:たれこみ人サンクス (スコア:1, すばらしい洞察)
-- ゴルゴム幹部 談
Re:たれこみ人サンクス (スコア:0)
Re:たれこみ人サンクス (スコア:0)
TCPを使った何らかのサービスが今までに何度か原因不明で落ちていた
→原因はTCPのバグだったのか
と言っているのに対して、#506887の人は、
#506847はTCPを使ったアプリケーションを作っていて、何らかのバグでアプリが落ちていた
→原因を今回のTCPのバグの
506847の人です。 (スコア:0)
ver4系から起きてたので?としてただけ。
ver3系では原因のリークはおきてまへんよ。<違う部分はあるけどね
>>#506847はTCPを使ったアプリケーションを作っていて、
>>何らかのバグでアプリが落ちていた→原因を今回のTCPのバグのせいにし
本当? (スコア:0)
具体的にどういう問題があったの?
FreeBSD固有の脆弱性ではない? (スコア:0, すばらしい洞察)
SAには
> Affects: All FreeBSD releases
> FreeBSD only: NO
と書いてあるので、影響を受けるのは
"FreeBSD 4.xおよび5.xのTCPサービス"に限らないのでは?
Re:FreeBSD固有の脆弱性ではない? (スコア:0)
* FreeBSD使いの方々はとっととパッチをあてて
しまいましょう。
先日は焦る必要もないのにとっとと当てたらすぐ次
が来て、いたいなーと思ったけど、見事に重複して
いないですね。
Re:FreeBSD固有の脆弱性ではない? (スコア:1)
すでに保守対象から外れて [freebsd.org]いて、「Corrected(修正済)」ではない、というだけかと。
なので、RELENG_5_2 とか 5.2.1-RELEASE-p1 に上げるか、手でパッチするかでしょうね。
Re:FreeBSD固有の脆弱性ではない? (スコア:1)
というメールはさっき流れてました。
Re:ちくしょ~ (スコア:1)
ないでしょ?
#昔の記憶が正しければ、kernelだけで1時間ぐらいかと。
Re:ちくしょ~ (スコア:2, 参考になる)
CVSup するなら mrtg [freebsd.org] を見て帯域の少ない所を選んでください。
最近 CVSup [rim.or.jp] の最適化まで記述してみました。
# 他は、まだ作りかけです。
Re:ちくしょ~ (スコア:2, 参考になる)
最近のネットワーク事情では、*default compressはcvsupサーバの
CPUを余分に使う以上にメリットは何も無いっす。
# cvsup サーバの管理人の一人だけど、アカウント無いのでAC
Re:ちくしょ~ (スコア:2, 参考になる)
cvsup する時に -s オプションつけてもらうようなお願いを広める方が
サーバの負荷軽減には効くんじゃないかと思ってるんですがどうでしょう。
うちの /etc/make.conf には
SUPFLAGS= -g -L 2 -s
てな行があります。
Re:ちくしょ~ (スコア:3, 参考になる)
# However で始まる所、自信なし。
## いや、全体か。
-s
Suppresses the check of each client file's status against
what is recorded in the list file.
list file に記録される各クライアントファイルのステータスチェックを行ないません。
Instead, the list file is assumed to be accurate.
代わりに、リスト・ファイルは正確であると仮定されます。
This option greatly reduces the amount of disk activity and results
in faster updates with less load on the client host.
このオプションによって、ディスクアクセスを極端に減らし、
素早くアップデートできます。
However it should only be used if client's files are never modified locally in any way.
クライアントのファイルが修正されない事があっても利用しましょう。
Mirror sites may find this option beneficial to reduce the disk load on their systems.
ミラーサイトが負荷軽減の為に、このオプションに注目するかもしれません。
For safety, even mirror sites should run cvsup occasionally (perhaps once a day) without the -s option.
安全性の為、ミラーサイトは -s オプションなしでcvsupを時々(一日ぐらい)実行しましょう。
Re:ちくしょ~ (スコア:1, 参考になる)
しかしながら、クライアントのファイルがローカルで変更されていない場合にのみ使用すべきです。
Re: ちくしょ~ (スコア:1)
> クライアントのファイルが修正されない事があっても利用しましょう。
拙訳:
ただし、このオプションを使う場合は、絶対にクライアント側のファイルをローカルに変更しないでください。
# うーん、「ローカルに」のあたり改善の余地あるなぁ
Re:ちくしょ~ (スコア:1)
+1 のボーナスを差し上げたいぐらいです。
# kamiyan さんにも。
クライアントは、できる限り -s を利用して
負荷を減らせると良いですね。
で、日曜日は -s をはずしてみた方が良いのかな。
# この辺りは思考錯誤かな。
FreeBSD も -s を宣伝すればよいのに。
cvsup -s (スコア:1)
サーバ負荷軽減の話になってしまいましたが、いちユーザとしても
cvsup -s はびっくりするぐらい更新が早く終わるので ヤミツキになります。
# なんでうちが週1 で -s はずしてるって分かったんですか ^^;
Re:ちくしょ~ (スコア:1)
> CPUを余分に使う以上にメリットは何も無いっす。
どの位がターニングポイントなんでしょうか?
参考になる site とか、教えて欲しいです。
ADSL で下り 2M ぐらい出るのですが、
この位から圧縮しない方が良いのかしら。
# AirH"128K とかは、圧縮する価値がありそう。
Re:ちくしょ~ (スコア:1, 参考になる)
どこでも一緒。サーバ的には10baseTでも十分裁ける位のピーク
トラフィックしか無いです。また、(サーバからみて)下りより、
上りの方が平均トラフィックは上です。
AirH"とかはなら遠慮無く圧縮してください。
あと、一時間に一回以上cronに仕組むのも余りメリット無いです。
> 参考になる site とか、教えて欲しいです。
各管理者や友の会で取っているmrtgグラフ見れば一発ですが、
公開されてないって事は... まぁ、そんなモンだとあきらめて下さい。
Re:ちくしょ~ (スコア:1)
...
> AirH"とかはなら遠慮無く圧縮してください。
この部分が消化できなかったのですが、
cvs,cvs2,cvsX どれでも同じ状況で、
AirH" なら圧縮した方が良いと言う事でしょうか?
では、最初の質問に戻るのですが
XX 以下なら圧縮、それより速ければ非圧縮と
別れるターニングポイントの算出はどうしたら良いでしょう?
# こういうのターニングポイントと言わないのかな
無駄にサーバの負荷になると心苦しいなぁと。
> あと、一時間に一回以上cronに仕組むのも余りメリット無いです。
無駄に帯域食い潰されますしね。
寝るちょっと前を狙って cron 設定しておけば、良い気がします。
ex:
0 5 * * * /usr/local/bin/cvsup /usr/local/etc/cvsup/ports-supfile; /usr/sbin/pkg_version | grep '<'
で、寝る直前に portinstall, portupgrade
急ぎは package にしてしまう。
# firebird(firefox) が、一晩で終らず泣きを見ました。
Re:ちくしょ~ (スコア:1)
> > 別れるターニングポイントの算出はどうしたら良いでしょう?
>
> 厳密な計算は無理。一人で占有してるなら計算もできるでしょうが。
> あえて強引に線引きするなら、ADSLレベルなら圧縮は不要です。
そう、計算ができなかったんですよ。
通信量も毎回異なりますし。
> 目安として、クライアント側でMRTGでcvsupのトラフィック計測
> して見てください。
mrtg で計測して圧縮ありとなしで、
どちらが先に頭打ちになるか見れば良いですね。
疲れてたらしくて、思いつきませんでした。
# いや、つかれてるんですよ。実際。 ;-<
Re:ちくしょ~ (スコア:1)
を選んでどうする。>自分
トラフィックの間違いです。ハイ。
Re:ちくしょ~ (スコア:1)
ただ、問題はプロセスの数はサーバの能力や帯域の太さとは独立なことで。
#AirH"@32Kでは、-CURRENTをほぼ毎日追いかけていても2時間以上かかります。
Re:ちくしょ~ (スコア:1)
13:00 頃から忙しいみたい。
# っていうか、接続拒否られた。
cvs へ緊急退避して update してます。
接続できない人は、他のサイトへ Let's go!
Re:ちくしょ~ (スコア:1)
/etc/make.confは、もう少し最適化できますね。
.if ${.CURDIR:N*/src/lib/libc} == ""
CFLAGS+= -O
.endif
みたいな形式で、libpam、kldxref、rpc.yppasswddを除外すれば、-O2でも通りますよ。
Thanks. (スコア:1)
聴いた事があって、試す事もなく利用してませんでした。
# コンパイルが通らないとは知らんかったです。
旧い PC で、がんばるなら -O2 は必要かも。
情報ありがとうございました。
Re:ちくしょ~ (スコア:1)
勿論FreeBSD の port にもあります [freebsd.org]
Re:ちくしょ~ (スコア:1)
# 最近 xpdf が ports install できないのが悩みです。
Re:ちくしょ~ (スコア:1)
結果だけを受け取れないものかなあと思ったりするんですが
やっぱり出来ないんでしょか…。
And now for something completely different...
Re:ちくしょ~ (スコア:2, おもしろおかしい)
ここまでのコメントに、問題の解決に必要な情報はすべて書かれている。
必要なのは、それを読み取る力と実際に試してみるガッツだけだ。
#ガッツだ。ガッツで、ガッツん、ガッツんだ。
Re:ちくしょ~ (スコア:2, 参考になる)
自己責任ということでよろしく。
親サーバ# kldload nfs
親サーバ# portmap
親サーバ# nfsd -u -t -n 4
親サーバ# mountd -r
親サーバ# cd /usr/src
親サーバ# make buildworld
親サーバ# make buildkernel KERNCONF=bou_server
某サーバ# kldload nfs
某サーバ# portmap
某サーバ# nfsiod -n 4
某サーバ# mount xxx.xxxx.jp:/usr/src /usr/src
某サーバ# mount xxx.xxxx.jp:/usr/obj /usr/obj
某サーバ# mount xxx.xxxx.jp:/usr/sup /usr/sup
某サーバ# mount xxx.xxxx.jp:/usr/ports /usr/ports
某サーバ# cd /usr/src
某サーバ# make installkernel KERNCONF=bou_server
某サーバ# make installworld
某サーバ# mergemaster
Re:ちくしょ~ (スコア:1)
rebootして、シングルユーザで入って、
もう一度、全部マウントしなおして、
mergemaster -pして、
>某サーバ# make installworld
>某サーバ# mergemaster
ですね。
Re:ちくしょ~ (スコア:1)
Re:ちくしょ~ (スコア:1, 参考になる)
皆様、ありがとうございますm(__)m (スコア:1)
ちゃんとハンドブック読まないと>自分
And now for something completely different...
Re:そんな (スコア:4, 参考になる)
19.5. 複数のマシンで追っかける
[freebsd.org]
この辺を参考にして、
早めに幸せになった方がよろしいかと。
Re:そんな (スコア:1)
# snapshotsでupgradeするかな…
Re:今回の情報 (スコア:2, 参考になる)
http://lists.freebsd.org/pipermail/freebsd-announce/2004-March/000936.html [freebsd.org] に書いてますよ。
> III. Impact
>
> A remote attacker may conduct a low-bandwidth denial-of-service attack
> against a machine providing services based on TCP (there are many such
> services, including HTTP, SMTP, and FTP). By sending many
> out-of-sequence TCP segments, the attacker can cause the target machine
> to consume all available memory buffers (``mbufs''), likely leading to
> a system crash.
3.x とか 2.x とか 5.1 (; ;) とか、
makoto-k さん [srad.jp]が、教えてくれたように
サポート終了 [freebsd.org]
を表明している OS 使われても。
# 有償のサポートを行なっている業者がいるかも。
## Life with UNIX(ISBN4-7561-0783-4) [ascii.co.jp] に情報があったような。
それに OpenSource なんですから、
どうぞ、ご自分で。
feedback すれば、喜ばれると思いますが、
BSD ライセンスは GPL より寛大ですから、
企業的な政治問題も関係ないでしょう。
# 人件費とか、問題はあると思いますが。