境界ファイアウォールの設計
公開日: 2004年6月2日
モジュールの内容
目的
適用対象
モジュールの使用方法
設計ガイドライン
システムに対する攻撃と防御
デバイスの定義
ファイアウォールの機能
ファイアウォールのクラス
クラス 1 - パーソナル ファイアウォール
クラス 2 - ルーター ファイアウォール
クラス 3 - 下位ハードウェア ファイアウォール
クラス 4 - 上位ハードウェア ファイアウォール
クラス 5 - 上位サーバー ファイアウォール
境界ファイアウォールの使用法
境界ファイアウォールのルール
ハードウェア要件
ファイアウォールの可用性
セキュリティ
スケーラビリティ
パフォーマンス
統合
標準およびガイドライン
要約
参照情報
このモジュールは、組織の境界ネットワークに適したファイアウォール製品の選択に役立つ情報を提供します。ここでは、使用可能なファイアウォールのさまざまなクラスを示し、その主な機能について説明します。このモジュールはまた、独自の要件を決定するためのガイダンスとして使用できます。ここで説明する内容は、最適な製品を選択するときに役立ちます。
このモジュールの目的は次のとおりです。
境界ファイアウォールに必要な機能を示す。
ファイアウォール製品をクラス分けする。
境界ファイアウォールに最適な製品を選定する。
このモジュールは、次のテクノロジに適用されます。
- イーサネット/IP ベースのファイアウォール製品
このモジュールでの説明は、TCP/IP プロトコル、自社のネットワーク アーキテクチャ、そして特に境界ネットワーク上のデバイスについての知識があることを前提としています。これらの知識は、インターネットからの着信トラフィックで、何が有効とみなされ、何が無効かを区別するのにも役立ちます。
このモジュールで説明する設計のガイドラインは、拡張やコストなどの重要事項を考慮したうえでの、ファイアウォールに必要な機能を選択する際に適用できます。またこのモジュールでは、ユーザーのネットワーク環境で発生する可能性が最も高いアタックを特定できるように、大きな損害が発生するいくつかのアタックについての情報も提供します。さらにこの情報を使用して、ファイアウォールをインストールするだけでなく、サーバー構成の強化や、インターネット サービス プロバイダ (ISP) との制御に関する打ち合わせなどによって、アタックの防御方法を決定できます。ここでは、ファイアウォールのさまざまなクラスも定義されます。この設計ガイドラインを使用して、要件に適した最適なファイアウォール クラスを選択できます。このモジュールで説明する知識と技術用語に基づいて、ファイアウォールの製造元とその製品について打ち合わせたり、要件に対する適合性を評価できます。
内部ユーザーおよび外部ユーザーによるネットワーク攻撃の発生頻度は高まっているため、これらの攻撃からの保護を確立する必要があります。ファイアウォールはネットワークの保護を提供する一方で、費用がかかり、トラフィック フローの妨げにもなります。このため、できる限りコスト面の効果および効率が高いものを選択する必要があります。
エンタープライズ ネットワーク アーキテクチャには、一般的に次の 3 つのゾーンがあります。
ボーダー ネットワーク このネットワークはルーター経由でインターネットに直接接しているため、基本的なネットワーク トラフィックをフィルタリングすることで、最初の保護レイヤを提供する必要があります。ルーターは、境界ファイアウォールを経由して、境界ネットワークにデータを送信します。
境界ネットワーク このネットワークは、DMZ (非武装地帯) またはエッジ ネットワークとも呼ばれ、接続しようとするユーザーを Web サーバーまたは他のサービスにリンクします。次に、Web サーバーは、内部ファイアウォールを経由して内部ネットワークにリンクします。
内部ネットワーク 内部ネットワークは、SQL Server などの内部サーバーおよび内部ユーザーにリンクします。
図 1 に、これらのネットワークを示します。
図 1 エンタープライズ ネットワーク アーキテクチャ
ファイアウォールは、受信 IP パケットを検査し、ネットワークに侵入しようとしているパケットを検出して遮断します。特定のパケットは既定で不正とみなされ、遮断されます。また、指定したパケットを遮断するようにファイアウォールを構成することもできます。TCP/IP プロトコルは、ハッキングや侵入などの概念がなかった頃に設計されたので、多くの弱点を抱えています。たとえば、TCP/IP 内の通知機構として設計された ICMP プロトコルは、不正使用を防止するしくみを備えていないため、サービス拒否 (DoS) 攻撃などの問題を引き起こす恐れがあります。境界ファイアウォールは、内部ファイアウォールよりも限られた機能でもかまいません。これは、着信トラフィックの有効な送信先が Web サーバーまたは他の特殊なサービスであり、より限定されるためです。
現在さまざまな種類のファイアウォール製品が販売されており、各製品は、価格だけでなく、機能や性能の面でも違いがあります。一般的に、高価な製品ほど、より優れた性能と機能を備えています。このモジュールでは、ファイアウォールをクラス分けしてその違いを説明しますが、ファイアウォールを選ぶ際には、次の項目を考慮に入れて要件を特定する必要があります。
予算
既存の設備
可用性
スケーラビリティ
必要な機能
どのくらいコストをかけられるかを検討します。ネットワーク上に設置する各ファイアウォールにおいては、サービス レベルを最大限に高めると同時に費用対効果を維持すべきです。ただし、ファイアウォールに対する予算の制約が厳しすぎる場合、業務に支障をきたす恐れがあります。たとえば、DoS 攻撃によってサービスが中断した場合の損失額を検討する必要があります。
既存の設備を活用してコストを節約できるかどうかを検討します。たとえば、環境内には既に、再利用可能なファイアウォールや、ファイアウォール機能を備えたルーターが存在していることがあります。ISP が、"レートの制限" などのファイアウォール制限をリンクに実装していることもよくあります。レート制限は、パケットが送信されてくるレートを制限して、ネットワークが他の多数のコンピュータから同時に攻撃される分散サービス拒否 (DDoS) 攻撃を阻止します。RFC 1918 および 2827 に準拠したフィルタリングを実行しているかどうかを ISP に問い合わせてください。
ファイアウォールを常時稼動させる必要があるかどうかを検討します。1 日 24 時間、ユーザーからの接続が考えられるパブリック Web サーバー機能を提供している場合は、ほぼ 100% の稼働時間を実現する必要があります。どんなファイアウォールでも障害の可能性は常にあるため、その可能性を小さくする必要があります。ファイアウォールの可用性を向上させるには、次の 2 つの方法があります。
コンポーネントの冗長化 電源装置など、障害が発生しやすいコンポーネントを二重化させると、1 つ目のコンポーネントに障害が発生しても運用に影響が出ないため、ファイアウォールの障害許容力が向上します。ただし低コストのファイアウォールは一般的に冗長化オプションを備えていません。障害許容力を向上させるにはコストがかかる一方で処理能力は上がりません。
デバイスの二重化 ファイアウォール デバイスを二重化させると全体的な障害対応システムが提供されますが、ネットワークの接続と、ファイアウォールを接続するルーターまたはスイッチの接続も二重化していなければならないため、この場合もかなりのコストがかかります。ただし、ファイアウォールのタイプによっては、代わりにスループットが 2 倍になることもあります。理論上は、規模の大小にかかわらずすべてのファイアウォールを二重化できますが、実際はソフトウェア切り替えメカニズムも必要になります。このメカニズムは小規模のファイアウォールには存在しない場合があります。
ファイアウォールのスループット用件を検討する必要があります。スループットは、1 秒間に転送されるビット数と 1 秒間に転送されるパケット数の両面で検討できます。新規事業の場合、スループット レートを把握できないことがありますが、事業が成功を収めた場合、インターネットからのスループットが急速に増加します。この変化に対応するには、ファイアウォールにコンポーネントを追加するか、別のファイアウォールを並行してインストールする方法でスループットの増加に応じた拡張ができるファイアウォール ソリューションを選択する必要があります。
どのファイアウォール機能が必要であるかを検討します。組織内で提供されるサービスに対して実施されるリスク評価に基づいて、そのサービスを提供する資産の保護に必要なファイアウォール機能を決定できます。仮想プライベート ネットワーク (VPN) が必要な場合は、設計に影響があるのでこの点の検討も必要です。
このセクションでは、よく知られたシステム攻撃のいくつかの概要と、最前線の防御としてファイアウォール サービスを使用する理由について説明します。
インターネットは、組織を脅かしたり営業秘密を盗んで競争で優位に立とうとしたりする人々の温床です。境界ファイアウォールをインストールして侵入のログを確認すると、その数に驚かされます。これらの侵入の多くは、マシンが応答するか、どのようなサービスが実行されているかということを探ることを目的にしています。これは、一見無害ですが、攻撃者がマシンを発見した場合、次にその弱点を認識してサービスを攻撃する可能性があります。
インターネット ベースの攻撃に対する保護に加えて、機密情報を保護する必要があります。ほとんどの組織には機密情報があり、従業員だけでなくベンダ、請負業者、顧客などを含む内部ネットワークの特定のユーザーからその情報を保護する必要があります。境界ファイアウォールは主に外部からの攻撃を防御するために配置されますが、事情に通じた内部ユーザーがインターネット経由で侵入しようとする可能性もあります。
侵入にはさまざまな方法がありますが、ここでそのすべての形態を説明するには限界があります。それは、新しい侵入方法が毎日のように生まれているからです。サーバー アドレスの ping など、一部の攻撃は無害に思えるかもしれませんが、サーバーの存在を検出した後、ハッカーがより深刻な攻撃を仕掛けてくる可能性があります。つまり、すべての攻撃は潜在的に有害であると考える必要があります。主な侵入形態は次のとおりです。
パケット スニファ スニファとは、LAN に接続され、イーサネット フレームから情報を取得するソフトウェア アプリケーションまたはハードウェア デバイスです。このシステムの本来の目的は、イーサネット トラフィックのトラブルシューティングと分析、またはフレームをより深く掘り下げた個別 IP パケットの調査にあります。スニファは、無作為検出モードで実行されるため、物理的なワイヤ上のすべてのパケットをリスンします。Telnet などの多くのアプリケーションは、スニファ製品で読むことができるクリア テキストでユーザー名とパスワード情報を送信するため、スニファを所有しているハッカーは多くのアプリケーションにアクセスできます。
スニファはネットワーク トラフィックを生成しないため、スニフィングをファイアウォールで防ぐことはできません。スニフィングに対抗するには、まず強力に暗号化されたパスワードを使用するなど、さまざまな手段がありますが、それについてはこのモジュールでは説明しません。
IP 偽装 IP 偽装は、IP パケットの送信元アドレスが変更され、送信者の ID が隠されるときに発生します。インターネット内のルーティング処理では、パケットを送信する送信先アドレスだけを使用し、送信元アドレスは無視するため、ハッカーは受信側に送信元を知られずにソースを偽装し、破壊的なパケットをシステムに送信できます。偽装は、必ずしも破壊的とは限りませんが、侵入が間近であるシグナルとなります。アドレスは、(侵入者の ID を隠すため) ネットワーク外であることも、特権アクセスができる信頼された内部アドレスの 1 つであることもあります。偽装は、一般的に DoS 攻撃に使用されます。この攻撃については後で説明します。
IP 偽装は、次のメカニズムの一方または両方を実装することによって防ぐことができます。
アクセス制御 送信元アドレスが内部ネットワーク上であるインターネット経由の着信パケットのアクセスを拒否します。
RFC 2827 フィルタリング IP 偽装が発信トラフィックで発生していないことを確認することが重要です。偽装されたパケットは、必ずどこかのネットワークから発信されるため、自分のネットワークが偽装元として使用されないようにします。このためには、組織の割り当て内の送信元アドレスを持たずにネットワークから発信されるすべてのトラフィックを阻止する必要があります。ISP も、送信元アドレスが組織のネットワークに属するものかどうかをチェックすることによって、ネットワークから偽装されたトラフィックを削除できる可能性があります。この技術は、RFC 2827 フィルタリングと呼ばれます。実装方法の詳細については、ISP に問い合わせてください。発信トラフィックのフィルタリングは、自社にとって利益はありませんが、他社のネットワークで同様のフィルタリングが実行されば、自社のネットワークに対する偽装攻撃を防げる可能性があります。最新のファイアウォールには、受信する IP 偽装を防ぐ機能があります。
サービス拒否 (DoS) 攻撃 サービス拒否 (DoS) 攻撃は、最も防御が困難な攻撃の 1 つです。この攻撃は、ネットワークに対して永続的な損害を与えることがないという点で、他のタイプの攻撃とは異なります。代わりに、特定のコンピュータ (サーバーまたはネットワーク デバイス) を激しく攻撃したり、ビジネスの損失や顧客の悪感情を招くほど極端なレベルまでネットワーク リンクのスループットを低下させたりすることによって、ネットワークの機能を停止させようとします。分散 DoS (DDoS) 攻撃では、あるシステムに的を絞った攻撃が、他の多数のコンピュータから開始されます。攻撃を行うコンピュータは意図的に攻撃を行っているのではなく、そのセキュリティ上の脆弱性から他のコンピュータへの侵入が可能になってしまう場合があります。そして、ハッカーは、他のネットワークに大量のデータを送信するように指示し、それが攻撃を受けている側の ISP またはそのデバイスのいずれかへのリンクを渋滞させています。
アプリケーション レイヤ攻撃 アプリケーション レイヤ攻撃は、最近広く知られるようになった攻撃で、通常は Web サーバーやデータベース サーバーなどのアプリケーションの既知の弱点を使用します。特に Web サーバーの場合、問題なのは身元がわからず信頼もできないパブリック ユーザーからアクセスされるように設計されていることです。ほとんどの攻撃は、製品の既知の欠陥を攻撃するため、最大の防御策は、製造元から最新の更新をインストールすることです。悪名高い SQL Slammer ワームは、2003 年 1 月に登場し、非常に短期間で 35,000 のシステムに影響を与えました。このワームは、Microsoft ® SQL Server 2000 の既知の問題を悪用しました。Microsoft は 4 か月前の 2002 年 8 月に既に修正プログラムを発行していましたが、多くの管理者は推奨アップデートを適用しておらず、またワームが使用したポートへのパケットを削除できる適切なファイアウォールも配置していないという事実に付け込まれました。ファイアウォールは、これらの状況ではバックネットに過ぎません。製造元は、特にアプリケーション レイヤ攻撃を避けるために、すべての製品にアップグレードを適用することを推奨しています。
ネットワーク偵察 ネットワーク偵察とは、攻撃を開始する前にネットワークをスキャンして有効な IP アドレス、ドメインネームシステム (DNS) 名、および IP ポートを検出することです。ネットワーク偵察はそれ自体無害ですが、使用されているアドレスが検出できれば、有害な攻撃を簡単に仕掛けることができます。実際に、ファイアウォールのログを見ると、ほとんどの侵入はこの性質であることがわかります。典型的なプローブには、リスンしている Transport Control Protocol (TCP) および User Datagram Protocol (UDP) ポート、および Microsoft SQL Server、NetBIOS、HTTP、SMTP によって使用されるその他の既知のリスン ポートのスキャンが含まれます。このようなプローブはすべて応答を探します。これは、サーバーが存在し、これらのいずれかのサービスを実行していることをハッカーに通知します。これらのプローブの多くは、境界ルーターまたはファイアウォールによって阻止できます。多くのサービスが既定で存在しますが、不要なサービスはオフにしてください。ただし、これらの一部をオフにすることによって、ネットワーク診断機能が制限される可能性があります。
ウイルス/トロイの木馬 ウイルスは、電子メールの添付ファイルに埋め込まれていることが多いため、一般的にファイアウォールでは検出できません。従来のウイルスはほとんどが汚染したデバイスを破壊するだけでしたが、最近のウイルスの多くは、レプリケートして他のローカル マシンを破壊するか、ウイルスが添付された電子メールを複数送信することによってインターネットに広げることを目的としています。これらのウイルスの多くは、汚染したデバイスにトロイの木馬プログラムをインストールします。トロイの木馬プログラムは、直接的な損害を与えるのではなく、それがインストールされたデバイスからインターネットを経由してハッカーに情報を送ることがあります。これで、そのデバイスについて、実行しているソフトウェアと脆弱な場所がわかるため、ハッカーは的を絞った攻撃を開始できます。ウイルスに対する第一の防御は、デバイス上のウイルス対策ソフトウェアを常に最新のものにすることですが、境界ファイアウォールも、トロイの木馬プログラムの効果を制限する点で役立つ可能性があります。
ファイアウォールは、2 つのネットワーク間の IP トラフィックの流れを制御するメカニズムです。ファイアウォール デバイスは、通常 OSI モデルの レイヤ3 で動作しますが、同様にそれより高いレベルで動作できるものもあります。
ファイアウォールで提供される一般的な利点は次のとおりです。
内部サーバーをネットワーク攻撃から守る
ネットワークの使用およびアクセス ポリシーを適用する
トラフィックを監視し、疑わしいパターンが検出されたときに警告を生成する
重要なのは、ファイアウォールで軽減されるのは特定のタイプのセキュリティ リスクだけであることを認識することです。一般的に、ファイアウォールでは、ソフトウェアに脆弱性があるサーバーの場合、発生しうる損害を防ぐことはできません。ファイアウォールは、組織の包括的なセキュリティ アーキテクチャの一部として実装してください。
ファイアウォールがサポートする機能に応じて、トラフィックは、さまざまな技術を使用して許可またはブロックされます。これらの技術は、ファイアウォールの機能に基づいて、さまざまなレベルの保護を提供します。次に、ファイアウォール機能を単純なものから順にリストします。
ネットワークアダプタ入力フィルタ
静的パケットフィルタ
ネットワークアドレス変換 (NAT)
ステートフルインスペクション
回線レベルインスペクション
プロキシ
アプリケーションレイヤフィルタリング
複雑な機能を提供するファイアウォールは、より単純な機能もサポートしているのが普通です。しかし、暗黙の機能と実際の機能がわずかに異なる場合があるため、ファイアウォールを選択するときはベンダ情報を注意深く参照する必要があります。ファイアウォールを選択するときは、機能について問い合わせ、それをテストして実際に製品が仕様どおりに動作することを確認する必要があります。
ネットワーク アダプタ入力フィルタは、着信パケット内の送信元または送信先のアドレスおよびその他の情報を調べ、パケットを阻止するか通過を許可します。これは、着信トラフィックにのみ適用され、発信トラフィックの制御はできません。フィルタは、IP アドレス、UDP および TCP のポート番号、トラフィックのプロトコル、TCP、UDP、および Generic Routing Encapsulation (GRE) を照合します。
Web サーバーを保護する境界ファイアウォールの場合、有効な着信トラフィックが Web サーバー の IP アドレスと、限られた範囲のポート番号 (HTTP は 80、HTTPS は 443 など) にアクセスできるだけにとどめる必要があります。境界ファイアウォールは、この制御を保持する必要がありますが、境界ルーターにも実装する必要があります。
ネットワーク アダプタ入力フィルタを使用すると、ファイアウォールで設定されたルール条件に適合する標準の着信パケットをすばやく効率的に拒否できます。しかし、この形式のフィルタリングは、IP トラフィックのヘッダーを照合するだけで、フィルタされるトラフィックが IP 標準に従い、またフィルタを回避するための細工がされていないことを基本的な前提として動作しているため、簡単に回避ができます。
静的パケット フィルタは、単純に IP ヘッダーを照合して、トラフィックのインターフェイス通過を許可するかどうかを決定するという点で、ネットワーク アダプタ入力フィルタと似ています。ただし、静的パケット フィルタは、インターフェイスへの着信通信だけでなく発信も制御できます。また、一般的に、静的パケット フィルタは、IP ヘッダーに肯定 (ACK) ビットが設定されているかどうかをチェックする機能をネットワーク アダプタ フィルタリングに追加できます。ACK ビットは、パケットが新規要求か、元の要求に対する応答要求かを示す情報を与えます。パケットがそれを受信しているインターフェイスによってもともと送信されていることは検証されません。単に IP ヘッダーの規則に基づいて、インターフェイスに着信するトラフィックが応答トラフィックのように見えるかどうかだけがチェックされます。
この技術は、TCP プロトコルだけに適用され、UDP プロトコルには適用されません。ネットワーク アダプタ入力フィルタリングと同様に、静的パケット フィルタリングも非常に高速ですが、その機能は限られているため、特に細工されたトラフィックであればすり抜けることができます。
ネットワーク アダプタ入力フィルタリングと同じく、静的パケット フィルタリングも、境界ファイアウォールだけでなく境界ルーターにも実装されなければなりません。
世界中の IP アドレスの範囲のうち、特定のアドレスの範囲が "プライベート アドレス" として割り当てられています。これらは、組織内で使用されることが想定され、インターネット上では意味がありません。これらの IP アドレスへのトラフィックは、インターネット経由ではルーティングできません。したがって、プライベート アドレスを組織内のデバイスに割り当てると、侵入からある程度保護されます。しかし、これらの内部デバイスは、インターネットにアクセスする必要があることが多いため、ネットワーク アドレス変換 (NAT) によってプライベート アドレスがインターネット アドレスに変換されます。
NAT は厳密にはファイアウォール技術とはいえませんが、サーバーの本当の IP アドレスを隠すことで、攻撃者がサーバーについての貴重な指紋情報を入手するのを阻止します。
ステートフル インスペクションでは、すべての発信トラフィックが状態テーブルに記録されます。接続トラフィックがインターフェイスに返されると、状態テーブルで、このインターフェイスから発信されたトラフィックであることが確認されます。ステートフル インスペクションは、静的パケット フィルタリングよりもわずかに低速ですが、発信トラフィックの要求と一致した場合のみトラフィックの通過が許可されることを保証します。状態テーブルには、送信先 IP アドレス、送信元 IP アドレス、呼び出されているポート、および発信元ホストなどのアイテムが含まれています。
ファイアウォールには、より多くの情報 (送受信された IP フラグメントなど) を状態テーブルに格納するものもあります。ファイアウォールは、フラグメント化された情報のすべてまたは一部だけが返されたときにトラフィックが処理されたことを検証できます。ファイアウォールのベンダが異なれば、ステートフル インスペクション機能の実装も異なります。したがって、ファイアウォールのドキュメントを注意深く参照する必要があります。
ステートフル インスペクション機能は、一般的に、ネットワーク偵察と IP 偽装によって生じるリスクを軽減するのに役立ちます。
回線レベル フィルタリングでは、接続またはパケットに対するものとして、セッションを検査できます。セッションは、ユーザー要求に対してのみ確立され、場合によっては複数の接続を含みます。回線レベル フィルタリングでは、FTP やストリーミング メディアなどの二次接続のプロトコルを組み込みでサポートしています。この機能は、ネットワーク偵察、DoS、IP 偽装の各攻撃によって生じるリスクを軽減するのに役立ちます。
プロキシ ファイアウォールは、クライアントの代わりに情報を要求します。前に説明したファイアウォール技術とは異なり、クライアントとサービスをホストするサーバー間では、直接の通信は発生しません。代わりに、プロキシ ファイアウォールがクライアントの代わりに情報を収集し、サービスから受け取ったデータをクライアントに返します。プロキシ サーバーはこの情報を 1 つのクライアントのために収集するため、ディスクまたはメモリにも内容をキャッシュします。別のクライアントが同じデータを要求した場合、要求をキャッシュから満たすことができるため、ネットワーク トラフィックおよびサーバーの処理時間を軽減できます。
FTP Read-only および HTTP セッションなどの非暗号化セッションの場合、プロキシ ファイアウォールは、実際はクライアントとサーバーの両方とのセッションを個別に作成するため、この 2 つの直接接続は存在しません。一方、暗号化セッションでは、プロキシ サーバーは、トラフィックの通過を許可する前にヘッダー情報が SSL (Secure Sockets Layer) 通信の標準に準拠しているかどうかを検証します。ただし、通過するデータはクライアントおよびサーバーによってエンドツーエンドの暗号化がされているため、プロキシではデータを検査できません。
前に説明したファイアウォール技術に加えてプロキシ サーバーを使用する利点は次のとおりです。
クライアントおよびサーバー間の直接接続がない 通常、クライアントとサーバーは、互いに直接接続されません。直接接続される場合 (SSL など) でも、プロトコル ヘッダーおよびトラフィックの検査が行われます。
サーバーは頻繁に要求されるサイトのコンテンツをキャッシュできる キャッシュすることで、帯域幅を節約でき、不必要な要求が環境から発するのを避けることもできます。
通過するプロトコルの検証 通信が通過するポート番号を検証するだけでなく、プロキシ サーバーは、通過するプロトコルも検証します。検査の対象として最も一般的なプロトコルは、FTP Download only、HTTP、SSL、および一部のテキスト メッセージ サービス (テキストのみ、ビデオ、オーディオ、またはファイル転送なし) です。
ユーザーの ID に基づいた要求の転送を設定できる プロキシ サーバーは、通常、送信元 IP、ポート、またはプロトコルだけでなく、ユーザーの ID に基づいて要求を転送するように設定できます (つまり、特定のユーザーに対してのみ制限を設定できます)。
プロキシ サーバーの主な短所は、プロトコルインスペクションの検査の実行に非常に大きい処理能力を必要とする点です。処理能力は常に向上しているため、これはあまり問題でなくなっています。それでも、プロキシ サーバーは、ステートフルまたはパケット フィルタリング ファイアウォールのスループットには達していません。プロトコル インスペクションによる長所を追加する必要があるのは、おそらく、高速ネットワークがホーム ユーザーに広がっているところです。また、信頼されるインターネット サービスを提供するための法的な義務がほとんどまたはまったくない ISP が接続する、信頼されないノードへのインターネット接続がどんどん使用できるようになっているところにも必要と思われます。
プロキシ機能は、一般的に、ネットワーク偵察、DoS、IP 偽装、ウイルスまたはトロイの木馬、一部のアプリケーション レイヤ攻撃によるリスクを軽減するのに役立ちます。
最も高度なレベルのファイアウォール トラフィック インスペクションは、アプリケーション レベルのフィルタリングです。適切なアプリケーション フィルタでは、特定のアプリケーションのデータ ストリームを分析でき、それがファイアウォールを通過するときにデータの検査、スクリーニングまたはブロッキング、リダイレクト、および修正を含むアプリケーション固有の処理を提供します。
このメカニズムは、安全でない SMTP コマンド、または内部ドメインネームシステム (DNS) サーバーに対する攻撃などの防御に使用されます。一般的に、ウイルス検出、字句解析、およびサイト分類などのコンテンツ スクリーニング用のサード パーティ製ツールを、ファイアウォールに追加することができます。
アプリケーション レイヤ ファイアウォールには、それを通過するトラフィックに基づいて、多くの異なるプロトコルを検査する機能があります。インターネット トラフィック (HTTP、FTP Download、SSL など) を通常検査するプロキシ ファイアウォールとは異なり、アプリケーション レイヤ ファイアウォールは、トラフィックがファイアウォールを通過する方法を、非常にきめ細かく制御できます。たとえば、アプリケーション レイヤ ファイアウォールでは、ファイアウォールの境界内から発信された UDP トラフィックだけに通過を許可することができます。インターネット ホストがステートフル ファイアウォールをポート スキャンして、その環境への DNS トラフィックが許可されるかどうかを調べる場合、ポート スキャンはおそらく、DNS に関連付けられた既知のポートが開かれていることを示します。しかし、いったん攻撃が展開されると、ステートフル ファイアウォールは要求が内部から発信されたものではないため、これを拒否します。アプリケーション レイヤ ファイアウォールは、トラフィックが内部から発信されたかどうかに基づいて、ポートを動的に開くことがあります。
アプリケーション レイヤ ファイアウォール機能は、IP 偽装、DoS、一部のアプリケーション レイヤ攻撃、ネットワーク偵察、およびウイルスまたはトロイの木馬による攻撃のリスクを軽減するのに役立ちます。アプリケーション レイヤ ファイアウォールの短所は、非常に大きい処理能力を必要とするという点でプロキシと同様です。また、ステートフルまたは静的フィルタリング ファイアウォールよりも、トラフィックの通過が非常に遅くなるのが普通です。アプリケーション レイヤ ファイアウォールを使用する場合の最重要事項は、ファイアウォールがアプリケーション レイヤで何を実行できるかを特定することです。
アプリケーション レイヤ フィルタリングを使用すれば、ポート上で適切なトラフィックだけを通過させることができます。パケット フィルタまたはステートフル インスペクション ファイアウォールは、単にポートと送信元および送信先 IP アドレスを検査するだけですが、アプリケーション レイヤ フィルタリング機能をサポートするファイアウォールは、通信で使用されるデータとコマンドの両方を検査できます。
アプリケーション レイヤ機能をサポートするファイアウォールのほとんどは、プロキシで認識されるメッセージング サービス、HTTP、および FTP などのクリア テキスト トラフィックに対するアプリケーション レイヤ フィルタリングだけを備えています。この機能をサポートするファイアウォールはその環境を出入りするトラフィックを管理できることに留意することが大切です。この機能には、DNS トラフィックがファイアウォールを通過するときにそれを検査して DNS 固有のコマンドを探すことができるという利点もあります。この追加の保護レイヤにより、ユーザーまたは攻撃者は許可されるタイプのトラフィック内に情報を隠すことができません。
組織にオンライン ストアがあり、クレジット カード情報およびその他の顧客の個人情報を収集する場合、万全を期して情報の保護に最高レベルの対策を講じます。この場合、このタイプの高セキュリティ データは、SSL (Secure Sockets Layer) プロトコルを使用して、ユーザーの PC と組織の Web サーバー間で暗号化されます。
重要なのは、アプリケーション レイヤ機能が SSL と組み合わせて使用されるケースを区別することです。SSL が暗号化されると、プロトコル コマンドが暗号化されたパケット内に置かれるため、ファイアウォールはコマンドを認識できません。アプリケーション レイヤ機能をサポートする各ファイアウォールでは、この処理方法がさまざまなため、どのファイアウォールを選択した場合でも、そのドキュメントのただし書きを読むことが重要です。
問題は、いったん SSL セッションが確立され暗号化がネゴシエートされた場合に、データを検査できるデバイスがないことです。たとえば、プロキシ タイプのアプリケーション レイヤ機能をサポートするファイアウォールを使用するクライアントが、セキュリティで保護された Web サーバーへの接続を代理で開始するようにファイアウォールに要求するとします。ファイアウォールとサーバーは、TCP 接続の初期セットアップを行い、ファイアウォールはクライアントへの接続を渡してサーバーとの暗号化を設定します。接続がクライアントに渡された後で、ファイアウォールがデータを検査することはできません。
アプリケーション レイヤ機能がインターネット サービスの公開に使用される場合は、次のオプションを使用できます。
ファイアウォールで SSL トラフィックを終了する これによりファイアウォールは、この機能によって、インターネット サービスのデータを解読して、着信 SSL 接続が適正な Web トラフィックであることを検査したり、トラフィックを破棄したりできます。
ファイアウォールから公開される Web サービスへの SSL トラフィックを再生成する これは、基本的な資格情報 (クリア テキストのユーザー名およびパスワードなど) が SSL トンネル内で使用されている場合に特に役立ちます。ファイアウォールの内部インターフェイスと公開される Web サービス間のトラフィックを見つけることができても、トラフィックが再暗号化されているので攻撃はできません。
SSL トラフィックがファイアウォールを通過してバックエンド サーバーに到達することを許可する これは、実質的には、内部クライアントと外部サーバー間の SSL 接続の逆アプローチです。
これらのオプションは、環境への暗号化されたセッションのトンネリングがどの程度まで許可されるかを制御する方法を多数提供します。一般的に、暗号化されたトラフィックを環境のエッジにより近いところまで維持できる方がよいとされます。これは、そこまでの間、トンネル内部を実際に見ることがだれにもできないからです。
このセクションでは、それぞれが特定の機能を提供する多数のファイアウォール クラスを示します。IT アーキテクチャ設計の特定の要件に応じて、特定のファイアウォール クラスを使用できます。
ファイアウォールをクラスに分けることでサービスのニーズからハードウェアを分離でき、そのサービス要件をクラスの機能と照合させることができます。あるファイアウォールが特定のクラスに当てはまっていれば、そのクラスのすべてのサービスをサポートしていると考えることができます。
次のようなさまざまなクラスがあります。
パーソナル ファイアウォール
ルーター ファイアウォール
下位ハードウェア ファイアウォール
上位ハードウェア ファイアウォール
サーバー ファイアウォール
これらのクラスは一部重なっていることを理解することが重要です。これは設計によって異なります。重なっている部分は、あるタイプのファイアウォール ソリューションが複数のクラスにまたがっていることを示します。多くのクラスは、同一ベンダの複数のハードウェア モデルで提供されていることもあります。これは、現在および将来のニーズに最も適したモデルを組織が選択できるようにするためです。
ファイアウォール製品は価格と機能セット以外に、性能 (またはスループット) に基づいて分類できます。しかし、多くの製造元はファイアウォールのスループットの数字を公表していません。公表されているもの (主にハードウェア ファイアウォール デバイス) もありますが、標準的な測定処理に従っていないため、製造元の間の比較は困難です。たとえば、ある測定値はビット/秒 (bps) ですが、ファイアウォールは実際には IP パケットを通すため、レートの測定で使用されたパケット サイズが含まれていない場合、この測定は意味がありません。
次のセクションでは、各ファイアウォール クラスを詳細に定義します。
パーソナル ファイアウォールは、パーソナル コンピュータにシンプルなファイアウォール機能を提供するソフトウェア サービスとして定義されます。ダイヤルアップ接続が減ってインターネット常時接続が増えてきたのに伴い、パーソナル ファイアウォールも普及してきました。
パーソナル ファイアウォールは、1 台のコンピュータを保護するために設計されていますが、それがインストールされているコンピュータがそのインターネット接続を内部ネットワーク上の他のコンピュータと共有する場合は、小規模のネットワークを保護することもできます。ただし、パーソナル ファイアウォール ソフトウェアのパフォーマンスには限界があり、それがインストールされているパーソナル コンピュータのパフォーマンスは低下します。保護メカニズムは、通常 IP およびポート アドレスのブロックに限られるため、専用のファイアウォール ソリューションほど効果的でないのが普通です。しかし、一般的にパーソナル コンピュータで必要な保護のレベルは高くありません。
パーソナル ファイアウォールは、オペレーティング システムに付属しているか、非常に低コストで提供されます。このファイアウォールはパフォーマンスと機能が限定されているため、想定した目的には合っていたとしても、小規模のサテライト オフィスであれ、企業での使用を考慮すべきではありません。ただし、ラップトップ コンピュータを使用するモバイル ユーザーには特に適しています。
パーソナル ファイアウォールの機能と価格には大きな幅があります。しかし、特にラップトップでは、特定の機能がなくてもそれほど重要ではない場合があります。次の表に、パーソナル ファイアウォールで一般的に使用できる機能を示します。
表 1: クラス 1 - パーソナルファイアウォール
ファイアウォール属性 | サポート状況の評価 |
---|---|
サポートされている基本機能 | ほとんどのパーソナル ファイアウォールは、静的パケット フィルタ、NAT、およびステートフル インスペクションをサポートしていますが、回線レベルのインスペクションやアプリケーション レイヤ フィルタリングをサポートしているのは一部だけです。 |
構成 | 自動 (手動オプションも使用可能) |
IP アドレスの阻止または許可 | あり |
プロトコルまたはポート番号の阻止または許可 | あり |
着信 ICMP メッセージの阻止または許可 | あり |
発信アクセスの制御 | あり |
アプリケーションの保護 | おおむね可能 |
音声または画面による警告 | おおむね可能 |
ログ ファイルへの攻撃状況の記録 | おおむね可能 |
リアルタイム警告 | おおむね可能 |
VPN サポート | 通常は不可 |
リモート管理 | 通常は不可 |
製造元によるサポート | 製品ごとに大幅に異なる |
高可用性オプションの有無 | なし |
同時に確立可能なセッション数 | 1 ~ 10 |
モジュールのアップグレード性 (ハードウェアまたはソフトウェア) | なし、または限定的 |
価格帯 | 低 (一部は無料) |
ファイアウォール属性 | サポート状況の評価 |
---|---|
サポートされている基本機能 | 大半のルーター ファイアウォールは、静的パケット フィルタリング機能をサポートしています。下位ルーターは、一般的に NAT をサポートしています。上位ルーターには、ステートフル インスペクションやアプリケーション レイヤ フィルタリングをサポートしているものもあります。 |
構成 | 下位ルーターは一般に自動 (手動オプションあり)。上位ルーターは一般に手動。 |
IP アドレスの阻止または許可 | あり |
プロトコル/ポート番号の阻止または許可 | あり |
着信 ICMP メッセージの阻止または許可 | あり |
発信アクセスの制御 | あり |
アプリケーションの保護 | おおむね可能 |
音声または画面による警告 | おおむね可能 |
ログ ファイルへの攻撃状況の記録 | 多くの場合可能 |
リアルタイム警告 | 多くの場合可能 |
VPN のサポート | 下位ルーターでは一般にサポートしていますが、上位ルーターでは一般的にサポートしていません。VPN 処理専用の機器またはサーバーも使用することができます。 |
リモート管理 | あり |
製造元によるサポート | 下位ルーターでは一般に限定的、上位ルーターの場合は充実しています。 |
高可用性オプションの有無 | 下位機種: なし - 上位機種: あり |
同時に確立可能なセッション数 | 10 ~ 1,000 |
モジュールのアップグレード性 (ハードウェアまたはソフトウェア) | 下位機種: なし - 上位機種: 限定的 |
価格帯 | 低~高 |
ファイアウォール属性 | サポート状況の評価 |
---|---|
サポートされている基本機能 | ほとんどの下位ハードウェア ファイアウォールは、静的パケット フィルタリング機能および NAT をサポートしています。また、ステートフル インスペクションやアプリケーション レイヤ フィルタリング機能をサポートしている場合もあります。 |
構成 | 自動 (手動オプションも使用可能) |
IP アドレスの阻止または許可 | あり |
プロトコル/ポート番号の阻止または許可 | あり |
着信 ICMP メッセージの阻止または許可 | あり |
発信アクセスの制御 | あり |
アプリケーションの保護 | 通常はなし |
音声または画面による警告 | 通常はなし |
ログ ファイルへの攻撃状況の記録 | 通常はなし |
リアルタイム警告 | 通常はなし |
VPN のサポート | 製品ごとに異なる |
リモート管理 | あり |
製造元によるサポート | 限定的 |
高可用性オプションの有無 | 通常はなし |
同時に確立可能なセッション数 | 10 ~ 7500 |
モジュールのアップグレード性 (ハードウェアまたはソフトウェア) | 限定的 |
価格帯 | 低 |
ファイアウォール属性 | サポート状況の評価 |
---|---|
サポートされている基本機能 | 大半の上位ハードウェア ファイアウォールは、静的パケット フィルタリング機能と NAT 機能をサポートしています。また、ステートフル インスペクションやアプリケーション レイヤ フィルタリングをサポートしているものもあります。 |
構成 | 通常は手動 |
IP アドレスの阻止または許可 | あり |
プロトコル/ポート番号の阻止または許可 | あり |
着信 ICMP メッセージの阻止または許可 | あり |
発信アクセスの制御 | あり |
アプリケーションの保護 | 製品による |
音声または画面による警告 | あり |
ログ ファイルへの攻撃状況の記録 | あり |
リアルタイム警告 | あり |
VPN サポート | 製品による |
リモート管理 | あり |
製造元によるサポート | 充実している |
高可用性オプションの有無 | あり |
同時に確立可能なセッション数 | 7,500 ~ 500,000 |
モジュールのアップグレード性 (ハードウェアまたはソフトウェア) | あり |
価格帯 | 高 |
ファイアウォール属性 | サポート状況の評価 |
---|---|
サポートされている機能 | 大半の上位サーバー ファイアウォールは、静的パケット フィルタリング機能と NAT 機能をサポートしています。さらに、ステートフル インスペクションまたはアプリケーション レイヤ フィルタリング、またはその両方がサポートされる場合もあります。 |
構成 | 通常は手動 |
IP アドレスの阻止または許可 | あり |
プロトコル/ポート番号の阻止または許可 | あり |
着信 ICMP メッセージの阻止または許可 | あり |
発信アクセスの制御 | あり |
アプリケーションの保護 | 製品による |
音声または画面による警告 | あり |
ログ ファイルへの攻撃状況の記録 | あり |
リアルタイム警告 | あり |
VPN サポート | 製品による |
リモート管理 | あり |
製造元によるサポート | 充実している |
高可用性オプションの有無 | あり |
同時に確立可能なセッション数 | 50,000 以上 (複数のネットワーク セグメントにわたる数) |
モジュールのアップグレード性 (ハードウェアまたはソフトウェア) | あり |
その他 | 一般的に使用されるオペレーティング システム |
価格帯 | 高 |
検討事項 | この役割で導入されるファイアウォールの通常の特性 |
---|---|
セキュリティ管理者により指定される必須のファイアウォール機能 | これは、要求されるセキュリティの程度と、機能のコスト、およびセキュリティの強化が原因となるパフォーマンスの低下とのバランスです。多くの組織が、境界ファイアウォールに対して最大限のセキュリティを期待しますが、パフォーマンスへの悪影響を避けたいと考える組織もあります。たとえば、電子商取引を伴わない大規模な Web サイトでは、アプリケーション レイヤ フィルタリングの代わりに静的パケット フィルタを使用することで得られる高レベルのスループットを重視し、低レベルのセキュリティを許可する場合があります。 |
デバイスを専用の物理デバイスにしてその他の機能を提供するか、または物理デバイス上の論理ファイアウォールにするかについての選択 | インターネットとエンタープライズのネットワークとの間のゲートウェイとしては、境界ファイアウォールは多くの場合、専用デバイスとして導入されます。これは、攻撃される可能性のある箇所を最小にし、デバイスが破られた場合に発生する内部ネットワークへのアクセスの可能性を最小限にするためです。 |
組織の管理体系により指定されるデバイスに対する管理性要件 | 通常、何らかの形式のログ記録が使用されますが、イベント監視のメカニズムもしばしば要求されます。ここではリモート管理は許可されません。これは、悪意のあるユーザーがリモートからデバイスを管理するのを防止するためです。管理はローカルの管理者だけに許可されます。 |
組織内のネットワークおよびサービスの管理者により決定されるスループット要件 | これは環境によってさまざまですが、デバイスまたはサーバー内のハードウェアの能力、および使用するファイアウォール機能により、ネットワーク全体で使用可能なスループットは決定されます。 |
可用性要件 | 巨大なエンタープライズにおけるインターネットへのゲートウェイとして、高レベルの可用性がしばしば要求されます。特に、商用の Web サイトを保護するための境界ファイアウォールでは高い可用性が求められます。 |