(57)【特許請求の範囲】
【請求項１】
内部ネットワークへのパケットの出入りの流れを制御するネットワークセキュリティ装置であって、公的に経路指定されるＩＰアドレスを持たない第１および第２のネットワークカード、パケットフィルターを含むファイアウォール、および管理インタフェースであり、公的に経路指定されるＩＰアドレスではなく、私的なアドレスでファイアウォールを設定するために使用されるアドレスを有する第３のネットワークカードを有しており、
パケットの流入の際には第１ネットワークカードが各パケットを検査のためにパケットフィルターに転送し、そこでパケットが内部ネットワークに受け入れ許可か、拒絶されたかを決定するルールセットと比較され、
（ａ）もしパケットが受け入れ許可であればパケットは第２ネットワークカードさらに内部ネットワークに転送され、
（ｂ）もしパケットが受け入れ拒絶であればパケットは落とされて消滅し、パケットの流出の際にはアウトバウンドパケットは第２ネットワークカード経由でパケットフィルターを通過し、そこで検査され、ルールセットと比較され、もしパケットが許可されれば第１ネットワークカードへ転送されて装置から送出され、もし拒絶されれば落とされて消滅する、ＩＰアドレスを使用せずブリッジ方式を使用することにより、パケットデータ転送のための別個のコンピュータを使用する必要がなく、前記パケットフィルターは、検査されたパケットを、経路指定またはプロキシするのではなく、ブリッジすることを特徴とするネットワークセキュリティ装置。
【請求項２】
前記装置がルータとハブまたはサーバ機との間に配置されるように適応された、請求項１に記載の装置。
【請求項３】
前記装置がＨＴＭＬインタフェースから構成可能である、請求項１に記載の装置。
【請求項４】
前記装置が、前記装置と共に供給されるＨＴＭＬインタフェースにより構成される、請求項１に記載の装置。
【請求項５】
ロード状態を提供し、ＣＰＵの現在のロードがどれだけかについての図形による通知をユーザに提供するためのロードモニタをさらに備えた、請求項１に記載の装置。
【請求項６】
ファイアウォールの設定に対して行った変更がファイアウォールに対して完遂されたか否かについての図形による通知をユーザに提供する、コンフィギュレーション状態モニタをさらに備えた、請求項１に記載の装置。
【請求項７】
パケットが許可されたかあるいは拒絶されたか否かについての図形による指示を提供するモニタおよびログをさらに備えた、請求項１に記載の装置。
【請求項８】
追加ソフトウェアをインストールすることなく、ＨＴＭＬブラウザを有しネットワーク接続されたどのコンピュータからでも設定できるように、設定のためのＨＴＭＬインタフェースをさらに備えた、請求項１に記載の装置。
【請求項９】
前記第１および第２ネットワークカードがそれらに割り当てられたＩＰアドレスを持たず、あるいは必要としない、請求項１に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークセキュリティ装置に関し、さらに詳しくは、パケットフィルタリングおよびブリッジングを使用するファイアウォール装置に関する。
【背景技術】
【０００２】
多くのネットワークサービスが利用可能であることが証明されており、そうするためのツールが初心者にとっても幅広く利用できるようになってきた。情報を損なうことがなくても、サーバまたはネットワークの一時的停電は、長時間の作業が無駄になったり、ビジネスチャンスを逃すことを意味することがあり得る。
【０００３】
企業はインターネットに接続し、ダイヤルアップすなわちＩＳＤＮや専用回線を介してデータを交換する。さらに、従業員にはリモートアクセスの選択肢が提案される。しかし、全ての受信接続は送信接続をも持つ可能性が高い。
【０００４】
完全に安全なコンピュータネットワークは無い。どんな錠とも同様に、人間が作るものであれば、人間が破ることができる。小さなセキュリティ対策は、それがなければ厄介の種となるアマチュアの大部分を排除することができる。他方、より大きなサイトは前記小さいセキュリティ対策で満足すべきではない。
【０００５】
セキュリティは高価である。専用ハードウェアおよびソフトウェアを購入し、インストールし、構成し、専門職を雇うか、採用するか、または設置することによって維持しなければならない。既存のインフラストラクチャには往々にして変更を加えなければならず、より多くのハードウェアを必要としたり、不稼動時間を生じる。
【０００６】
（用語集）
ブリッジ
データリンク層の情報に基づいてネットワークセグメント間でトラヒックを転送する装置。これらのセグメントは、共通のネットワーク層アドレスを有する。
【０００７】
ファイアウォール
外部ネットワーク、特にインターネット接続およびダイヤルイン回線を処理するために使用される、特別なセキュリティ対策を講じた専用ゲートウェイ機。その後ろに隠されている管理の緩い一群のマシンをクラッカーから保護するという考えである。典型的なファイアウォールは、重要データを持たず、モデムおよび公衆ネットワークポートを備えた、安価なマイクロプロセッサ利用のユニット機であるが、１つだけ注意深く監視される接続がほかの集団へと戻る。
【０００８】
ルータ
ネットワーク間でパケットを転送する装置。転送決定はネットワーク層の情報およびしばしば経路選択プロトコルによって構築される経路選択テーブルに基づく。
【０００９】
パケット
ネットワークで送信されるデータの単位。「パケット」は、ＯＳＩプロトコルスタックの任意の層のデータの単位を記述するために使用される総称であるが、最も正確には、アプリケーション層データ単位を記述するために使用される（「アプリケーションプロトコルデータ単位」ＡＰＤＵ）。
【００１０】
パケットフィルタ
全てのパケットはルールベースに照らして比較され、一致規則に基づいて決定が実行される。
【００１１】
ルールベース
どのパケットをネットワークに通すかあるいは通さないかを決定する1組のルール。
【００１２】
ＨＴＭＬ：ハイパーテキストマークアップ言語
ＷＷＷページを記述するために使用される言語。
【００１３】
インターネットのＷｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ上のコンテンツおよび他の文書へのハイパーテキストリンクを指定するために使用される、タグをベースとするＡＳＣＩＩ言語。次いで任意のオペレーティングシステム（ハードウェアプラットフォーム、モニタ解像度など）用に作られたブラウザを使用して、作成された文書を見たり、リンクに従って他の文書を表示することができる。
【００１４】
ネットワークインタフェースカード（ネットワークカード）
ＰＣ内に設置され、それがＬＡＮで通信することを可能にするＬＡＮアダプタ（印刷回路基板）の名称。この用語は一般的にＩＢＭ  ＰＣおよびトークンリングユーザによって使用される。
【００１５】
ＩＰアドレス
全てのネットワーク層プロトコルはアドレス形式を持ち、ＴＣＰ／ＩＰプロトコルの３２ビットＩＰアドレスの場合、アドレスは「１９９．１２．１．１」形式である。これはドット付き１０進法と呼ばれ、４つのセクションの各々が、そのネットワークの特定のホストを指定する８ビットのＩＰアドレスを表す、０から２５５までの１０進数である。
【００１６】
ＩＰアドレス全体に３２ビットしか無く、一部のネットワークは他より多数のホストを有するので（かつ少数のより大きいネットワークがあるので）、様々なアドレスクラスがある。これらは、アドレスのネットワークおよびホスト部分に異なる数のビットを割り当てる。
【００１７】
ＤＭＺ  非武装地帯
軍事用語から、戦闘が抑制されている２つの敵対者間の領域のこと。
【００１８】
ＤＭＺイーサネットは、異なる組織によって制御されるネットワークとコンピュータを接続する。それらは外部でも内部でもよい。外部ＤＭＺイーサネットは地域ネットワークをルータにより内部ネットワークにリンクする。内部ＤＭＺイーサネットはローカルノードをルータにより地域ネットワークにリンクする。
【００１９】
現行技術
多くの異なるタイプのファイアウォールおよびセキュリティソフトウェアが公知である。それらは３つのカテゴリに分類することができる。（単一の家庭用コンピュータを保護するパーソナルファイアウォールは考慮しない。）
・プロキシベース：このファイアウォールは、ファイアウォールサーバ上の異なるネットワークインタフェースに物理的に接続するシステム間のアプリケーションプロキシとして働く。アプリケーションプロキシはアプリケーションレベルで、ファイアウォールの別の側のエンティティと取引するときに、ファイアウォールの一方の側に存在するエンティティの代理または代用としての役を務める。インタフェース間のこの分離を維持し、かつ絶えずプロトコル検査を行うことによって、非常に安全な環境が得られる。これはＣＰＵ時間に対する要求が厳しく、これは高容量サイトでは問題になり得る。
・ステートフル検査：ファイアウォールが接続を開始するパケットを受け取るといつでも、そのパケットはファイアウォールのルールベースに照らして順番に検討される。パケットが受け入れられることなくいずれかのルールを通り抜けると、パケットは拒絶される。接続が受け入れられると、次いでセッションは、メモリに配置されたファイアウォールのステートフル接続テーブルに入れられる。その後の全てのパケットは次いで、ステートフル検査テーブルと比較される。セッションがテーブルにあり、パケットがそのセッションの一部である場合には、パケットは受け入れられる。パケットがそのセッションの一部でない場合には、それは落とされる。全ての単一パケットがルールベースに照らして比較されるわけではないので、これはシステム性能を改善する。
・パケットフィルタ：全てのパケットがルールベースに照らして比較され、一致規則又はルールに基づいて決定が実行される。
【００２０】
ハイエンドのファイアウォールのほとんどは、上述した技術の組合せまたはハイブリッドを提供する。全ての公知の例は、それらが技術的にルータであり、各ネットワークインタフェースに異なるサブネットを持つ必要があるという点で共通している。
【００２１】
ルータ対ブリッジ
ルータは、ネットワーク間でパケットを転送する装置である。ルータは様々なネットワークおよびそこにどのように到達するかを知っている。これは、全ての公知の市販のファイアウォールによって現在使用されている技術である。これは、ファイアウォールの異なる側のホストが異なるネットワークアドレスを持たなければならないことを意味する。さもなければトラヒックはファイアウォールで終わらない。ダイヤルイン装置のみならずＬＡＮでもネットワーク変更が必要である。
【００２２】
ブリッジは、データリンク層の情報に基づいてネットワークセグメント間でトラヒックを転送する装置である。それはＭＡＣアドレスに基づいて働く。
【００２３】
本発明は、企業がそのダイヤルインサーバを保護することを望む現実的状況から発生したものである。そのサーバはすでに従業員および第三者にネットワークコネクティビティを提供していた。新しい第三者企業がアクセスする必要があったが、その企業のインターネット接続は安全でないことが分かった。
【００２４】
いずれかの種類の従来のファイアウォールを実現することは、ダイヤルインサーバのアドレス指定方式を再設定し、遠く離れた企業と変更を調整することを意味している。
【発明の開示】
【発明が解決しようとする課題】
【００２５】
したがって、既存のインフラストラクチャの変更を必要としないセキュリティ装置に対する要求が存在する。
【課題を解決するための手段】
【００２６】
また、完全に透過的なファイアウォールが要求されている。本発明のシステムはネットワークの論理部ではないので、トレースルートに決して現れない。さらに本発明は、それにＩＰアドレスを割り当てることなく実現することができる。これは、構成のためのコンソールアクセスを意味するが、結果的にアドレスの無いセキュリティ装置が得られる。
【００２７】
したがって、別個のコンピュータを使用する必要の無いネットワークセキュリティ装置が提供される。この装置は好ましくはＨＴＭＬインタフェースから構成され、３枚のネットワークカードを使用する。最初の２枚のカードはファイアウォール用に使用される。第３のカードは、公的に経路指定されるＩＰアドレスではなく、プライベートアドレスを有する管理インタフェースである。第1のネットワークカードはパケットをパケットフィルタに転送する。フィルタを通過したパケットは、第２ネットワークカードに転送され、その後、それらの宛先に転送される。これらのカードはどれも公的に経路指定されるＩＰアドレスを持たない。この装置は、経路指定またはプロキシするのではなく、ブリッジするパケットフィルタとして働く。それはルータとハブまたはサーバ機との間に配置することができる。
【００２８】
本発明をより容易に理解し実施することができるようにするために、今から添付の図面について説明する。
【発明を実施するための最良の形態】
【００２９】
本発明の実現に必要なものは、例えば以下の通りである。
ハードウェア
最低限２００Ｍｈｚのプロセッサ
最低限６４ＭＢのＲＡＭ
６４ＭＢの容量の１つの固体ハードドライブ
３枚のネットワークカード１０／１００／１０００
電源装置およびシステム構成のためのＬＣＤパネルと入力装置を備えたケース
ビデオカードを使用しないので、情報をデバッグして始動するためのシリアルポート
ソフトウェア
Ｌｉｎｕｘカーネルバージョン２．２．２０
アパッチウェブサーバ１．３．２２  ｍｏｄ ｐｅｒｌ  ｍｏｄ ＳＳＬ
Ｐｅｒｌバージョン５．６．１
ＯｐｅｎＳＳＨ＋ＯｐｅｎＳＳＬ
ＳＹＳ  Ｖ  Ｌｉｎｕｘ  ＯＳを実行するために必要なＧＮＵツールおよびユーティリティ
Ｍｏｄ ｐｅｒｌ、ＨＴＭＬおよびＣＳＳを使用するウェブインタフェース
【００３０】
インストールは、上記の「ハードウェア」部に記載したハードウェアを使用してコンピュータを作成することによって達成される。詳細なシステムビルド記述は、付属書Ａに見ることができる。図４に示す通り、本発明は設定インタフェースを備えており、それは次の２つの部分を含む。
・ファイアウォール設定
・システム監視
（ファイアウォール設定）
１．インタフェース１０は、ルールセットを含みＣＧＩ５０を介して操作される普通テキスト設定ファイル２０を使用する。
２．設定ファイルは、ＨＴＭＬインタフェースを介してアクセスされるＰｅｒｌスクリプトによって操作される。
３．次いで設定ファイルは、Ｐｅｒｌスクリプトによってカーネルルール４０に変換３０される。
詳細な設定記述は付属書Ｂに見ることができる。
（システム監視）
１．ＬＯＡＤ状態を監視する。これは、ＣＰＵの現在のロードがどれだけかをユーザに知らせる。
２．ディスクスペース状態を監視する。これは、ディスクスペースの利用が現在どのレベルであるかをユーザに知らせる。
３．コンフィギュレーション状態を監視する。これは、ファイアウォールの設定に対して行った変更がファイアウォールに対して完遂されたか否かをユーザに知らせる。
４．パケットが許可されたかあるいは拒絶されたか否かを監視し、記録する。
【００３１】
図２に示す通り、情報の内向きの流れはパケットの流れを含む。
【００３２】
パケットは世界７０からネットワーク６０内に入ってくる。次いでそれは第１ネットワークカード８０を通過する。次いでパケットはパケットフィルタ９０によって検査され、ルールと比較される。パケットが受け入れ１００られると、次いでそれは第２ネットワークカード１１０およびネットワーク６０に転送される。パケットが拒絶１２０されると、次いでそれは落とされる１３０。それは消滅することを意味する。ログは、パケットに何が起きたかを記録することができる。
【００３３】
図３に示す通り、アウトバウンドパケットはネットワーク６０から世界７０に出て行く。それは次いで第２ネットワークカード１１０を通過する。次いでパケットはパケットフィルタ９０によって検査され、ルールセットと比較される。パケットが受け入れ１００られると、次いでそれは第１ネットワークカード８０および世界へ転送される。パケットが拒絶１２０されると、次いでそれは落とされる１３０。それは消滅することを意味する。ログは、パケットに何が起きたかを記録することができる。
【００３４】
次の表は、本発明の特徴を２つの他の市販品と比較するものである。
0004677173.tif 000002
【００３５】
ファイアウォールＩおよびラプターは、それらを実行する前にオペレーティングシステムを備えた別個のコンピュータを必要とし、したがって他の２つのファイアウォールとは非常に異なる。
【００３６】
本発明は３枚のネットワークカードを使用する。
−  ダミーの内部ＩＰアドレスを持つ管理インタフェース
−  このネットワークカードは、ファイアウォールを設定するためにだけ使用される。それはファイアウォールの作動には決して使用されず、ＩＰアドレスを持たない。他の２枚のネットワークカード８１０、１１０は、それらに署名されたＩＰアドレスを持たない。
【００３７】
これは、本発明と公知の市販されている全てのファイアウォールとの間の最大の相違である。本発明の解決策はＩＰアドレスを使用しないので、それはネットワークの論理部ではない。これは、それが検出できないこと、およびそれが既存のインタフェースを切り離し、これを中間に差し込むことによって簡単に実現できることを意味する。他のネットワーク再構成は必要ない。これは、本発明を完全に独自のものにする。
【００３８】
ファイヤボックスＴＭは３枚のネットワークカードを使用し、３つの関連ＩＰアドレスを必要とする。これは、この製品のインストールを可能にするために、ネットワークを再構成する必要があることを意味する。
【００３９】
ファイアウォールＩＴＭおよびラプターＴＭは２枚のネットワークカードを使用し、２つの関連ＩＰアドレスを必要とする。これは、これらの製品のインストールを可能にするために、ネットワークを再構成する必要があることを意味する。
【００４０】
本発明はパケットを検査し、次いでそれをブリッジする。それは完全に透過的である。ファイヤボックスＴＭはパケットを検査し、次いでそれを経路指定する。ファイアウォールＩＴＭおよびラプターＴＭはパケットを検査し、次いでそれを経路指定する。ラプターＴＭは要求を検査し、次いでそれをプロキシする。
【００４１】
３つのファイアウォールは全てパケットを検査する。１つの顕著な相違は、本発明がそれを経路指定するのではなく、ブリッジすることである。
【００４２】
図４に示す通り、ルールセット９０は、グラフィカルユーザインタフェース２００を通して編集することができる。全てのルール２１０は順序が与えられている。この順序はいつでも変更することができる。ルール２１０はコンピュータによって１つづつ順番に検査される。パケットがルール２１０を満足すると、それはルールによって決定された通りに処置２３０される。そうでなければ、それはデフォルトルールに進む。ルールセットは評価するのにパケット発信源２２０、宛先２４０、関連サービス２５０、およびログ要件などのオプション２６０にタブを配置する。グラフィカルボタン２７０，２８０は、ユーザの編集または削除を容易にする。
【図面の簡単な説明】
【００４３】
【図１】本発明のシステムをどのように構成するかを示す流れ図である。
【図２】ネットワークトラヒックが本発明のシステムを通してどのように内部ネットワークに入るかを示す流れ図である。
【図３】内部ネットワークトラヒックがどのように本発明のシステムを通過して外界に進むかを示す流れ図である。
【図４】パケットフィルタリングルールセットに対する編集制御をユーザに提供するグラフィカルユーザインタフェースの例証である。
【付属書Ａ】
【００４４】
組込みシステム作成の説明：
組込みＬｉｎｕｘシステムを持つ理由は、Ｌｉｎｕｘオペレーティングシステムに慣れていないかもしれないユーザの管理間接費を減らすためである。さらに、システムが適切に終了せずに電源が切れたときに、ファイルシステムの破損などの問題を排除する。
我々は別個のマシンを使用してＯＳを作成している。このシステムは開発環境を含み、我々の生産機のために必要なバイナリおよび共用ライブラリを作成することを可能にする。
ビルド機には、ＯＳの最終宛先をエミュレートする別個のパーティション（固体ドライブ）が存在する。
以下のルートディレクトリ構造が作成されている。
/bin              （システムバイナリ）
/boot            （カーネルディレクトリ）
/dev              （装置のキャラクタ・デバイス）
/etc              （設定ファイル）
/home            （ホームディレクトリ）
/lib              （共用ライブラリ）
/proc            （ｐｒｏｃファイルシステムマウントポイント）
/root            （ルート用ホームディレクトリ）
/sbin            （システムバイナリ）
/tmp              （ｔｍｐスペースマウントポイント）
/usr              （ｕｓｒライブラリおよびバイナリ）
/var              （ｖａｒマウントポイント）
/devディレクトリには以下の所要キャラクタファイルを配置する。
crw            1 root            root    5,            1 Apr 9 14:34 console
crw            1 root            root    5,            64 Feb 26 16:52 cua0
crw            1 root            root    5,            65 Feb 26 16:52 cua1
brw-rw        1 root            disk  3,            0 Feb 26 16:52 hda
brw-rw        1 root            disk  3,            1 Feb 26 16:52 hda1
brw-rw        1 root            root  3,            2 Feb 26 16:52 hda2
brw-rw        1 root            disk  3,            3 Feb 26 16:52 hda3
brw-rw        1 root            disk  3,            4 Feb 26 16:52 hda4
brw-rw        1 root            disk  3,            5 Feb 26 16:52 hda5
brw-rw        1 root            disk  3,            6 Feb 26 16:52 hda6
brw-rw        1 root            disk  3,            7 Feb 26 16:52 hda7
brw-rw        1 root            disk  3,            8 Feb 26 16:52 hda8
crw            1 root            sys    89,            0 Feb 26 16:52 i2c0
crw            1 root            sys    89,            1 Feb 26 16:52 i2c1
prw            1 root            root    0 Apr 4 19:54 initctl
crw-r        1 root            kmem    1,            2 Feb 26 16:52 kmem
crwxrwxr-x    1 root          www  10,            140 Feb 26 16:52 lcd
srw-rw-rw-    1 root          root 0 Apr 9 14:34 log
crw-r        1 root            kmem    1,            1 Feb 26 16:52 mem
crw-rw-rw-    1 root          root1,            3 Feb 26 16:52 null
crw-r        1 root            kmem    1,            4 Feb 26 16:52 port
crw-rw-rw-    1 root          root5,            2 Apr 10 12:53 ptmx
drwxr-xr-x    2 root          root 0 Apr 9 14:34 pts
brw            1 root            disk    1,            0 Feb 26 16:52 ram0
brw-rw        1 root            disk  1,            1 Feb 26 16:52 ram1
brw-rw        1 root            disk  1,            2 Feb 26 16:52 ram2
brw-rw        1 root            disk  1,            3 Feb 26 16:52 ram3
brw-rw        1 root            disk  1,            4 Feb 26 16:52 ram4
crw-r-r        1 root            root1,            8 Feb 26 16:52 random
crw-rw-r      1 root            root10,            135 Feb 26 16:52 rtc
Irwxrwxrwx    1 root          root 17 Mar 18 21:09 stderr->../proc/self/fd/2
Irwxrwxrwx    1 root          root 17 Mar 18 21:09 stdin->../proc/self/fd/0
Irwxrwxrwx    1 root          root 17 Mar 18 21:09 stdout->../proc/self/fd/1
crw            1 root            root    4,            0 Feb 26 16:52 systty
crw-rw-rw-    1 root          root5,            0 Mar 18 20:50 tty
crw            1 root            tty    4,              0 Feb 26 16:52 tty0
crw            1 root            tty    4,              1 Feb 26 16:52 tty1
crw            1 root            tty    4,              2 Feb 26 16:52 tty2
crw            1 root            tty    4,              3 Feb 26 16:52 tty3
crw            1 root            tty    4,              4 Feb 26 16:52 tty4
crw            1 root            tty    4,              5 Feb 26 16:52 tty5
crw            1 root            tty    4,              6 Feb 26 16:52 tty6
crw            1 root            tty    4,              7 Feb 26 16:52 tty7
crw            1 root            tty    4,              8 Feb 26 16:52 tty8
crw            1 uucp            uucp    4,            64 Apr 9 14:34 ttyS0
crw-r        1 root            tty    4,              65 Feb 26 16:52 ttyS1
crw-r-r        1 root            root1,            9 Feb 26 16:52 urandom
crw-r-r        1 root            root10,            130 Feb 26 16:52 watchdog
crw-rw-rw-    1 root          root1,            5 Feb 26 16:52 zero
我々は、ＯＷセキュリティパッチ（www.openwall.com）で増強されたＬｉｎｕｘカーネル２．２．２０（www.kernel.org）を使用する。既存のカーネルブリッジングコードを２．４カーネルコード（bridge.sourceforge.net）と置き換える。
カーネルは次のパラメータにより構成される。
#
# Automatically generated by make menuconfig: don't edit
#
CONFIG_X86=y
#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
#
# Processor type and features
#
# CONFIG_M386 is not set
# CONFIG_M486 is not set
# CONFIG_M586 is not set
CONFIG_M586TSC=y
# CONFIG_M686 is not set
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=y
CONFIG_X86_TSC=y
# CONFIG_MICROCODE is not set
# CONFIG_X86_MSR is not set
# CONFIG_X86_CPUID is not set
CONFIG_1GB=y
# CONFIG_2GB is not set
# CONFIG_MATH_EMULATION is not set
# CONFIG_MTRR=y
# CONFIG_SMP is not set
#
# Loadable module support
#
# CONFIG_MODULES=y
# CONFIG_MODVERSIONS is not set
CONFIG_KMOD=y
#
# General setup
#
CONFIG_NET=y
CONFIG_PCI=y
# CONFIG_PCI_GOBIOS is not set
CONFIG_PCI_GODIRECT=y
# CONFIG_PCI_GOANY is not set
CONFIG_PCI_DIRECT=y
CONFIG_PCI_QUIRKS=y
# CONFIG_PCI_OPTIMIZE is not set
CONFIG_PCI_OLD_PROC=y
# CONFIG_MCA is not set
# CONFIG_VISWS is not set
CONFIG_COBALT_GEN_III=y
# CONFIG_COBALT_GEN_V is not set
# CONFIG_COBALT_BOOTLOADER is not set
CONFIG_SYSVIPC=y
# CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_SYSCTL=y
CONFIG_BINFMT_AOUT=m
CONFIG_BINFMT_ELF=y
# CONFIG_BINFMT_ELF_AOUT is not set
CONFIG_BINFMT_MISC=m
# CONFIG_BINFMT_JAVA is not set
# CONFIG_PARPORT is not set
# CONFIG_APM is not set
# CONFIG_TOSHIBA is not set
#
# Plug and Play support
#
CONFIG_PNP=y
#
# Block devices
#
# CONFIG_BLK_DEV_FD is not set
CONFIG_BLK_DEV_IDE=y
# CONFIG_BLK_DEV_HD_IDE is not set
CONFIG_BLK_DEV_IDEDISK=y
# CONFIG_BLK_DEV_IDECD is not set
# CONFIG_BLK_DEV_IDETAPE is not set
# CONFIG_BLK_DEV_IDEFLOPPY is not set
# CONFIG_BLK_DEV_IDESCSI is not set
# CONFIG_BLK_DEV_CMD640 is not set
# CONFIG_BLK_DEV_RZ1000 is not set
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_BLK_DEV_IDEDMA=y
# CONFIG_BLK_DEV_OFFBOARD is not set
CONFIG_IDEDMA_AUTO=y
# CONFIG_BLK_DEV_OPTI621 is not set
CONFIG_BLK_DEV_ALI15X3=y
# CONFIG_BLK_DEV_TRM290 is not set
# CONFIG_BLK_DEV_NS87415 is not set
# CONFIG_BLK_DEV_VIA82C586 is not set
# CONFIG_BLK_DEV_CMD646 is not set
# CONFIG_BLK_DEV_CS5530 is not set
# CONFIG_IDE_CHIPSETS is not set
# CONFIG_BLK_DEV_LOOP is not set
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_MD is not set
CONFIG_BLK_DEV_RAM=m
CONFIG_BLK_DEV_RAM_SIZE=4096
# CONFIG_BLK_DEV_XD is not set
# CONFIG_BLK_DEV_DAC960 is not set
CONFIG_PARIDE_PARPORT=y
# CONFIG_PARIDE is not set
# CONFIG_BLK_CPQ_DA is not set
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_BLK_DEV_HD is not set
#
# Networking options
#
CONFIG_PACKET=y
CONFIG_NETLINK=y
# CONFIG_RTNETLINK is not set
CONFIG_NETLINK_DEV=y
CONFIG_FIREWALL=y
# CONFIG_FILTER is not set
CONFIG_UNIX=y
CONFIG_INET=y
# CONFIG_IP_MULTICAST is not set
# CONFIG_IP_ADVANCED_ROUTER is not set
# CONFIG_IP_PNP is not set
CONFIG_IP_FIREWALL=y
# CONFIG_IP_FIREWALL_NETLINK is not set
# CONFIG_IP_TRANSPARENT_PROXY is not set
# CONFIG_IP_MASQUERADE is not set
# CONFIG_IP_ROUTER is not set
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE is not set
CONFIG_IP_ALIAS=y
CONFIG_SYN_COOKIES=y
# CONFIG_INET_RARP is not set
CONFIG_SKB_LARGE=y
# CONFIG_IPV6 is not set
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
CONFIG_BRIDGE=m
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_NET_DIVERT is not set
# CONFIG_LLC is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
# CONFIG_NET_FASTROUTE is not set
# CONFIG_NET_HW_FLOWCONTROL is not set
# CONFIG_CPU IS_SLOW is not set
#
#QoS and/or fair queueing
#
# CONFIG_NET_SCHED is not set
#
# Telephony Support
#
# CONFIG_PHONE is not set
# CONFIG_PHONE_IXJ is not set
#
# SCSI support
#
# CONFIG_SCSI is not set
#
# I2O device support
#
# CONFIG_I2O is not set
# CONFIG_I2O_PCI is not set
# CONFIG_I2O_BLOCK is not set
# CONFIG_I2O_SCSI is not set
#
# Network device support
#
CONFIG_NETDEVICES=y
#
# ARCnet devices
#
# CONFIG_ARCNET is not set
# CONFIG_DUMMY is not set
# CONFIG_BONDING is not set
# CONFIG_EQUALIZER is not set
# CONFIG_ETHERTAP is not set
# CONFIG_NET_SB1000 is not set
#
# Ethernet (10 or 100Mbit)
#
CONFIG_NET_ETHERNET=y
CONFIG_NET_VENDOR_3COM=y
# CONFIG_EL1 is not set
# CONFIG_EL2 is not set
# CONFIG_ELPLUS is not set
# CONFIG_EL16 is not set
# CONFIG_EL3 is not set
# CONFIG_3C515 is not set
CONFIG_VORTEX=y
# CONFIG_LANCE is not set
# CONFIG_NET_VENDOR_SMC is not set
# CONFIG_NET_VENDOR_RACAL is not set
# CONFIG_RTL8139 is not set
# CONFIG_RTL8139TOO is not set
# CONFIG_NET_ISA is not set
CONFIG_NET_EISA=y
# CONFIG_PCNET32 is not set
# CONFIG_ADAPTEC_STARFIRE is not set
# CONFIG_AC3200 is not set
# CONFIG_APRICOT is not set
# CONFIG_LP486E is not set
# CONFIG_CS89x0 is not set
# CONFIG_DM9102 is not set
# CONFIG_DE4X5 is not set
# CONFIG_DEC_ELCP is not set
# CONFIG_DEC_ELCP_OLD is not set
# CONFIG_DGRS is not set
CONFIG_EEXPRESS_PRO100=y
# CONFIG_LNE390 is not set
# CONFIG_NE3210 is not set
# CONFIG_NE2K_PCI is not set
# CONFIG_TLAN is not set
# CONFIG_VIA_RHINE is not set
# CONFIG_SIS900 is not set
# CONFIG_ES3210 is not set
# CONFIG_EPIC100 is not set
# CONFIG_ZNET is not set
# CONFIG_NET_POCKET is not set
#
# Ethernet (1000 Mbit)
#
# CONFIG_ACENIC is not set
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
# CONFIG_SK98LIN is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
# CONFIG_NET_RADIO is not set
#
# Token ring devices
#
# CONFIG_TR is not set
# CONFIG_NET_FC is not set
# CONFIG_RCPCI is not set
# CONFIG_SHAPER is not set
#
# Wan interfaces
#
# CONFIG_HOSTESS_SV11 is not set
# CONFIG_COSA is not set
# CONFIG_SEALEVEL_4021 is not set
# CONFIG_SYNCLINK_SYNCPPP is not set
# CONFIG_LANMEDIA is not set
# CONFIG_COMX is not set
# CONFIG_HDLC is not set
# CONFIG_DLCI is not set
# CONFIG_XPEED is not set
# CONFIG_SBNI is not set
#
# Amateur Radio support
#
# CONFIG_HAMRADIO is not set
#
# IrDA (infrared) support
#
# CONFIG_IRDA is not set
#
# ISDN subsystem
#
# CONFIG_ISDN is not set
#
# Old CD-ROM drivers (not SCSI, not IDE)
#
# CONFIG_CD_NO_IDESCSI is not set
#
# Character devices
#
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_SERIAL=y
CONFIG_SERIAL_CONSOLE=y
# CONFIG_SERIAL_EXTENDED is not set
# CONFIG_SERIAL_NONSTANDARD is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
# CONFIG_MOUSE is not set
#
# Joysticks
#
# CONFIG_JOYSTICK is not set
# CONFIG_QIC02_TAPE is not set
CONFIG_WATCHDOG=y
#
# Watchdog cards
#
# CONFIG_WATCHDOG_NOWAYOUT is not set
# CONFIG_ACQUIRE_WDT is not set
# CONFIG_ADVANTECH_WDT is not set
# CONFIG_PCWATCHDOG is not set
# CONFIG_I810_TCO is not set
# CONFIG_MIXCOMWD is not set
# CONFIG_60XX_WDT is not set
CONFIG_SOFT_WATCHDOG=y
# CONFIG_WDT is not set
# CONFIG_WDTPCI is not set
# CONFIG_MACHZ_WDT is not set
# CONFIG_NVRAM is not set
CONFIG_RTC=y
# CONFIG_INTEL_RNG is not set
# CONFIG_AGP is not set
# CONFIG_DRM is not set
CONFIG_COBALT_LCD=y
#
# Video For Linux
#
CONFIG_VIDEO_DEV=m
# CONFIG_RADIO_RTRACK is not set
# CONFIG_RADIO_RTRACK2 is not set
# CONFIG_RADIO_AZTECH is not set
# CONFIG_RADIO_CADET is not set
# CONFIG_RADIO_GEMTEK is not set
# CONFIG_RADIO_MAESTRO is not set
# CONFIG_RADIO_MIROPCM20 is not set
# CONFIG_RADIO_TRUST is not set
# CONFIG_VIDEO_BT848 is not set
# CONFIG_VIDEO_CPIA is not set
# CONFIG_VIDEO_PMS is not set
# CONFIG_VIDEO_SAA5249 is not set
# CONFIG_RADIO_SF16FMI is not set
# CONFIG_RADIO_TYPHOON is not set
# CONFIG_RADIO_ZOLTRIX is not set
# CONFIG_VIDEO_ZORAN is not set
# CONFIG_VIDEO_BUZ is not set
# CONFIG_DTLK is not set
#
# Ftape, the floppy tape device driver
#
# CONFIG_FTAPE is not set
#
# USB support
#
# CONFIG_USB is not set
#
# Filesystems
#
# CONFIG_QUOTA is not set
# CONFIG_AUTOFS_FS is not set
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_FAT_FS is not set
# CONFIG_MSDOS_FS is not set
# CONFIG_UMSDOS_FS is not set
# CONFIG_VFAT_FS is not set
# CONFIG_ISO9660_FS is not set
# CONFIG_JOLIET is not set
# CONFIG_MINIX_FS is not set
# CONFIG_NTFS_FS is not set
# CONFIG_HPFS_FS is not set
CONFIG_PROC_FS=y
CONFIG_DEVPTS_FS=y
# CONFIG_QNX4FS_FS is not set
# CONFIG_ROMFS_FS is not set
CONFIG_EXT2_FS=y
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set
# CONFIG_EFS_FS is not set
#
# Network File Systems
#
# CONFIG_CODA_FS is not set
# CONFIG_NFS_FS is not set
# CONFIG_NFSD is not set
# CONFIG_SUNRPC is not set
# CONFIG_LOCKD is not set
# CONFIG_SMB_FS is not set
# CONFIG_NCP_FS is not set
#
# Partition Types
#
# CONFIG_BSD_DISKLABEL is not set
# CONFIG_MAC_PARTITION is not set
# CONFIG_MINIX_SUBPARTITION is not set
# CONFIG_SMD_DISKLABEL is not set
# CONFIG_SOLARIS_X86_RARTITION is not set
# CONFIG_UNIXWARE_DISKLABEL is not set
# CONFIG_NLS is not set
#
# Console drivers
#
# CONFIG_VGA_CONSOLE is not set
# CONFIG_VIDEO_SELECT is not set
# CONFIG_MDA_CONSOLE is not set
# CONFIG_FB is not set
#
# Sound
#
# CONFIG_SOUND is not set
#
# Security options
#
# CONFIG_SECURE_STACK is not set
# CONFIG_SECURE_LINK is not set
# CONFIG_SECURE_FIFO is not set
# CONFIG_SECURE_PROC is not set
# CONFIG_SECURE_FD_0_1_2 is not set
# CONFIG_SECURE_RLIMIT_NPROC is not set
# CONFIG_SECURE_SHM is not set
#
# Kernel hacking
#
# CONFIG_MAGIC_SYSRQ is not set
我々は生産カーネルを作成し、それを／ｂｏｏｔディレクトリの宛先パーティションに配置する。
次いで我々は、有効に機能するＳＹＳ  V  Ｌｉｎｕｘシステム、ウェブサーバ、および希望する他のツールをを得るために、必要に応じて支援バイナリを作成し始める。
これらのバイナリ作成後、それらは必要な共用ライブラリおよび設定ファイルに沿って宛先パーティションに配置される。
全ての必要なバイナリが作成され、有効に機能すると、我々は以下のステップを使用する。
ブートプロセス中に、システムが書込み作業のために使用する以下のＲＡＭドライブを生成する。明らかに、ＲＡＭは揮発性であり、シャットダウンシーケンスは、リブートまたは停電後に利用可能であることが必要な情報を格納することに注意を払う。各ＲＡＭドライブは始動時に形成されフォーマットされるので、異常シャットダウンによりファイルシステムが破壊される機会は無い。
ドライブ              マウント名称
/dev/ram0    swap
/dev/ram1    /tmp
/dev/ram2    /var
/dev/ram3    /usr/local/firebridge/http
swap：  物理的ＲＡＭが低レベルで作動するときにＯＳによって使用される。（ＲＡＭにスワップスペースを生成することによって、メモリのその部分をスワップ用に確保する。）
/tmp：  管理インタフェースによって一時ファイルのために使用される。
/var：  ロギングのために使用される（現在ログファイルはリブート時に保存されないことに注意されたい。永久ロギングを達成するために、ｌｏｇｈｏｓｔにログできるｓｙｓｌｏｇを設けている。）
/usr/…/http：  ウェブサーバのウェブページおよびグラフィックス用に使用される。高速アクセスを達成し、インタフェース性能を高めるために、これらのグラフィックスをRAMから提供する。そうするとアクセス時間が他の装置からよりずっと早くなる。
【付属書Ｂ】
【００４５】
管理インタフェースおよびファイアウォール設定ファイル：
ＣＧＩインタフェースはｍｏｄ ｐｅｒｌを使用して、ウェブブラウザでユーザが見るものを取り扱う＊．ｃｇｉファイルと、ユーザ入力を検査し設定ファイルを操作する＊−ｌｉｂ．ｐｌファイルの２種類のファイルを区別する。動的コンテンツおよびプレゼンテーション用のフレームワークとして使用される静的ｈｔｍｌファイル、画像、およびカスケーディングスタイルシートがある。
構成ファイルを操作するために、以下のファイルが使用される。
-fb-cgilib.pl                      （全てのスクリプトに使用される一般的な機能）
-ipcalc-lib.pl                    （ｉｐカルキュレータライブラリ）
-ipcalc.cgi  （ｉｐカルキュレータプレゼンテーション）
*bridgeview    （これは読出し専用バージョンを含む）
vwgroups.cgi
vwnetobjects.cgi
vwrules.cgi
vwservices.cgi
*fw
-fwconf-lib.pl            （ルールに基づきｉｐｃｈａｉｎｓ互換性設定を書く）
-fwconf.cgi  （設定を起動／ロールバックする）
-groups-lib.pl            （グループファイルを操作する）
-groups.cgi  （グループファイルのプレゼンテーション）
-netobjects-lib.pl        (ネットワークオブジェクトファイルを操作する)
-netobjects.cgi            （ネットワークオブジェクトファイルのプレゼンテーション）
-rules-lib.pl                      （ルールファイルを操作する）
-rules.cgi    (ルールファイルのプレゼンテーション)
-services-lib.pl            （サービスファイルを操作する）
-services.cgi                      （サービスファイルのプレゼンテーション）
*logvw
-logvw.cgi    （現在のログファイルを表示する）
*options
-fbgconf-lib.pl            （グローバル設定オプションを操作する）
-fbgconf.cgi （グローバル設定オプションのプレゼンテーション）
*status
-confstatus.cgi            （現在の設定がアクティブと同じかどうかを検査する）
-loadstatus.cgi            （ボックスのロードを検査する）
*wizard
-wizard.cgi  （ルールおよび関連オブジェクトの段階的作成）
ファイヤブリッジは以下の設定ファイルを使用する。
Actions            （ルールに対して可能な処置）
nr:action
fbgcfg              （グローバル設定オプション）
option=value  （真または偽）
fbrules            （数字によるルール）
nr:allow/deny:source-name:destination-name:service-name:action-nr:comment
（発信源／宛先／サービスをグループ名にすることができることに注意されたい）
groups              （グループ）
name:type:member-name,member-name,member-name:comment
netobjects      （ネットワークエンティティ）
name:address/mask
protocols        (数字によるｉｐプロトコル)
nr:name:comment
name:description:protocol-nr:source-port:destination-port
（ポートはダッシュで区切られた範囲とすることができる。例：１０２４−６５５３５）
ファイヤブリッジはその設定のために次のディレクトリを使用する。
/usr/local/firebridge/fwconfig/active
/usr/local/firebridge/fwconfig/config
ブート後、システムは．／ａｃｔｉｖｅからのファイルを物理的に／ｖａｒ  ラムドライブ上に所在する．／ｃｏｎｆｉｇに書き込む（上記名前へのシンボリックリンク）。ユーザがファイアウォールに変更を行うと、これらは．／ｃｏｎｆｉｇディレクトリに記録される。ひとたびユーザが全ての変更に満足すると、ユーザは次に管理インタフェース内のａｃｔｉｖａｔｅ  ｃｏｎｆｉｇを選択する。
システムは次いで．／ｃｏｎｆｉｇからのファイルを全て取り出し、．／ａｃｔｉｖｅにファイルを上書きする。次いでｉｐｃｈａｉｎｓ互換性出力を作成し、グループを希望に応じて複数のルールに変換し始める。全てのルールが無事に書かれると、それらがｉｐｃｈａｉｎｓで起動する。
代替的に、ユーザは、システムが．／ａｃｔｉｖｅからのファイルを取り出し、ファイルを．／ｃｏｎｆｉｇに上書きするロールバックを選択することができる。
【図１】
0004677173.tif 000003
【図２】
0004677173.tif 000004
【図３】
0004677173.tif 000005
【図４】
0004677173.tif 000006