ファイアウォールとは何ですか?

1. ファイアウォールの概念

防御壁としても知られるファイアウォールは、1993 年に Check Point の創設者である Gil Shwed によって発明され、国際的なインターネットに導入されました (US5606668(A) 1993-12-15)。 内部ネットワークと外部ネットワークの間に位置するネットワーク セキュリティ システムです。

特定のルールに従って、送信されたデータの通過を許可または制限する情報セキュリティ保護システムです。

通過またはブロックするアクセス制御ルールに基づくファイアウォール。

ネットワークの世界では、ファイアウォールによってフィルタリングされるのは、通信データを運ぶ通信パケットです。 ネットワークにおいて、「ファイアウォール」とは、イントラネットをパブリックアクセスネットワーク (インターネット) から分離する方法を指し、これは実際には分離技術です。 ファイアウォールは、XNUMX つのネットワークが通信するときに実装されるアクセス制御の規模であり、「同意する」人やデータがネットワークに入るのを許可し、「同意しない」人やデータを除外して、ネットワーク内のハッカーを防ぐ可能性を最大化します。ネットワークへのアクセスから。 つまり、ファイアウォールを通過しないと、社内のユーザーはインターネットにアクセスできず、インターネット上の他のユーザーは社内のユーザーと通信できません。

 

2. ファイアウォールの歴史

誕生以来、ファイアウォールは XNUMX つの開発段階を経てきました。

  • ルーターベースのファイアウォール
  • カスタマイズされたファイアウォール ツールセット
  • 汎用オペレーティング システム上に構築されたファイアウォール
  • 安全なオペレーティング システムを備えたファイアウォール

現在、一般的なファイアウォールは、NETEYE、NETSCREEN、TALENTIT などの安全なオペレーティング システムを備えたファイアウォールです。

3. ファイアウォールの種類

ネットワーク レベルのファイアウォール

ネットワーク レベルのファイアウォールは、基礎となる TCP/IP プロトコル スタックで動作する IP パケット フィルタと見なすことができます。 特定のルールに一致するパケットのみを通過させ、残りのパケットはファイアウォールの通過を禁止するように列挙できます (防止できないウイルスを除く)。 これらのルールは通常、管理者が定義または変更できますが、一部のファイアウォール デバイスは組み込みのルールしか適用できない場合があります。

アプリケーション ファイアウォール

アプリケーション ファイアウォールは、TCP/IP スタックの「アプリケーション層」で動作します。ここには、ブラウザの使用時または FTP の使用時に生成されるデータ ストリームが属します。 アプリケーション層のファイアウォールは、アプリケーションとの間のすべてのパケットをインターセプトし、他のパケットをブロックします (通常は単純にドロップします)。 理論的には、このタイプのファイアウォールは、外部から保護されたマシンへのデータ フローを完全にブロックできます。

データベースファイアウォール

データベース ファイアウォールは、データベース プロトコルの分析と制御技術に基づいたデータベース セキュリティ システムです。 積極的な防御メカニズムに基づいて、データベースへのアクセスと振る舞いの制御、危険な操作のブロック、疑わしい振る舞いの監査を実現します。 データベース ファイアウォールは、SQL プロトコル分析を通じて、事前に定義された禁止および許可ポリシーに従って、合法的な SQL 操作を通過させ、違法で非準拠の操作をブロックし、データベースの周辺防御サークルを形成し、危険な SQL の積極的な防止とリアルタイムの監査を実現します。オペレーション。 データベース ファイアウォールは、外部からの侵入に対して、SQL インジェクションの禁止とデータベース仮想パッチ パッケージ機能を提供します。

4 Linux Fアイルランドl

Linux ファイアウォールは、エンタープライズ アプリケーションで非常に役立ちます。例を以下に示します。

  • 中小企業やインターネット カフェでは、NAT ルーターとして iptables が使用されており、コストを節約するために従来のルーターの代わりに使用できます。
  • 通常、IDC サーバー ルームにはハードウェア ファイアウォールはなく、サーバーは IDC サーバー ルームでは、ハードウェア ファイアウォールの代わりに Linux ファイアウォールを使用できます。
  • squid と組み合わせた iptables は、内部インターネット アクセスの透過的なプロキシとして使用できます。 従来のプロキシはブラウザでプロキシ サーバー情報を構成する必要がありますが、iptables + squid 透過プロキシはクライアントの要求をプロキシ サーバー ポートにリダイレクトできます。 クライアントは設定を行う必要がなく、プロキシの存在を感じません。
  • エンタープライズ NAT ルーターとして iptables を使用する場合、iptables 拡張機能を使用して P2P トラフィックをブロックし、違法な Web ページもブロックできます。
  • iptables を使用して、外部 IP を内部 IP にマップできます。
  • iptables は、ping 攻撃や SYN フラッドなどの軽量の DOS 攻撃を簡単に防ぐことができます。
  • 要約すると、iptables には XNUMX つのアプリケーション モードがあります。ホスト ファイアウォールと NAT ルーターです。

 

5. ファイアウォールの基本原理

下図のバイト転送の流れに対応して、以下の層に分けることができます。

  • パケット フィルタリング: ネットワーク層で動作し、パケット ヘッダーの IP アドレス、ポート番号、プロトコル タイプ、およびその他のフラグのみに基づいて、パケットの通過を許可するかどうかを決定します。
  • アプリケーション プロキシ: アプリケーション レイヤーで動作し、さまざまなアプリケーション プロキシを記述することで、アプリケーション レイヤー データの検出と分析を実現します。
  • ステートフル インスペクション: レイヤ 2 ~ 4 で機能し、アクセス制御は 1 と同じですが、処理の対象は単一のパケットではなく、接続全体であり、ルール テーブルと接続ステータス テーブルを通じて、パケットを許可するかどうかを総合的に判断します。渡す。
  • 完全なコンテンツ検査: レイヤー 2 ~ 7 で機能し、パケット ヘッダー情報とステータス情報を分析するだけでなく、アプリケーション レイヤー プロトコルのコンテンツを復元および分析して、ハイブリッド セキュリティの脅威を効果的に防止します。

ビットフロー

ネットフィルターと iptables

6.ネットフィルターとiptables

Netfilter は、Rusty Russell によって提案された Linux 2.4 カーネル ファイアウォール フレームワークで、シンプルかつ柔軟で、セキュリティ戦略アプリケーションに多くの機能を実装できます。 パケット フィルタリング、パケット処理、IP マスカレード、透過プロキシ、動的ネットワーク アドレス変換 (NAT)、ユーザーおよびメディア アクセス制御 (MAC) アドレス ベースのフィルタリングと状態ベースのフィルタリング、パケット レート制限など。 Iptables/Netfilter のルールを柔軟に組み合わせて非常に多くの機能を形成し、さまざまな側面をカバーできます。これはすべて、その優れた設計アイデアのおかげです。 Netfilter/iptables パケット フィルタリング システムは、netfilter をカーネル モジュールの実装として、iptables を上位操作のツールとして、全体として扱うことができます。 厳密な区別がなければ、Linux では netfilter と iptables の両方が Linux ファイアウォールを指すと見なすことができます。 実際、Iptables はカーネル パケット フィルタリングを管理するツールであり、カーネル パケット フィルタリング形式でルールを構成するために使用できます。 ユーザー空間で実行されます。

 

違いは、 netfilter は、Linux 2.4 カーネルで導入された新しいパケット フィルタリング エンジンであり、Netfilter と呼ばれます。これは、プログラムやファイルの形式ではなく、Linux カーネルのパケット フィルタリング ファイアウォールの内部構造を指し、「カーネル状態」に属します。ファイアウォール機能システム。 iptables は、Linux ファイアウォールの管理に使用されるコマンド プログラムを指し、通常は「ユーザー状態」ファイアウォール管理システムの一部である /sbin/iptables にあります。 iptables は、Linux 2.2 カーネルのコマンド ipchains の古い兄弟である Netfilter を制御するツールです。 iptables は Netfilter を制御するツールであり、Linux 2.2 カーネルの ipchains コマンドの古い兄弟です。

Netfilter によって設定されたルールはカーネル メモリに保存されますが、iptables はアプリケーション レベルのアプリケーションであり、Netfilter によって発行されたインターフェイスを介してカーネル メモリに保存された XXtables (Netfilter の構成テーブル) を変更します。 これらの XXtables は、テーブル、チェーン、およびルールで構成されます。 iptables は、アプリケーション層でこの規則ファイルを変更する責任があります。 firewalld はそれに似ています。

iptables と netfilter の間の接続は何ですか?

多くの人はすぐに iptables をファイアウォールと考えますが、実際には iptables はファイアウォールではなく、特定のルールを作成し、作成したルールを netfilter のルール データベースに保存できる単なるソフトウェアまたはツールです。 したがって、本当の「防火」は iptables ではなく Netfilter です。 netfilter は、XNUMX つのテーブルと XNUMX つのチェーンを含むカーネル内のフレームワークであり、これらのチェーンには多くのルールが含まれています。 パケットが比較されるルールは、このチェーンで定義されたルールです。

以下では、Linux ファイアウォールを iptables と呼びます。

iptables と netfilter の間の接続

7. ファイアウォールの性能

スループット: このメトリックは、ネットワークのパフォーマンスに直接影響します。

レイテンシ: 入口での入力フレームの最後のビットの到着と、出口での出力フレームの最初のビットの出力との間の時間間隔。

パケット損失率: 定常状態の負荷の下でネットワーク デバイスによって送信されるべきであるが、リソース不足のためにドロップされたフレームの割合。

背中合わせに: アイドル状態から開始して、かなりの数の固定長フレームが、伝送メディアの最小の正当な間隔制限に達する伝送レートで送信されます。 最初のフレームが失われたときに送信されたフレームの数。

同時ブラウザ接続: ファイアウォールを通過するホスト間、またはホストとファイアウォールの間で確立できる同時接続の最大数。

8. ファイアウォールの限界

ファイアウォールはネットワーク セキュリティを保護するための基本的な機能ですが、防御が容易でないセキュリティ上の脅威もあります。まず第一に、ファイアウォールは、ファイアウォールを通過しない、またはファイアウォールをバイパスする攻撃を防ぐことができません。 たとえば、一部のユーザーは、保護されたネットワーク内からのダイヤルアウトが許可されている場合、インターネットへの直接接続を確立できます。 ファイアウォールは、主にホストによって提供または要求されたサービスのアクセス制御である、パケット ヘッダー情報の検出およびブロック方法に基づいており、開いているポートを流れる有害なトラフィックをブロックすることはできず、ワームやハッキング攻撃に対するソリューションではありません。 また、ネットワーク内からの攻撃や悪用をファイアウォールで防ぐことは困難です。

コメント

上へスクロール