Network-security-firewalls

提供:Dev Guides
移動先:案内検索

ネットワークセキュリティ-ファイアウォール

ほとんどすべての中規模および大規模組織はインターネット上に存在し、それに接続された組織ネットワークを持っています。 外部インターネットと内部ネットワークの境界でのネットワークパーティションは、ネットワークセキュリティにとって不可欠です。 内部ネットワーク(イントラネット)は「信頼される」側と呼ばれ、外部インターネットは「信頼されない」側と呼ばれることがあります。

ファイアウォールの種類

ファイアウォールは、組織の内部ネットワークを大規模な外部ネットワーク/インターネットから隔離するネットワークデバイスです。 内部ネットワークへの、または内部ネットワークからの不正アクセスを防止するハードウェア、ソフトウェア、または複合システムにすることができます。

内部ネットワークに出入りするすべてのデータパケットはファイアウォールを通過します。ファイアウォールは各パケットを検査し、指定されたセキュリティ基準を満たさないパケットをブロックします。

ファイアウォール

ネットワーク境界にファイアウォールを展開することは、単一のポイントでセキュリティを集約するようなものです。 これは、必ずしも各ドアでなくても、入り口でアパートをロックすることに似ています。

ファイアウォールは、次の理由でネットワークセキュリティを実現するために不可欠な要素と見なされます-

  • 内部ネットワークとホストが適切に保護されることはほとんどありません。
  • インターネットは、犯罪者、競合企業のユーザー、不満を抱いた元従業員、非友好国のスパイ、破壊者などがいる危険な場所です。
  • 攻撃者がネットワークリソースに対してサービス拒否攻撃を仕掛けることを防ぐため。
  • 外部の攻撃者による内部データへの不正な変更/アクセスを防ぐため。

ファイアウォールは3つの基本的なタイプに分類されます-

  • パケットフィルター(ステートレスおよびステートフル)
  • アプリケーションレベルのゲートウェイ
  • 回線レベルのゲートウェイ

ただし、これら3つのカテゴリは相互に排他的ではありません。 最近のファイアウォールには、3つのカテゴリのうち2つ以上に分類される可能性のある機能が混在しています。

ファイアウォールの種類

ステートレスおよびステートフルパケットフィルタリングファイアウォール

このタイプのファイアウォールの展開では、内部ネットワークはルーターファイアウォールを介して外部ネットワーク/インターネットに接続されます。 ファイアウォールは、パケットごとにデータを検査およびフィルタリングします。

  • パケットフィルタリングファイアウォール*は、主に送信元および/または宛先IPアドレス、プロトコル、送信元および/または宛先ポート番号、およびIPヘッダー内の他のさまざまなパラメータなどの基準に基づいてパケットを許可またはブロックします。

決定は、ICMPメッセージタイプ、TCP SYN、ACKビットなど、IPヘッダーフィールド以外の要因に基づいて行うことができます。

パケットフィルタルールには2つの部分があります-

  • 選択基準-意思決定の条件およびパターンマッチングとして使用されます。
  • アクションフィールド-この部分は、IPパケットが選択基準を満たす場合に実行するアクションを指定します。 アクションは、ファイアウォールを通過するパケットのブロック(拒否)または許可(許可)のいずれかです。

通常、パケットフィルタリングは、ルーターまたはスイッチでアクセス制御リスト(ACL)を構成することによって実現されます。 ACLは、パケットフィルタルールの表です。

トラフィックがインターフェイスに出入りするとき、ファイアウォールは各着信パケットに上から下へACLを適用し、一致基準を見つけて個々のパケットを許可または拒否します。

ステートレスパケットファイアウォール

  • ステートレスファイアウォール*は一種の厳格なツールです。 パケットを調べて、確立された進行中の通信の一部ではない場合でも、基準を満たしている場合は許可します。

そのため、このようなファイアウォールは、最新のネットワークでは「ステートフルファイアウォール」に置き換えられています。 このタイプのファイアウォールは、ステートレスファイアウォールの唯一のACLベースのパケット検査方法よりも詳細な検査方法を提供します。

ステートフルファイアウォールは、接続のセットアップとティアダウンプロセスを監視して、TCP/IPレベルで接続のチェックを続けます。 これにより、接続状態を追跡し、特定の時点でどのホストがオープンで許可された接続を持っているかを判断できます。

新しい接続が要求された場合にのみ、ルールベースを参照します。 既存の接続に属するパケットは、ファイアウォールの開いている接続の状態テーブルと比較され、許可またはブロックの決定が行われます。 このプロセスは時間を節約し、同様に追加のセキュリティを提供します。 既に確立された接続に属していない限り、パケットはファイアウォールを侵害できません。 ファイアウォールで非アクティブな接続をタイムアウトした後、その接続のパケットを許可しなくなります。

アプリケーションゲートウェイ

アプリケーションレベルのゲートウェイは、アプリケーションレベルのトラフィックの中継ノードとして機能します。 送受信パケットをインターセプトし、ゲートウェイを介して情報をコピーおよび転送するプロキシを実行し、 _ proxy server_ として機能して、信頼できるサーバーまたはクライアントと信頼できないホスト間の直接接続を防ぎます。

プロキシはアプリケーション固有です。 OSIモデルのアプリケーション層でパケットをフィルタリングできます。

アプリケーション固有のプロキシ

アプリケーション固有のプロキシ

アプリケーション固有のプロキシは、コピー、転送、およびフィルタリングするように設計されている特定のアプリケーションによってのみ生成されたパケットを受け入れます。 たとえば、TelnetプロキシのみがTelnetトラフィックをコピー、転送、およびフィルタリングできます。

ネットワークがアプリケーションレベルのゲートウェイのみに依存している場合、着信パケットと発信パケットは、プロキシが構成されていないサービスにアクセスできません。 たとえば、ゲートウェイがFTPおよびTelnetプロキシを実行している場合、これらのサービスによって生成されたパケットのみがファイアウォールを通過できます。 他のすべてのサービスはブロックされます。

アプリケーションレベルのフィルタリング

アプリケーションレベルのプロキシゲートウェイは、単純にパケットをコピーしてゲートウェイを介して盲目的に転送するのではなく、個々のパケットを検査してフィルタリングします。 アプリケーション固有のプロキシは、ゲートウェイを通過する各パケットをチェックし、パケットの内容がアプリケーション層を介して確認されます。 これらのプロキシは、アプリケーションプロトコルの特定の種類のコマンドまたは情報をフィルタリングできます。

アプリケーションゲートウェイは、特定のアクションの実行を制限できます。 たとえば、ユーザーが「FTP put」コマンドを実行できないようにゲートウェイを構成できます。 これにより、攻撃者によってサーバーに保存された情報が変更されるのを防ぐことができます。

トランスペアレント

アプリケーションレベルのゲートウェイは透過的である場合がありますが、多くの実装では、ユーザーが信頼できないネットワークにアクセスする前にユーザー認証が必要です。これは、真の透過性を低下させるプロセスです。 ユーザーが内部ネットワークまたはインターネットからのものである場合、認証は異なる場合があります。 内部ネットワークの場合、IPアドレスの単純なリストが外部アプリケーションへの接続を許可されます。 ただし、インターネット側からは強力な認証を実装する必要があります。

アプリケーションゲートウェイは、実際には2つの方向の2つのTCP接続間でTCPセグメントを中継します(クライアント↔プロキシ↔サーバー)。

アウトバウンドパケットの場合、ゲートウェイは送信元IPアドレスを独自のIPアドレスで置き換えることがあります。 このプロセスは、ネットワークアドレス変換(NAT)と呼ばれます。 内部IPアドレスがインターネットに公開されないようにします。

回線レベルのゲートウェイ

回線レベルゲートウェイは、パケットフィルターとアプリケーションゲートウェイの間の中間ソリューションです。 トランスポート層で実行されるため、あらゆるアプリケーションのプロキシとして機能できます。

アプリケーションゲートウェイと同様に、回線レベルゲートウェイも、ゲートウェイを介したエンドツーエンドTCP接続を許可しません。 2つのTCP接続をセットアップし、TCPセグメントを1つのネットワークから他のネットワークに中継します。 ただし、アプリケーションゲートウェイのようなアプリケーションデータは調べません。 したがって、「パイププロキシ」と呼ばれることもあります。

靴下

SOCKS(RFC 1928)は、回線レベルのゲートウェイを指します。 SOCKSサーバーの一方のホストが、直接IP到達可能性を必要とせずに他方のホストに完全にアクセスできるようにするネットワーキングプロキシメカニズムです。 クライアントはファイアウォールでSOCKSサーバーに接続します。 次に、クライアントは使用する認証方法のネゴシエーションを入力し、選択した方法で認証します。

クライアントは、目的の宛先IPアドレスとトランスポートポートを含む接続リレー要求をSOCKSサーバーに送信します。 サーバーは、クライアントが基本的なフィルタリング基準を満たしていることを確認した後、リクエストを受け入れます。 次に、クライアントに代わって、ゲートウェイは要求された信頼できないホストへの接続を開き、その後に続くTCPハンドシェイクを厳密に監視します。

SOCKSサーバーはクライアントに通知し、成功した場合、2つの接続間でデータの中継を開始します。 回路レベルのゲートウェイは、組織が内部ユーザーを信頼しており、インターネットで送信されたコンテンツやアプリケーションデータを検査したくない場合に使用されます。

DMZを使用したファイアウォールの展開

ファイアウォールは、組織の内部ネットワークの「内外」へのネットワークトラフィックを制御するために使用されるメカニズムです。 ほとんどの場合、これらのシステムには、インターネットなどの外部ネットワーク用と内部側用の2つのネットワークインターフェイスがあります。

ファイアウォールプロセスは、一方から他方への通過を許可するものを厳密に制御できます。 Webサーバーへの外部アクセスを提供する組織は、ポート80(標準のhttpポート)を期待してファイアウォールに到達するすべてのトラフィックを制限できます。 メールトラフィック、FTP、SNMPなどの他のすべてのトラフィックは、ファイアウォールを越えて内部ネットワークに入ることはできません。 次の図に、単純なファイアウォールの例を示します。

DMZを使用したファイアウォールの展開

上記の単純な展開では、外部からの他のすべてのアクセスはブロックされますが、攻撃者はWebサーバーだけでなく、偶然または別の方法でポート80を開いたままにした内部ネットワーク上の他のホストに接続することができます。

したがって、ほとんどの組織が直面する問題は、内部ネットワークの厳しいセキュリティを維持しながら、Web、FTP、電子メールなどの公共サービスへの正当なアクセスを可能にする方法です。 典型的なアプローチは、ファイアウォールを配備して、ネットワークに非武装地帯(DMZ)を提供することです。

このセットアップ(次の図に示す)では、2つのファイアウォールが展開されています。 1つは外部ネットワークとDMZの間、もう1つはDMZと内部ネットワークの間です。 すべてのパブリックサーバーはDMZに配置されます。

この設定では、パブリックサーバーへのパブリックアクセスを許可するファイアウォールルールを設定できますが、内部ファイアウォールはすべての着信接続を制限できます。 DMZを使用することにより、パブリックサーバーは外部ネットワークに直接配置される代わりに、適切な保護が提供されます。

デュアルファイアウォールの展開

侵入検知/防止システム

パケットフィルタリングファイアウォールは、TCP/UDP/IPヘッダーのみが関係するルールに基づいて動作します。 異なるセッション間で相関チェックを確立しようとはしません。

侵入検知/防止システム(IDS/IPS)は、パケットの内容を調べることにより、Deep Packet Inspection(DPI)を実行します。 たとえば、パケット内の文字列を既知のウイルスのデータベース、攻撃文字列と照合します。

アプリケーションゲートウェイはパケットの内容を確認しますが、特定のアプリケーションのみを確認します。 パケット内の疑わしいデータを探しません。 IDS/IPSは、パケットに含まれる疑わしいデータを探し、複数のパケット間の相関を調べて、ポートスキャン、ネットワークマッピング、サービス拒否などの攻撃を特定しようとします。

IDSとIPSの違い

IDSとIPSは、ネットワークの異常の検出において類似しています。 IDSは「可視性」ツールですが、IPSは「制御」ツールと見なされます。

侵入検知システムは、多くの異なるポイントでトラフィックを監視し、ネットワークの側面に配置され、ネットワークのセキュリティ状態の可視性を提供します。 IDSによる異常の報告の場合、修正アクションはネットワーク管理者またはネットワーク上の他のデバイスによって開始されます。

侵入防止システムはファイアウォールに似ており、2つのネットワークの間にインラインで配置され、それらを通過するトラフィックを制御します。 ネットワークトラフィックの異常の検出に指定されたポリシーを適用します。 通常、すべてのパケットをドロップし、管理者が異常に対処するまで異常に気付くとネットワークトラフィック全体をブロックします。

IDS Vs IPS

IDSの種類

IDSには2つの基本的なタイプがあります。

  • *署名ベースのIDS *
  • 既知の攻撃とその署名のデータベースが必要です。
  • 署名は、特定の攻撃を特徴付けるパケットのタイプと順序によって定義されます。
  • このタイプのIDSの制限は、既知の攻撃のみを検出できることです。 このIDSは、誤ったアラームをスローすることもあります。 通常のパケットストリームが攻撃の署名と一致する場合、誤報が発生する可能性があります。
  • 有名なオープンソースの公開IDSの例は、「Snort」IDSです。
  • *異常ベースのIDS *
  • このタイプのIDSは、通常のネットワーク操作のトラフィックパターンを作成します。
  • IDSモードでは、統計的に異常なトラフィックパターンを調べます。 たとえば、ICMPの異常な負荷、ポートスキャンの急激な増加など。
  • 異常なトラフィックパターンを検出すると、アラームが生成されます。
  • このタイプのIDS展開で直面する主な課題は、通常のトラフィックと異常なトラフィックを区別するのが難しいことです。

概要

この章では、ネットワークアクセス制御に使用されるさまざまなメカニズムについて説明しました。 アクセス制御を介したネットワークセキュリティへのアプローチは、このチュートリアルの前の章で説明した異なるネットワークレイヤーでセキュリティ制御を実装することとは技術的に異なります。 ただし、実装のアプローチは異なりますが、互いに補完的です。

ネットワークアクセス制御は、ユーザー認証とネットワーク境界保護という2つの主要コンポーネントで構成されています。 RADIUSは、ネットワークで中央認証を提供するための一般的なメカニズムです。

ファイアウォールは、内部ネットワークをパブリックインターネットから分離することにより、ネットワーク境界保護を提供します。 ファイアウォールは、ネットワークプロトコルのさまざまな層で機能できます。 IDS/IPSでは、ネットワークトラフィックの異常を監視して攻撃を検出し、攻撃に対する予防措置を講じることができます。