Merge the following from the english version.

handbook/security/chapter.sgml  1.101 -> 1.102

Translation taken from the FAQ with a little refinement.

Submitted by:	Hiroo Ono <hiroo _at_ jp dot FreeBSD dot org>
Reference:	[doc-jp-work 1738]
This commit is contained in:
Ryusuke SUZUKI 2011-08-03 15:46:01 +00:00
parent 101604e0aa
commit fe74fd548b
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=37507

View file

@ -2,7 +2,7 @@
The FreeBSD Documentation Project
The FreeBSD Japanese Documentation Project
Original revision: 1.101
Original revision: 1.102
Waiting for: 1.123 or mac/chapter.sgml
("mac" referenced from disks).
Translation note: "fs-acl" section added in rev.1.118 is moved to
@ -2942,6 +2942,85 @@ FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995</screen>
誰かがあなたのネットワークに 侵入してきたとしても、
わたしたちは「いかなる」責任もとることはできません。</para>
</sect2>
<sect2 id="ipfw-overhead">
<title>IPFW のオーバーヘッドと最適化</title>
<para>多くの人が IPFW
がどのくらいのオーバヘッドをシステムに加えるかを知りたがっています。
この答えは、使っているルールセットとプロセッサのスピードによってほぼ決まります。
イーサネットを使っていてルールセットが少ないアプリケーションにとって答えは、
<quote>その影響は無視できる程度</quote> です。
実際の測定値を見ないと満足できない方は、引き続きお読みください。</para>
<para>次の測定は 486-66 (訳注: Intel 社製 CPU i486, 66MHz のこと)
上で 2.2.5-STABLE を使用して行なわれました
(IPFW はその後の FreeBSD のリリースで多少変更されていますが、
現在も同程度の速度で動きます)。IPFW には、
<literal>ip_fw_chk</literal> ルーチン内でかかる時間を測定して、
1000 パケット毎に結果をコンソールに表示する変更が加えられています。</para>
<para>それぞれ 1000 ずつのルールからなる
2 つのルールセットでテストが行なわれました。
1 つ目のルールセットは最悪のケースを見るために、
次のルールを繰り返しています。</para>
<screen>&prompt.root; <userinput>ipfw add deny tcp from any to any 55555</userinput></screen>
<para>これは、最終的にパケットが (ポート番号から)
ルールにマッチしないことがわかるまでに IPFW
のほとんどのパケットチェックルーチンが実行されるような、
最悪の場合を示します。このルールを 999 個繰り返し並べた後に
<literal>allow ip from any to any</literal>
がきます。</para>
<para>2 つ目のルールセットは、
なるべく早く確認が終了するように書かれたものです。</para>
<screen>&prompt.root; <userinput>ipfw add deny ip from 1.2.3.4 to 1.2.3.4</userinput></screen>
<para>このルールでは、発信元の IP アドレスが一致しないので、
すぐに確認が終わります。前とおなじように、1000 個目のルールは
<literal>allow ip from any to any</literal> です。</para>
<para>前者のパケットあたりのオーバヘッドはおよそ 2.703ms/packet
または 1 ルールにつき 2.7 マイクロ秒です。したがって、
このルールにおけるパケット処理時間の理論的な限界は、
毎秒約 370 パケットです。10Mbps の Ethernet で
1500 バイト程度のパケットサイズを仮定すると、
バンド幅の利用効率は 55.5% が限界です。</para>
<para>後者では、それぞれのパケットがおよそ 1.172ms
または、1 ルールにつき 1.2 マイクロ秒で処理されてました。
パケット処理時間の理論的な限界は、毎秒約 853
パケットとなりますので、10Mbps Ethernet
のバンド幅を使い切ることができます。</para>
<para>このテストに使われたルールの数が多過ぎることと、
その性質から、これは実際の状況を反映したものではありません。
これらは上に示したタイミング情報を出すためだけに用いられたものです。
効率の良いルールセットを作るためには、
次のような事を考えればよいでしょう。</para>
<itemizedlist>
<listitem>
<para><literal>established</literal> ルールは
TCP トラフィックの大半を処理するため、
先頭の方に持ってきてください。このルールの前には
<literal>allow tcp</literal>
という記述を置かないでください。</para>
</listitem>
<listitem>
<para>良く使われるルールを、
あまり良く使われないルールよりも前の方に
(もちろん<emphasis>ファイアウォールの許可設定を変えない範囲で</emphasis>)
持ってきてください。<command>ipfw -a l</command>
でパケット数の統計を取ることで、
どのルールが最もよく使われているかを調べられます。</para>
</listitem>
</itemizedlist>
</sect2>
</sect1>
<sect1 id="openssl">