A distributed firewall is a security application on a host machine of a network that protects the servers and user machines of its enterprise's networks against unwanted intrusion. A firewall is a system or group of systems (router, proxy, or gateway) that implements a set of security rules to enforce access control between two networks to protect the "inside" network from the "outside" network. They filter all traffic regardless of its origin—the Internet or the internal network. Usually deployed behind the traditional firewall, they provide a second layer of defense. The advantages of the distributed firewall allow security rules (policies) to be defined and pushed out on an enterprise-wide basis, which is necessary for larger enterprises.
Distributed firewalls are often kernel-mode applications that sit at the bottom of the OSI stack in the operating system. They filter all traffic regardless of its origin—the Internet or the internal network. They treat both the Internet and the internal network as "unfriendly". They guard the individual machine in the same way that the perimeter firewall guards the overall network. Distributed firewall function rests on three notions:
The basic idea is simple. A compiler translates the policy language into some internal format. The system management software distributes this policy file to all hosts that are protected by the firewall. And incoming packets are accepted or rejected by each "inside" host, according to both the policy and the cryptographically verified identity of each sender.
分散ファイアウォールのセキュリティポリシーは中央で定義され、ポリシーの適用は各エンドポイント(ホスト、ルーターなど)で行われます。集中管理とは、サーバーやエンドユーザーのマシンにセキュリティポリシーを実装し、一貫性のあるセキュリティポリシーを設定して「プッシュ」する機能であり、限られたリソースを最大限に活用するのに役立ちます。レポートを収集し、アップデートを中央で維持できる機能により、分散セキュリティは実用的になります。分散ファイアウォールのこの機能は、2つの点で役立ちます。まず、リモートのエンドユーザーのマシンを保護できます。次に、ネットワーク上の重要なサーバーを保護し、悪意のあるコードによる侵入を防ぎ、保護されたサーバーが攻撃の拡大の足がかりとして使用されないようにすることで、他の同様のコードを「隔離」します。
ポリシー、つまりセキュリティルールの配布方法は、実装方法によって異なり、エンドシステムに直接プッシュ配信することも、必要に応じてプル配信することも可能です。
プル方式では、ホストは起動時に中央管理サーバーに通知し、中央管理サーバーが起動してアクティブになっているかどうかを確認します。ホストは中央管理サーバーに登録し、適用すべきポリシーを要求します。その後、中央管理サーバーはホストにセキュリティポリシーを提供します。
プッシュ方式は、ネットワーク管理者が中央管理側でポリシーを更新し、ホストを即座に更新する必要がある場合に使用されます。このプッシュ方式により、ホストは常に最新のポリシーを保持することができます。ポリシー言語は、ネットワークポリシードメインのどのコンポーネントにおいても、どの受信接続と送信接続が許可されるかを定義し、特定のパケットを拒否または通過させるか、OSIスタックのアプリケーション層でポリシーを適用するかなど、ネットワークのどの層におけるポリシー決定にも影響を与える可能性があります。
従来のファイアウォールは、機能するためにエントリポイントを制御することに依存しています。より正確には、エントリポイント(ファイアウォール)の片側にいるすべてのユーザーは信頼できる存在であり、反対側にいるすべてのユーザーは少なくとも潜在的には敵であるという前提に基づいています。分散ファイアウォールは、保護対象のマシンへの必要不可欠なトラフィックのみを許可し、その他の種類のトラフィックを禁止することで、不要な侵入を防ぎます。中央管理サーバーから送信されるセキュリティポリシーは、ホストによって実装される必要があります。分散ファイアウォールのホスト側では、ネットワーク管理者がポリシーの実装を制御するための管理制御は提供されません。ホストは、自身が実装したセキュリティルールに基づいてトラフィックを許可します。
エンドツーエンド暗号化は、ファイアウォールが暗号化を突破するために必要な鍵を一般的に持っていないため、従来のファイアウォールにとって脅威となります。分散ファイアウォールは、エンドツーエンドIPSECという実装技術を使用します。[ 1 ] IPSEC は、最近IETFによって標準化されたプロトコルスイートであり、パケットの機密性、認証、データの完全性、リプレイ攻撃からの保護、自動鍵管理などのネットワーク層セキュリティ サービスを提供します。これはファイアウォール展開のアーティファクトです。ファイアウォールで認識されない内部トラフィックはフィルタリングできません。その結果、内部ユーザーはファイアウォールが介入できないまま、他のユーザーやネットワークに対して攻撃を仕掛けることができます。今日の大規模ネットワークは、多数のエントリ ポイントを持つ傾向があります。さらに、多くのサイトでは、何らかのコンパートメント化を提供するために内部ファイアウォールを使用しています。統一された包括的な管理メカニズムが存在しないため、これは実用的観点からもポリシーの一貫性の観点からも管理を特に困難にします。エンドツーエンド IPSEC では、各受信パケットは証明書に関連付けられます。そのパケットに許可されるアクセスは、その証明書に許可される権限によって決定されます。[ 1 ]証明書名が異なる場合、または IPSEC 保護がない場合、パケットは不正なものとして破棄されます。強力な分散ファイアウォールではアクセス権限が証明書に紐づいているため、受け入れる証明書のセットを変更することでアクセス権限を制限できます。新しい証明書を持つホストのみが「内部」とみなされます。変更がインストールされていない場合、マシンの権限は少なくなります。[ 1 ]
分散ファイアウォールは、トポロジ境界内にないホストを保護できます。システム管理パッケージは個々のマシンを管理するために使用され、セキュリティ管理者はホスト識別子に基づいてセキュリティ ポリシーを定義し、ポリシーは各ホストで適用できます。従来のファイアウォールは、通過するトラフィックに対してのみポリシーを適用できるため、保護されたネットワーク内のノード間で交換されるトラフィックは制御できません。これにより、内部関係者である攻撃者や、何らかの方法でファイアウォールをバイパスして、管理者の知識や同意なしにネットワークへの新しい不正な侵入ポイントを確立できる可能性があります。従来のファイアウォールでは、エンドポイントで容易に入手できる特定の知識が欠けているため、 RealAudioなどのプロトコルを処理するのは困難です。[ 1 ]回線速度の向上とファイアウォールがサポートしなければならない計算集約型のプロトコルの増加により、従来のファイアウォールは輻輳ポイントになりがちです。処理速度とネットワーク速度の間のこのギャップは拡大する可能性が高い。なぜなら、コンピュータ(そしてファイアウォール)が高速化するにつれて、より複雑なプロトコルとファイアウォールを通過する必要のあるデータ量の膨大な増加が組み合わさって、ムーアの法則を上回っており、今後も上回り続ける可能性が高いからである。
分散ファイアウォールは、不適切なサービスへの接続要求を拒否するのに非常に優れています。通常、ホスト側でそのような要求を破棄しますが、代わりに接続の認証を要求する応答を返すこともあります。これにより、ホストの存在を通知することができます。純粋なパケットフィルタに基づいて構築された従来のファイアウォールは、一部の「ステルススキャン」をうまく拒否できませんが、分散ファイアウォールはポートスキャナからのパケットを再構成してから拒否します。
これらの攻撃は、ネットワークポリシー領域内からのパケットを破棄するルールを備えた分散ファイアウォールによってホスト側で対処できます。分散ファイアウォールは、必要なすべての認証情報を含む信頼できるリポジトリ自体が侵害されていないことを前提として、偽造された送信元アドレスに基づく攻撃を防ぐために暗号化メカニズムを使用できます。
分散ファイアウォールのフレームワークとポリシー言語は、アプリケーションレベルでのポリシー決定を可能にし、アプリケーションおよび中間レベルの通信トラフィックに存在するさまざまな脅威を回避できます。Javaなどのコードに基づいて決定を下す必要がある複雑でリソースを消費する状況では、分散ファイアウォールは、そのような通信パケットの内容をポリシー検証メカニズムによって意味的に解釈できるという条件の下で、脅威を緩和できます。パケットのステートフル検査は、これらの要件に容易に適応でき、よりきめ細かな意思決定を可能にします。また、従来のファイアウォールとは異なり、仮想プライベートネットワークと暗号化された通信トラフィックを使用して悪意のあるコードの内容が完全に隠蔽され、ネットワーク境界のスクリーニングユニットに送信される場合でも、分散ファイアウォールのポリシー適用は損なわれません。
分散型ファイアウォールは侵入の試みを検知できますが、プローブの収集に課題が生じる場合があります。ネットワーク内の各ホストはプローブを検知し、処理と相関のために中央の場所に転送する必要があります。前者の問題は難しくありません。多くのホストは既にそのような試みをログに記録しています。問題は収集であり、特に中央サイトへの接続が不安定な場合は困難です。また、連携攻撃によって中央マシンに対するサービス拒否攻撃が発生するリスクもあります。
分散ファイアウォールはトポロジー上の制約に依存しないため、ホストがポリシードメイン全体のメンバーであるか外部であるかに関わらず、ポリシーの適用をサポートします。分散ファイアウォールは、ネットワークのレイアウトに固有の特性ではない認証メカニズムに基づいて決定を行います。さらに、エンドポイントが正当なユーザーまたは侵入者によって侵害されても、仮想プライベートネットワークの展開により、攻撃対象のマシンが関与していない通信トラフィックの傍受が防止されるため、ネットワーク全体が弱体化して他のマシンが直接侵害されることはありません。しかし、エンドポイント自体では、マシンが攻撃者によって乗っ取られたと仮定すると、ポリシー適用メカニズム自体が破られる可能性があるという結論に至らざるを得ません。セキュリティメカニズムに欠陥があると、このマシンにバックドアをインストールすることは非常に簡単に実行でき、境界ファイアウォールがないため、侵害されたホストに出入りする任意のトラフィックを阻止できる信頼できるエンティティがありません。さらに、別のアプリケーションの通信をトンネリングできるツールが使用される可能性があり、復号化資格情報を適切に知らなければ阻止できません。さらに、攻撃が成功したという事実を考慮すると、マシン自体の検証メカニズムはもはや信頼できない可能性がある。
一見すると、分散型ファイアウォールの最大の弱点は、ユーザーの協力不足に陥りやすい点にあるように思われる。しかし、分散型ファイアウォールは、ユーザーグループを小規模に分割しやすくすることで、内部犯による実際の攻撃の脅威を軽減できる。例えば、社内の誰もがファイルサーバーにアクセスできるようにするのではなく、アクセスが必要なユーザーのみにアクセスを制限できる。また、ポリシーの安易な改ざんを防ぐための対策を講じることも重要だ。ポリシーはデジタル署名し、頻繁に変更される鍵を用いて、容易に交換できない場所に保管することで検証できる。さらに厳格な保護を求める場合は、ポリシーの適用機能を改ざん防止機能を備えたネットワークカードに組み込むことも可能だ。