ファイアウォール、IPS、IDSなどのセキュリティプログラムはどのようにネットワークデータにアクセスできますか?

ファイアウォール、IPS、IDSなどのセキュリティプログラムはどのようにネットワークデータにアクセスできますか?

カーネルはネットワークデータのトランスポート層、インターネット層、ネットワークアクセス層を担当するそうです。その後、ネットワークデータはポート番号に基づいて適切なプロセスに渡されます。

ファイアウォール、IPS、IDSなどのセキュリティプログラムはユーザーレベルのプログラムであり、カーネルの一部ではありません。そのプログラムに属さないネットワークデータにどのようにアクセスできますか?プロキシサーバーはどうですか?

ネットワークデータが正しく処理されるために、なぜファイアウォールを通過する必要があるのですか?

答え1

通常、これらのセキュリティプログラムは2つの部分で構成されています。ある部分はカーネル空間で実行され、もう一方はユーザ空間で実行されます。このuser space部分はカーネル空間部分とやりとりするインタフェースです。

たとえば、iptablesには次のものがあります。

  • カーネル内のネットワーキングコードのためのフックセットであるnetfilter。また、ユーザ空間プログラムにパケットを転送するメカニズムも含まれています。

  • ip_tables、netfilterを使用してネットワークパケットの問題を解決し、ルールを設定するモジュールです。

  • iptables、ip_tablesモジュールでルールを設定するためのユーザースペースツールです。

Netfilter はip_iptablesカーネル空間で実行され、iptablesユーザー空間で実行されます。

関連情報