次のページ 前のページ 目次へ

2. ファイアウォールを理解する

防火壁とは、延焼を避けることを意図した建築構造です。 建築物には煉瓦でできた防火壁があり、建築物の区画を完全に分離します。 車の防火壁は金属性の壁で、エンジンと乗客の室内とを区切ります。

インターネットのファイアウォールは、あなたのプライベート LAN に インターネットの地獄の炎を侵入させないことを意図しています。 或は、あなたの LAN 内のメンバーが、邪悪なインターネット上の誘惑に対して行う アクセスを禁止し、彼らを純粋且つ純潔に保つためのものです。 ;-)

初期のコンピュータファイアウォールは、二つの異なるネットワークに 接続されている、経路制御を行わない Unix ホストでした。 片方のネットワークカードはインターネットに接続され、もう片方は プライベート LAN に接続されていました。 プライベートネットワークからインターネットへ到達するには、 ファイアウォール (Unix) サーバにログオンしなければなりませんでした。 次にインターネットにアクセスする為にそのサーバのリソースを使います。 例えば、ファイアウォールシステム上の Netscape のブラウザを動作させて、 あなたのマシン上で動作する X Window System のディスプレイ上に表示できます。 ファイアウォール上で動作するブラウザは両方のネットワークにアクセス できます。

【訳注: このエピソードについては、例えば DelegateHistory of development にてもかいま見ることができます。】

この類の「デュアルホームシステム (dual homed system)」 (2つのネットワークに接続されているシステム) は、あなたのネットワーク上の ユーザ全てが信頼できるなら、それは素晴らしいものです。 単純に Linux システムをセットアップして、インターネットへアクセスしたい 人全てにアカウントを発行すれば良いのですから。 この設定によって、あなたのプライベートネットワーク上にあって、 外の世界についてあらゆることを知るコンピュータは、ファイアウォールだけと なります。 プライベートネットワーク内の人は誰も自分自身のワークステーションへ インターネットから直接ダウンロードすることはできません。 最初にインターネットからファイアウォールへファイルをダウンロードしてから、 次にファイアウォールから自分自身のワークステーションへダウンロード しなければなりません。

最重要 - 全ての侵入の 99% は、攻撃対象のシステムに対してアカウントレベルの アクセスを得ることから始まります。 ですので、この種のファイアウォールはお薦めしません。 また、このファイアウォールは制限もきつ過ぎます。

2.1 ファイアウォールのポリシー

ファイアウォールマシンこそあなたが望むものの全てであると信じるべきではありません。 先ず、ポリシーを設定しましょう

ファイアウォールは 2つの用途に使われます。

  1. 人 (ワーム / クラッカー) を締め出す為。
  2. 人 (従業員 / 子供達) を閉じ込める為。

私がファイアウォールに取り組んでいた頃、私が働いていた会社は彼らの ネットワークからクラッカーを締め出すことよりも、従業員をスパイ することにより興味を持っていたことにとても驚きました。

少なくとも私の州 (オクラホマ) では、雇用者は従業員に断りさえすれば、 彼らの電話の会話とインターネットの利用状況を監視する権利を持っていました。

独裁的だったのは政府ではなく、巨大企業だったのです。

誤解しないでください。 人々は勤務時間中は働いていて、遊んではいなかった筈です。 そして私は勤務倫理が蝕まれることを感じていました。 しかしながら、私はまた"管理者側"こそ彼らが設定したルールの最も悪質な 権利乱用者であることを監視していました。 通勤バスの経路を探す為にインターネットを使ったことで時間給労働者が 経営者に懲戒されたと同時に、まさにその懲戒を行った経営者が、見込みのある 顧客を連れていくための上等なレストランやナイトクラブを、 勤務時間中に何時間もネットサーフィンしていたのを見てきました。

勤務上の管理の為のスパイ行為は、 Monster.com で仕事探しをしている人を 見つけることでもありました。 でも、私は経営者が労働者の昇格条件に "エイズにかかっているかも知れない" かどうかをチェックする為に彼/彼女が健康管理サイトに訪れたことがあるか 否かを見ている時に、これは非倫理的であることに気付きました。

セキュリティの仕事は恐ろしいことになりかねません。 もしあなたがファイアウォールの管理者なら、あなたの背後にご注意あれ。

セキュリティポリシーの作成方法

私は今までセキュリティポリシーの作成方法に関する「ホントに仰々しい」 文書を幾つか見てきました。 そんなのを信じてはいけません。 セキュリティポリシーを作ることはとても単純なのです。

  1. 与えるものを書き出す
  2. あなたがサービスを提供する人のグループを書き出す
  3. 各々のグループが必要とするアクセスはどのサービスなのかを書き出す
  4. 各々のグループへのサービス毎に、どのように安全を確保するかを書き出す
  5. 他のかたちを取るアクセスは、全てセキュリティ違反である旨の宣言文を書く
あなたのポリシーは時と共により複雑になるでしょうけれども、 何もかもをカバーしようとはしないでください。 単純で明解にすることを心がけてください。

2.2 ファイアウォールの種類

ファイアウォールには 2 種類あります。

  1. フィルタリングファイアウォール - 選択したネットワークパケットを ブロックします。
  2. プロキシサーバ (しばしばファイアウォールと呼ばれます) - ネットワークへの接続を提供します。

パケットフィルタリングファイアウォール

パケットフィルタリングは Linux カーネルに組み込まれるタイプの ファイアウォールです。

フィルタリングファイアウォールはネットワークレベルで動作します。 ファイアウォールルールが許可した時だけ、データはシステムから 出ていくことを許されます。 到達したパケットは、各々のパケットに含まれている種類、発信アドレス、 宛先アドレス、そしてポートの情報によってフィルタリングされます。

多くのネットワークルータはある程度のファイアウォールサービスを 実現する機能を持っています。 フィルタリングファイアウォールはそれらの類のルータと同等と考えられます。 このため、これを動作させるにあたって IP パケットの構造に対する 深い理解を必要とします。

解析・記録されるデータは非常に小さいので、フィルタリングファイアウォールは CPU 負荷を殆ど必要としませんし、ネットワークの遅延も殆ど生じません。

フィルタリングファイアウォールはパスワード制御を行いません。 ユーザは自分を認証させることはできません。 ユーザを識別する唯一の方法は、ワークステーションに割り当てられた IP アドレスです。 このことは DHCP (Dynamic IP assignments: 動的 IP 割り当て) の使用を 意図している場合に問題をひき起こす可能性があります。 ルールは IP アドレスを手がかりにしているので、新たな IP アドレスが 割り当てられる度毎にルールを調整しなければならなくなります。 私はこれを自動化する術を知りません。

フィルタリングファイアウォールはユーザにとってより透過的です。 ユーザはインターネットへアクセスする為に使用するアプリケーションに ルールを設定する必要がありません。 殆どのプロキシサーバでは設定の必要があります。

プロキシサーバ

プロキシは殆どの場合、外部へのトラフィックを制御または監視する為に 使われます。 要求されたデータをキャッシュするアプリケーションプロキシも存在します。 このことによって必要とされるネットワークのバンド幅を低下させ、 次のユーザに対して同じデータへのアクセスを低下させます。 それと共に何が転送されたのかを動かぬ証拠として提供します。

プロキシサーバには 2種類あります。

  1. アプリケーションプロキシ - あなたの為に仕事をしてくれます。
  2. SOCKS プロキシ - クロスワイヤポートです。

アプリケーションプロキシ

最も良い例は、ある人が他のコンピュータへ telnet 接続してから、その コンピュータから外界へ telnet 接続することです。 アプリケーションプロキシサーバは、この手順を自動化します。 あなたが外界へ telnet 接続すると、先ずクライアントはあなたをプロキシへ 送り出します。 プロキシは次にあなたが要求する (外界の) サーバへ接続し、データをあなたへ 返します。

プロキシサーバは全ての接続を処理するので、(あなたを含めて)アクセスする 全ての挙動をログ記録することができます。 HTTP (web) プロキシにおいては、あなたが閲覧するサイトの URL そのものが 含まれます。 FTP プロキシにおいては、あなたがダウンロードした全てのファイルが含まれます。 あなたが訪れるサイトから "不適当な" 言葉さえも排除したり、 ウィルススキャンもできます。

アプリケーションプロキシサーバはユーザ認証ができます。 外からの接続が行われる前に、サーバはユーザに対して最初にログインを催促します。 web ユーザにおいては、全てのサイトにおいてログインを要求されるように見えます。

SOCKS プロキシ

SOCKS サーバは旧型のスイッチボードに大変良く似ています。 これは単に、あなたの接続を別の外部の接続にシステム上で繋ぎ換えます。

殆どの SOCKS サーバは TCP タイプの接続でのみ動作します。 そしてフィルタリングファイアウォールと同様、ユーザ認証の機能は 装備されていません。 しかしながら、ユーザがどこに接続したのかを記録することはできます。


次のページ 前のページ 目次へ