Firewall Builderによるファイアウォールの設定

 Firewall Builder(fwbuilder)は、IPトラフィックのフィルタリング設定に役立つグラフィカルアプリケーションだ。このツールでは、ユーザが定義したフィルタリングポリシーをCiscoルータおよびLinksysルータで使われる各種言語やiptablesの仕様に変換できる。定義したポリシーとその実装をこうして分けることにより、ファイアウォールを実行するハードウェアを変更してもポリシーを定義し直さずに済む。

 fwbuilderのパッケージは、Ubuntu HardyとFedora 9の各リポジトリに収められている。openSUSEの10.3にもワンクリックでインストール可能なパッケージがあるが、まだopenSUSE 11には対応していない。本稿では、64ビット版Fedora 9マシンでfwbuilderのバージョン2.1.19をソースからビルドして使用する。fwbuilderのパッケージは、libfwbuilderとfwbuilderという2つのtarballになっている。先にライブラリのほうをインストールする必要があるが、どちらのパッケージも通常の「./configure; make; sudo make install」という手順でインストールできる。私の環境では、configureの実行中に次の警告が出たが、無視しても問題はない。

Running qmake: /usr/lib64/qt-3.3/bin/qmake
WARNING: icns.path is not defined: install target not created

 fwbuilderを立ち上げると、以下のスクリーンショットにあるようなメイン画面(「New Firewall」[新規ファイアウォール]ダイアログの後ろ側)が現れる。新規ファイアウォールを作成するには、ツリービュー内の[Firewalls]を右クリックする。ファイアウォールテンプレートを利用してiptablesによるファイアウォールを作成する場合には、先ほどの新規ファイアウォールダイアログが表示される。fwbuilderには多くのユーザが使いそうなファイアウォールやそれに近いものがテンプレートとして用意されているため、初めてのユーザでも簡単に使える。

fb1_thumb.png
テンプレート

 スクリーンショットにあるテンプレート1(「fw template 1」)は、ISPから動的IPアドレスが割り当てられ、ローカルの固定非公開サブネットがサーバの2番目のネットワークインタフェースに設定される状況に対応している。テンプレート2もテンプレート1に似ているが、ローカルネットワーク上のDHCPサーバが想定されている点が異なる。テンプレート3はDMZ(DeMilitarized Zone:非武装地帯)サブネットの設定用であり、サーバの3つのネットワークインタフェースがそれぞれ、静的IPアドレスを持つインターネット側のインタフェース、ローカルの非公開サブネット、インターネットからアクセス可能なDMZサブネットになっている。

 4番目の項目「host fw template 1」は、単純に1台のホストを保護するもので、このホストへのSSHアクセスだけを許可する。この手のファイアウォールポリシーは単純ではあるが、ノートPCユーザがすばやくファイアウォールを設置できるようにリストに用意されている。テンプレート「linksys firewall」はLinksysルータでの利用を想定したもの、「c36xx」はCiscoルータ用のサンプルである。また、テンプレート「web server」は、ファイアウォールを実行するサーバへのHTTPおよびSSHトラフィックを許可する。