ファイアウォールの基礎知識

ファイアウォール」は、ネットワーク間のリンクを提供、管理し、ネットワーク間のデータフローを制御するメカニズムを表す用語として、おそらくもっとも広く知られています。ただし、厳密にいうと、このセクションで説明するメカニズムは「パケットフィルタ」と呼ばれるものです。パケットフィルタは、プロトコル、ポート、IPアドレスなどに関する一定の条件に従ってデータフローを規制します。これにより、アドレスに応じて内部ネットワークに到達しないように定められているパケットが、ブロックされます。たとえば、社内のWebサーバを外部に公開するには、対応するポートを明示的に開きます。ただし、パケットフィルタは、社内のWebサーバ宛てのパケットなど、正当なアドレスを持つパケットの内容はスキャンしません。たとえば、着信パケットがWebサーバ上のCGIプログラムの破壊を目的としたものである場合でも、パケットフィルタはそれをそのまま通してしまいます。

より効果的な、しかしより複雑なメカニズムとして、いくつかのタイプのシステムを組み合わせる方法があります。たとえば、パケットフィルタと、プロキシと呼ばれるアプリケーションゲートウェイを連携動作させます。この場合、パケットフィルタは、無効にされたポート宛のパケットをすべて拒否します。アプリケーションゲートウェイ宛にパケットだけが受け付けられます。このゲートウェイ、つまりプロキシは、サーバの実際のクライアントであるかのように振る舞います。ある意味で、このようなプロキシは、アプリケーションによって使用されるプロトコルレベルのマスカレードホストと見なすことができます。プロキシの例としては、HTTPプロキシサーバのSquidがあります。Squidを使用するには、プロキシ経由で通信するようにブラウザを設定する必要があります。要求したHTTPページははじめにプロキシのキャッシュ内で検索され、キャッシュに見つからなかったページのみがプロキシによってインターネットから取得されます。別の例としては、FTPプロトコルのプロキシサーバであるSUSE proxy suite (proxy-suite)があります。

次のセクションでは、SUSE Linux Enterpriseに付属のパケットフィルタについて説明します。パケットフィルタとファイアウォールに関するより詳細な説明については、howtoパッケージに含まれている『Firewall HOWTO』を参照してください。このパッケージがインストールされている場合、HOWTOを参照してください。

less /usr/share/doc/howto/en/txt/Firewall-HOWTO.gz